#!/usr/bin/perl

$tool = "/ddn/gs1/home/grimmsa/tools/ucsc/bedToBigBed";
$cs = "/ddn/gs1/shared/fargod/reference_genomes/mm10/mm10ordered.chromSizes";

$peakdir = "/ddn/gs1/home/grimmsa/sylvia/histonemod_Aug2016/ActiveMotif_analysis/peak_calls/BED_orig";
$samplekey = "/ddn/gs1/home/grimmsa/sylvia/histonemod_Aug2016/ActiveMotif_analysis/peak_calls/sample_key.txt";

$chrlist = `cut -f1 $cs`;

open(IN, "$samplekey");
while (<IN>) {
  chomp $_; ($origID, $newID, @rest) = split/\t/, $_;
  next unless ($origID =~ /H3K27Ac/ || $origID =~ /H3K4me1/);
  $bedfile = "$peakdir/$origID.SE.bed";
  $bedsort = "$newID.SE.bed";
  if (-e $bedsort) { system "rm $bedsort"; }
  foreach $chr (split/\n/, $chrlist) { system "grep -w $chr $bedfile | sort -k2,2n -k3,3n >> $bedsort"; }
  $bbfile = "./$newID.ActiveMotif_SE.bigBed";
  unless (-e $bbfile) { print "$tool $bedsort $cs $bbfile &\n"; }
}
close(IN);

@marks = ("H3K27Ac", "H3K4me1");
@conditions = ("21d_Veh", "21d_E2", "adult_Veh", "adult_E2");
foreach $mark (@marks) {
  $allbed = "$mark.SE.all.bed"; if (-e $allbed) { system "rm $allbed"; }
  foreach $cnd (@conditions) { system "cat $cnd\_$mark.SE.bed >> $allbed"; }
  $allsort = "$mark.SE.all.sort.bed"; if (-e $allsort) { system "rm $allsort"; }
  foreach $chr (split/\n/, $chrlist) { system "grep -w $chr $allbed | sort -k2,2n -k3,3n >> $allsort"; }
  system "/ddn/gs1/home/grimmsa/tools/bedtools2-2.24.0/bin/mergeBed -i $allsort > $mark.SE.merged.bed";
  system "rm $allbed $allsort";
  $bbfile = "$mark.ActiveMotif_SE.bigBed";
  unless (-e $bbfile) { print "$tool $mark.SE.merged.bed $cs $bbfile &\n"; }
}

