ticket:256
I forgot to initialize the motif_list pointer in one of the Sequence
constructors. Unfortunately it was the one that was used by the mussa
load_sequence code, which hadn't been tested.
this patch adds a test, and fixes the reported problem.
Sequence::Sequence(AlphabetRef alphabet)
- : seq(new SeqSpan("", alphabet, SeqSpan::PlusStrand))
+ : seq(new SeqSpan("", alphabet, SeqSpan::PlusStrand)),
+ motif_list(new MotifList)
{
}
BOOST_CHECK_EQUAL( m1.is_dirty(), true);
BOOST_CHECK_EQUAL( m1.get_analysis_path().string(), "");
}
+
+BOOST_AUTO_TEST_CASE( mussa_valid_motifs_in_new_analysis )
+{
+ Mussa m1;
+ fs::path full_path(fs::path(EXAMPLE_DIR, fs::native) / "mck3test.mupa");
+ m1.load_mupa_file( full_path );
+ m1.analyze();
+ // check motifs
+ BOOST_CHECK( m1.sequences().size() > 0 );
+ BOOST_CHECK_EQUAL( m1.sequences()[0]->motifs().size(), 0 );
+}
// make sure we know that mupa files cannot be directories
BOOST_AUTO_TEST_CASE( mussa_mupa_is_file_not_directory )