Mercurial > repos > drosofff > sam_to_fastq
diff sam_to_fastq.py @ 0:55107d4a728c draft
planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
author | drosofff |
---|---|
date | Mon, 21 Mar 2016 17:33:26 -0400 |
parents | |
children | 8acb72264319 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sam_to_fastq.py Mon Mar 21 17:33:26 2016 -0400 @@ -0,0 +1,33 @@ +#!/usr/bin/python +# +import sys +import argparse + +def Parser(): + the_parser = argparse.ArgumentParser() + the_parser.add_argument( + '--input', action="store", type=str, help="input SAM file") + the_parser.add_argument( + '--output', action="store", type=str, help="output FASTQ file") + args = the_parser.parse_args() + return args + + +def print_fastq_sequence(samline, file): + samfields = samline[:-1].split("\t") + file.write ( '@%s\n%s\n+\n%s' % (samfields[0], samfields[9], samfields[10]) ) + +def main(input, output): + infile = open (input, "r") + outfile = open (output, "w") + with open (input, "r") as infile: + with open (output, "w") as outfile: + for line in infile: + if line[0] == "@": + continue + if line.split("\t")[1] != "4": + print_fastq_sequence (line, outfile) + +if __name__ == "__main__": + args = Parser() + main (args.input, args.output)