Mercurial > repos > rnateam > bctools
diff convert_bc_to_binary_RY.py @ 8:17ef0e0dae68 draft
Uploaded
author | rnateam |
---|---|
date | Tue, 10 Nov 2015 09:13:44 -0500 |
parents | de4ea3aa1090 |
children | 0b9aab6aaebf |
line wrap: on
line diff
--- a/convert_bc_to_binary_RY.py Tue Nov 10 08:12:25 2015 -0500 +++ b/convert_bc_to_binary_RY.py Tue Nov 10 09:13:44 2015 -0500 @@ -39,12 +39,17 @@ # positional arguments parser.add_argument( "infile", - help="Path to fasta input file.") + help="Path to fastq input file.") # optional arguments parser.add_argument( "-o", "--outfile", help="Write results to this file.") parser.add_argument( + "--fasta-format", + dest="fasta_format", + help="Read and write fasta instead of fastq format.", + action="store_true") +parser.add_argument( "-v", "--verbose", help="Be verbose.", action="store_true") @@ -73,8 +78,13 @@ def translate_nt_to_RY_iterator(robj): """Translate SeqRecords sequences to RY alphabet.""" for record in robj: + if not args.fasta_format: + saved_letter_annotations = record.letter_annotations + record.letter_annotations = {} record.seq = Seq(translate_nt_to_RY(str(record.seq)), IUPAC.unambiguous_dna) + if not args.fasta_format: + record.letter_annotations = saved_letter_annotations yield record # handle arguments @@ -94,8 +104,14 @@ # get input iterator input_handle = open(args.infile, "rU") -input_seq_iterator = SeqIO.parse(input_handle, "fasta") +if args.fasta_format: + input_seq_iterator = SeqIO.parse(input_handle, "fasta") +else: + input_seq_iterator = SeqIO.parse(input_handle, "fastq") convert_seq_iterator = translate_nt_to_RY_iterator(input_seq_iterator) output_handle = (open(args.outfile, "w") if args.outfile is not None else stdout) -SeqIO.write(convert_seq_iterator, output_handle, "fasta") +if args.fasta_format: + SeqIO.write(convert_seq_iterator, output_handle, "fasta") +else: + SeqIO.write(convert_seq_iterator, output_handle, "fastq") output_handle.close()