#!/usr/bin/perl

$stroot = "IlluminaRNA";
$shortLab = "IlluminaRNA";
$longLab = "Illumina RNAseq Depth Tracks";

$prio = 100;

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

$datadir = "data";
$trackname = "trackDb.$stroot.txt";
@grps = ("MDA231_control","MDA231_GATA3","T47D_PR","T47D_Veh");
@reps = (1,2,3);
@strands = ("plus","minus");
@views = ("T47D","MDA231");

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

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 T47D=T47D MDA231=MDA231\n";
print OUT "subGroup2\tStrand Strand plus=plus minus=minus\n";
print OUT "subGroup3\tSampleGrp SampleGrp"; foreach $grp (@grps) { print OUT " $grp=$grp"; } print OUT "\n";
print OUT "dimensions\tdimX=SampleGrp dimY=Strand\n";
print OUT "sortOrder\tView=+ SampleGrp=+\n";
print OUT "type\tbigWig\n\n";

foreach $view (@views) {
# write header for RNAseq tracks
print OUT "   track\tdata$stroot\_$view\n";
print OUT "   parent\tdata$stroot\n";
print OUT "   shortLabel\t$shortLab-$view-RNA\n";
print OUT "   longLabel\t$longLab - $view (RNA)\n";
print OUT "   view\t$view\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";
if ($view eq "T47D") { $xx = 10; }
if ($view eq "MDA231") { $xx = 5; }
print OUT "   viewLimits\t0:$xx\n";
print OUT "   showSubtrackColorOnUi\ton\n";
print OUT "   viewUi\ton\n\n";
# write RNAseq depth tracks
foreach $grp (@grps) { foreach $r (@reps) { foreach $str (@strands) {
  $id = "$grp"."-$r";
  next unless ($id =~ /$view/);
  $ss = uc(substr($str, 0, 1));
  $bwfile = "$datadir/$id.depthRPM.$str.bw";
  unless (-e $bwfile) { print "WARNING: Did not find \'$bwfile\'.\n"; next; }
  $prio++;
  print OUT "      track\t$id.RNA-$ss.$stroot\n";
  print OUT "      parent\tdata$stroot\_$view\n";
  print OUT "      bigDataUrl\t$bwfile\n";
  print OUT "      shortLabel\t$id RNA ($str)\n";
  print OUT "      longLabel\t$id RPM-normalized depth ($str)\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=$view Strand=$str SampleGrp=$grp\n\n";
} } }
}

close(OUT);
