#!/usr/bin/perl

@ids = ("KO-A3", "KO-A5", "KO-A7", "KO-B3", "WT-A4", "WT-A6", "WT-B2", "WT-B6");
@strands = ("plus", "minus");

$strPlusColor = "0,0,255";      # blue
$strMinusColor = "127,0,1255";  # purple


# Step 1)  Write track view header.
$prio = 100;
open(OUT, ">trackDb.txt");
print OUT "track\tWadeQin_RNAseq0119\n";
print OUT "compositeTrack\ton\n";
print OUT "shortLabel\tWade/Qin RNAseq\n";
print OUT "longLabel\tmouse embryonic heart RNAseq\n";
print OUT "priority\t$prio\n";
print OUT "visibility\tfull\n";
print OUT "subGroup1\tview Views COV=depth\n";
print OUT "subGroup2\tgroup Group WT=WT KO=KO\n";
print OUT "subGroup3\treplicate Replicate 1=1 2=2 3=3 4=4\n";
print OUT "subGroup4\tstrand Strand plus=plus minus=minus\n";
print OUT "dimensions\tdimX=group dimY=replicate dimA=strand\n";
print OUT "sortOrder\tgroup=+ replicate=+ strand=+ view=-\n";
print OUT "configurable\ton\n";
print OUT "type\tbigWig\n\n";


# Step 2a)  Write header for depth track grouping.
print OUT "   track\tWadeQin_RNAseq0119ViewDepth\n";
print OUT "   parent\tWadeQin_RNAseq0119\n";
print OUT "   shortLabel\tRNA-seq Depth\n";
print OUT "   longLabel\tNormalized RNA-seq Depth\n";
print OUT "   view\tCOV\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:40:11\n";
print OUT "   viewLimits\t0:400\n";
print OUT "   showSubtrackColorOnUi\ton\n";
print OUT "   viewUi\ton\n\n";

# Step 2b)  Write (normalized) depth tracks.
%gtct = ();
foreach $id (@ids) {
  $bwfileP = "DATA/$id.depthNorm.plus.bw";
  $bwfileM = "DATA/$id.depthNorm.minus.bw";
  unless (-e $bwfileP) { print "WARNING: Did not find $bwfileP.\n"; exit; }
  unless (-e $bwfileM) { print "WARNING: Did not find $bwfileM.\n"; exit; }
  $gt = substr($id, 0, 2);
  $gtct{$gt}++; $rep = $gtct{$gt};

  $prio++;
  $thiscolor = $strPlusColor;
  print OUT "      track\t$id.DP\n";
  print OUT "      parent\tWadeQin_RNAseq0119ViewDepth on\n";
  print OUT "      bigDataUrl\t$bwfileP\n";
  print OUT "      shortLabel\t$id plus\n";
  print OUT "      longLabel\tread depth (+): $id\n";
  print OUT "      type\tbigWig\n";
  print OUT "      color\t$thiscolor\n";
  print OUT "      priority\t$prio\n";
  print OUT "      visibility\thide\n";
  print OUT "      subGroups\tgroup=$gt replicate=$rep strand=plus view=COV\n\n";
  $prio++;
  $thiscolor = $strMinusColor;
  print OUT "      track\t$id.DM\n";
  print OUT "      parent\tWadeQin_RNAseq0119ViewDepth on\n";
  print OUT "      bigDataUrl\t$bwfileM\n";
  print OUT "      shortLabel\t$id minus\n"; 
  print OUT "      longLabel\tread depth (-): $id\n";
  print OUT "      type\tbigWig\n";
  print OUT "      color\t$thiscolor\n";
  print OUT "      priority\t$prio\n";
  print OUT "      visibility\thide\n";
  print OUT "      subGroups\tgroup=$gt replicate=$rep strand=minus view=COV\n\n";
}
close(OUT);

