def parse_roi(): bed = cftr.parse_bedfile(cftr.RESOURCE['amplicon_bed']) regions = [] for chrom in bed.keys(): for start in sorted(bed[chrom].keys()): name = bed[chrom][start]['NAME'] regions.append([chrom, start, bed[chrom][start]['END'], name]) sys.stderr.write("ROI: {} regions\n".format(len(regions))) return regions
def parse_roi(state=False): bedfile = cftr.RESOURCE['analysis_roi_bed'] if state else \ cftr.RESOURCE['covered_roi_bed'] bed = cftr.parse_bedfile(bedfile) regions = [] for chrom in bed.keys(): for start in sorted(bed[chrom].keys()): name = bed[chrom][start]['NAME'] regions.append([chrom, start, bed[chrom][start]['END'], name]) sys.stderr.write("ROI: {} regions\n".format(len(regions))) return regions
" .variant_function and" +\ " .exonic_variant_function files.", ) parser.add_argument("-o", "--outdir", help="Directory for output file.",) parser.add_argument("-l", "--label", help="Label for output file.",) parser.add_argument("-f", "--force", default=False, action='store_true', help="Overwrite existing files.") if len(sys.argv)<2: parser.print_help() sys.exit() args = parser.parse_args() outlabel = get_outlabel(args.vcffiles, args) outfile = outlabel + ".results.txt" rejectfile = outlabel + ".rejects.txt" if have_file(outfile, args.force): sys.stderr.write(" Already have {}.\n".format(outfile)) else: flatdata = defaultdict(dict) for vcffile in args.vcffiles: (fields, vcfdata) = parse_vcf(vcffile) (flatdata, newfields) = flatten_vcf_data(fields, vcfdata, flatdata) annovar_data = get_annovar_data(args.annovar) bedfile = cftr.RESOURCE['analysis_roi_bed'] if not os.path.isfile(bedfile): sys.exit("BED file {} not found\n".format(bedfile)) roi = cftr.parse_bedfile(bedfile) create_spreadsheet(newfields, flatdata, annovar_data, roi, outfile, rejectfile, args)
help="Minimum QD to report (default 2.0).",) parser.add_argument("--maxfs", type=float, default=30.0, help="Maximum FS to report (default 30.0).",) parser.add_argument("-f", "--force", default=False, action='store_true', help="Overwrite existing files.") if len(sys.argv)<2: parser.print_help() sys.exit() args = parser.parse_args() outlabel = get_outlabel(args.vcffiles, args) outfile = outlabel + ".results.txt" rejectfile = outlabel + ".rejects.txt" if have_file(outfile, args.force): sys.stderr.write(" Already have {}.\n".format(outfile)) else: flatdata = defaultdict(dict) for vcffile in args.vcffiles: (fields, vcfdata) = parse_vcf(vcffile) (flatdata, newfields) = flatten_vcf_data(fields, vcfdata, flatdata) add_depth_info(args.depths, flatdata, newfields, args) annovar_data = get_annovar_data(args.annovar) bedfile = cftr.RESOURCE['analysis_roi_bed'] if not os.path.isfile(bedfile): sys.exit("BED file {} not found\n".format(bedfile)) roi = cftr.parse_bedfile(bedfile) create_spreadsheet(newfields, flatdata, annovar_data, roi, outfile, rejectfile, args)