#!/usr/bin/perl

@trts = ("ctrl","rot");
@genders = ("F","M");
@ages = ("D22","5Mo");
@reps = (1,2,3);
#rot_M_5Mo-rep2.mm10.all_CpG.pctMeth.bigwig

$tracktxt = "trackDb.pctMethRep.txt";

$prio = 300;

# Step 1)  Write track view header.
open(OUT, ">$tracktxt");
print OUT "track\tjsTracksPctMethRep\n";
print OUT "compositeTrack\ton\n";
print OUT "shortLabel\tPctMeth:Reps\n";
print OUT "longLabel\tPct Methylation, CpG Context\n";
print OUT "priority\t$prio\n";
print OUT "visibility\tfull\n";
print OUT "subGroup1\tview Views PM=PctMethR P=placeholder\n";
print OUT "subGroup2\ttrt Treatment"; foreach $trt (@trts) { print OUT " $trt=$trt"; } print OUT "\n";
print OUT "subGroup3\tsex Sex"; foreach $mf (@genders) { print OUT " $mf=$mf"; } print OUT "\n";
print OUT "subGroup4\tage Age"; foreach $age (@ages) { print OUT " $age=$age"; } print OUT "\n";
print OUT "subGroup5\treplicate Replicate 1=1 2=2 3=3\n";
#print OUT "subGroup6\tcontext Context CpG=CpG CHx=CHx\n";
#print OUT "subGroup7\tversion Version Stranded=Stranded MergeStrand=MergeStrand\n";
print OUT "dimensions\tdimX=trt dimY=age dimZ=sex\n";
print OUT "sortOrder\ttrt=+ sex=+ age=+ replicate=+ view=-\n";
print OUT "configurable\ton\n";
print OUT "type\tbigWig\n\n";


# Step 2)  Write header for PctMethR track grouping.
print OUT "   track\tjsTracksPctMethRView\n";
print OUT "   parent\tjsTracksPctMethRep\n";
print OUT "   shortLabel\tWGBS PctMeth, byRep\n";
print OUT "   longLabel\tWGBS PctMeth, byRep\n";
print OUT "   view\tPM\n";
print OUT "   visibility\tfull\n";
print OUT "   type\tbigWig 0 100\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:60:11\n";
print OUT "   viewLimits\t0:100\n";
print OUT "   showSubtrackColorOnUi\ton\n";
print OUT "   viewUi\ton\n\n";


# Step 3)  Write PctMeth tracks.
foreach $trt (@trts) { foreach $mf (@genders) { foreach $age (@ages) { foreach $r (@reps) {
  $prio++;
  $id = "$trt"."_$mf"."_$age"."-rep$r";
  $prio++;
  print OUT "      track\t$id.PMR\n";
  print OUT "      parent\tjsTracksPctMethRView on\n";
  print OUT "      bigDataUrl\tDATA/$id.mm10.all_CpG.pctMeth.bigwig\n";
  print OUT "      shortLabel\t$id %meth\n";
  print OUT "      longLabel\tWGBS %meth, CpG context: $id\n";
  print OUT "      type\tbigWig 0 100\n";
  print OUT "      color\t204,0,0\n";
  print OUT "      priority\t$prio\n";
  print OUT "      visibility\tfull\n";
  print OUT "      subGroups\ttrt=$trt sex=$mf age=$age replicate=$r\n\n";
} } } }
print OUT "\n\n";

close(OUT);

