Mercurial > repos > greg > fasta_extract
changeset 14:a234ed464674 draft default tip
Uploaded
author | greg |
---|---|
date | Sun, 10 Jan 2016 15:01:05 -0500 |
parents | a5d7ed2680c3 |
children | |
files | fasta_extract.py |
diffstat | 1 files changed, 19 insertions(+), 28 deletions(-) [+] |
line wrap: on
line diff
--- a/fasta_extract.py Sun Jan 10 14:57:50 2016 -0500 +++ b/fasta_extract.py Sun Jan 10 15:01:05 2016 -0500 @@ -43,7 +43,6 @@ fasta = Fasta(args.genome_file) -dh = open('debug.log', 'wb') for (input_filename, hid) in args.inputs: extend_existing = args.extend_existing == 'existing' consider_strand = args.strand == 'yes' @@ -54,7 +53,6 @@ args.add_to_end, extend_existing, consider_strand) - dh.write('\n fasta_output_path: %s\n' % str(fasta_output_path)) output = open(fasta_output_path, 'wb') gff_output_path = get_output_path(hid, args.subtract_from_start, @@ -62,35 +60,28 @@ extend_existing, consider_strand, orphan=True) - dh.write('\n gff_output_path: %s\n' % str(gff_output_path)) orphan_writer = csv.writer(open(gff_output_path, 'wb'), delimiter='\t') for row in reader: - dh.write('\n row: %s\n' % str(row)) if len(row) != 9 or row[0].startswith('#'): continue - try: - cname = row[0] - start = int(row[3]) - end = int(row[4]) - strand = row[6] - if extend_existing: - start -= args.subtract_from_start - end += args.add_to_end - else: - midpoint = (start + end) // 2 - start = midpoint - args.subtract_from_start - end = midpoint + args.add_to_end - if 1 <= start and end <= len(fasta[cname]): - output.write('>%s:%s-%s_%s\n' % (cname, start, end, strand)) - bases = fasta[cname][start-1:end] - if consider_strand and strand == '-': - bases = reverse_complement(bases) - dh.write('\n bases: %s\n' % str(bases)) - output.write('%s\n' % bases) - else: - orphan_writer.writerow(row) - except Exception, e: - stop_err(str(e)) + cname = row[0] + start = int(row[3]) + end = int(row[4]) + strand = row[6] + if extend_existing: + start -= args.subtract_from_start + end += args.add_to_end + else: + midpoint = (start + end) // 2 + start = midpoint - args.subtract_from_start + end = midpoint + args.add_to_end + if 1 <= start and end <= len(fasta[cname]): + output.write('>%s:%s-%s_%s\n' % (cname, start, end, strand)) + bases = fasta[cname][start-1:end] + if consider_strand and strand == '-': + bases = reverse_complement(bases) + output.write('%s\n' % bases) + else: + orphan_writer.writerow(row) output.close() - dh.close()