annotate rdpmulticlassifier/scripts/.svn/text-base/generateOTUtable.py.svn-base @ 0:a73ae72b47aa draft default tip

Uploaded
author qfab
date Thu, 29 May 2014 02:27:56 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
1 # create OTU Table by merging pre otu table with taxonomy assign by
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
2 # rdpmulticlassifier
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
3 # Tab-separated fields:
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
4 # 1=OTU Label, 2=Count, 3=Sequence, 4 and following=Assigned taxonomy by
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
5 # RDP Multi Classifier
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
6
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
7 import sys, os
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
8
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
9 OTUtable = sys.argv[1]
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
10 PreOTUtable = sys.argv[2]
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
11 RdpTaxonomy = sys.argv[3]
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
12
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
13 def merge(output, preotu, tax):
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
14 writeoutput = open(output, 'w')
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
15 lookup = {}
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
16 with open(tax) as f:
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
17 for x in f:
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
18 list = x.split('\t')
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
19 length = len(list)
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
20 rest =''
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
21 for k in range(1, length):
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
22 item= list[k].replace(' ','')
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
23 item= item.replace('\n','')
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
24 rest = rest+ item + '\t'
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
25 lookup[list[0]] = rest
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
26 with open(preotu) as f:
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
27 for x in f:
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
28 columns = x.split('\t')
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
29 otu = columns[0].replace(' ','')
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
30 taxonomy = lookup[otu]
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
31 line = x.replace('\n','')
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
32 writeoutput.write(line+taxonomy+'\n')
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
33
a73ae72b47aa Uploaded
qfab
parents:
diff changeset
34 merge(OTUtable, PreOTUtable, RdpTaxonomy)