def run(directory): directorylist = Functions.fimo_directories(directory) for item in directorylist: os.chdir(item) FileList = Functions.parse_file("fimo.txt") Functions.cut_file("fimo.txt", [i for i in range(1, len(FileList[0]))], "fimo.cut.bed") Functions.remove_duplicates_int("fimo.cut.bed", "fimo.cut.rmdup.bed", True) Functions.order_file("fimo.cut.rmdup.bed", "fimo.cut.rmdup.ord.bed", True) Functions.replace_header("fimo.cut.rmdup.ord.bed", "#chrom\tstart\tstop\tstrand") os.system("bedtools merge -i fimo.cut.rmdup.ord.bed > fimo.cut.rmdup.ord.merge.bed")
__author__ = 'Jonathan Rubin' import os import sys import Functions if __name__ == "__main__": file1 = sys.argv[1] Functions.cut_file(file1, [1,2,3,4,5,6,7], Functions.get_mod_filename(file1,'cut'))
import os import Functions ##Removes duplicates and creates non-overlapping intervals for FIMO files def run(directory): directorylist = Functions.fimo_directories(directory) for item in directorylist: os.chdir(item) FileList = Functions.parse_file("fimo.txt") Functions.cut_file("fimo.txt", [i for i in range(1, len(FileList[0]))], "fimo.cut.bed") Functions.remove_duplicates_int("fimo.cut.bed", "fimo.cut.rmdup.bed", True) Functions.order_file("fimo.cut.rmdup.bed", "fimo.cut.rmdup.ord.bed", True) Functions.replace_header("fimo.cut.rmdup.ord.bed", "#chrom\tstart\tstop\tstrand") os.system("bedtools merge -i fimo.cut.rmdup.ord.bed > fimo.cut.rmdup.ord.merge.bed") if __name__ == "__main__": directory = "/projects/dowellLab/ENCODE/HL60" directorylist = Functions.fimo_directories(directory) for item in directorylist: os.chdir(item) FileList = Functions.parse_file("fimo.txt") Functions.cut_file("fimo.txt", [i for i in range(1, len(FileList[0]))], "fimo.cut.bed") Functions.remove_duplicates_int("fimo.cut.bed", "fimo.cut.rmdup.bed", True) Functions.order_file("fimo.cut.rmdup.bed", "fimo.cut.rmdup.ord.bed", True) Functions.replace_header("fimo.cut.rmdup.ord.bed", "#chrom\tstart\tstop\tstrand") os.system("bedtools merge -i fimo.cut.rmdup.ord.bed > fimo.cut.rmdup.ord.merge.bed")
#Runs on HOCOMOCO database directory directory = "/Users/joru1876/HOCOMOCODatabaseFIMO/FIMO_OUT" bidirectionalfilepath = "/Users/joru1876/ENCODEBidirectional/bidirectional_hits.merge.bed" homedir = "/Users/joru1876/BidirectionalTFAnalyzer/src" directorylist = ["/Users/joru1876/HOCOMOCODatabaseFIMO/FIMO_OUT/" + item for item in os.listdir(directory) if 'fimo_out' in item] distances = dict() for item in directorylist: TF = item.split('/')[5].split('_')[0] distances[TF] = [] for item in directorylist: print item os.chdir(item) TF = item.split('/')[5].split('_')[0] Functions.cut_file('fimo.txt', [1,2,3], Functions.get_mod_filename('fimo.txt', 'cut')) distances[TF].append(Functions.get_distances_pad(bidirectionalfilepath, False, "fimo.cut.txt", True, 1500)) os.chdir(homedir) os.chdir('..') os.chdir("files") outfile = open("TFMotifToBidirDistancePadDatabase.txt",'w') for key in distances: outfile.write(key) outfile.write("\n") for item in distances[key]: if 'fimo_out' in item: outfile.write(str(item)) else: for value in item: outfile.write(str(value))