#!/usr/bin/perl

$stroot = "ATAC";
$shortLab = "ATAC";
$longLab = "ATACseq Signal Tracks";

@diets = ("Chow","LFD","HFD","KD");
@reps = (1,2);

$prio = 300;

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

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

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

open(OUT, ">$trackname");

##### normalized depth #####
# 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 frag=frag 9mer=9mer\n";
print OUT "subGroup2\tdiet Diet Chow=Chow LFD=LFD HFD=HFD KD=KD\n";
print OUT "subGroup3\treplicate Replicate 1=1 2=2\n";
print OUT "dimensions\tdimX=diet dimY=replicate dimA=view\n";
print OUT "sortOrder\tview=+ diet=+ replicate=+\n";
print OUT "type\tbigWig\n\n";

# write header for fragment tracks
print OUT "   track\tdata$stroot\_ViewFragATAC\n";
print OUT "   parent\tdata$stroot\n";
print OUT "   shortLabel\t$shortLab (fragment)\n";
print OUT "   longLabel\t$longLab (fragment)\n";
print OUT "   view\tfrag\n";
print OUT "   visibility\tfull\n";
print OUT "   type\tbigWig\n";
print OUT "   allButtonPair\ton\n";
print OUT "   centerLabelsDense\ton\n";
print OUT "   dragAndDrop\ton\n";
print OUT "   alwaysZero\ton\n";
print OUT "   graphTypeDefault\tbar\n";
print OUT "   maxHeightPixels\t150:25:11\n";
print OUT "   viewLimits\t0:10\n";
print OUT "   showSubtrackColorOnUi\ton\n";
print OUT "   viewUi\ton\n\n";

# write fragment depth tracks
foreach $diet (@diets) { foreach $r (@reps) {
  $id = "ATAC_3m_$diet"."-rep$r";
  $bwfile = "$datadir/$id.bwt2.mm10.MAPQ5-PP.rmChrM.rmdup.fragment.norm1M.bigWig";
  unless (-e $bwfile) { print "WARNING: Did not find \'$bwfile\'.\n"; next; }
  $prio++;
  print OUT "      track\t$id.frag\n";
  print OUT "      parent\tdata$stroot\_ViewFragATAC\n";
  print OUT "      bigDataUrl\t$bwfile\n";
  print OUT "      shortLabel\t$id (fragment)\n";
  print OUT "      longLabel\t$id depth-normalized signal (fragment)\n";
  print OUT "      type\tbigWig\n";
  print OUT "      color\t0,0,0\n";
  print OUT "      priority\t$prio\n";
  print OUT "      visibility\thide\n";
  print OUT "      subGroups\tview=frag diet=$diet replicate=$r\n\n";
} }

print OUT "\n\n";

# write header for 9mer tracks
print OUT "   track\tdata$stroot\_View9merATAC\n";
print OUT "   parent\tdata$stroot \n";
print OUT "   shortLabel\t$shortLab (9mer)\n";
print OUT "   longLabel\t$longLab (9mer)\n";
print OUT "   view\t9mer\n";
print OUT "   visibility\tfull\n";
print OUT "   type\tbigWig\n";
print OUT "   allButtonPair\ton\n";
print OUT "   centerLabelsDense\ton\n";
print OUT "   dragAndDrop\ton\n";
print OUT "   alwaysZero\ton\n";
print OUT "   graphTypeDefault\tbar\n";
print OUT "   maxHeightPixels\t150:25:11\n";
print OUT "   viewLimits\t0:5\n";
print OUT "   showSubtrackColorOnUi\ton\n";
print OUT "   viewUi\ton\n\n";

# write 9mer depth tracks
foreach $diet (@diets) { foreach $r (@reps) {
  $id = "ATAC_3m_$diet"."-rep$r";
  $bwfile = "$datadir/$id.bwt2.mm10.MAPQ5-PP.rmChrM.rmdup.9merFootprint.norm1M.bigWig";
  unless (-e $bwfile) { print "WARNING: Did not find \'$bwfile\'.\n"; next; }
  $prio++;
  print OUT "      track\t$id.9mer\n";
  print OUT "      parent\tdata$stroot\_View9merATAC\n";
  print OUT "      bigDataUrl\t$bwfile\n";
  print OUT "      shortLabel\t$id (9mer)\n";
  print OUT "      longLabel\t$id depth-normalized signal (9mer)\n";
  print OUT "      type\tbigWig\n";
  print OUT "      color\t0,0,0\n";
  print OUT "      priority\t$prio\n";
  print OUT "      visibility\thide\n";
  print OUT "      subGroups\tview=9mer diet=$diet replicate=$r\n\n";
} }

print OUT "\n\n";

close(OUT);
