#!/usr/bin/perl

# This is the data from Mar 2019; NOVA0079.
# This hub includes both batches (replicates 1/2/3 and 4/5/6).

@grps = ("RubWT-notxt", "RubWT-30min_OVA", "RubWT-4hr_OVA", "RubWT-30min_apopJC", "RubWT-4hr_apopJC",
         "RubKO-notxt", "RubKO-30min_OVA", "RubKO-4hr_OVA", "RubKO-30min_apopJC", "RubKO-4hr_apopJC");

%repCt = ("RubWT-notxt" => 3, "RubWT-30min_OVA" => 3, "RubWT-4hr_OVA" => 3, "RubWT-30min_apopJC" => 3, "RubWT-4hr_apopJC" => 6,
          "RubKO-notxt" => 3, "RubKO-30min_OVA" => 3, "RubKO-4hr_OVA" => 3, "RubKO-30min_apopJC" => 3, "RubKO-4hr_apopJC" => 6);

@trts = ("notxt", "30min_OVA", "4hr_OVA", "30min_apopJC", "4hr_apopJC");
@gts = ("RubWT", "RubKO");

$useColor = "0,0,204";

# Step 1)  Write track view header.
$prio = 100;
open(OUT, ">trackDb.v1.txt");
print OUT "track\tPS_tracks.b1b2\n";
print OUT "compositeTrack\ton\n";
print OUT "shortLabel\tPS RNAseq (two batches)\n";
print OUT "longLabel\tPSil RNAseq Depth (two batches)\n";
print OUT "priority\t$prio\n";
print OUT "visibility\tfull\n";
print OUT "subGroup1\tview View COVN=depthNorm\n"; # COVR=depthRaw\n";
print OUT "subGroup2\tgenotype Genotype";
foreach $gt (@gts) { print OUT " $gt=$gt"; } print OUT "\n";
print OUT "subGroup3\ttreatment Treatment";
foreach $trt (@trts) { print OUT " $trt=$trt"; } print OUT "\n";
print OUT "dimensions\tdimX=genotype dimY=treatment\n";
print OUT "sortOrder\tgenotype=+ treatment=+\n";
print OUT "configurable\ton\n";
print OUT "type\tbigWig\n\n";

# Step 2a)  Write header for normalized depth track grouping.
print OUT "   track\tPS_tracksb1b2ViewDepthN\n";
print OUT "   parent\tPS_tracks.b1b2\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:300\n";
print OUT "   showSubtrackColorOnUi\ton\n";
print OUT "   viewUi\ton\n\n";

# Step 2b)  Write normalized depth tracks.
foreach $grp (@grps) {
  for ($r=1; $r<$repCt{$grp}+1; $r++) {
    $id = "$grp\-$r"; push @samples, $id;
    ($gt, $trt) = split/\-/, $grp;
    $bwfile = "DATA/$id.depthNorm.bw";
    unless (-e $bwfile) { print "WARNING: Did not find $bwfile.\n"; exit; }
    $prio++;
    print OUT "      track\t$id.ND.B1B2\n";
    print OUT "      parent\tPS_tracksb1b2ViewDepthN on\n";
    print OUT "      bigDataUrl\t$bwfile\n";
    print OUT "      shortLabel\t$id (b1b2)\n";
    print OUT "      longLabel\tnormalized read depth: $id (batch1+2)\n";
    print OUT "      type\tbigWig\n";
    print OUT "      color\t$useColor\n";
    print OUT "      priority\t$prio\n";
    print OUT "      visibility\thide\n";
    print OUT "      subGroups\tgenotype=$gt treatment=$trt view=COVN\n\n";
  } 
}

close(OUT);

