#!/usr/bin/perl

$stroot = "CnT.P";
$shortLab = "CnT Peaks";
$longLab = "CnT Peaks";

$prio = 350;

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

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

@marks = ("H3K27ac");
@comparisons = ("AKP_orga-vs-AK_orga","AKP_orga-vs-AP_orga","AKP_tumor-vs-AK_tumor","AKP_tumor-vs-AP_tumor","AK_tumor-vs-APC_tumor","AP_tumor-vs-APC_tumor");

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

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 CPK=CnTpeaks\n";
print OUT "subGroup2\ttype Type uni=unified diffPk=diffPk\n";
print OUT "subGroup3\tmark Mark"; foreach $mark (@marks) { print OUT " $mark=$mark"; } print OUT "\n";
#print OUT "sortOrder\tType=+ Mark=+\n";
print OUT "type\tbigBed\n\n";

# write header for peak tracks
print OUT "   track\tdata$stroot\_Peaks\n";
print OUT "   parent\tdata$stroot\n";
print OUT "   shortLabel\t$shortLab\n";
print OUT "   longLabel\t$longLab\n";
print OUT "   view\tCPK\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 unified peak tracks...
foreach $mark (@marks) {
  $bbfile = "$datadir/unified-$mark.N6.canonAutoXY.min50bp.ExclBlacklist.bigBed";
  unless (-e $bbfile) { print "ERROR: Did not find $bbfile.\n"; exit; }
  $prio++;
  print OUT "      track\tuni$mark.$stroot\n";
  print OUT "      parent\tdata$stroot\_Peaks\n";
  print OUT "      bigDataUrl\t$bbfile\n";
  print OUT "      shortLabel\t$mark unified peaks\n";
  print OUT "      longLabel\t$mark unified peaks (6+ 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=CPK type=uni mark=$mark\n\n";
}


# write differential peak tracks...
foreach $mark (@marks) {
  $C = 0;
  foreach $cmp (@comparisons) { $C++;
    $bbfile = "$datadir/diffPeaks-EdgeR.fdr1e-3.minRPKM.$mark.$cmp.bigBed";
    unless (-e $bbfile) { print "ERROR: Did not find $bbfile.\n"; exit; }
    $prio++;
    print OUT "      track\tdiff$C.$mark.$stroot\n";
    print OUT "      parent\tdata$stroot\_Peaks\n";
    print OUT "      bigDataUrl\t$bbfile\n";
    print OUT "      shortLabel\t$mark $cmp diffPk\n";
    print OUT "      longLabel\t$mark $cmp differential peaks (EdgeR 1e-3, minRPKM)\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=CPK type=diffPk mark=$mark\n\n";
  }
}


close(OUT);

