annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
1 #!/usr/bin/python
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
2 #
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
3 import sys
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
4 import argparse
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
5
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
6 def Parser():
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
7 the_parser = argparse.ArgumentParser()
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
8 the_parser.add_argument(
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
9 '--input', action="store", type=str, help="input SAM file")
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
10 the_parser.add_argument(
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
11 '--output', action="store", type=str, help="output FASTQ file")
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
12 args = the_parser.parse_args()
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
13 return args
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
14
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
15
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
16 def print_fastq_sequence(samline, file):
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
17 samfields = samline[:-1].split("\t")
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
18 file.write ( '@%s\n%s\n+\n%s' % (samfields[0], samfields[9], samfields[10]) )
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
19
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
20 def main(input, output):
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
21 infile = open (input, "r")
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
22 outfile = open (output, "w")
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
23 with open (input, "r") as infile:
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
24 with open (output, "w") as outfile:
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
25 for line in infile:
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
26 if line[0] == "@":
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
27 continue
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
28 if line.split("\t")[1] != "4":
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
29 print_fastq_sequence (line, outfile)
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
30
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
31 if __name__ == "__main__":
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
32 args = Parser()
55107d4a728c planemo upload for repository https://github.com/ARTbio/tools-artbio/tree/master/tools/sam_to_fastq commit 0651eb8c86d890e4b223fec82ab3980932710030
drosofff
parents:
diff changeset
33 main (args.input, args.output)