From 6a7295a258932a78c616ea4f8f591eb5f0191da4 Mon Sep 17 00:00:00 2001 From: Calvin Morrison Date: Wed, 8 Jan 2014 11:20:39 -0500 Subject: initial commit --- below_melting_temperature.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 below_melting_temperature.py (limited to 'below_melting_temperature.py') diff --git a/below_melting_temperature.py b/below_melting_temperature.py new file mode 100644 index 0000000..bc4157e --- /dev/null +++ b/below_melting_temperature.py @@ -0,0 +1,33 @@ +import sys +from multiprocessing import Pool + +def above_melting_temperature(kmer_with_count): + kmer = kmer_with_count.split("\t")[0] + + 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) + + if melt_temp < max_melting_temp: + return kmer_with_count + else: + return 0 + + +lines = sys.stdin.readlines() +max_melting_temp = float(sys.argv[1]) + +p = Pool() +output = p.map(above_melting_temperature, lines) + +for line in output: + if line != 0: + sys.stdout.write(line) -- cgit v1.2.3