aboutsummaryrefslogtreecommitdiff
path: root/src/filter_melting_temperature.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/filter_melting_temperature.py')
-rw-r--r--src/filter_melting_temperature.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/filter_melting_temperature.py b/src/filter_melting_temperature.py
new file mode 100644
index 0000000..9e5477b
--- /dev/null
+++ b/src/filter_melting_temperature.py
@@ -0,0 +1,28 @@
+#!/usr/bin/env python
+import sys
+from Bio.SeqUtils.MeltingTemp import Tm_staluc
+
+# naiive
+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])
+
+
+for line in sys.stdin:
+ if min_melting_temp < Tm_staluc(line.split("\t")[0]) < max_melting_temp:
+ sys.stdout.write(line)