annotate parse_output.py @ 0:598c3e720567 draft default tip

planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
author stephenshank
date Thu, 21 Mar 2019 12:47:00 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
1 import os
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
2
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
3 from Bio.Seq import Seq
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
4 from Bio.SeqRecord import SeqRecord
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
5 from Bio import SeqIO
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
6
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
7
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
8 def parse_abayesqr_output(input_text, output_fasta):
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
9 wd = os.path.join(os.getcwd())
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
10 with open(os.path.join(wd, input_text)) as input_file:
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
11 lines = input_file.readlines()
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
12 records = []
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
13 for i, line in enumerate(lines):
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
14 if i % 2 == 0:
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
15 freq = float(line.split()[-1])
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
16 number = int(i/2)+1
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
17 header = 'haplotype-%d_freq-%f' % (number, freq)
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
18 else:
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
19 seq = Seq(line.strip())
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
20 record = SeqRecord(seq, id=header, description='')
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
21 records.append(record)
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
22 SeqIO.write(records, os.path.join(wd, output_fasta), 'fasta')
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
23
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
24
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
25 if __name__ == '__main__':
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
26 parse_abayesqr_output("test_ViralSeq.txt", "haplotypes.fasta")
598c3e720567 planemo upload commit 4a2876135fca2f46ffa6451e463eb167a0b51b65
stephenshank
parents:
diff changeset
27