#!/usr/bin/perl

$stroot = "PKother";
$shortLab = "Peaks";
$longLab = "Peaks";

$prio = 200;

##############################################################

$datadir = "data";
$trackname = "trackDb.$stroot.txt";

@grps = ("P-K9-WV","V-K9-WV","V-K9-HC","P-K27-WV","V-K27-WV","V-K27-HC");

##############################################################

open(OUT, ">$trackname");

##### unified peak #####
# write header supertrack header
print OUT "track\tdata$stroot\n";
print OUT "compositeTrack\ton\n";
print OUT "shortLabel\t$shortLab\n";
print OUT "longLabel\t$longLab\n";
print OUT "priority\t$prio\n";
print OUT "subGroup1\tview View UPK=usepeaks\n";
print OUT "subGroup2\ttype Type uni=unified PR=PR SaraSEv1=SaraSEv1 SaraSEv2=SaraSEv2 hyperAc=hyperAc diffPk=diffPk\n";
#print OUT "sortOrder\tType=+\n";
print OUT "type\tbigBed\n\n";

# write header for peak tracks
print OUT "   track\tdata$stroot\_UsePeaks\n";
print OUT "   parent\tdata$stroot\n";
print OUT "   shortLabel\t$shortLab\n";
print OUT "   longLabel\t$longLab\n";
print OUT "   view\tUPK\n";
print OUT "   visibility\tdense\n";
print OUT "   type\tbigBed 3\n";
print OUT "   allButtonPair\ton\n";
print OUT "   centerLabelsDense\ton\n";
print OUT "   dragAndDrop\ton\n";
print OUT "   showSubtrackColorOnUi\ton\n";
print OUT "   viewUi\ton\n\n";

# write peak tracks...

$bbfile = "$datadir/peaks/unified_5of21.canonAutoXY.ExclBlacklist.bigBed";
unless (-e $bbfile) { print "ERROR: Did not find $bbfile.\n"; exit; }
$prio++;
print OUT "      track\tuni5of21.$stroot\n";
print OUT "      parent\tdata$stroot\_UsePeaks\n";
print OUT "      bigDataUrl\t$bbfile\n";
print OUT "      shortLabel\tunified peaks\n";
print OUT "      longLabel\tunified peaks (5 of 21 overlap)\n";
print OUT "      type\tbigBed 3\n";
print OUT "      color\t0,0,0\n";
print OUT "      priority\t$prio\n";
print OUT "      visibility\tdense\n";
print OUT "      subGroups\tView=UPK type=uni\n\n";

$bbfile = "$datadir/peaks/diffPk-EdgeR/P-vs-V.K27.diffPeaks-EdgeR.fdr5e-2.bigBed";
unless (-e $bbfile) { print "ERROR: Did not find $bbfile.\n"; exit; }
$prio++;
print OUT "      track\tdiffTrtK27.$stroot\n";
print OUT "      parent\tdata$stroot\_UsePeaks\n";
print OUT "      bigDataUrl\t$bbfile\n";
print OUT "      shortLabel\tK27 P-vs-V peaks\n";
print OUT "      longLabel\tK27 P-vs-V peaks (EdgeR fdr0.05)\n";
print OUT "      type\tbigBed 9\n";
print OUT "      itemRgb on\n";
print OUT "      priority\t$prio\n";
print OUT "      visibility\tdense\n";
print OUT "      subGroups\tView=UPK type=diffPk\n\n";

$bbfile = "$datadir/peaks/diffPk-EdgeR/P-vs-V.K9.diffPeaks-EdgeR.fdr5e-2.bigBed";
unless (-e $bbfile) { print "ERROR: Did not find $bbfile.\n"; exit; }
$prio++;
print OUT "      track\tdiffTrtK9.$stroot\n";
print OUT "      parent\tdata$stroot\_UsePeaks\n";
print OUT "      bigDataUrl\t$bbfile\n";
print OUT "      shortLabel\tK9 P-vs-V peaks\n";
print OUT "      longLabel\tK9 P-vs-V peaks (EdgeR fdr0.05)\n";
print OUT "      type\tbigBed 9\n";
print OUT "      itemRgb on\n";
print OUT "      priority\t$prio\n";
print OUT "      visibility\tdense\n";
print OUT "      subGroups\tView=UPK type=diffPk\n\n";

$bbfile = "$datadir/peaks/diffPk-EdgeR/HC-vs-WV.K27.diffPeaks-EdgeR.fdr5e-2.bigBed";
unless (-e $bbfile) { print "ERROR: Did not find $bbfile.\n"; exit; }
$prio++;
print OUT "      track\tdiffAbyK27.$stroot\n";
print OUT "      parent\tdata$stroot\_UsePeaks\n";
print OUT "      bigDataUrl\t$bbfile\n";
print OUT "      shortLabel\tK27 HC-vs-WV peaks\n";
print OUT "      longLabel\tK27 HC-vs-WV peaks (EdgeR fdr0.05)\n";
print OUT "      type\tbigBed 9\n";
print OUT "      itemRgb on\n";
print OUT "      priority\t$prio\n";
print OUT "      visibility\tdense\n";
print OUT "      subGroups\tView=UPK type=diffPk\n\n";

$bbfile = "$datadir/peaks/diffPk-EdgeR/HC-vs-WV.K9.diffPeaks-EdgeR.fdr5e-2.bigBed";
unless (-e $bbfile) { print "ERROR: Did not find $bbfile.\n"; exit; }
$prio++;
print OUT "      track\tdiffAbyK9.$stroot\n";
print OUT "      parent\tdata$stroot\_UsePeaks\n";
print OUT "      bigDataUrl\t$bbfile\n";
print OUT "      shortLabel\tK9 HC-vs-WV peaks\n";
print OUT "      longLabel\tK9 HC-vs-WV peaks (EdgeR fdr0.05)\n";
print OUT "      type\tbigBed 9\n";
print OUT "      itemRgb on\n";
print OUT "      priority\t$prio\n";
print OUT "      visibility\tdense\n";
print OUT "      subGroups\tView=UPK type=diffPk\n\n";

$bbfile = "$datadir/Takaku/T47D_P4_PR.homer-peakcalls.200bp.ExclBlacklist.bigBed";
unless (-e $bbfile) { print "ERROR: Did not find $bbfile.\n"; exit; }
$prio++;
print OUT "      track\tPR_MT.$stroot\n";
print OUT "      parent\tdata$stroot\_UsePeaks\n";
print OUT "      bigDataUrl\t$bbfile\n";
print OUT "      shortLabel\tT47D_PR_P4 peaks\n";
print OUT "      longLabel\tT47D PR P4 peaks (F8, 1e-5)\n";
print OUT "      type\tbigBed 3\n";
print OUT "      color\t0,0,0\n";
print OUT "      priority\t$prio\n";
print OUT "      visibility\tdense\n";
print OUT "      subGroups\tView=UPK type=PR\n\n";


foreach $grp (@grps) {
$prio++;
$bbfile = "$datadir/peaks/SE/SG-v1/enhancers-uniAll.$grp.bigBed";
unless (-e $bbfile) { print "ERROR: Did not find $bbfile.\n"; exit; }
print OUT "      track\tenhUniAll.SG1.$grp.$stroot\n";
print OUT "      parent\tdata$stroot\_UsePeaks\n";
print OUT "      bigDataUrl\t$bbfile\n";
print OUT "      shortLabel\tEnhUniAll $grp [SEv1]\n";
print OUT "      longLabel\tEnhancers UnifiedAll, $grp [SEv1]\n";
print OUT "      type\tbigBed 9\n";
print OUT "      itemRgb\ton\n";
print OUT "      priority\t$prio\n";
print OUT "      visibility\tdense\n";
print OUT "      subGroups\tView=UPK type=SaraSEv1\n\n";
}

foreach $grp (@grps) {
$prio++;
$bbfile = "$datadir/peaks/SE/SG-v1/enhancers-PR.$grp.bigBed";
unless (-e $bbfile) { print "ERROR: Did not find $bbfile.\n"; exit; }
print OUT "      track\tenhPR.SG1.$grp.$stroot\n";
print OUT "	 parent\tdata$stroot\_UsePeaks\n";
print OUT "      bigDataUrl\t$bbfile\n";
print OUT "	 shortLabel\tEnhPR $grp [SEv1]\n";
print OUT "      longLabel\tEnhancers PR, $grp [SEv1]\n";
print OUT "	 type\tbigBed 9\n";
print OUT "      itemRgb\ton\n";
print OUT "      priority\t$prio\n";
print OUT "      visibility\tdense\n";
print OUT "      subGroups\tView=UPK type=SaraSEv1\n\n";
}

foreach $grp (@grps) {
$prio++;
$bbfile = "$datadir/peaks/SE/SG-v2/enhancers-uniAll.$grp.bigBed";
unless (-e $bbfile) { print "ERROR: Did not find $bbfile.\n"; exit; }
print OUT "      track\tenhUniAll.SG2.$grp.$stroot\n";
print OUT "      parent\tdata$stroot\_UsePeaks\n";
print OUT "      bigDataUrl\t$bbfile\n";
print OUT "      shortLabel\tEnhUniAll $grp [SEv2]\n";
print OUT "      longLabel\tEnhancers UnifiedAll, $grp [SEv2]\n";
print OUT "      type\tbigBed 9\n";
print OUT "      itemRgb\ton\n";
print OUT "      priority\t$prio\n";
print OUT "      visibility\tdense\n";
print OUT "      subGroups\tView=UPK type=SaraSEv2\n\n";
}

foreach $grp (@grps) {
$prio++;
$bbfile = "$datadir/peaks/SE/SG-v2/enhancers-PR.$grp.bigBed";
unless (-e $bbfile) { print "ERROR: Did not find $bbfile.\n"; exit; }
print OUT "      track\tenhPR.SG2.$grp.$stroot\n";
print OUT "      parent\tdata$stroot\_UsePeaks\n";
print OUT "      bigDataUrl\t$bbfile\n";
print OUT "      shortLabel\tEnhPR $grp [SEv2]\n";
print OUT "      longLabel\tEnhancers PR, $grp [SEv2]\n";
print OUT "      type\tbigBed 9\n";
print OUT "      itemRgb\ton\n";
print OUT "      priority\t$prio\n";
print OUT "      visibility\tdense\n";
print OUT "      subGroups\tView=UPK type=SaraSEv2\n\n";
}

#foreach $grp (@grps) {
#$prio++;
#$bbfile = "$datadir/peaks/ROSE/enhancersROSE-uniAll.$grp.bigBed";
#unless (-e $bbfile) { print "ERROR: Did not find $bbfile.\n"; exit; }
#print OUT "      track\tenhUniAll.ROSE.$grp.$stroot\n";
#print OUT "      parent\tdata$stroot\_UsePeaks\n";
#print OUT "      bigDataUrl\t$bbfile\n";
#print OUT "      shortLabel\tEnhUniAll $grp [ROSE]\n";
#print OUT "      longLabel\tEnhancers UnifiedAll, $grp [ROSE]\n";
#print OUT "      type\tbigBed 9\n";
#print OUT "      itemRgb\ton\n";
#print OUT "      priority\t$prio\n";
#print OUT "      visibility\tdense\n";
#print OUT "      subGroups\tView=UPK type=ROSE\n\n";
#}

#foreach $grp (@grps) {
#$prio++;
#$bbfile = "$datadir/peaks/ROSE/enhancersROSE-PR.$grp.bigBed";
#unless (-e $bbfile) { print "ERROR: Did not find $bbfile.\n"; exit; }
#print OUT "      track\tenhPR.ROSE.$grp.$stroot\n";
#print OUT "      parent\tdata$stroot\_UsePeaks\n";
#print OUT "      bigDataUrl\t$bbfile\n";
#print OUT "      shortLabel\tEnhPR $grp [ROSE]\n";
#print OUT "      longLabel\tEnhancers PR, $grp [ROSE]\n";
#print OUT "      type\tbigBed 9\n";
#print OUT "      itemRgb\ton\n";
#print OUT "      priority\t$prio\n";
#print OUT "      visibility\tdense\n";
#print OUT "      subGroups\tView=UPK type=ROSE\n\n";
#}


foreach $grp (@grps) {
$prio++;
$bbfile = "$datadir/peaks/hyperAc/$grp.peakChunks-50b-90pct-20x.bigBed";
unless (-e $bbfile) { print "ERROR: Did not find $bbfile.\n"; exit; }
print OUT "      track\thyperAc.$grp.$stroot\n";
print OUT "      parent\tdata$stroot\_UsePeaks\n";
print OUT "      bigDataUrl\t$bbfile\n";
print OUT "      shortLabel\tHyperAc $grp\n";
print OUT "      longLabel\tHyperAc $grp\n";
print OUT "      type\tbigBed 3\n";
print OUT "      color\t0,0,0\n";
print OUT "      priority\t$prio\n";
print OUT "      visibility\tdense\n";
print OUT "      subGroups\tView=UPK type=hyperAc\n\n";
}

$bbfile = "$datadir/peaks/hyperAc/intersectionWV.peakChunks-50b-90pct-20x.bigBed";
unless (-e $bbfile) { print "ERROR: Did not find $bbfile.\n"; exit; }
print OUT "      track\thyperAc.iWV.$stroot\n";
print OUT "      parent\tdata$stroot\_UsePeaks\n";
print OUT "      bigDataUrl\t$bbfile\n";
print OUT "      shortLabel\tHyperAc intersct(WV)\n";
print OUT "      longLabel\tHyperAc intersection of WVx4\n";
print OUT "      type\tbigBed 3\n";
print OUT "      color\t0,0,0\n";
print OUT "      priority\t$prio\n";
print OUT "      visibility\tdense\n";
print OUT "      subGroups\tView=UPK type=hyperAc\n\n";

$bbfile = "$datadir/peaks/hyperAc/unionWV.peakChunks-50b-90pct-20x.bigBed";
unless (-e $bbfile) { print "ERROR: Did not find $bbfile.\n"; exit; }
print OUT "      track\thyperAc.uWV.$stroot\n";
print OUT "      parent\tdata$stroot\_UsePeaks\n";
print OUT "      bigDataUrl\t$bbfile\n";
print OUT "      shortLabel\tHyperAc union(WV)\n";
print OUT "      longLabel\tHyperAc union of WVx4\n";
print OUT "      type\tbigBed 3\n";
print OUT "      color\t0,0,0\n";
print OUT "      priority\t$prio\n";
print OUT "      visibility\tdense\n";
print OUT "      subGroups\tView=UPK type=hyperAc\n\n";




close(OUT);
