diff --git a/modules/mol/alg/tests/CMakeLists.txt b/modules/mol/alg/tests/CMakeLists.txt index 09d1934f76b97f775c01381c741d1a9c33a530f5..1008a3578e384b05160bf5ea4a127d1be693b349 100644 --- a/modules/mol/alg/tests/CMakeLists.txt +++ b/modules/mol/alg/tests/CMakeLists.txt @@ -4,5 +4,5 @@ set(OST_MOL_ALG_UNIT_TESTS test_convenient_superpose.py ) -ost_unittest(mol_alg "${OST_MOL_ALG_UNIT_TESTS}") +ost_unittest(MODULE mol_alg SOURCES "${OST_MOL_ALG_UNIT_TESTS}") diff --git a/modules/mol/base/tests/CMakeLists.txt b/modules/mol/base/tests/CMakeLists.txt index e5d1c868ca25f6b2d138e176b37ea71b806458f8..b9771e0c30ec443cba99f7cc35ee8cf6ca773a9a 100644 --- a/modules/mol/base/tests/CMakeLists.txt +++ b/modules/mol/base/tests/CMakeLists.txt @@ -15,7 +15,7 @@ set(OST_MOL_BASE_UNIT_TESTS tests.cc ) -ost_unittest(mol "${OST_MOL_BASE_UNIT_TESTS}") +ost_unittest(MODULE mol SOURCES "${OST_MOL_BASE_UNIT_TESTS}") # for valgrind debugging # executable(NAME test_query_standalone SOURCES test_query_standalone.cc DEPENDS_ON mol) diff --git a/modules/seq/alg/src/merge_pairwise_alignments.cc b/modules/seq/alg/src/merge_pairwise_alignments.cc index 5636f32c97af7b96297663f75d6456abf954a4d4..9ebdcd142d970a9aa5c5a7b9a04969efb4f9deeb 100644 --- a/modules/seq/alg/src/merge_pairwise_alignments.cc +++ b/modules/seq/alg/src/merge_pairwise_alignments.cc @@ -141,9 +141,13 @@ AlignmentHandle MergePairwiseAlignments(const AlignmentList& pairwise_alns, AlignmentHandle merged=CreateAlignment(); merged.AddSequence(shift_reference(ref_seq, shifts)); + size_t ref_len=merged.GetSequence(0).GetLength(); for (AlignmentList::const_iterator i=pairwise_alns.begin(), e=pairwise_alns.end(); i!=e; ++i) { SequenceHandle new_seq=realign_sequence(*i, shifts); + for (size_t j=new_seq.GetLength(); j<ref_len; ++j) { + new_seq.Append('-'); + } merged.AddSequence(new_seq); } return merged; diff --git a/modules/seq/alg/tests/CMakeLists.txt b/modules/seq/alg/tests/CMakeLists.txt index f6d8ebe1493d5198882f57f101956baa8e6ff830..9933524408a7fd8bcf4107c72217fe6632b7f3d3 100644 --- a/modules/seq/alg/tests/CMakeLists.txt +++ b/modules/seq/alg/tests/CMakeLists.txt @@ -7,5 +7,5 @@ set(OST_SEQ_ALG_UNIT_TESTS test_global_align.py ) -ost_unittest(seq_alg "${OST_SEQ_ALG_UNIT_TESTS}") +ost_unittest(MODULE seq_alg SOURCES "${OST_SEQ_ALG_UNIT_TESTS}") diff --git a/modules/seq/alg/tests/test_merge_pairwise_alignments.cc b/modules/seq/alg/tests/test_merge_pairwise_alignments.cc index 3f67ac5d161840199ac352ffb09d5bf7c883603d..f89715adeccc627198420c1fc80826502db617a6 100644 --- a/modules/seq/alg/tests/test_merge_pairwise_alignments.cc +++ b/modules/seq/alg/tests/test_merge_pairwise_alignments.cc @@ -107,4 +107,30 @@ BOOST_AUTO_TEST_CASE(merge_pairwise_alignments_three) BOOST_CHECK_EQUAL(seqs[1].GetString(), "xyabcdefghijk"); BOOST_CHECK_EQUAL(seqs[2].GetString(), "-zabcdefghijk"); } + +BOOST_AUTO_TEST_CASE(merge_pairwise_alignments_four) +{ + SequenceHandle ref=CreateSequence("REF", "abcdefghijk"); + SequenceHandle s1=CreateSequence("S1", "abcdefghijk--"); + SequenceHandle s2=CreateSequence("S2", "abcdefghijkxy"); + AlignmentHandle aln1=CreateAlignment(); + aln1.AddSequence(s1); + aln1.AddSequence(s2); + + SequenceHandle s3=CreateSequence("S1", "-abcdefghijk"); + SequenceHandle s4=CreateSequence("S2", "zabcdefghijk"); + + AlignmentHandle aln2=CreateAlignment(); + aln2.AddSequence(s3); + aln2.AddSequence(s4); + AlignmentList l; + l.push_back(aln1); + l.push_back(aln2); + AlignmentHandle m=alg::MergePairwiseAlignments(l, ref); + ConstSequenceList seqs=m.GetSequences(); + BOOST_CHECK_EQUAL(seqs[0].GetString(), "-abcdefghijk--"); + BOOST_CHECK_EQUAL(seqs[1].GetString(), "-abcdefghijkxy"); + BOOST_CHECK_EQUAL(seqs[2].GetString(), "zabcdefghijk--"); +} + BOOST_AUTO_TEST_SUITE_END() diff --git a/modules/seq/base/tests/CMakeLists.txt b/modules/seq/base/tests/CMakeLists.txt index 528cb936ddae91eabe14d1b06c6aa743de7e29ac..645dba066e39c51c1fc0b9211228e8490ed85a07 100644 --- a/modules/seq/base/tests/CMakeLists.txt +++ b/modules/seq/base/tests/CMakeLists.txt @@ -7,5 +7,5 @@ set(OST_SEQ_UNIT_TESTS tests.cc ) -ost_unittest(seq "${OST_SEQ_UNIT_TESTS}") +ost_unittest(MODULE seq SOURCES "${OST_SEQ_UNIT_TESTS}")