aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xSelectiveGenomeAmplification16
-rwxr-xr-xSelectiveGenomeAmplificationUI15
-rwxr-xr-xsrc/score_mers.py14
3 files changed, 35 insertions, 10 deletions
diff --git a/SelectiveGenomeAmplification b/SelectiveGenomeAmplification
index 3047511..bb52626 100755
--- a/SelectiveGenomeAmplification
+++ b/SelectiveGenomeAmplification
@@ -23,24 +23,36 @@ fi
# output directory
: ${output_directory=`basename $foreground`_`basename $background`}
+
# temp directory
: ${tmp_directory=$output_directory/.tmp}
+
# directory to store our counts and sorted counts
: ${counts_directory=$tmp_directory}
+
# range of mers, min and max
: ${min_mer_range=6}
-: ${max_mer_range=10}
+: ${max_mer_range=12}
+
# max mer distance, the distance between two mers in our selected outputs
: ${max_mer_distance=5000}
+
# min/maximum kmer meling point
: ${max_melting_temp=30}
-: ${min_melting_temp=18}
+: ${min_melting_temp=0}
+
# minimum mer count
: ${min_mer_count=0}
+
# maximum mers to pick
: ${max_select=15}
+
+# maximum mers to check
+: ${max_check=35}
+
# mers to specifically IGNORE, space delimited
: ${ignore_mers=''}
+
# maximum number of mers that are consecutively binding
: ${max_consecutive_binding=4}
diff --git a/SelectiveGenomeAmplificationUI b/SelectiveGenomeAmplificationUI
index d6a6bb5..b6a2fa6 100755
--- a/SelectiveGenomeAmplificationUI
+++ b/SelectiveGenomeAmplificationUI
@@ -10,30 +10,43 @@ questions = [
{ 'question' : "Where would you like your output directory to be?",
'default_str': 'current directory/foreground_background/',
'variable': 'output_directory' },
+
{'question': "Where would you like to temporary files to be stored?",
'default_str': '$output_directory/.tmp',
'variable': "temp_directory" },
+
{'question': "Where would you like to count files to be stored?",
'default_str': '$output_directory/.tmp',
'variable': "counts_directory" },
+
{ 'question': 'maximum mer size you would like to pick?',
'default_str': '12',
'variable': 'max_mer_range' },
+
{ 'question': 'minimum mer size you would like to pick?',
'default_str': '6',
'variable': 'min_mer_range' },
+
{ 'question': 'minimum mer count you want to have for your selected mer?',
'default_str': 'None',
'variable': 'min_mer_count' },
- { 'question': 'maximum number of mers you want to search and select?',
+
+ { 'question': 'maximum size of mer combinations you want to search and select?',
'default_str': '15',
'variable': 'max_select' },
+
+ { 'question': 'maximum number of mers you want to use as possible primers?',
+ 'default_str': '35',
+ 'variable': 'max_check' },
+
{'question': 'Enter mers to ignore? (space seperated)',
'default_str': "None",
'variable': 'ignore_mers'},
+
{ 'question': 'maximum distance between mers in the final selection?',
'default_str': "5000 bases",
'variable': 'max_mer_distance' },
+
{ 'question': 'maximum melting temperature for mers?', 'default_str': '30c', 'variable': 'max_melting_temp' },
{ 'question': 'minimum melting temperature for mers?', 'default_str': '0c', 'variable': 'min_melting_temp' },
{ 'question': 'maximum number of consecutively binding mers in hetero and homodimers?', 'default_str': '4', 'variable': 'max_consecutive_binding' }
diff --git a/src/score_mers.py b/src/score_mers.py
index 1a54ba1..1c9d4ae 100755
--- a/src/score_mers.py
+++ b/src/score_mers.py
@@ -35,17 +35,17 @@ class Mer:
# import our variables
cpus = int(os.environ.get("cpus", cpu_count()));
min_mer_range = int(os.environ.get("min_mer_range", 6));
-max_mer_range = int(os.environ.get("max_mer_range", 10));
+max_mer_range = int(os.environ.get("max_mer_range", 12));
min_mer_count = int(os.environ.get("min_mer_count", 0));
max_select = int(os.environ.get("max_select", 15));
-max_check = int(os.environ.get("max_check", 35));
+max_check = int(os.environ.get("max_check", 35));
max_mer_distance = int(os.environ.get("max_mer_distance", 5000));
-nb_max_consecutive_binding = int(os.environ.get("max_consecutive_binding", 4));
+max_consecutive_binding = int(os.environ.get("max_consecutive_binding", 4));
binding = { 'A': 'T', 'T': 'A', 'C': 'G', 'G': 'C', '_': False }
-def max_consecutive_binding(mer1, mer2):
+def get_max_consecutive_binding(mer1, mer2):
if len(mer2) > len(mer1):
mer1, mer2 = mer2, mer1
@@ -198,9 +198,9 @@ def pop_bg(mer):
def load_heterodimer_dic(selected_mers):
for (mer1, mer2) in combinations(selected_mers, 2):
- res = max_consecutive_binding(mer1, mer2)
- heterodimer_dic[(mer1, mer2)] = res > nb_max_consecutive_binding
- heterodimer_dic[(mer2, mer1)] = res > nb_max_consecutive_binding
+ res = get_max_consecutive_binding(mer1, mer2)
+ heterodimer_dic[(mer1, mer2)] = res > max_consecutive_binding
+ heterodimer_dic[(mer2, mer1)] = res > max_consecutive_binding
# print res, heterodimer_dic[(mer1, mer2)]
def main():