def run(directory): directorylist = Functions.chip_peak_directories(directory) for directory1 in directorylist: os.chdir(directory1) RemoveList = [item for item in os.listdir(directory1) if 'ENC' not in item and 'SL' not in item] for item in RemoveList: if '.' in item: os.system("rm " + item) else: shutil.rmtree(directory1 + "/" + item)
def run(directory, maxsites, tomtomdir): directorylist = Functions.chip_peak_directories(directory) for item in directorylist: if os.path.exists(item + "/outfiles"): os.chdir(item + "/outfiles") os.system("meme-chip ConsolidatedPeaks.merge.fasta -oc ./MEME meme-maxsites " + str(maxsites)) os.chdir(item + "/outfiles/MEME") os.system("tomtom combined.meme " + tomtomdir) else: print "File not found in: " + item
def run(directory, referencefilepath): directorylist = Functions.chip_peak_directories(directory) for item in directorylist: if os.path.exists(item + "/outfiles"): os.chdir(item + "/outfiles") os.system( "bedtools getfasta -fi " + referencefilepath + " -bed ConsolidatedPeaks.merge.bed -fo ConsolidatedPeaks.merge.fasta" ) else: print "File not found in: " + item
def run(directory): directorylist = Functions.chip_peak_directories(directory) for item in directorylist: os.chdir(item) FileList = [file1 for file1 in os.listdir(item) if '.bed' in file1] if len(FileList) != 0: if 'outfiles' not in os.listdir(item): os.mkdir("./outfiles") if len(FileList) > 1: os.system("bedtools intersect -a " + FileList[0] + " -b " + " ".join(FileList[1:len(FileList)]) + " > ./outfiles/ConsolidatedPeaks.bed") else: os.system("cat " + FileList[0] + " > ./outfiles/ConsolidatedPeaks.bed") os.chdir("./outfiles") Functions.order_file("ConsolidatedPeaks.bed", "ConsolidatedPeaks.bed", False) os.system("bedtools merge -i ConsolidatedPeaks.bed > ConsolidatedPeaks.merge.bed") else: print "No bed files found in: " + item
for item in directorylist: os.chdir(item) FileList = [file1 for file1 in os.listdir(item) if '.bed' in file1] if len(FileList) != 0: if 'outfiles' not in os.listdir(item): os.mkdir("./outfiles") if len(FileList) > 1: os.system("bedtools intersect -a " + FileList[0] + " -b " + " ".join(FileList[1:len(FileList)]) + " > ./outfiles/ConsolidatedPeaks.bed") else: os.system("cat " + FileList[0] + " > ./outfiles/ConsolidatedPeaks.bed") os.chdir("./outfiles") Functions.order_file("ConsolidatedPeaks.bed", "ConsolidatedPeaks.bed", False) os.system("bedtools merge -i ConsolidatedPeaks.bed > ConsolidatedPeaks.merge.bed") else: print "No bed files found in: " + item if __name__ == "__main__": directory = "/projects/dowellLab/ENCODE/HL60" directorylist = Functions.chip_peak_directories(directory) for item in directorylist: os.chdir(item) FileList = [file1 for file1 in os.listdir(item) if 'bed' in file1] if 'outfiles' not in os.listdir(item): os.mkdir("./outfiles") if len(FileList) > 1: os.system("bedtools intersect -a " + FileList[0] + " -b " + " ".join(FileList[1:len(FileList)]) + " > ./outfiles/ConsolidatedPeaks.bed") else: os.system("cat " + FileList[0] + " > ConsolidatedPeaks.bed") os.chdir("./outfiles") os.system("bedtools merge -i ConsolidatedPeaks.bed > ConsolidatedPeaks.merge.bed")
def run(directory, bidirectionalfilepath, homedir): TFdirectorylist = Functions.chip_peak_directories(directory) fimodirectorylist = Functions.fimo_directories(directory) counts = dict() for item in TFdirectorylist: if os.path.exists(item + "/outfiles"): os.chdir(item + "/outfiles") TF = item.split('/')[5] counts[TF] = [] os.system("bedtools intersect -a " + bidirectionalfilepath + " -b ConsolidatedPeaks.merge.bed -c > Bidir_Chip_Counts.bed") for item in fimodirectorylist: os.chdir(item) TF = item.split('/')[5] fimo = item.split('/')[9] os.system("bedtools intersect -a " + bidirectionalfilepath + " -b fimo.cut.rmdup.ord.merge.bed -c > Bidir_Motif_Counts.bed") os.system("bedtools intersect -a " + directory + "/" + TF + "/peak_files/outfiles/ConsolidatedPeaks.merge.bed -b fimo.cut.rmdup.ord.merge.bed -c > Chip_Motif_Counts.bed") BidirChipFile = open(directory + "/" + TF + "/peak_files/outfiles/Bidir_Chip_Counts.bed") BidirMotifFile = open("Bidir_Motif_Counts.bed") ChipMotifFile = open("Chip_Motif_Counts.bed") BidirTot = Functions.line_count("Bidir_Motif_Counts.bed") ChipTot = Functions.line_count("Chip_Motif_Counts.bed") MotifTot = Functions.line_count("fimo.cut.rmdup.ord.merge.bed") BidirChipCount = 0 ChipBidirCount = 0 BidirMotifCount = 0 MotifBidirCount = 0 ChipMotifCount = 0 MotifChipCount = 0 AllCount = 0 for line1 in BidirChipFile: line2 = BidirMotifFile.readline() x = int(line1.strip().split()[3]) y = int(line2.strip().split()[3]) if x != 0 and y != 0: AllCount += 1.0 ChipBidirCount += x-1 MotifBidirCount += y-1 elif x != 0: BidirChipCount += 1 ChipBidirCount += x elif y != 0: BidirMotifCount += 1 MotifBidirCount += y for line3 in ChipMotifFile: z = int(line3.strip().split()[3]) if z != 0: ChipMotifCount += 1 MotifChipCount += z ChipMotifCount = ChipMotifCount - AllCount MotifChipCount = MotifChipCount - AllCount BidirCount = BidirTot - AllCount - BidirChipCount - BidirMotifCount ChipCount = ChipTot - AllCount - ChipMotifCount - ChipBidirCount MotifCount = MotifTot - AllCount - MotifBidirCount - MotifChipCount counts[TF].append([fimo, BidirCount, ChipCount, MotifCount, BidirChipCount, BidirMotifCount, ChipMotifCount, AllCount]) os.chdir(homedir) os.chdir('..') os.chdir("./files") outfile = open("BidirChIpMotifOverlaps.txt",'w') outfile.write("TF\nMotif#\nBidir\tChip\tMotif\tBC\tBM\tCM\tBCM\n") for key in counts: outfile.write(key) outfile.write("\n") for item in counts[key]: outfile.write(item[0]) outfile.write("\n") for i in range(1,len(item)): outfile.write(str(item[i])) outfile.write("\t") outfile.write("\n")
return BackgroundDict, FnoBDict, FandBDict if __name__ == "__main__": #Specify paths to directories or files BidirFile = '/scratch/Users/joru1876/Allen2014_DMSO2_3-1_bidirectional_hits_intervals.bed' ChipDir = '/scratch/Users/joru1876/HCT116v2' FimoDir = '/scratch/Users/joru1876/HOCOMOCODatabaseFIMO' FIMOTFDict = dict() for TF in Functions.HOCOMOCO_fimo_directories(FimoDir): TFlist = TF.split('/') FIMOTFDict[TFlist[len(TFlist)-1][0:TFlist[len(TFlist)-1].index('_')]] = TF ChipDirList = Functions.chip_peak_directories(ChipDir) for directory in ChipDirList: directorylist = directory.split('/') TF = directorylist[len(directorylist)-2] if TF in FIMOTFDict: print TF ChipFile = directory + '/' + [i for i in os.listdir(directory) if 'ENC' in i][0] BackgroundDict, FnoBDict, FandBDict = run(BidirFile,ChipFile,FIMOTFDict[TF] + '/fimo.txt') if not os.path.exists(Functions.parent_dir(directory) + '/ChIPPeakMotifValidator_out'): os.mkdir(Functions.parent_dir(directory) + '/ChIPPeakMotifValidator_out') os.chdir(Functions.parent_dir(directory) + '/ChIPPeakMotifValidator_out') outfile1 = open('Background.txt','w') for chrom in BackgroundDict: outfile1.write(chrom) outfile1.write('\t')