comparison reactivity_cal/react_norm_function.py @ 26:8bf6c855353b draft

Uploaded
author tyty
date Mon, 20 Oct 2014 14:41:56 -0400
parents
children
comparison
equal deleted inserted replaced
25:90bc1ead3abd 26:8bf6c855353b
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
31
32 all_react.sort(reverse = True)
33
34
35 eight = all_react[int(len(all_react)*0.02):int(len(all_react)*0.1)]
36 meight = sum(eight)/len(eight)
37
38 for t in react:
39 h.write(t)
40 h.write('\n')
41 if react[t]!='null':
42 for i in range((len(react[t])-1)):
43 if react[t][i]!='NA':
44 h.write(str(cap((float(react[t][i])/meight),capped)))
45 else:
46 h.write('NA')
47 h.write('\t')
48 if react[t][i+1]!='NA':
49 h.write(str(cap((float(react[t][i+1])/meight),capped)))
50 else:
51 h.write('NA')
52 h.write('\n')
53
54 h.close()
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82