#!/usr/bin/perl

# RNAseq from Jul2022
# this data is from unstranded protocol

$outfile = "trackDb.Jul2022.txt";
$datadir = "DATA/jul2022";
$prio = 400;
$compositeroot = "HN_RNAset4";

@grps = ("NaiveCD4","NoCKN_6h","NoCKN_12h","NoCKN_24h","CCL19_6h","CCL19_12h","CCL19_24h");
@reps = ("1","2","3");
@strands = ("plus","minus");
@ids = (); foreach $grp (@grps) { foreach $rep (@reps) { $id = "$grp-$rep"; push @id, $ids; } }

$myColor = "51,51,255";  # consider color-coding by sample group?


# Step 1)  Write track view header.
open(OUT, ">$outfile");
print OUT "track\t$compositeroot\n";
print OUT "compositeTrack\ton\n";
print OUT "shortLabel\tRNAseq Jul2022\n";
print OUT "longLabel\tRNAseq Depth, Jul2022 Dataset\n";
print OUT "priority\t$prio\n";
print OUT "visibility\tfull\n";
print OUT "subGroup1\tview Views COVN=depthNorm\n";
print OUT "subGroup2\tgroup Group";
foreach $grp (@grps) { print OUT " $grp=$grp"; } print OUT "\n";
print OUT "subGroup3\treplicate Replicate";
foreach $rep (@reps) { print OUT " $rep=$rep"; } print OUT "\n";
print OUT "subGroup4\tstrand Strand";
foreach $str (@strands) { print OUT " $str=$str"; } print OUT "\n";
print OUT "dimensions\tdimX=group dimY=replicate dimA=strand\n";
print OUT "sortOrder\tgroup=+ replicate=+ 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\tRPM-Normalized RNAseq 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:10\n";
print OUT "   showSubtrackColorOnUi\ton\n";
print OUT "   viewUi\ton\n\n";

# Step 2b)  Write normalized depth tracks.
foreach $grp (@grps) { foreach $rep (@reps) { foreach $str (@strands) {
  if ($str eq "plus") { $S = "P"; $symbol = "+"; }
  elsif ($str eq "minus") { $S = "M"; $symbol = "-"; }
  else { print "ERROR: strand \'$str\' ???\n"; exit; }
  $id = "$grp-rep$rep";
  $bwfile = "$datadir/$id.depthRPM.$str.bw";
  unless (-e $bwfile) { print "WARNING: Did not find $bwfile.\n"; exit; }
  $prio++;
  $thiscolor = $myColor;
  print OUT "      track\t$id.ND$S\n";
  print OUT "      parent\t$compositeroot.ViewDepthN on\n";
  print OUT "      bigDataUrl\t$bwfile\n";
  print OUT "      shortLabel\t$id ($symbol)\n";
  print OUT "      longLabel\tRPM-normalized read depth ($symbol): $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=$grp replicate=$rep strand=$str view=COVN\n\n";
} } }



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

