annotate fasta_report_sequence_lengths.py @ 0:f8a2a99a961d draft default tip

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
author bgruening
date Fri, 06 Jul 2018 08:45:08 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
1 #!/usr/bin/env python
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
2
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
3 import sys
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
4
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
5 """
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
6 Input: FASTA file
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
7 Output: Print sequence ID and corresponding sequence length
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
8
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
9 Example output:
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
10 chr1 248956422
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
11 chr2 242193529
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
12 chr3 198295559
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
13 ...
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
14
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
15 """
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
16
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
17 # Check input.
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
18 if not len(sys.argv) == 2:
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
19 exit("Usage: fasta_report_sequence_lengths.py <fasta_file>")
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
20
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
21 fasta_file = sys.argv[1]
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
22
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
23 seq_id = "id"
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
24 seq_len = 0
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
25
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
26 # Go through FASTA file, extract sequence lengths.
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
27 with open(fasta_file) as f:
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
28 for line in f:
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
29 if line.startswith(">"):
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
30 new_id = line[1:].strip()
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
31 if seq_len:
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
32 print("%s\t%i" % (seq_id, seq_len))
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
33 seq_len = 0
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
34 seq_id = new_id
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
35 else:
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
36 seq_len += len(line.strip())
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
37
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
38 # Print last sequence length.
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
39 if seq_len:
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
40 print("%s\t%i" % (seq_id, seq_len))
f8a2a99a961d planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/rna_tools/sshmm/ commit b578a90031fd7061fbdaef48b6a66d895ac077c3
bgruening
parents:
diff changeset
41