Mercurial > repos > stephenshank > abayesqr
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 |
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 |