#!/usr/bin/perl

$datadir = "data/RNAseq_HFD-Nov2019";
$trackname = "trackDb.RNA-HFD-Nov2019.txt";
$stroot = "RNA01";
$shortLab = "HFD-Nov2019";

@grps = ("HFD","LFD");
@reps = (1,2,3,4,5,6);
@strands = ("plus","minus");

$prio = 100;

$dkBlue = "0,0,204";   # plus strand
$ltBlue = "0,128,255"; # minus strand
%useColor = ("plus" => $dkBlue, "minus" => $ltBlue);
%useS = ("plus" => "P", "minus" => "M");

%idKey = ("HFD-1" => "C1", "HFD-2" => "C2", "HFD-3" => "C3", "HFD-4" => "C4", "HFD-5" => "C5", "HFD-6" => "C6",
          "LFD-1" => "C6", "LFD-2" => "C7", "LFD-3" => "C8", "LFD-4" => "C9", "LFD-5" => "C10", "LFD-6" => "C12");


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 RNAseq\n";
print OUT "longLabel\t$shortLab RNA-seq data (normalized depth)\n";
print OUT "priority\t$prio\n";
print OUT "subGroup1\tview View NORM=normDepth\n";
print OUT "subGroup2\tDiet Diet"; foreach $grp (@grps) { print OUT " $grp=$grp"; } print OUT "\n";
print OUT "subGroup3\tRep Rep"; foreach $r (@reps) { print OUT " $r=$r"; } print OUT "\n";
print OUT "subGroup4\tStrand Strand"; foreach $s (@strands) { print OUT " $s=$s"; } print OUT "\n";
print OUT "dimensions\tdimX=Diet dimY=Rep dimA=Strand\n";
print OUT "sortOrder\tDiet=+ Rep=+ Strand=+\n";
print OUT "type\tbigWig\n\n";

# write header for depth tracks
print OUT "   track\tdata$stroot\_ViewDepth\n";
print OUT "   parent\tdata$stroot\n";
print OUT "   shortLabel\t$shortLab RNAseq\n";
print OUT "   longLabel\t$shortLab RNA-seq data (normalized depth)\n";
print OUT "   view\tNORM\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:30:11\n";
print OUT "   viewLimits\t0:100\n";
print OUT "   showSubtrackColorOnUi\ton\n";
print OUT "   viewUi\ton\n\n";

# write depth tracks
foreach $grp (@grps) { foreach $r (@reps) { foreach $str (@strands) {
  $id = "$grp-$r";
  $bwfile = "$datadir/$idKey{$id}.depthNorm.$str.bw";
  unless (-e $bwfile) { print "WARNING: Did not find $bwfile.\n"; next; }
  $prio++;
  print OUT "      track\t$id.$stroot$useS{$str}\n";
  print OUT "      parent\tdata$stroot\_ViewDepth\n";
  print OUT "      bigDataUrl\t$bwfile\n";
  print OUT "      shortLabel\t$id\n";
  print OUT "      longLabel\tnormalized RNA-seq depth: $id ($str)\n";
  print OUT "      type\tbigWig\n";
  print OUT "      color\t$useColor{$str}\n";
  print OUT "      priority\t$prio\n";
  print OUT "      visibility\thide\n";
  print OUT "      subGroups\tDiet=$grp Rep=$r Strand=$str view=NORM\n\n";
} } }
print OUT "\n\n";


close(OUT);
