#!/usr/bin/perl

# RNAseq from Sept2017
# this data is from strand-specific protocol

$outfile = "trackDb.Sept2017.txt";
$datadir = "DATA/sept2017";
$prio = 100;
$compositeroot = "HN_RNAset1";

@conditions = ("CF", "DR4", "NL", "WT");
@reps = ("1", "2", "3");
@ids = (); foreach $cnd (@conditions) { foreach $rep (@reps) { $id = "$cnd-$rep"; push @id, $ids; } }

%grpColor = ("CF" => "255,128,0", "DR4" => "255,51,255", "NL" => "0,204,0", "WT" => "0,0,204");  # orange, pink, green, blue


# Step 1)  Write track view header.
open(OUT, ">$outfile");
print OUT "track\t$compositeroot\n";
print OUT "compositeTrack\ton\n";
print OUT "shortLabel\tRNAseq Sept2017\n";
print OUT "longLabel\tRNAseq Depth, Sept2017 Dataset\n";
print OUT "priority\t$prio\n";
print OUT "visibility\tfull\n";
print OUT "subGroup1\tview Views COVN=depthNorm\n";
print OUT "subGroup2\tcondition Condition";
foreach $cnd (@conditions) { print OUT " $cnd=$cnd"; } print OUT "\n";
print OUT "subGroup3\treplicate Replicate";
foreach $rep (@reps) { print OUT " $rep=$rep"; } print OUT "\n";
print OUT "subGroup4\tstrand Strand plus=plus minus=minus\n";
print OUT "dimensions\tdimX=condition dimY=replicate dimA=strand\n";
print OUT "sortOrder\tcondition=+ replicate=+ strand=+ view=-\n";
print OUT "configurable\ton\n";
print OUT "type\tbed 3\n\n";


# Step 2a)  Write header for normalized depth track grouping.
print OUT "   track\t$compositeroot.ViewDepthN\n";
print OUT "   parent\t$compositeroot\n";
print OUT "   shortLabel\tNormDepth\n";
print OUT "   longLabel\tNormalized RNA-seq Depth\n";
print OUT "   view\tCOVN\n";
print OUT "   visibility\tfull\n";
print OUT "   type\tbigWig\n";
print OUT "   allButtonPair\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:500\n";
print OUT "   showSubtrackColorOnUi\ton\n";
print OUT "   viewUi\ton\n\n";

# Step 2b)  Write normalized depth tracks.
foreach $cnd (@conditions) { foreach $rep (@reps) {
  $id = "$cnd-$rep";
  $bwfileP = "$datadir/$id.depthNorm.strPlus.bw";
  $bwfileM = "$datadir/$id.depthNorm.strMinus.bw";
  unless (-e $bwfileP) { print "WARNING: Did not find $bwfileP.\n"; exit; }
  unless (-e $bwfileM) { print "WARNING: Did not find $bwfileM.\n"; exit; }
  $prio++;
  $thiscolor = $grpColor{$cnd};
  print OUT "      track\t$id.NDP\n";
  print OUT "      parent\t$compositeroot.ViewDepthN on\n";
  print OUT "      bigDataUrl\t$bwfileP\n";
  print OUT "      shortLabel\t$id plus\n";
  print OUT "      longLabel\tnormalized read 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\tcondition=$cnd replicate=$rep strand=plus view=COVN\n\n";
  $prio++;
  print OUT "      track\t$id.NDM\n";
  print OUT "      parent\t$compositeroot.ViewDepthN on\n";
  print OUT "      bigDataUrl\t$bwfileM\n";
  print OUT "      shortLabel\t$id minus\n"; 
  print OUT "      longLabel\tnormalized read 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\tcondition=$cnd replicate=$rep strand=minus view=COVN\n\n";
} }


print OUT "\n\n";
close(OUT);

