#!/usr/bin/perl

### This is not the first set of tracks in the hub, so exclude header for useOneFile here. ###

$trackfile = "trackDb.ATAC-AF.normPk.txt";
$datadir1 = "data/ATAC_BTP2";
$datadir2 = "data/ATAC_CsA";

@dataSets = ("set1","set2");
@groups = ("AF","B2","B2AF","CsA","CsAAF","NS");
@reps = ("rep1","rep2","rep3");

open(OUT, ">$trackfile");

##############################################################
## main header

#print OUT "hub\tAParekh_rn7_hub\n";
#print OUT "shortLabel\tAParekh Data Hub\n";
#print OUT "longLabel\tAParekh Data Hub\n";
#print OUT "useOneFile\ton\n";
#print OUT "email\tgrimmsa\@niehs.nih.gov\n\n";
#print OUT "genome\trn7\n\n";


##############################################################
## composite track header: ATAC signal, normalized by fragments at peaks instead of total usable fragments

$prio = 150;

print OUT "track\tatATACnp\n";
print OUT "compositeTrack\ton\n";
print OUT "shortLabel\tAF ATAC [normPk]\n";
print OUT "longLabel\tAF ATACseq signal [normPk]\n";
print OUT "priority\t$prio\n";
print OUT "subGroup1\tview View ViewBigWig=ViewBar ViewColorBed=ViewColor\n";
print OUT "subGroup2\tset DataSet"; foreach $x (@dataSets) { print OUT " $x=$x"; } print OUT "\n";
print OUT "subGroup3\tgrp Group"; foreach $x (@groups) { print OUT " $x=$x"; } print OUT "\n";
print OUT "subGroup4\trep Replicate"; foreach $x (@reps) { print OUT " $x=$x"; } print OUT "\n";
print OUT "dimensions\tdimX=set dimY=grp\n";
print OUT "sortOrder\tset=+ grp=+ rep=+ view=+\n";
print OUT "configurable\ton\n";
print OUT "type\tbigWig\n\n";

## view header (bigWig)
print OUT "   track\tatATACnp_ViewBigWig\n";
print OUT "   parent\tatATACnp\n";
print OUT "   shortLabel\tAF ATACseq [normPk]\n";
print OUT "   longLabel\tAF ATACseq signal [normPk]\n";
print OUT "   view\tViewBigWig\n";
print OUT "   visibility\tfull\n";
print OUT "   type\tbigWig\n";
print OUT "   allButtonPair\ton\n";
#print OUT "   centerLabelsDense\ton\n";
print OUT "   centerLabels\toff\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 "   autoScale\tgroup\n";
#print OUT "   autoScale\toff\n";
#print OUT "   viewLimits\t0:100\n";
print OUT "   showSubtrackColorOnUi\ton\n";
print OUT "   viewUi\ton\n\n";

## data tracks (bigWig)
foreach $set (@dataSets) { foreach $grp (@groups) { foreach $r (@reps) {
  $id = "$grp"."-$r";
  if ($set eq "set1") { $bwfile = "$datadir1/$set.$id.bwt2.rn7.MAPQ5-PP.rmChrM.rmdup.fragment.norm10M_atPeaks.bigWig"; }
  elsif ($set eq "set2") { $bwfile = "$datadir2/$set.$id.bwt2.rn7.MAPQ5-PP.rmChrM.rmdup.fragment.norm10M_atPeaks.bigWig"; }
  else { $bwfile = "error"; }
  unless (-e $bwfile) { print "WARNING: Did not find \'$bwfile\'.\n"; next; }   # not all groups are in both datasets here...
  $prio++;
  print OUT "      track\t$set.$id.np\n";
  print OUT "      parent\tatATACnp_ViewBigWig\n";
  print OUT "      bigDataUrl\t$bwfile\n";
  print OUT "      shortLabel\t$set.$id ATAC [normPk]\n";
  print OUT "      longLabel\t$set.$id ATACseq [normPk]\n";
  print OUT "      type\tbigWig\n";
  print OUT "      color\t0,0,0\n";
  print OUT "      priority\t$prio\n";
  print OUT "      visibility\tfull\n";
  print OUT "      subGroups\tview=ViewBigWig set=$set grp=$grp rep=$r\n\n";
} } }
print OUT "\n\n";

close(OUT);


