def main(): # read params args = parse_arguments() log.info('Initializing and making output directory...') mkdir_p(args.out_dir) log.info('Calling peaks macs2...') npeak = macs2( args.ta, args.chrsz, args.gensz, args.pval_thresh, args.smooth_win, args.cap_num_peak, args.mem_gb, args.out_dir, ) log.info('Checking if output is empty...') assert_file_not_empty(npeak) log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() log.info('Initializing and making output directory...') mkdir_p(args.out_dir) if args.paired_end: subsampled_ta = subsample_ta_pe(args.ta, args.subsample, non_mito=False, mito_chr_name=None, r1_only=False, out_dir=args.out_dir) else: subsampled_ta = subsample_ta_se(args.ta, args.subsample, non_mito=False, mito_chr_name=None, out_dir=args.out_dir) log.info('Checking if output is empty...') assert_file_not_empty(subsampled_ta) log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() BIGWIG = args.bigwig DNASE = args.dnase OUTPUT_PREFIX = os.path.join(args.out_dir, os.path.basename(strip_ext_bigwig(BIGWIG))) REG2MAP_BED = args.reg2map_bed if args.reg2map_bed and os.path.basename( args.reg2map_bed) != 'null' else DNASE REG2MAP = args.reg2map if args.reg2map and os.path.basename( args.reg2map) != 'null' else '' ROADMAP_META = args.roadmap_meta if args.roadmap_meta and os.path.basename( args.roadmap_meta) != 'null' else '' log.info('Initializing and making output directory...') mkdir_p(args.out_dir) compare_to_roadmap(BIGWIG, REG2MAP_BED, REG2MAP, ROADMAP_META, OUTPUT_PREFIX) log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() ALIGNED_BAM = args.bam OUTPUT_PREFIX = os.path.join(args.out_dir, os.path.basename(strip_ext_bam(ALIGNED_BAM))) RG_FREE_ALIGNED_BAM = remove_read_group(ALIGNED_BAM) JAVA_HEAP = args.picard_java_heap # Library complexity: Preseq results, NRF, PBC1, PBC2 if args.paired_end: picard_est_lib_size = get_picard_complexity_metrics( RG_FREE_ALIGNED_BAM, OUTPUT_PREFIX, JAVA_HEAP) else: picard_est_lib_size = None preseq_data, preseq_log = run_preseq(ALIGNED_BAM, OUTPUT_PREFIX) # SORTED BAM get_preseq_plot(preseq_data, OUTPUT_PREFIX) # write picard_est_lib_size to file if picard_est_lib_size is not None: picard_est_lib_size_file = OUTPUT_PREFIX + '.picard_est_lib_size.qc' with open(picard_est_lib_size_file, 'w') as fp: fp.write(str(picard_est_lib_size) + '\n') rm_f(RG_FREE_ALIGNED_BAM) log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() log.info('Initializing and making output directory...') mkdir_p(args.out_dir) # update array with trimmed fastqs fastqs_R1 = [] fastqs_R2 = [] for fastqs in args.fastqs: fastqs_R1.append(fastqs[0]) if args.paired_end: fastqs_R2.append(fastqs[1]) log.info('Merging fastqs...') log.info('R1 to be merged: {}'.format(fastqs_R1)) merge_fastqs(fastqs_R1, 'R1', args.out_dir) if args.paired_end: log.info('R2 to be merged: {}'.format(fastqs_R2)) merge_fastqs(fastqs_R2, 'R2', args.out_dir) log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() log.info('Initializing and making output directory...') mkdir_p(args.out_dir) log.info('Calling peaks with macs2...') npeak = macs2( args.tas[0], args.tas[1], args.chrsz, args.gensz, args.pval_thresh, args.shift, args.fraglen, args.cap_num_peak, args.ctl_subsample, args.ctl_paired_end, args.mem_gb, args.out_dir, ) log.info('Checking if output is empty...') assert_file_not_empty(npeak) log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() log.info('Initializing and making output directory...') mkdir_p(args.out_dir) # generate read length file log.info('Generating read length file...') make_read_length_file(args.fastq, args.out_dir) log.info('Running samtools index...') samtools_index(args.bam, args.nth, args.out_dir) log.info('SAMstat on raw BAM...') samstat(args.bam, args.nth, args.out_dir) if args.chrsz: log.info('SAMstat on non-mito BAM...') non_mito_out_dir = os.path.join(args.out_dir, 'non_mito') mkdir_p(non_mito_out_dir) non_mito_bam = remove_chrs_from_bam(args.bam, [args.mito_chr_name], args.chrsz, args.nth, non_mito_out_dir) samstat(non_mito_bam, args.nth, non_mito_out_dir) rm_f(non_mito_bam) log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() log.info('Initializing and making output directory...') mkdir_p(args.out_dir) log.info('Making self-pseudo replicates...') if args.paired_end: ta_pr1, ta_pr2 = spr_pe( args.ta, args.pseudoreplication_random_seed, args.out_dir, ) else: ta_pr1, ta_pr2 = spr_se( args.ta, args.pseudoreplication_random_seed, args.out_dir, ) log.info('List all files in output directory...') ls_l(args.out_dir) log.info('Checking if output is empty...') assert_file_not_empty(ta_pr1) assert_file_not_empty(ta_pr2) log.info('All done.')
def main(): # read params args = parse_arguments() log.info('Initializing and making output directory...') mkdir_p(args.out_dir) log.info('Blacklist-filtering peaks...') bfilt_peak = blacklist_filter( args.peak, args.blacklist, args.keep_irregular_chr, args.out_dir) log.info('Checking if output is empty...') assert_file_not_empty(bfilt_peak) log.info('Converting peak to bigbed...') peak_to_bigbed(bfilt_peak, args.peak_type, args.chrsz, args.keep_irregular_chr, args.out_dir) log.info('Converting peak to hammock...') peak_to_hammock(bfilt_peak, args.keep_irregular_chr, args.out_dir) log.info('Shifted FRiP with fragment length...') frip_qc = frip_shifted(args.ta, bfilt_peak, args.chrsz, args.fraglen, args.out_dir) log.info('Calculating (blacklist-filtered) peak region size QC/plot...') region_size_qc, region_size_plot = get_region_size_metrics(bfilt_peak) log.info('Calculating number of peaks (blacklist-filtered)...') num_peak_qc = get_num_peaks(bfilt_peak) log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() REF = args.ref_fa FINAL_BAM = args.nodup_bam OUTPUT_PREFIX = os.path.join( args.out_dir, os.path.basename(strip_ext_bam(FINAL_BAM))) RG_FREE_FINAL_BAM = remove_read_group(FINAL_BAM) JAVA_HEAP = args.picard_java_heap gc_out, gc_plot_pdf, gc_summary = get_gc(RG_FREE_FINAL_BAM, REF, OUTPUT_PREFIX, JAVA_HEAP) # will generate PNG format from gc_out plot_gc(gc_out, OUTPUT_PREFIX) rm_f(RG_FREE_FINAL_BAM) log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() log.info('Initializing and making output directory...') mkdir_p(args.out_dir_R1) if args.paired_end: mkdir_p(args.out_dir_R2) log.info('Cropping fastqs ({} bp) with Trimmomatic...'.format( args.crop_length)) if args.paired_end: cropped_R1, cropped_R2 = trimmomatic_pe(args.fastq1, args.fastq2, args.crop_length, args.out_dir_R1, args.out_dir_R2, args.nth, args.trimmomatic_java_heap) else: cropped_R1 = trimmomatic_se(args.fastq1, args.crop_length, args.out_dir_R1, args.nth, args.trimmomatic_java_heap) log.info('List all files in output directory...') ls_l(args.out_dir_R1) if args.paired_end: ls_l(args.out_dir_R2) log.info('Checking if output is empty...') assert_file_not_empty( cropped_R1, help='No reads in FASTQ after cropping. crop_length might be too high? ' 'While cropping, Trimmomatic (with MINLEN) excludes all reads ' 'SHORTER than crop_length.') log.info('All done.')
def main(): # read params args = parse_arguments() log.info('Initializing and making output directory...') mkdir_p(args.out_dir) # declare temp arrays temp_files = [] # files to deleted later at the end log.info('Subsampling TAGALIGN for xcor...') if args.paired_end: ta_subsampled = subsample_ta_pe(args.ta, args.subsample, True, args.mito_chr_name, True, args.out_dir) else: ta_subsampled = subsample_ta_se(args.ta, args.subsample, True, args.mito_chr_name, args.out_dir) temp_files.append(ta_subsampled) log.info('Cross-correlation analysis...') xcor_plot_pdf, xcor_plot_png, xcor_score, fraglen_txt = xcor( ta_subsampled, args.speak, args.mito_chr_name, args.nth, args.out_dir, args.chip_seq_type, args.exclusion_range_min, args.exclusion_range_max) log.info('Removing temporary files...') rm_f(temp_files) log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() log.info('Initializing and making output directory...') mkdir_p(args.out_dir) # declare temp arrays temp_files = [] # files to deleted later at the end # if bowtie2 index is tarball then unpack it if args.bowtie2_index_prefix_or_tar.endswith('.tar') or \ args.bowtie2_index_prefix_or_tar.endswith('.tar.gz'): log.info('Unpacking bowtie2 index tar...') tar = args.bowtie2_index_prefix_or_tar # untar untar(tar, args.out_dir) bowtie2_index_prefix = find_bowtie2_index_prefix(args.out_dir) temp_files.append('{}*'.format( bowtie2_index_prefix)) else: bowtie2_index_prefix = args.bowtie2_index_prefix_or_tar # check if bowties indices are unpacked on out_dir chk_bowtie2_index(bowtie2_index_prefix) # bowtie2 log.info('Running bowtie2...') if args.paired_end: bam, align_log = bowtie2_pe( args.fastqs[0], args.fastqs[1], bowtie2_index_prefix, args.multimapping, args.nth, args.out_dir) else: bam, align_log = bowtie2_se( args.fastqs[0], bowtie2_index_prefix, args.multimapping, args.nth, args.out_dir) log.info('Removing temporary files...') print(temp_files) rm_f(temp_files) log.info('Showing align log...') run_shell_cmd('cat {}'.format(align_log)) log.info('Checking if BAM file is empty...') if not int(run_shell_cmd('samtools view -c {}'.format(bam))): raise ValueError('BAM file is empty, no reads found.') log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() log.info('Initializing and making output directory...') mkdir_p(args.out_dir) frac_mito(args.non_mito_samstat, args.mito_samstat, args.out_dir) log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() FINAL_BED = args.ta OUTPUT_PREFIX = os.path.join(args.out_dir, os.path.basename(strip_ext_ta(FINAL_BED))) DNASE = args.dnase if args.dnase and os.path.basename( args.dnase) != 'null' else '' BLACKLIST = args.blacklist if args.blacklist and os.path.basename( args.blacklist) != 'null' else '' PROM = args.prom if args.prom and os.path.basename( args.prom) != 'null' else '' ENH = args.enh if args.enh and os.path.basename(args.enh) != 'null' else '' result = [] # Dnase regions if DNASE: reads_dnase, fract_dnase = get_fract_reads_in_regions(FINAL_BED, DNASE) result.append(('fraction_of_reads_in_universal_DHS_regions', str(reads_dnase), str(fract_dnase))) # Blacklist regions if BLACKLIST: reads_blacklist, \ fract_blacklist = get_fract_reads_in_regions(FINAL_BED, BLACKLIST) result.append(('fraction_of_reads_in_blacklist_regions', str(reads_blacklist), str(fract_blacklist))) # Prom regions if PROM: reads_prom, fract_prom = get_fract_reads_in_regions(FINAL_BED, PROM) result.append( ('fraction_of_reads_in_promoter_regions', str(reads_prom), str(fract_prom))) # Enh regions if ENH: reads_enh, fract_enh = get_fract_reads_in_regions(FINAL_BED, ENH) result.append(('fraction_of_reads_in_enhancer_regions', str(reads_enh), str(fract_enh))) annot_enrich_qc = OUTPUT_PREFIX + '.annot_enrich.qc' with open(annot_enrich_qc, 'w') as fp: for line in result: fp.write('\t'.join(line) + '\n') log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() log.info('Initializing and making output directory...') mkdir_p(args.out_dir) # declare temp arrays temp_files = [] # files to deleted later at the end # if bwa index is tarball then unpack it if args.bwa_index_prefix_or_tar.endswith('.tar') or \ args.bwa_index_prefix_or_tar.endswith('.tar.gz'): log.info('Unpacking bwa index tar...') tar = args.bwa_index_prefix_or_tar # untar untar(tar, args.out_dir) bwa_index_prefix = find_bwa_index_prefix(args.out_dir) temp_files.append('{}*'.format( bwa_index_prefix)) else: bwa_index_prefix = args.bwa_index_prefix_or_tar # check if bowties indices are unpacked on out_dir chk_bwa_index(bwa_index_prefix) # bwa log.info('Running bwa...') if args.paired_end: bam = bwa_pe( args.fastqs[0], args.fastqs[1], bwa_index_prefix, args.nth, args.mem_gb, args.use_bwa_mem_for_pe, args.bwa_mem_read_len_limit, args.rescue_reads_for_bwa_mem, args.out_dir) else: bam = bwa_se( args.fastqs[0], bwa_index_prefix, args.nth, args.mem_gb, args.out_dir) log.info('Removing temporary files...') rm_f(temp_files) log.info('Checking if BAM file is empty...') if bam_is_empty(bam, args.nth): raise ValueError('BAM file is empty, no reads found.') log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() log.info('Initializing and making output directory...') mkdir_p(args.out_dir) log.info('Do naive overlap...') overlap_peak = naive_overlap( args.prefix, args.peak1, args.peak2, args.peak_pooled, args.peak_type, args.nonamecheck, args.mem_gb, args.out_dir, ) log.info('Blacklist-filtering peaks...') bfilt_overlap_peak = blacklist_filter(overlap_peak, args.blacklist, args.regex_bfilt_peak_chr_name, args.out_dir) log.info('Checking if output is empty...') assert_file_not_empty(bfilt_overlap_peak) log.info('Converting peak to bigbed...') peak_to_bigbed(bfilt_overlap_peak, args.peak_type, args.chrsz, args.mem_gb, args.out_dir) log.info('Converting peak to starch...') peak_to_starch(bfilt_overlap_peak, args.out_dir) log.info('Converting peak to hammock...') peak_to_hammock(bfilt_overlap_peak, args.mem_gb, args.out_dir) if args.ta: # if TAG-ALIGN is given if args.fraglen: # chip-seq log.info('Shifted FRiP with fragment length...') frip_shifted(args.ta, bfilt_overlap_peak, args.chrsz, args.fraglen, args.out_dir) else: # atac-seq log.info('FRiP without fragment length...') frip(args.ta, bfilt_overlap_peak, args.out_dir) log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() log.info('Initializing and making output directory...') mkdir_p(args.out_dir) log.info('Generating count signal tracks...') pos_bw, neg_bw = count_signal_track(args.ta, args.chrsz, args.out_dir) log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() log.info('Initializing and making output directory...') mkdir_p(args.out_dir) log.info('Pooling TAGALIGNs...') pool_ta(args.tas, args.col, args.prefix, args.out_dir) log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() log.info('Initializing and making output directory...') mkdir_p(args.out_dir) log.info('Trimming fastqs ({} bp)...'.format(args.trim_bp)) trimmed = trim_fastq(args.fastq, args.trim_bp, args.out_dir) assert_file_not_empty(trimmed) log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() log.info('Initializing and making output directory...') mkdir_p(args.out_dir) if args.fraglen: frip_shifted(args.ta, args.peak, args.chrsz, args.fraglen, args.out_dir) else: frip(args.ta, args.peak, args.out_dir) log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() log.info('Initializing and making output directory...') mkdir_p(args.out_dir) log.info('Calling peaks and generating signal tracks with MACS2...') fc_bigwig, pval_bigwig = macs2_signal_track(args.ta, args.chrsz, args.gensz, args.pval_thresh, args.smooth_win, args.out_dir) log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() log.info('Initializing and making output directory...') mkdir_p(args.out_dir) log.info('Do IDR...') idr_peak, idr_plot, idr_out_gz, idr_stdout = idr( args.prefix, args.peak1, args.peak2, args.peak_pooled, args.peak_type, args.chrsz, args.idr_thresh, args.idr_rank, args.mem_gb, args.out_dir, ) log.info('Checking if output is empty...') assert_file_not_empty(idr_peak, help= 'No IDR peaks found. IDR threshold might be too stringent ' 'or replicates have very poor concordance.') log.info('Blacklist-filtering peaks...') bfilt_idr_peak = blacklist_filter( idr_peak, args.blacklist, args.regex_bfilt_peak_chr_name, args.out_dir) log.info('Converting peak to bigbed...') peak_to_bigbed(bfilt_idr_peak, args.peak_type, args.chrsz, args.mem_gb, args.out_dir) log.info('Converting peak to starch...') peak_to_starch(bfilt_idr_peak, args.out_dir) log.info('Converting peak to hammock...') peak_to_hammock(bfilt_idr_peak, args.mem_gb, args.out_dir) if args.ta: # if TAG-ALIGN is given if args.fraglen: # chip-seq log.info('Shifted FRiP with fragment length...') frip_shifted(args.ta, bfilt_idr_peak, args.chrsz, args.fraglen, args.out_dir) else: # atac-seq log.info('FRiP without fragment length...') frip(args.ta, bfilt_idr_peak, args.out_dir) log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() log.info('Initializing and making output directory...') mkdir_p(args.out_dir) # declare temp arrays temp_files = [] # files to deleted later at the end log.info('Converting BAM to TAGALIGN...') if args.paired_end: ta = bam2ta_pe(args.bam, args.nth, args.out_dir) else: ta = bam2ta_se(args.bam, args.out_dir) if args.subsample: log.info('Subsampling TAGALIGN...') if args.paired_end: subsampled_ta = subsample_ta_pe(ta, args.subsample, False, args.mito_chr_name, False, args.out_dir) else: subsampled_ta = subsample_ta_se(ta, args.subsample, False, args.mito_chr_name, args.out_dir) temp_files.append(ta) else: subsampled_ta = ta if args.disable_tn5_shift: shifted_ta = subsampled_ta else: log.info("TN5-shifting TAGALIGN...") shifted_ta = tn5_shift_ta(subsampled_ta, args.out_dir) temp_files.append(subsampled_ta) log.info('Checking if output is empty...') assert_file_not_empty(shifted_ta) log.info('Removing temporary files...') rm_f(temp_files) log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() log.info('Initializing and making output directory...') mkdir_p(args.out_dir) log.info('Calling peaks and generating signal tracks with MACS2...') fc_bigwig, pval_bigwig = macs2_signal_track( args.tas[0], args.tas[1], args.chrsz, args.gensz, args.pval_thresh, args.shift, args.fraglen, args.ctl_subsample, args.ctl_paired_end, args.out_dir) log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() log.info('Initializing and making output directory...') mkdir_p(args.out_dir) # declare temp arrays temp_files = [] # files to deleted later at the end # if bwa index is tarball then unpack it if args.bwa_index_prefix_or_tar.endswith('.tar') or \ args.bwa_index_prefix_or_tar.endswith('.tar.gz'): log.info('Unpacking bwa index tar...') tar = args.bwa_index_prefix_or_tar # untar untar(tar, args.out_dir) bwa_index_prefix = os.path.join(args.out_dir, os.path.basename(strip_ext_tar(tar))) temp_files.append('{}.*'.format(bwa_index_prefix)) else: bwa_index_prefix = args.bwa_index_prefix_or_tar # check if bowties indices are unpacked on out_dir chk_bwa_index(bwa_index_prefix) # bwa log.info('Running bwa...') if args.paired_end: bam = bwa_pe(args.fastqs[0], args.fastqs[1], bwa_index_prefix, args.nth, args.use_bwa_mem_for_pe, args.out_dir) else: bam = bwa_se(args.fastqs[0], bwa_index_prefix, args.nth, args.out_dir) log.info('Removing temporary files...') rm_f(temp_files) log.info('Checking if BAM file is empty...') if not int(run_shell_cmd('samtools view -c {}'.format(bam))): raise ValueError('BAM file is empty, no reads found.') log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() log.info('Initializing and making output directory...') mkdir_p(args.out_dir) log.info('Calling peaks with spp...') rpeak = spp(args.tas[0], args.tas[1], args.fraglen, args.cap_num_peak, args.nth, args.out_dir) log.info('Checking if output is empty...') assert_file_not_empty(rpeak) log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() CHROMSIZES = args.chrsz TSS = args.tss if args.tss and os.path.basename(args.tss) != 'null' else '' FINAL_BAM = args.nodup_bam OUTPUT_PREFIX = os.path.join(args.out_dir, os.path.basename(strip_ext_bam(FINAL_BAM))) samtools_index(FINAL_BAM) # make an index first RG_FREE_FINAL_BAM = remove_read_group(FINAL_BAM) log.info('Initializing and making output directory...') mkdir_p(args.out_dir) # Also get read length # read_len = get_read_length(FASTQ) if args.read_len_log: with open(args.read_len_log, 'r') as fp: read_len = int(fp.read().strip()) elif args.read_len: read_len = args.read_len else: read_len = None # Enrichments: V plot for enrichment # Use final to avoid duplicates tss_plot, tss_large_plot, tss_enrich_qc = \ make_tss_plot(FINAL_BAM, TSS, OUTPUT_PREFIX, CHROMSIZES, read_len) # remove temporary files rm_f(RG_FREE_FINAL_BAM) log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() log.info('Initializing and making output directory...') mkdir_p(args.out_dir) log.info('Calling peaks with spp...') rpeak = spp(args.tas[0], args.tas[1], args.fraglen, args.cap_num_peak, args.fdr_thresh, args.nth, args.out_dir) log.info('Checking if output is empty...') assert_file_not_empty(rpeak, help= 'No peaks found. FDR threshold (fdr_thresh in your input JSON) ' 'might be too stringent or poor quality sample?') log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')
def main(): # read params args = parse_arguments() log.info('Initializing and making output directory...') mkdir_p(args.out_dir) log.info('Do IDR...') idr_peak, idr_plot, idr_out_gz, idr_stdout = idr( args.prefix, args.peak1, args.peak2, args.peak_pooled, args.peak_type, args.idr_thresh, args.idr_rank, args.out_dir) log.info('Blacklist-filtering peaks...') bfilt_idr_peak = blacklist_filter( idr_peak, args.blacklist, args.keep_irregular_chr, args.out_dir) log.info('Checking if output is empty...') assert_file_not_empty(bfilt_idr_peak) log.info('Converting peak to bigbed...') peak_to_bigbed(bfilt_idr_peak, args.peak_type, args.chrsz, args.keep_irregular_chr, args.out_dir) log.info('Converting peak to hammock...') peak_to_hammock(bfilt_idr_peak, args.keep_irregular_chr, args.out_dir) if args.ta: # if TAG-ALIGN is given if args.fraglen: # chip-seq log.info('Shifted FRiP with fragment length...') frip_shifted(args.ta, bfilt_idr_peak, args.chrsz, args.fraglen, args.out_dir) else: # atac-seq log.info('FRiP without fragment length...') frip(args.ta, bfilt_idr_peak, args.out_dir) log.info('List all files in output directory...') ls_l(args.out_dir) log.info('All done.')