From: martinahansen Date: Mon, 21 Nov 2011 06:31:34 +0000 (+0000) Subject: added tests for uclust_seq X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=2663ad2e26b703c7fefac6808270c9398fe6035e;p=biopieces.git added tests for uclust_seq git-svn-id: http://biopieces.googlecode.com/svn/trunk@1668 74ccb610-7750-0410-82ae-013aeee3265d --- diff --git a/bp_test/in/uclust_seq.in b/bp_test/in/uclust_seq.in new file mode 100644 index 0000000..b53c0ae --- /dev/null +++ b/bp_test/in/uclust_seq.in @@ -0,0 +1,28 @@ +SEQ_NAME: test1 +SEQ: tgtacgtagctagctagctagctagctagctagctagctagctgactatcgtgatcgtg +SEQ_LEN: 59 +--- +SEQ_NAME: test1_100 +SEQ: tgtacgtagctagctagctagctagctagctagctagctagctgactatcgtgatcgtg +SEQ_LEN: 59 +--- +SEQ_NAME: test1_2 +SEQ: tgtacgtagctagctagctagctagcGagctagctagcAagctgactatcgtgatcgtg +SEQ_LEN: 59 +--- +SEQ_NAME: test2 +SEQ: ggttgtgtgtgtgtatcgatgtagtctacatcgtctatctgtactgacttactgactac +SEQ_LEN: 59 +--- +SEQ_NAME: test2_100 +SEQ: ggttgtgtgtgtgtatcgatgtagtctacatcgtctatctgtactgacttactgactac +SEQ_LEN: 59 +--- +SEQ_NAME: test2_1 +SEQ: ggtAgtgtgtgAgtatcgatgtagtctacatcgtctatctgtactgacttactgactac +SEQ_LEN: 59 +--- +SEQ_NAME: test1_rc +SEQ: cacgatcacgatagtcagctagctagctagctagctagctagctagctagctacgtaca +SEQ_LEN: 59 +--- diff --git a/bp_test/out/uclust_seq.out.1 b/bp_test/out/uclust_seq.out.1 new file mode 100644 index 0000000..6a64040 --- /dev/null +++ b/bp_test/out/uclust_seq.out.1 @@ -0,0 +1,42 @@ +SEQ_NAME: test1 +SEQ: tgtacgtagctagctagctagctagctagctagctagctagctgactatcgtgatcgtg +SEQ_LEN: 59 +CLUSTER: 0 +IDENT: * +--- +SEQ_NAME: test1_100 +SEQ: tgtacgtagctagctagctagctagctagctagctagctagctgactatcgtgatcgtg +SEQ_LEN: 59 +CLUSTER: 0 +IDENT: 100 +--- +SEQ_NAME: test1_2 +SEQ: tgtacgtagctagctagctagctagcGagctagctagcAagctgactatcgtgatcgtg +SEQ_LEN: 59 +CLUSTER: 0 +IDENT: 96 +--- +SEQ_NAME: test2 +SEQ: ggttgtgtgtgtgtatcgatgtagtctacatcgtctatctgtactgacttactgactac +SEQ_LEN: 59 +CLUSTER: 1 +IDENT: * +--- +SEQ_NAME: test2_100 +SEQ: ggttgtgtgtgtgtatcgatgtagtctacatcgtctatctgtactgacttactgactac +SEQ_LEN: 59 +CLUSTER: 1 +IDENT: 100 +--- +SEQ_NAME: test2_1 +SEQ: ggtAgtgtgtgAgtatcgatgtagtctacatcgtctatctgtactgacttactgactac +SEQ_LEN: 59 +CLUSTER: 1 +IDENT: 96 +--- +SEQ_NAME: test1_rc +SEQ: cacgatcacgatagtcagctagctagctagctagctagctagctagctagctacgtaca +SEQ_LEN: 59 +CLUSTER: 2 +IDENT: * +--- diff --git a/bp_test/out/uclust_seq.out.2 b/bp_test/out/uclust_seq.out.2 new file mode 100644 index 0000000..92997a0 --- /dev/null +++ b/bp_test/out/uclust_seq.out.2 @@ -0,0 +1,42 @@ +SEQ_NAME: test1 +SEQ: tgtacgtagctagctagctagctagctagctagctagctagctgactatcgtgatcgtg +SEQ_LEN: 59 +CLUSTER: 0 +IDENT: * +--- +SEQ_NAME: test1_100 +SEQ: tgtacgtagctagctagctagctagctagctagctagctagctgactatcgtgatcgtg +SEQ_LEN: 59 +CLUSTER: 0 +IDENT: 100 +--- +SEQ_NAME: test1_2 +SEQ: tgtacgtagctagctagctagctagcGagctagctagcAagctgactatcgtgatcgtg +SEQ_LEN: 59 +CLUSTER: 1 +IDENT: * +--- +SEQ_NAME: test2 +SEQ: ggttgtgtgtgtgtatcgatgtagtctacatcgtctatctgtactgacttactgactac +SEQ_LEN: 59 +CLUSTER: 2 +IDENT: * +--- +SEQ_NAME: test2_100 +SEQ: ggttgtgtgtgtgtatcgatgtagtctacatcgtctatctgtactgacttactgactac +SEQ_LEN: 59 +CLUSTER: 2 +IDENT: 100 +--- +SEQ_NAME: test2_1 +SEQ: ggtAgtgtgtgAgtatcgatgtagtctacatcgtctatctgtactgacttactgactac +SEQ_LEN: 59 +CLUSTER: 3 +IDENT: * +--- +SEQ_NAME: test1_rc +SEQ: cacgatcacgatagtcagctagctagctagctagctagctagctagctagctacgtaca +SEQ_LEN: 59 +CLUSTER: 4 +IDENT: * +--- diff --git a/bp_test/out/uclust_seq.out.3 b/bp_test/out/uclust_seq.out.3 new file mode 100644 index 0000000..d4b8e23 --- /dev/null +++ b/bp_test/out/uclust_seq.out.3 @@ -0,0 +1,42 @@ +SEQ_NAME: test1 +SEQ: tgtacgtagctagctagctagctagctagctagctagctagctgactatcgtgatcgtg +SEQ_LEN: 59 +CLUSTER: 0 +IDENT: * +--- +SEQ_NAME: test1_100 +SEQ: tgtacgtagctagctagctagctagctagctagctagctagctgactatcgtgatcgtg +SEQ_LEN: 59 +CLUSTER: 0 +IDENT: 100 +--- +SEQ_NAME: test1_2 +SEQ: tgtacgtagctagctagctagctagcGagctagctagcAagctgactatcgtgatcgtg +SEQ_LEN: 59 +CLUSTER: 1 +IDENT: * +--- +SEQ_NAME: test2 +SEQ: ggttgtgtgtgtgtatcgatgtagtctacatcgtctatctgtactgacttactgactac +SEQ_LEN: 59 +CLUSTER: 2 +IDENT: * +--- +SEQ_NAME: test2_100 +SEQ: ggttgtgtgtgtgtatcgatgtagtctacatcgtctatctgtactgacttactgactac +SEQ_LEN: 59 +CLUSTER: 2 +IDENT: 100 +--- +SEQ_NAME: test2_1 +SEQ: ggtAgtgtgtgAgtatcgatgtagtctacatcgtctatctgtactgacttactgactac +SEQ_LEN: 59 +CLUSTER: 3 +IDENT: * +--- +SEQ_NAME: test1_rc +SEQ: cacgatcacgatagtcagctagctagctagctagctagctagctagctagctacgtaca +SEQ_LEN: 59 +CLUSTER: 0 +IDENT: 100 +--- diff --git a/bp_test/test/test_uclust_seq b/bp_test/test/test_uclust_seq new file mode 100755 index 0000000..583737b --- /dev/null +++ b/bp_test/test/test_uclust_seq @@ -0,0 +1,15 @@ +#!/bin/bash + +source "$BP_DIR/bp_test/lib/test.sh" + +run "$bp -I $in -O $tmp" +assert_no_diff $tmp $out.1 +clean + +run "$bp -I $in -i 1 -O $tmp" +assert_no_diff $tmp $out.2 +clean + +run "$bp -I $in -i 1 -c -O $tmp" +assert_no_diff $tmp $out.3 +clean diff --git a/code_ruby/lib/maasha/backtrack.rb b/code_ruby/lib/maasha/backtrack.rb index f5e581b..c47f97e 100644 --- a/code_ruby/lib/maasha/backtrack.rb +++ b/code_ruby/lib/maasha/backtrack.rb @@ -32,7 +32,8 @@ class BackTrackError < StandardError; end # pattern match engine is based on a backtrack algorithm. # Insertions are nucleotides found in the pattern but not in the sequence. # Deletions are nucleotides found in the sequence but not in the pattern. -# Algorithm based on code kindly provided by j_random_hacker @ Stackoverflow. +# Algorithm based on code kindly provided by j_random_hacker @ Stackoverflow: +# http://stackoverflow.com/questions/7557017/approximate-string-matching-using-backtracking/ module BackTrack OK_PATTERN = Regexp.new('^[flsycwphqrimtnkvadegu]+$') MAX_MIS = 5 # Maximum number of mismatches allowed