#!/usr/bin/perl

$list = `cut -f1 samplelist.txt`; @ids = split/\n/, $list;
@trts = ("0ppm", "10ppm");
@ages = ("D22", "6mo", "12mo", "18mo");

$tracktxt = "trackDb.pctMeth.txt";

$prio = 300;

# Step 1)  Write track view header.
open(OUT, ">$tracktxt");
print OUT "track\tolTracksPctMeth\n";
print OUT "compositeTrack\ton\n";
print OUT "shortLabel\tPctMeth\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=PctMeth P=placeholder\n";
print OUT "subGroup2\ttreatment Treatment"; foreach $trt (@trts) { print OUT " $trt=$trt"; } print OUT "\n";
print OUT "subGroup3\tage Age"; foreach $age (@ages) { print OUT " $age=$age"; } print OUT "\n";
print OUT "dimensions\tdimX=treatment dimY=age\n";
print OUT "sortOrder\ttreatment=+ age=+ view=-\n";
print OUT "configurable\ton\n";
print OUT "type\tbigWig\n\n";


# Step 2)  Write header for PctMethR track grouping.
print OUT "   track\tolTracksPctMethView\n";
print OUT "   parent\tolTracksPctMeth\n";
print OUT "   shortLabel\tWGBS PctMeth\n";
print OUT "   longLabel\tWGBS PctMeth\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:40: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 $id (@ids) {
  ($age, $trt, $animalID) = split/\-/, $id;
  $prio++;
  $prio++;
  print OUT "      track\t$id.PM\n";
  print OUT "      parent\tolTracksPctMethView on\n";
  print OUT "      bigDataUrl\tDATA/$id.mm10.CpG_2nt.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\t0,0,204\n";
  print OUT "      priority\t$prio\n";
  print OUT "      visibility\tfull\n";
  print OUT "      subGroups\ttreatment=$trt age=$age\n\n";
}
print OUT "\n\n";

close(OUT);

