Mercurial > repos > tyty > structurefold
comparison reactivity_cal/react_norm_function.py @ 5:7a8ddf1819b1 draft
Uploaded
author | tyty |
---|---|
date | Mon, 15 Sep 2014 14:52:52 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
4:a292aaf51735 | 5:7a8ddf1819b1 |
---|---|
1 #!/usr/bin/env python | |
2 # -*- coding: utf-8 -*- | |
3 import sys | |
4 from Bio import SeqIO | |
5 import math | |
6 from parse_dis_react import * | |
7 | |
8 def cap(a,value): | |
9 if a>=value: | |
10 return value | |
11 else: | |
12 return a | |
13 | |
14 def react_norm(react_file, result_file, capped_value): | |
15 print("Normalizing.....") | |
16 react1 = parse_dist(react_file) | |
17 react = react1[1] | |
18 h = file(result_file, 'w') | |
19 | |
20 capped = int(capped_value) | |
21 | |
22 all_react = [] | |
23 | |
24 | |
25 for t in react: | |
26 if react[t]!='null': | |
27 for i in range(len(react[t])): | |
28 if react[t][i]!='NA': | |
29 all_react.append(float(react[t][i])) | |
30 # except: | |
31 # print(react[t][i]) | |
32 # print(t) | |
33 # print(i) | |
34 | |
35 all_react.sort(reverse = True) | |
36 #print((all_react)) | |
37 #print(all_react[int(len(all_react)*0.02)]) | |
38 #print(all_react[int(len(all_react)*0.03)]) | |
39 #print(all_react[int(len(all_react)*0.025)]) | |
40 #print(all_react[int(len(all_react)*0.04)]) | |
41 #print(all_react[int(len(all_react)*0.05)]) | |
42 ''' | |
43 mean = sum(all_react)/len(all_react) | |
44 print(mean) | |
45 temp = 0 | |
46 | |
47 for i in range(len(all_react)): | |
48 temp = temp+all_react[i]*all_react[i] | |
49 temp = temp/len(all_react) | |
50 sd = math.sqrt(temp-mean*mean) | |
51 ''' | |
52 eight = all_react[int(len(all_react)*0.02):int(len(all_react)*0.1)] | |
53 meight = sum(eight)/len(eight) | |
54 | |
55 for t in react: | |
56 h.write(t) | |
57 h.write('\n') | |
58 if react[t]!='null': | |
59 if (t.find('AT1G29930')==-1) and (t.find('At1g29930')==-1): | |
60 for i in range((len(react[t])-1)): | |
61 if react[t][i]!='NA': | |
62 h.write(str(cap((float(react[t][i])/meight),capped))) | |
63 else: | |
64 h.write('NA') | |
65 h.write('\t') | |
66 if react[t][i+1]!='NA': | |
67 h.write(str(cap((float(react[t][i+1])/meight),capped))) | |
68 else: | |
69 h.write('NA') | |
70 h.write('\n') | |
71 else: | |
72 for i in range((len(react[t])-1)): | |
73 if react[t][i]!='NA': | |
74 h.write(str(float(react[t][i])*2.6)) | |
75 else: | |
76 h.write('NA') | |
77 h.write('\t') | |
78 if react[t][i+1]!='NA': | |
79 h.write(str(float(react[t][i])*2.6)) | |
80 else: | |
81 h.write('NA') | |
82 h.write('\n') | |
83 | |
84 | |
85 | |
86 h.close() | |
87 | |
88 | |
89 | |
90 | |
91 | |
92 | |
93 | |
94 | |
95 | |
96 | |
97 | |
98 | |
99 | |
100 | |
101 | |
102 | |
103 | |
104 | |
105 | |
106 | |
107 | |
108 | |
109 | |
110 | |
111 | |
112 | |
113 | |
114 |