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