#!/usr/bin/perl

$stroot = "PKhomer";
$shortLab = "Peaks-HOMER";
$longLab = "HOMER Peak Calls";

$prio = 200;

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

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

## in the hub, label as HC/WV instead of E/C/I/A

@abs = ("K9-WV","K9-HC","K27-WV","K27-HC");
@trts = ("V", "P");
@reps = (1,2,3,4,5);
%abKey = ("K9-WV" => "K9-E", "K9-HC" => "K9-C", "K27-WV" => "K27-I", "K27-HC" => "K27-A");

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

open(OUT, ">$trackname");

##### homer 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 HPK=HOMER\n";
print OUT "subGroup2\tType Type Sample=Sample Group=Group\n";
print OUT "sortOrder\tType=+\n";
print OUT "type\tbigBed\n\n";

# write header for peak tracks
print OUT "   track\tdata$stroot\_HomerPeaks\n";
print OUT "   parent\tdata$stroot\n";
print OUT "   shortLabel\t$shortLab\n";
print OUT "   longLabel\t$longLab\n";
print OUT "   view\tHPK\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 invidual peak tracks
foreach $ab (@abs) { foreach $trt (@trts) { foreach $r (@reps) {
  $useID = "$trt-$ab-rep$r";
  $bbfile = "$datadir/$trt-$abKey{$ab}-rep$r.homer_peaks.canonAutoXY.ExclBlacklist.bigBed";
  unless (-e $bbfile) { print "Skipping $useID (no HOMER peak file).\n"; next; }
  $prio++;
  print OUT "      track\thomer-$useID.$stroot\n";
  print OUT "      parent\tdata$stroot\_HomerPeaks\n";
  print OUT "      bigDataUrl\t$bbfile\n";
  print OUT "      shortLabel\tHOMER peaks $useID\n";
  print OUT "      longLabel\tHOMER peaks $useID\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\tType=Sample View=HPK\n\n";
} } }

# write group peak tracks
foreach $ab (@abs) { foreach $trt (@trts) {
  $useID = "$trt-$ab";
  $bbfile = "$datadir/$trt-$ab.homer_peaks.canonAutoXY.ExclBlacklist.bigBed";
  unless (-e $bbfile) { print "Skipping $useID (no HOMER peak file).\n"; next; }
  $prio++;
  print OUT "      track\thomer-$useID.$stroot\n";
  print OUT "      parent\tdata$stroot\_HomerPeaks\n";
  print OUT "      bigDataUrl\t$bbfile\n";
  print OUT "      shortLabel\tHOMER peaks $useID (group)\n";
  print OUT "      longLabel\tHOMER peaks $useID (group)\n";
  print OUT "      type\tbigBed 3\n";
  print OUT "      color\t153,153,153\n";
  print OUT "      priority\t$prio\n";
  print OUT "      visibility\tdense\n";
  print OUT "      subGroups\tType=Group View=HPK\n\n";
} }
print OUT "\n\n";

close(OUT);
