diff options
author | Calvin Morrison <mutantturkey@gmail.com> | 2014-03-25 16:33:36 -0400 |
---|---|---|
committer | Calvin Morrison <mutantturkey@gmail.com> | 2014-03-25 16:33:36 -0400 |
commit | 06fa848b90982ddcd4308bb88d70a0d5f11f785b (patch) | |
tree | 472f8e8675a3b01060159bcf24cd1b2c35fb5d9e /src/filter_melting_temperature.py | |
parent | 55d58f92e388bbed44963565c5073c444ffa60b2 (diff) |
add average binding filter
Diffstat (limited to 'src/filter_melting_temperature.py')
-rw-r--r-- | src/filter_melting_temperature.py | 28 |
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) |