#!/usr/bin/perl

@samples = ("hAS","ASI_20d_H9-1","ASI_20d_H9-2","ASI_20d_G3-1","ASI_20d_G3-2","ASI_20d_G3KO-1","ASI_20d_G3KO-2","ASI_24hr_H9-1","ASI_24hr_H9-2","ASI_24hr_G3-1",
            "ASI_24hr_G3-2","ASI_24hr_G3KO-1","ASI_24hr_G3KO-2","ASI_50d_H9-1","ASI_50d_H9-2","ASI_50d_G3KO-1","ASI_50d_G3KO-2");

$useColor = "0,0,255";  # dark blue


# Step 1)  Write RNA-seq track view header.
$prio = 100;
open(OUT, ">trackDb.ASI_RNAseq.txt");
print OUT "track\tKJeon_ASI.RNA\n";
print OUT "compositeTrack\ton\n";
print OUT "shortLabel\tASI RNAseq\n";
print OUT "longLabel\tASI RNAseq Depth\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\tgt gt hAS=hAS H9=H9 G3=G3 G3KO=G3KO\n";
print OUT "subGroup3\ttime time NA=NA 24hr=24hr 20d=20d 50d=50d\n";
print OUT "subGroup3\treplicate Replicate 1=1 2=2\n";
print OUT "dimensions\tdimX=gt dimY=time\n";
print OUT "sortOrder\tgt=+ time=+ replicate=+\n";
print OUT "configurable\ton\n";
print OUT "type\tbigWig\n\n";

# Step 2a)  Write header for normalized depth track grouping.
print OUT "   track\tKJeon_ASIViewDepthN\n";
print OUT "   parent\tKJeon_ASI.RNA\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 $id (@samples) {
  $bwfile = "DATA/$id.depthNorm.bw";
  next unless (-e $bwfile);
  $prio++;
  print OUT "      track\tASI.$id.ND\n";
  print OUT "      parent\tKJeon_ASIViewDepthN on\n";
  print OUT "      bigDataUrl\t$bwfile\n";
  print OUT "      shortLabel\t$id\n";
  print OUT "      longLabel\tnormalized read depth: $id\n";
  print OUT "      type\tbigWig\n";
  print OUT "      color\t$useColor\n";
  print OUT "      priority\t$prio\n";
  print OUT "      visibility\thide\n";

  if ($id eq "hAS") {
    print OUT "      subGroups\tgt=hAS time=NA view=COVN\n\n";
  }
  else {
    ($asitxt, $time, $gt, $rep) = split/\_|\-/, $id;
    print OUT "      subGroups\tgt=$gt time=$time replicate=$rep view=COVN\n\n";
  }
}

close(OUT);

