]> git.donarmstrong.com Git - biopieces.git/blob - code_ruby/test/maasha/seq/test_assemble.rb
b5ddb7d706c03b3b4ea633149b8e55f7741785e6
[biopieces.git] / code_ruby / test / maasha / seq / test_assemble.rb
1 #!/usr/bin/env ruby
2 $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..')
3
4 require 'maasha/seq/assemble'
5 require 'test/unit'
6 require 'test/helper'
7 require 'pp'
8
9 class TestAssemble < Test::Unit::TestCase 
10   test "Assemble.pair without overlap returns nil" do
11     assert_nil(Assemble.pair(Seq.new("test1", "aaaa"), Seq.new("test2", "tttt")))
12   end
13
14   test "Assemble.pair with overlap returns the correctly" do
15     assert_equal("atcGatc", Assemble.pair(Seq.new("test1", "atcg"), Seq.new("test2", "gatc")).seq)
16     assert_equal("atCGat",  Assemble.pair(Seq.new("test1", "atcg"), Seq.new("test2", "cgat")).seq)
17     assert_equal("aTCGa",   Assemble.pair(Seq.new("test1", "atcg"), Seq.new("test2", "tcga")).seq)
18     assert_equal("ATCG",    Assemble.pair(Seq.new("test1", "atcg"), Seq.new("test2", "atcg")).seq)
19   end
20
21   test "Assemble.pair with overlap and overlap_min returns correctly" do
22     assert_nil(Assemble.pair(Seq.new("test1", "atcg"), Seq.new("test2", "gatc"), :overlap_min => 2))
23     assert_equal("atCGat", Assemble.pair(Seq.new("test1", "atcg"), Seq.new("test2", "cgat"), :overlap_min => 2).seq)
24   end
25
26   test "Assemble.pair with overlap and overlap_max returns correctly" do
27     assert_equal("aTCGa", Assemble.pair(Seq.new("test1", "atcg"), Seq.new("test2", "tcga"), :overlap_max => 3).seq)
28     assert_nil(Assemble.pair(Seq.new("test1", "atcg"), Seq.new("test2", "atcg"), :overlap_max => 3))
29   end
30
31   test "Assemble.pair with overlap returns correct quality" do
32     assert_equal("?", Assemble.pair(Seq.new("test1", "a", :dna, "I"), Seq.new("test2", "a", :dna, "5")).qual)
33     assert_equal("GH??43", Assemble.pair(Seq.new("test1", "atcg", :dna, "GHII"), Seq.new("test2", "cgat", :dna, "5543")).qual)
34     assert_equal("I???5", Assemble.pair(Seq.new("test1", "atcg", :dna, "IIII"), Seq.new("test2", "tcga", :dna, "5555")).qual)
35   end
36
37   test "Assemble.pair with mismatch returns the highest scoring" do
38     assert_equal("ATCGA", Assemble.pair(Seq.new("t1", "atcga", :dna, "IIIII"), Seq.new("t2", "attga", :dna, "55555"), :mismatches_max => 20).seq)
39     assert_equal("ATTGA", Assemble.pair(Seq.new("t1", "atcga", :dna, "55555"), Seq.new("t2", "attga", :dna, "IIIII"), :mismatches_max => 20).seq)
40   end
41 end