annotate libs/H_combination_output_analysis.py @ 2:381e1e7109fc draft default tip

planemo upload commit 464b391afaa5819bc681452e85bea9d882730eb6-dirty
author charles_s_test
date Sun, 12 Nov 2017 02:26:17 -0500
parents 8db411fab3e1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
1 #!/usr/bin/env python
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
2 # "H_combination_output_analysis.py target.fasta fliCdatabase.fasta fljBdatabase.fasta"
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
3 # must have ispcr and primers of fliC and fljB at the same directory
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
4
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
5
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
6 import os
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
7 from Bio import SeqIO
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
8 import sys
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
9 from Bio.Blast import NCBIXML
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
10 from Initial_Conditions import phase1
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
11 from Initial_Conditions import phase2
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
12
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
13 Makebltdb="/nfs/sw/apps/blast/ncbi-blast-2.6.0+/bin/makeblastdb"
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
14 Blastxpth="/nfs/sw/apps/blast/ncbi-blast-2.6.0+/bin/blastx"
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
15
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
16 target=sys.argv[1]
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
17 database_fliC=sys.argv[2]
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
18 database_fljB=sys.argv[3]
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
19 output=target.split('.')[0]+'_out.fasta'
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
20
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
21 dirpath = os.path.abspath(os.path.dirname(os.path.realpath(__file__)))###01/27/2015
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
22 database_path="database"###01/27/2015,database_path=dirpath+"/database"
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
23 os.system(dirpath+'/isPcr maxSize=3000 tileSize=7 minPerfect=7 minGood=7 '+target+' '+dirpath+'/../primers/seq_primer_fliC.txt '+target+'_fliC.fa')
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
24 os.system(dirpath+'/isPcr maxSize=3000 tileSize=7 minPerfect=7 minGood=7 '+target+' '+dirpath+'/../primers/seq_primer_fljB.txt '+target+'_fljB.fa')
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
25 fliC=target+'_fliC.fa'
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
26 fljB=target+'_fljB.fa'
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
27
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
28 if os.path.getsize(fliC)>10:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
29 os.system(Makebltdb+' -in '+database_fliC+' -out '+database_fliC+'_db '+'-dbtype prot')###01/28/2015,no need to add fljB address, because input is abs address already
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
30 os.system(Blastxpth+' -seg=no -query '+fliC+' -db '+database_fliC+'_db '+'-out '+'FliC_Htype_'+target+'.xml '+'-outfmt 5')
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
31 print target
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
32 fliC_XML='FliC_Htype_'+target+'.xml'
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
33 fliC_handle=open(fliC_XML)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
34 records=NCBIXML.parse(fliC_handle)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
35 fliC_records=list(records)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
36 E_thresh=1e-10
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
37 hspbit=[]
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
38 alignmentlist=[]
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
39 for record in fliC_records:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
40 for alignment in record.alignments:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
41 hsp_bit_score=0
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
42 startlist=[]#the percentage algorithm don't consider one situation, the new hsp cover old hsp
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
43 endlist=[]#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
44 for hsp in alignment.hsps:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
45 start=hsp.query_start#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
46 end=hsp.query_end#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
47 leng=abs(start-end)#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
48 if hsp.expect<E_thresh:#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
49 if start>end:#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
50 temp=start#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
51 start=end#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
52 end=start#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
53 if len(startlist)==0:#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
54 hsp_bit_score=hsp_bit_score+hsp.bits#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
55 startlist.append(start)#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
56 endlist.append(end)#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
57 else:#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
58 for i in range(len(startlist)):#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
59 if startlist[i]<start<endlist[i]:#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
60 start=endlist[i]+1#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
61 if startlist[i]<end<endlist[i]:#03112016
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
62 end=startlist[i]-1#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
63 if end<start:#the new hsp was included in old hsp#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
64 percentage=0#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
65 else:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
66 percentage=float(end-start)/leng#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
67 startlist.append(start)#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
68 endlist.append(end)#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
69 hsp_bit_score=hsp_bit_score+percentage*hsp.bits#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
70 alignment=alignment.hit_def+':'+str(hsp_bit_score)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
71 hspbit.append(hsp_bit_score)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
72 alignmentlist.append(alignment)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
73 scorelist=dict(zip(alignmentlist,hspbit))
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
74 score=0
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
75 serotype=[]
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
76 seroscore=[]
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
77 for Htype in scorelist:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
78 if scorelist[Htype]>score:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
79 First_Choice=Htype
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
80 score=scorelist[Htype]
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
81 if locals().has_key('First_Choice'):
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
82 serotype.append(First_Choice.split("__")[0])
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
83 seroscore.append(score)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
84 secscore=0
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
85 for Htype in scorelist:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
86
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
87 if scorelist[Htype]>secscore and (Htype.split("__")[0] not in serotype):
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
88 Sec_Choice=Htype
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
89 secscore=scorelist[Htype]
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
90 if locals().has_key('Sec_Choice'):
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
91 serotype.append(Sec_Choice.split("__")[0])
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
92 seroscore.append(secscore)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
93 thirdscore=0
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
94 for Htype in scorelist:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
95 if scorelist[Htype]>thirdscore and (Htype.split("__")[0] not in serotype):
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
96 Third_Choice=Htype
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
97 thirdscore=scorelist[Htype]
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
98 if locals().has_key('Third_Choice'):
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
99 serotype.append(Third_Choice.split("__")[0])
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
100 seroscore.append(thirdscore)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
101 print serotype,seroscore
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
102 if score>100:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
103 print '#',target,'$$$ Most possible H_fliC_type: ',First_Choice,'\n'
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
104 print '$$$ bit_score:',score,'\n'
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
105 if locals().has_key('secscore'):
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
106 if secscore>100:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
107 print '#',target,'$$$ Second possible H_fliC_type: ',Sec_Choice,'\n'
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
108 print '$$$ Second bit_score:',secscore,'\n'
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
109 if locals().has_key('thirdscore'):
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
110 if thirdscore>100:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
111 print '#',target,'$$$ Third possible H_fliC_type: ',Third_Choice,'\n'
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
112 print '$$$ Third bit_score:',thirdscore,'\n'
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
113 else:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
114 print '$$$ No fliC in',target
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
115 else:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
116 score=1
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
117 print '$$$ No fliC (no file created) in',target
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
118
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
119
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
120
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
121 if os.path.getsize(fljB)>10:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
122 os.system(Makebltdb+' -in '+database_fljB+' -out '+database_fljB+'_db '+'-dbtype prot')###01/28/2015,no need to add fljB address, because input is abs address already
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
123 os.system(Blastxpth+' -query '+fljB+' -db '+database_fljB+'_db '+'-out '+'FljB_Htype_'+target+'.xml '+'-outfmt 5')
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
124 print target
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
125 fljB_XML='FljB_Htype_'+target+'.xml'
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
126 fljB_handle=open(fljB_XML)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
127 records=NCBIXML.parse(fljB_handle)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
128 fljB_records=list(records)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
129 E_thresh=1e-10
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
130 hspbit=[]
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
131 alignmentlist=[]
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
132 for record in fljB_records:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
133 for alignment in record.alignments:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
134 hsp_bit_score=0
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
135 startlist=[]#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
136 endlist=[]#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
137 for hsp in alignment.hsps:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
138 start=hsp.query_start#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
139 end=hsp.query_end#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
140 leng=abs(start-end)#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
141 if hsp.expect<E_thresh:#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
142 if start>end:#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
143 temp=start#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
144 start=end#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
145 end=start#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
146 if len(startlist)==0:#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
147 hsp_bit_score=hsp_bit_score+hsp.bits#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
148 startlist.append(start)#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
149 endlist.append(end)#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
150 else:#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
151 for i in range(len(startlist)):#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
152 if startlist[i]<start<endlist[i]:#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
153 start=endlist[i]+1#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
154 if startlist[i]<end<endlist[i]:#03112016
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
155 end=startlist[i]-1#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
156 if end<start:#the new hsp was included in old hsp#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
157 percentage=0#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
158 else:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
159 percentage=float(end-start)/leng#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
160 startlist.append(start)#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
161 endlist.append(end)#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
162 hsp_bit_score=hsp_bit_score+percentage*hsp.bits#
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
163 alignment=alignment.hit_def+':'+str(hsp_bit_score)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
164 hspbit.append(hsp_bit_score)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
165 alignmentlist.append(alignment)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
166 fljB_scorelist=dict(zip(alignmentlist,hspbit))
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
167
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
168 fljB_score=0
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
169 fljB_serotype=[]
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
170 fljB_seroscore=[]
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
171 for Htype in fljB_scorelist:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
172 if fljB_scorelist[Htype]>fljB_score:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
173 fljB_First_Choice=Htype
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
174 fljB_score=fljB_scorelist[Htype]
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
175 if locals().has_key('fljB_First_Choice'):
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
176 fljB_serotype.append(fljB_First_Choice.split("__")[0])
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
177 fljB_seroscore.append(fljB_score)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
178 fljB_secscore=0
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
179 for Htype in fljB_scorelist:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
180 if fljB_scorelist[Htype]>fljB_secscore and (Htype.split("__")[0] not in fljB_serotype):
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
181 fljB_Sec_Choice=Htype
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
182 fljB_secscore=fljB_scorelist[Htype]
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
183 if locals().has_key('fljB_Sec_Choice'):
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
184 fljB_serotype.append(fljB_Sec_Choice.split("__")[0])
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
185 fljB_seroscore.append(fljB_secscore)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
186 fljB_thirdscore=0
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
187 for Htype in fljB_scorelist:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
188 if fljB_scorelist[Htype]>fljB_thirdscore and (Htype.split("__")[0] not in fljB_serotype):
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
189 fljB_Third_Choice=Htype
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
190 fljB_thirdscore=fljB_scorelist[Htype]
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
191 if locals().has_key('fljB_Third_Choice'):
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
192 fljB_serotype.append(fljB_Third_Choice.split("__")[0])
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
193 fljB_seroscore.append(fljB_thirdscore)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
194
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
195 if fljB_score>100:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
196 print '#',target,'$$$ Most possible H_fljB_type: ',fljB_First_Choice,'\n'
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
197 print '$$$ Most bit_score:',fljB_score,'\n'
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
198 if locals().has_key('fljB_secscore'):
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
199 if fljB_secscore>100:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
200 print '#',target,'$$$ Second possible H_fljB_type: ',fljB_Sec_Choice,'\n'
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
201 print '$$$ Second bit_score:',fljB_secscore,'\n'
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
202 if locals().has_key('fljB_thirdscore'):
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
203 if fljB_thirdscore>100:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
204 print '#',target,'$$$ Third possible H_fljB_type: ',fljB_Third_Choice,'\n'
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
205 print '$$$ Third bit_score:',fljB_thirdscore,'\n'
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
206 else:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
207 print '$$$ No fljB in',target
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
208 else:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
209 fljB_score=1
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
210 print '$$$ No fljB (no file created) in',target
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
211
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
212
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
213 if score>100 and fljB_score>100:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
214 fliC_sero=dict(zip(serotype,seroscore))
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
215 fljB_sero=dict(zip(fljB_serotype,fljB_seroscore))
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
216 combination=[]
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
217 combination_score=[]
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
218 for seroname in fliC_sero:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
219 for fljB_seroname in fljB_sero:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
220 for i in range(len(phase1)):
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
221 if phase1[i]==seroname and phase2[i]==fljB_seroname:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
222 name=seroname+"_"+fljB_seroname
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
223 score=fliC_sero[seroname]+fljB_sero[fljB_seroname]
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
224 combination.append(name)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
225 combination_score.append(score)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
226 combinationlist=dict(zip(combination,combination_score)) #we can do the filteration here
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
227 final_dict=sorted(combinationlist.iteritems(), key=lambda d:d[1], reverse = True)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
228 print "$$_H:Order:",final_dict
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
229 elif score>100 and fljB_score<100:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
230 print "$$_H:No fljB, only fliC, and its order:",First_Choice,Sec_Choice,Third_Choice
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
231 elif score<100 and fljB_score>100:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
232 print "$$_H:No fliC, only fljB, and its order:",fljB_First_Choice,fljB_Sec_Choice,fljB_Third_Choice
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
233 elif score==1 and fljB_score>100:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
234 print "$$_H:No fliC (file) existed, only fljB, and its order:",fljB_First_Choice,fljB_Sec_Choice,fljB_Third_Choice
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
235 elif score==1 and fljB_score<100:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
236 print "$$_H:No fliC (file) existed, and no fljB"
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
237 elif score>100 and fljB_score==1:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
238 print "$$_H:No fljB (file) existed, only fliC, and its order:",First_Choice,Sec_Choice,Third_Choice
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
239 elif score<100 and fljB_score==1:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
240 print "$$_H:No fljB (file) existed, and no fliC"
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
241 else:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
242 print "$$_H:No fliC and fljB"
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
243
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
244
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
245 '''
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
246 E_thresh=1e-10
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
247 hspbit=[]
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
248 alignmentlist=[]
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
249 for record in fliC_records:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
250 for alignment in record.alignments:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
251 hsp_bit_score=0
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
252 for hsp in alignment.hsps:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
253 if hsp.expect<E_thresh:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
254 hsp_bit_score=hsp_bit_score+hsp.bits
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
255 alignment=alignment.hit_def+':'+str(hsp_bit_score)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
256 hspbit.append(hsp_bit_score)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
257 alignmentlist.append(alignment)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
258
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
259 scorelist=dict(zip(alignmentlist,hspbit))
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
260 score=0
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
261 for Htype in scorelist:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
262 if scorelist[Htype]>score:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
263 First_Choice=Htype
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
264 score=scorelist[Htype]
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
265 if score>100:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
266 print '#',target,'Most possible H_fliC_type: ',First_Choice,'\n'
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
267 print '#bit_score:',score,'\n'
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
268 else:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
269 print '#No fliC in',target
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
270
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
271
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
272 E_thresh=1e-10
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
273 hspbit=[]
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
274 alignmentlist=[]
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
275 for record in fljB_records:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
276 for alignment in record.alignments:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
277 hsp_bit_score=0
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
278 for hsp in alignment.hsps:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
279 if hsp.expect<E_thresh:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
280 hsp_bit_score=hsp_bit_score+hsp.bits
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
281 alignment=alignment.hit_def+':'+str(hsp_bit_score)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
282 hspbit.append(hsp_bit_score)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
283 alignmentlist.append(alignment)
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
284
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
285 scorelist=dict(zip(alignmentlist,hspbit))
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
286 fljB_score=0
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
287 for Htype in scorelist:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
288 if scorelist[Htype]>fljB_score:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
289 First_Choice=Htype
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
290 fljB_score=scorelist[Htype]
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
291 if fljB_score>100:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
292 print '#',target,'Most possible H_fljB_type: ',First_Choice,'\n'
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
293 print '#bit_score:',fljB_score,'\n'
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
294 else:
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
295 print '#No fljB in',target
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
296 '''
8db411fab3e1 planemo upload commit 844a891e4eaf732830043204ac636907eefb011d-dirty
charles_s_test
parents:
diff changeset
297