def batch_convert_to_scorefile(list_of_files): for query_file in list_of_files: filetype = determine_filetype(query_file) ## Assume same filetype for all other files query_df = pandas.read_table(query_file) if filetype == "broadPeak": query_df.columns = broadPeak_columns elif filetype == "narrowPeak": query_df.columns = narrowPeak_columns elif filetype == "questPeak": query_df.columns = questPeak_columns if filetype in ["broadPeak", "narrowPeak"]: outfile = get_sorted_filename(os.path.abspath(query_file)) convert_to_scorefile(query_file, filetype, outfile)
def batch_convert_to_scorefile(list_of_files): for query_file in list_of_files: filetype = determine_filetype(query_file) ## Assume same filetype for all other files query_df = pandas.read_table(query_file) if filetype == 'broadPeak': query_df.columns = broadPeak_columns elif filetype == 'narrowPeak': query_df.columns = narrowPeak_columns elif filetype == 'questPeak': query_df.columns = questPeak_columns if filetype in ['broadPeak', 'narrowPeak']: outfile = get_sorted_filename(os.path.abspath(query_file)) convert_to_scorefile(query_file, filetype, outfile)
def perform_bed_intersection(query_file, list_of_target_files): target_files = [os.path.abspath(f) for f in list_of_target_files] target_files_abs = (' ').join(target_files) query_file_abs = os.path.abspath(query_file) command = 'bedtools intersect -c -sorted -sortout -a {} -b {}'.format(query_file_abs, target_files_abs) outfile = os.path.join(os.path.dirname(query_file), 'intersection.bed') handle = open(outfile, 'w') cwd = os.path.dirname(query_file) run_subprocess(command, stdout=handle, cwd=cwd) handle.close() broad_or_narrow = is_broad_or_narrow(query_file_abs) print broad_or_narrow filter_outfile = os.path.join(os.path.dirname(query_file), 'intersection_filtered.bed') filter_peaks(outfile, broad_or_narrow, filter_outfile) convert_to_scorefile(filter_outfile, broad_or_narrow)