blob: e2521db0daea85d9e5b973544fb57824742cf588 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
import sys
def in_temp_range(kmer):
A = kmer.count('A')
C = kmer.count('C')
G = kmer.count('G')
T = kmer.count('T')
melt_temp = 0.0;
if len(kmer) < 13:
melt_temp = ((A+T) * 2) + ((C+G) * 4)
else:
melt_temp = 64.9 + 41*(G+C-16.4)/(A+T+G+C)
return min_melting_temp < melt_temp < max_melting_temp
min_melting_temp = float(sys.argv[1])
max_melting_temp = float(sys.argv[2])
output = []
for line in sys.stdin:
if in_temp_range(line.split("\t")[0]):
sys.stdout.write(line)
|