From 06fa848b90982ddcd4308bb88d70a0d5f11f785b Mon Sep 17 00:00:00 2001 From: Calvin Morrison Date: Tue, 25 Mar 2014 16:33:36 -0400 Subject: add average binding filter --- src/filter_melting_temperature.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/filter_melting_temperature.py (limited to 'src/filter_melting_temperature.py') 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) -- cgit v1.2.3