#!/usr/bin/perl

$datadir = "data/TM5-Glis1_DOX-ChIPseq";
$trackname = "trackDb.TM5-Glis1_DOX-ChIPseq.txt";
$stroot = "ChIP05";
$shortLab = "TM5-Glis1_DOX";

$prio = 500;
$useColorIP = "0,0,0";
$useColorInput = "0,0,0";
$usePeakColor = "0,0,0";


open(OUT, ">$trackname");

### write composite track header
print OUT "track\tdata$stroot\n";
print OUT "compositeTrack\ton\n";
print OUT "shortLabel\t$shortLab ChIPseq\n";
print OUT "longLabel\t$shortLab ChIPseq data\n";
print OUT "priority\t$prio\n";
print OUT "subGroup1\tview View COV=depth PK=peak\n";
print OUT "sortOrder\tview=+\n";
print OUT "configurable\ton\n";
print OUT "type\tbed 3\n\n";

### write header for depth tracks
print OUT "   track\tdata$stroot\_ViewDepth\n";
print OUT "   parent\tdata$stroot\n";
print OUT "   shortLabel\t$stroot ChIPseq Depth\n";
print OUT "   longLabel\t$stroot ChIP-seq normalized depth\n";
print OUT "   view\tCOV\n";
print OUT "   visibility\tfull\n";
print OUT "   type\tbigWig\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:30:11\n";
print OUT "   viewLimits\t0:80\n";
print OUT "   showSubtrackColorOnUi\ton\n";
print OUT "   viewUi\ton\n\n";

### write depth tracks
@ids = ("TM5-DoxNeg-Glis1", "TM5-DoxNeg-input", "TM5-DoxPlus-Glis1", "TM5-DoxPlus-input");
foreach $id (@ids) {
  $bwfile = "$datadir/$id.hg19.bwt.rmdup.ext150.norm25M.bigWig";
  unless (-e $bwfile) { print "WARNING: Did not find $bwfile.\n"; exit; }
  if ($id =~ /input/) { $rgb = $useColorInput; } else { $rgb = $useColorIP; }
  $prio++;
  print OUT "      track\t$id.$stroot.Cov\n";
  print OUT "      parent\tdata$stroot\_ViewDepth\n";
  print OUT "      bigDataUrl\t$bwfile\n";
  print OUT "      shortLabel\t$id ChIPseq\n";
  print OUT "      longLabel\tnormalized ChIP-seq depth: $id\n";
  print OUT "      type\tbigWig\n";
  print OUT "      color\t$rgb\n";
  print OUT "      priority\t$prio\n";
  print OUT "      visibility\thide\n";
  print OUT "      subGroups\tview=COV\n\n";
}

### write header for peak tracks
print OUT "   track\tdata$stroot\_ViewDepthPeaks\n";
print OUT "   parent\tdata$stroot\n";
print OUT "   shortLabel\t$stroot ChIP-seq Peaks\n";
print OUT "   longLabel\t$stroot ChIP-seq Peaks\n";
print OUT "   view\tPK\n";
print OUT "   visibility\tdense\n";
print OUT "   type\tbigBed 3\n";
print OUT "   allButtonPair\ton\n";
print OUT "   centerLabelsDense\ton\n";
print OUT "   dragAndDrop\ton\n";
print OUT "   showSubtrackColorOnUi\ton\n";
print OUT "   viewUi\ton\n\n";

### write peak tracks
$prio++;
print OUT "       track\tTM5-DoxNeg-Glis1.$stroot.pk\n";
print OUT "       parent\tdata$stroot\_ViewDepthPeaks\n";
print OUT "       bigDataUrl\t$datadir/TM5-DoxNeg-Glis1.homer_peakcalls.fdr_e-5.200bp.bigBed\n";
print OUT "       shortLabel\tTM5-DoxNeg-Glis1 all peaks\n";
print OUT "       longLabel\tHOMER peak calls (all): TM5-DoxNeg-Glis1\n";
print OUT "       type\tbigBed 3\n";
print OUT "       color\t$usePeakColor\n";
print OUT "       priority\t$prio\n";
print OUT "       visibility\tdense\n";
print OUT "       subGroups\tview=PK\n\n";
$prio++;
print OUT "       track\tTM5-DoxPlus-Glis1.$stroot.pk\n";
print OUT "       parent\tdata$stroot\_ViewDepthPeaks\n";
print OUT "       bigDataUrl\t$datadir/TM5-DoxPlus-Glis1.homer_peakcalls.fdr_e-5.200bp.bigBed\n";
print OUT "       shortLabel\tTM5-DoxPlus-Glis1 all peaks\n";
print OUT "       longLabel\tHOMER peak calls (all): TM5-DoxPlus-Glis1 peaks\n";
print OUT "       type\tbigBed 3\n";
print OUT "       color\t$usePeakColor\n";
print OUT "       priority\t$prio\n";
print OUT "       visibility\tdense\n";
print OUT "       subGroups\tview=PK\n\n";
$prio++;
print OUT "       track\tTM5-DoxPlus-Glis1.$stroot.pk10\n";
print OUT "       parent\tdata$stroot\_ViewDepthPeaks\n";
print OUT "       bigDataUrl\t$datadir/DoxPlus-Glis1_NonOV_F10_L10.200bp.bigBed\n";
print OUT "       shortLabel\tTM5-DoxPlus-Glis1 NonOV,F10,L10 peaks\n";
print OUT "       longLabel\tHOMER peak calls (NonOV,F10,L10); TM5-DoxPlus-Glis1 peaks\n";
print OUT "       type\tbigBed 3\n";
print OUT "       color\t$usePeakColor\n";
print OUT "       priority\t$prio\n";
print OUT "       visibility\tdense\n";
print OUT "       subGroups\tview=PK\n\n";
$prio++;
print OUT "       track\tTM5-DoxPlus-Glis1.$stroot.pk8\n";
print OUT "       parent\tdata$stroot\_ViewDepthPeaks\n";
print OUT "       bigDataUrl\t$datadir/DoxPlus-Glis1_NonOV_F8_L8.200bp.bigBed\n";
print OUT "       shortLabel\tTM5-DoxPlus-Glis1 NonOV,F8,L8 peaks\n";
print OUT "       longLabel\tHOMER peak calls (NonOV,F8,L8); TM5-DoxPlus-Glis1 peaks\n";
print OUT "       type\tbigBed 3\n";
print OUT "       color\t$usePeakColor\n";
print OUT "       priority\t$prio\n";
print OUT "       visibility\tdense\n";
print OUT "       subGroups\tview=PK\n\n";

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