From f3c0553a22b0e4ddc39ee45f51725352d92e97f1 Mon Sep 17 00:00:00 2001 From: Diane Trout Date: Thu, 21 Jun 2007 00:52:58 +0000 Subject: [PATCH] test annotating a sequence with fasta records in a stream I split the load_annot function int one that opens the file and one that reads the stream. (which is called by the file handling one) This was so I could test some random sequence that Steven was having trouble with. (which seems to be working correctly.) --- alg/sequence.cpp | 26 ++++++++++++++++---------- alg/sequence.hpp | 2 +- alg/test/test_annotations.cpp | 3 ++- alg/test/test_sequence.cpp | 18 ++++++++++++++++++ 4 files changed, 37 insertions(+), 12 deletions(-) diff --git a/alg/sequence.cpp b/alg/sequence.cpp index 1f21bd5..521496d 100644 --- a/alg/sequence.cpp +++ b/alg/sequence.cpp @@ -324,6 +324,21 @@ Sequence::load_annot(fs::path file_path, int start_index, int end_index) throw mussa_load_error("Error loading annotation file " + file_path.string()); } + try { + load_annot(data_stream, start_index, end_index); + } catch(annotation_load_error e) { + std::ostringstream msg; + msg << file_path.native_file_string() + << " " + << e.what(); + throw annotation_load_error(msg.str()); + } + data_stream.close(); +} + +void +Sequence::load_annot(std::istream& data_stream, int start_index, int end_index) +{ // so i should probably be passing the parse function some iterators // but the annotations files are (currently) small, so i think i can // get away with loading the whole file into memory @@ -333,17 +348,8 @@ Sequence::load_annot(fs::path file_path, int start_index, int end_index) data_stream.get(c); data.push_back(c); } - data_stream.close(); - try { - parse_annot(data, start_index, end_index); - } catch(annotation_load_error e) { - std::ostringstream msg; - msg << file_path.native_file_string() - << " " - << e.what(); - throw annotation_load_error(msg.str()); - } + parse_annot(data, start_index, end_index); } /* If this works, yikes, this is some brain hurting code. diff --git a/alg/sequence.hpp b/alg/sequence.hpp index 1a4c9eb..fc8a0cf 100644 --- a/alg/sequence.hpp +++ b/alg/sequence.hpp @@ -203,7 +203,7 @@ public: void load_annot(const boost::filesystem::path file_path, int start_index, int end_index); //! load sequence annotations //! \throws mussa_load_error - void load_annot(std::fstream& data_stream, int start_index, int end_index); + void load_annot(std::istream& data_stream, int start_index, int end_index); //! parse annotation file /*! \throws annotation_load_error */ diff --git a/alg/test/test_annotations.cpp b/alg/test/test_annotations.cpp index 970d516..2e4cb50 100644 --- a/alg/test/test_annotations.cpp +++ b/alg/test/test_annotations.cpp @@ -71,4 +71,5 @@ BOOST_AUTO_TEST_CASE( annotations_has_key ) BOOST_CHECK_EQUAL(asp->has_key("header"), true); BOOST_CHECK_EQUAL(asp->has_key("name"), true); BOOST_CHECK_EQUAL(asp->has_key("secret"), false); -} \ No newline at end of file +} + diff --git a/alg/test/test_sequence.cpp b/alg/test/test_sequence.cpp index 9faa8d0..9784621 100644 --- a/alg/test/test_sequence.cpp +++ b/alg/test/test_sequence.cpp @@ -833,6 +833,24 @@ BOOST_AUTO_TEST_CASE( annotate_from_sequence ) } } +BOOST_AUTO_TEST_CASE( sequence_annoted_with_reversed_sequence ) +{ + // sorry about the long string... + string s = "CTGGGTCGGGGGCGCTGGGGGCTGCTGGTAnnnnnnnnnnnnnnnnnnnnnnnnnTCTGCGCCGCCCGAGCCGCTGTGCTGCGCGTACTCCTCGAAGGGAGGGAACTTGGGCTCGATGTAGTTGGAGTTTATCAAAAACGAGCTCATGGTCATTAATTTGTGAAGTGCAAAAATACTAATTTTTCTCGCGTTGTCGTTTTTTCTGGGCTTGCCGAGGnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnGCAGACGCCGCCACCAAAGTTCGAGCCGCTCCTCCCCAGCCCAGCGCGCGCCCCGCCCCGTGCCCCACGTGCAGCGCCCCCACCAATGGGCGCACCGCGCGCGCGGACCCGGATCAGGAAACGCGCGGGTGCGTGATGGATGCTGCTGTCCGGCCCCTGGGCTGGGGGAGGGAGCAGGAGCTTTGGACCCCAGCCCCCCAGCTTTGGTTCCCGCTGGGAATTCAGGCCCTGTCAGGCTGTAGGTCCTCTCGGGAGCCCTCTGCCTGCCCTACTGCTGGCCTAGGCCTCGGGCTGTCTGGCGGCCGCGACTCAGCGCTGACCTCGGGCGCAACCCAGTCAGGCTTCGTGTCCTTCAGGGGTTCTAGGCTAACAGGCGAAAGGAAGGGCGTTGGGACCGAGGGGCATCCTGGTTTTTATGTACGCCACTGAGAGGCCACCAGACACATTTTCTCAACCGCAGATCCCCCTTCCCCACACCCTGCTCCTTGCGTGTCAGCCTGAGAGCCCTTGCTTTGAGAAGCTTGGCAGAAGCTGCAAAGGGTGGGCGGGCAGCTAAGAGAAATCGACCCAAGGATGTAAATCGAGGCCATTCCATTATAACTGGATGGACACTTTTCATTTTTTCCTTCTTTCAGAGACAATCTGTTTCGTGTTTTCCTAAGAAAAATTGGAACCTTCGTAATAGCATCTAATTTGACGGGGGTTGTCGATGTGAGAGCTAAATATGCCCGCATTTACTAGGTGCGATTGTGAGAGAGAAGGTGGCCCAAGGATGGGAATGGATAGAAGCAACACCTCCACAGAACCGAGCTTTGAAAACAATAACTTCCTATTTCAGAACTATCCCCAAACAAAAACAAGCTAAGGGTAGAATAAACACCTTGCCGGGTCTGATCGCTGATGGGTCTTTTCCAGCTAAGAATTTCATGTTTTCTCTTTTAGATCCTGCTTTCTCAGGCAGTATCTGAGGCTAGAGTTATATTTGCAGGACAGTCTATAATTTCTGAATTGCTGAAAATTAGCGTATTAACGATATCAGAAGCTCCGGAAAGGAGGGAGAGGAGACTGTTGCCTGCTATTTGGTAATTGAAATTTGATGGGTACACTAATTACGCCATTATTAACAAATAAATTACTTATTAATTCCACCTAATGTTGATCTTTGAAGTAAATACTGATGCCTTATTTGTGCTGTGTGCTTTCTCCCTTTCTTTTCTGAGTAGTAGACATATCTAGATCCTCTACTTTTCAGCCTAAATTAAAGCAGTGTAAACTAGCATAGTCACCATTCTAAAAATATTTTCATATTGGCATGCAAAAGCAAGGATTTTTCAGCTGGTGCACCTTAGTTGATTTTTCAAAGAGCAGTATAAACAGCCTTCTCACAACTGAGTCTGGAACGCAGACAAGGAAAATTATTTCCTAAGCCTGGAGACACTTGAAAAGGAATGTCAATTCTATCTTCATTCATACTGGTTACTCATATGAGTTACTAAATGCTGGAATATATCCATTTGATGGATAGTCACTTAATGCTTAGCCACATAAAGCCTATTATATGGGACTAATCTTTAAACTAATTTAGGAAAAGAGGTTAAAAAGGGGATCATATTAGCTTTCTAACTGGAATCACCCTGAAGAGGTACAAAGAGATTTTCCACGTTAGGTGTATATGAGTGTGAAGAGTGCTGTCCATTCACATGAGGCACCCTGAAAATTTGTTTTTAAAGAAATTTGAGCCACAGACAGAAATCAACACTGAGTGTAATCTTTAGCCATCCTCTCTAGACTGGAGGAAAAATTTAGAATGTGATACATCTACCTGAACCAATATCTCTCCCTAGCAAGAAAAAATAATATACACATAGGnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnGACATACGTATTACAAATCTGAACCCTATAAGTTTCAGGGGGACAAAAAGCATGACAAGGAAATCTTCCCTCCTTCTCATGTCATCAGCCTTGAGTACTAGGGTCTTAACCATATCTGTTTAATATTTACAGACACTAAAACACAAAATTCTGTTGTTTAGCCTCAGAACCTTGTACCAAGTTTCTATTTTTAAGTATTAACGAGACATAAACACTGTTTTGTATACGGTTAACCCAAACGAGTTAGCTGTGCCTGTGTTTTGTGTGATTCTATTACTTTAGGAAGATGGCCTTACACAGAATCCCCCAAGGCCTGTAACTTGTCTTTGTGGTTCGTATCATAAACACAAACGGAGCCAGGACCACCAAGTGTTATCTCAACACCGACATTTTGACATTTTACTGCAAGATTTATGGCTGTAATAAACAATCTCAGTACCTTTTCTGAACCTTCCTCAATCTCCCTTTGCAAACCATAGCATCATTCCATTGAATCAAATAATCTTTTGAAAAACATTTAAAAAAAATACCTCTTGCCTTTACACAATATCCAAGACACCAAAGTAAAGCCAGGAAGAAACTAACTCAATTAATAAACAAACTGAAGTTTACCAGCAGCATCTCGCCTGAGAAAAGATGGGATGCCCTGAAATGTAGCAGAGAGGGAGCATGCTAATCCTCACACACCAACTGGCTCCAGTCCCAAGCGGGGTGAAAGCGTTATCCTTTCCTTAGGAAACTGGTGAGCACGTTTGCTCATTTCCACGTGCAGGGATAACATATATTCCCAACAAAAGCTTTCTTAAAATCCCATTAGGTGAAATAACTTTTCATCATGTCCTCGAATCCCAGATGGAGAAGAGTGAAGGGAGTCGGAGGGAGAGGGAGGGTGCAAGGGAGGCAATGTTTTGCAGCTTGGTTTGAATCTGATTTGAATCATTTTGAATATATTTGTAACAGCATTCCCTCTTGAATGCAACCCTGTCCCAAGTTTCAAAGTGACCGAACAGTGACACCGTGTGCATTTTGTTTCTTATTAATCTTACACATTGACAGTCTTTGTTAAATCACAAGGCGCGCCCTTCACTAGCCGACATTTTCATATTTGTTAGACGCACTGACCTGAAGTTCACCTCGGCCTTGGACTTTGCGCTTCTAAAAGGTCTATACAGTGTCTTTTAGAGAGCAGGGTGCTTTGCCCAGGTCACTCCTTCTCAGGAAAAACCAAGGGGAAAAGCCAAAGGAAATGTAAACGTTATGGAATGTATTGACTGTATTTGTCCTTTGTTCTTTAGAGCGAGAGTCCCCCAGACTGTTCTCTATCTGATGCATGTCTCTAGAGCTGAACAGTGGAATGGCAGAATTTCAAAACGCCTGATGGTGGCATTTGAAGGCTTCCCCACCACCTACACTAGACACAAGATTTGAGAGGAACAACACTTTACCAGCCATTTGACCAATTAATTCTTTGGGGATAATTTTCTTGTAGTAGTTTAAAATAATGCACACAACGCAGGGATGAGGACTGATATTCATATTGGGATTACACATGAATTTTAACTGGGATTGTTTGAGAGGCCTGAGGTTCAAAATCCTCCAGATAAAGCAAGCACACTAAAAGCAATAAATTCTGCAAGTACTCTTTTCTTTTACTTTGAAGACTAGCTAAGAGGTATCTATGGTTTTTGAAGCTGACATGTCTATAAGGTGTGTCACATGTTTTTAACCAAAAAGCACAATAAAAAGGTTTTTCCCAAAGAGACACGTAATTGTCTTGTTGACTCATCGAGGGGTTTCAGTTTTCCTCATTTCACTAGCCCAAATGTGGTGAAATGTTCACTGCTGCAACAGCAATCACCACAGTTGTTTCCTTTCTTCTGTTTCATCTGGCAAACCCCCATTTGGCTTCAAGCTCTTGGCCAGAGTGAAAACTTTACACATTGCACAGAAGCACCCTGATTACTTCCATGAAGGCAGTGTTTGGAAAATATTTACTTTACCACTGAACATACCTGGCACCATTAAATCCAATCAACCAAAATATTGGGATGATCTTAAACATTCCTGCAAGAGTCCACATTCTGAGTAGATGAATTATTTCCAAAGTTAAAAAAGAAAAACCTAGGGAAAATATTTCACTTTTCTCTTCTCTGTTTTCCTATACTGATCCCTTGAAGGTCAATTCATAGAAAAGGGAAATATGTCCTCTGGAAAATAGATTCTTACAGCACCAACACTTAAAGCCATTCTAGATGCATGAAAAATAAAATATTGTTTAGCTCTTCAGTTGCAACTCACACATGAGGCATGGTTCTAGTCGGCTTCCTTAATACACTATTCTCTTTCTTTTCTGCTCTCCCACCCTTCTTCTTAGGTTGCTTTATCTTCTCCTTGGCTTTTTTTTTTAATTCCACGTGTATCATTAAAAAGTACATTCTGAAGAATAGAAAATATTCTATTCTGTCCTGGTGGTCTTACAGAGTAGCCTGTTATTTGTGGATTTCACCTTTCTGCATTCCCTACAGTCTAGTTATTCACTTATAGCTTGTAGCATTTCTCTTACATTCAATTGTGGTTTAATAATAAACATTAAAAAAATTTCCAAACAGGAACATTTTCATGGCACCAGTAAGCATTTTGTCACTGGCAGTGGTGGTGGAAGGGGTGAAGGGAGAATTCTGTGTCTTTCAGGAGGGTTTCCACTTCCTTCCTTCCCCTTCTCAGATCTCAGAACGCTTTGCATTCAGCGGACTGTAGTTTCAGAAAAAGCATATTCTGTGTTTGAAAACTGCAAAGATTATATTTTGCAAGAAGTGTCTGTGTTTGCATTTATTCTTACACACTTTAGGGGTCATCATGTGTACTAAAAAGACAAAAAACCGGCCAATCAGAATCCCTCTTTTCAAATAAAGGAGGTTTCCTGCACCATTCTGTTGCCTTTGAAGGCATAATGAAATATTGGAAACTTGTGACATTAGTTTTTAAAGCTCCACAGATGAGTTTTTAGCATTTTTATTTTGTGACAAACCCACAGACTCCTGGTTCTCCAACACCTAAGGTGTTGATGTTTCAGTAATCTATGCCTATTTACCTGCTGCTATTCCCTCAGAATGGGAGCGATAATTCAAGATGAGATACAGCATGTATTACTCTTGAAAAGAGGAATTTTCTATCCTTTCCTCCGTAATTGAGGTCATTCAACCACTAGGGTTCACCTGGAGTCCATACCGTGATACACGCGTCACTCTGAGCCATTTTATCTTTTGTGCTGATAGTCAAGATCACAGCTCTAACATTGACATCAAACTCTGTCTGGGCAGATGACTAAGAGCACTGCACAATGTAAACTTTTGACCCTCAACTTTTTGACCTGCAGTTGTAACGCACTAACCGCAAAGATACACAAAGCCGAGCCTCTTCTTTCAGGGGGAAGGGGCCCCCCAGCATCTCAGGATGCCCTGCTTCTGCCACTGCCATTTGAAATTAGAGGGTGAAATGGATATTTTTGTGTGTTTGTGACTGTACTTTTTGTTAAATCAGCCTATGACCTCTTCGTTAGCACCTAGGAACTAGATTAACTTGAAATCACTCGTGATTCTATTTTACAAGGAAAATTTGGAGCAGAATGGGAGAACCTTGCAAAAAGTGAAAGAAAAGAGAAGATGGGGGAAAGCAGGCAATGGGAGGTGGAGACACTTTTTCCCTTTATTTAAAACTAAAGACGCAGCCCTAATTGTTGGGAGAGCTGGCCCAAGCGGGTGAATTGACTGTGAACTTGTACTAAAGCGTGCTCTGCTGGCGATTCCTAGGGTGTGCAGATTTATCTTCTCTGCATTTACTTAACCCGGCAGTGAACTGCGCGGGCGTCATTTGTTAGGCGATGACAGACTTCACCTCCAGCAAGGGCTGCTTCACAAAATCGCAATAATTATCTAATAACCTTCATAACAAATATTATTATTGAAAAGACTGGTTTGTGGGGAGGGGACCTGGTGGGAGAACAAATTTATTTGTGAACAACAACAAACAAAACAAACCTGGGCAGACCTTCAAGTTCTGGGGCTTAGAATGGCTGGGGCTGTGGATCCCCTCCCCTACTTGGGTGGGAGCTTAGGCTGACCCCCTCAGCCCTGCCTGGGAGCCCCGTTTATAGTTTTGCCATTGACTAGAAGGAAACTCCTCCTCAGAAACCAAAGGGAGGGAGCCCACAATGCTCTGCACTCTCCATGGTGGGCAAGCCATGGACAGACCCCCAGCCAAGGCAGGGGGGAGGCTGAGAAGGGCATCTTTTAAGCTAAAAGGATTGTTTTCCTCTTTAATTGCCTATCTTTTAAGATGTGATTTGCTTTCCACTCACTAATTATTTCGATATAATACTCTCAGAATCTCAACAAATGAACAGGACTCTGTTTTTTGGTGGGAAATTCTGTCTTGCTCTCTCAGAGCCGCCAACAATGAAGCAGGGGAAAGAGCAGGAGAAAGGGAATCTTGGCATAATGTTGTGAAATTAGACCATGGAAACCCTAACAAACCACTAAGTAAGTGTGACCAGAAGCTTCCTGTTGTATTTATAGTTCAGAAATATTGTCTCTTCAGCTTGTGGGAACAAACGAGCCCCCGCACATTGCCGCTGAGGAGGAGCACAGACACGCACTTCTGCCACCGGCTGAGGCTGGATGTCTTCATAAAGCCCTCAGTGACAGACATATTTTTTCTTAGTAAGTTCCTCTGCAAGAACAACCCAAAAGAATCCACAAAAGAAATAACTTATCTACAGAATGAGCAGAAAACCAGCCATCCTCTTTATTATGCTTCCTATGAAAATAGGAAGAAAGAAAAAAATCTTCCAGTAACACATAGGTCTGACTGCATGATGTATTTTTAAAGTCATTTTAATTCCATGTGGCCATGTGGGTTTGCCTGCTCTCTTAAATTCTACTTAAGTTTTGTGAAGATTAAAACAGACAGAAATAAGCAAGCTGACAATATTTACAGCCTGTAATTTTTCTCATTCCTTGGAAAGATTCTCTATGTTCTGTGGTACTGGATATGACTTCAACAGGCTTTCTGCTCATTCCCACACCCCAGGGTGGAATATGGCCATGAAGTAGTGTGGATATTTTCTGTGTAAGTAACTCAAATTAAACTGGCAGAATCCCCGTCACTCTTTTTTTTTTCTAATTTCAATCACCAAGAAATCACTCAAGCAAGATCACCAAATCAGTAACTAAAATGGAACCATAACGCAATATTTTCCAATAAGGAGCCCAAAATTCAGAGCAGCAAAACAAGGAATCCAGTATTCTCACAGACACATAACATTATAAAAGAGAACCCATACCCATGTAGAGTTTATATCCTTGTTCCCACTAAGATGTGGACACATCTTCTTGAATGCTGAAATACCAATGTTTACTTTAATAGGTTACACACAATGACTTCAGGATTCTTCACCTTGCCACTATTCATGAGAAGTAGCACTTGTGGGAGGGTTTTGATTTTTCAAAAAAACTTTCTAGGTTTTGCTTTCTGGACCTCTGACTTTAGGGACATCTGTTGGACTTATGTTGAGTGTAGGTGGCCTCTGCACAATAAGTTTATTGAAATTCCAAATCTATACTTTCAATTTTTTCACTTTAAGCACTTAATAGGTATCTTTACCAATTAATACTTGCTGAAAACTGCCCAGCTCCTAAGGAGAAAAGCAGATCCTATTTTTTGTTTCATTTCTGAATGCAGTAGGAGAATTTGGCTTAATTCCTAAAATAGGATTGGAGGAAATCTACTGGGTCCCTTGTGGGTACCCATCCAGAAAAAGATCCCAGGACAGGCCACAGTCCCCAGTCACTGGGCTTGGGTTTTGCCATTGAAGAATATGGGGGGTTGGGGCCAGAAGGGGTGACTGGGGCCAATATGGAATTGTGCCCAGGATAAACTTATTTCACCTTACTTCACCCATTGGTGCAATTTTGGAGACTGTTCTGGAAATCATAGATTATGTAAATTTCCTGGGATCAAACAGAAAGAGCAACTAACAAAAGAAAGGCGGAAATCTCCTACTGACAAAGGACCAATTTCTTCCCTAAACTACCGTTTATGATGTGTCAGGAAAAACAACCTAATGGCTCTGGGGACTTTTAAGTTGGGCACTGAAGACACCTCAATTTCCCCCAAAACTTTAGAGCACAGTTTGGAACAGAGAATTCGCCTGTATGTTGAGGGGGAGTGAATTTCTCCAATCTTAATGTTATCCAGGGGGCCGCCTAAGTTGCCTTCTGAGGGTCCTGTGCGTAGATGTTTTTAATTCTACnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnGCGCTTTAACCCCTTTCAATTAGCCTGGGGATTCAAAGACTAAAGTTAAATCCGGCCATAAAGTTTATTGCTTCAGACTCACAAGCGGCTGAGAACAGTCCCGCCGAAATAAAAAGAACATGCAGGCAAACAGGGTTCAGGGCCTGGTCCCGGGTGCGGGGGAGGGGGTCCTGAACACCCCCCCACACCAGGGTGGGGATCCTTGGTCCTCAGGGTCCAGTGGGCGCTAGCAGCCCAGGATCCACCTTGCAACCCGGGGGCCCAGCCTGGAGGTGCAGCCCCAGCCTCGCCGGCCTCTGCCACCCTCCCGCTCTCGCGAGCTAGCCTGAAACCCGGCCCCGAAGGCCGCCGCCTCAATTCAGCCCTGCCAAATGACCCCGGCCCGCGAAGACATATTGCCACAGCCCCGTAAGGAATCCCGCCAGAGTCCGCCTCGGCCCTGCCCCGGCCTTTCTTTCAAACTCCTGAGCGCAnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnACTGTCTCCCAGCCCCGACCCCAGGGCTCCGCGACCCCCAGGAGCTGGCCCCGGCCGGCCCAGCAATTGCGCGGGGGACTGGGGGTGCGGCCCTGCCAGGTCCCCACACACAGGCCCATTCGCACACAAAAATCATCTTTTTGCACGCCGGCGGGAGCAGCGGAAGTCATTAACATCCGCGGTTGTGCTGCAATTAAAGTTAGGCCTGGGGATGCGGCGCGGCCACAGGCGCTGCTCACTCTGCTGCCTCCGCAGAGTTGGCTCCTGGCGCTGCTCTTTTGGGCAGAGGGAAAGTTTGCTCTGCCTTTTCGAATTCAGAGGCAGCCTGAGTTATTGAACCnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnTTTCCAAAGTACAAATAAACTTGAAAGCGCTCAGGAGGCGAGCTTACCTTAACTCGGAGGGAGCCATTTTTCAGAGAGTTTTGAGAACTTGTGGTTTGGACACTTCTGGACCTAAAATTGACAGTTTGAATGGCCAGGCGGCACACGTAGCCTGCAAAAGAGTCAAATGGAGTCCAGCGTTAGTGAGATTATATGTTATGTGGTATATAATGTTGGATGTCAACTCCCCAAAACCATAAAACTTACTTTAATGGCCCCACGTGACGTTTTATAGCCAGTGAGCCGATCTGTCTGTGCTATGGATGATTTTACGATCTAATTCATAGACAAAACCCTATTCATTTGGCACCCAAATGTCATATAGCCGGAACTGGGGCTTATAAAGTTTACTGTTTTATAACTTTTAAAAGGAAAGACGGCATCAGTGTAAGCAGTCGGTAAATGTGCAAATCTCTAGTTGCGCTTTAGCTGCTCTGAGGAGTTTCCCAATCGAGCTAGGATGGGGTAAGTACCTTCAATTTGTAGCAAATTAATTGTAGCAAAAGAAGCCAACTGGGTCCCGGGTGAAGAGTGGGGAAGGGGTGCTGGGATGGGTTAAGGGCAGAGGGTTTGGGGTCCACAGACAGACATAGCAGCGTCTTCAGCAAGTGGAGGCCTAGGACAGCCTTAGGAAAGAGGCAGGATCTGTGTGGCCTGAGGGCGGCTAACAAAGCCCTGGGTTTTTTCTCCTTTTTTCTTGCTCTTTCTCTCTTTTTTGTACCCAGCAAGTTAACTTGGTTTCCTCAGAGATGGACAGGGTGTTCTGGGGCTTTGGAACAGCCTACAGCTTTTTCCACCTTCTGCCCTGAACTTTGCAATGGGTCAGAGGTAGGGAAGCGATGGGACAGTGTTGGTATGAGGTCTCCCTGCACAGGTCATCTGCTCAGGTAGCCTCAGACCCAACAGCTTCCAAGACTGCACAGACAGACAGAAAAGCAGACAGAGCCGCTCACTATTTGGCACAAACCAGACCAAGAGAACTTACAATAGAAAGTTTATTTTTTGTTCCAGTCAGTATTTTTTCCTTnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnGCTGATCACAGTTTGCTTAAAACAGCCAGACTTGGACAATATTTGTAACTTTGTTCACAAAAACATACATCACTGAAGCTGCGCTTATAAGAGCCACTTCCAGAGTTCGTGCAAAGGGTCCTATAAAGGCACGCAGGGACACACCGCTTGGAGTCACAGTTTTCATCACAGAGTCACTAGTCACTACACGTCGAACAAGTTGTGTCTCATCAAGTCACCTCTACAACAGCATTAATTACACAAGGAATATAGGTAGTTTGAATAAAAATATCTTTAACAGCTTGGAGCTATTGAGACAGGAACACTTCCACGCACATGCACAGTTAAACAACTTGAGTGCAACACACAACATTGGCACTAAACGAGATTGAAGGGGGACTTTTTGTGTGTTTTTTTTTCTCTTTTCTTTTTTTGTTATAGTTACTTCAAGTAACACAGCTTGCTTCATATAAATAAGTTAAAACATCTATTTTTTTTCAAGACAAAGCCATTCAGGACAAAGAGATGAACAGAAAGCAGATCTACTTATACAGGCGCTATAATGGCAATAAACAGGCTCATGATTAAAAGATGAATTAGGGCAACGAGAACAGGGCTTCTTCACAGAAGGAACACAAGGGAGTTTCAGAAAGTCACCTTAGTACTGACACTACGCGGGATCCGCTAATACTGCTCAGTACTTTAAACGCTCAGATACTCAGGGACGGAAGGCCCCTCCTGCCGCGGCCATGCTCATGCTTTTCAGCTTATTATCTTTTTTCCACTTCATTCTCCGGTTTTGGAACCAGATTTTAATTTGTCTCTCGGAGAGGCAAAGAGCATGTGCTATTTCAATCCTCCTTCTGCGGGTCAGGTAACGGTTGAAGTGGAACTCCTTCTCCAGCTCCAGGGTCTGGTAGCGCGTGTAGGCCGTCCGGGCCCTTTTGCCTTCCGGGCCGCCTATGTTGTCTGCAATAGAAAAGTCAGCGGTTTAGCCACCAACTCCTGTCTTCCAAAGTCCGCCAGGGGGACAAGCTTGGGTCATGAGCAGGGAACCCAGGCGAAAAGCTCAACAAGTTCTGCCTACCAGCCCGCACACCCCTCCCGAATTTCCTTCTCTCTTCCTTTCTAGAAAGAAAACAATACGATTTGGACCCTGGGAACAATCTGCCCATCTGAGGCTGGGGCCGTGTCCCGGCGGACTCCGGCTTTCCCTGGCCCCTCTCCTGCCCCCTCCGCCCTGCCCCGGGCGCCCCGATCGGGAGGCACAGCCCTCCCAGGCTGCCCACCGCACAGAAACCCAGGAAGCAAGGCCCTTTCCTGAGCGCCCAAGTGGCCTTCGGGTCACCCTCCCTCAAAGTTCCAGCCCCGAGAGCCGCCTCCCGTTTCCAGCCTGCAGGGTTGGGGAGCCTGTTTTCTTTTTCTTCCCTTTCCTTCTCTCTCCCTCCTGCCCCCAAAATTCAGAATCCTGCAGGCTCTCGCCTCGATTCTTTCCCCCAAGCCCCTTTTCGGGGGCTGTAATTAGTAACGCTGTTTCCCCAGCGTAGCCCTCCTCATAAATTATCCGCCGTGACAAGCCCGATTCACGGCTGCTACAGCCATCCTCTACCTCTCTGCGCCTTGCTCGGCTGGCCTGACCCGGGAGCGCGTCCCAAGGCGTGGGGTTCCAGAGGGGTTTTTTGCTTCCTCCCCCTTCCAACGTCTAAACTGTCCCAGAGAACGCCCATTTCCCCCACTATTTGTGAGCGCAGGGTGCTCGCAAAGAAGAGGAGGAAGGAGGAAGGCAGGGGAGGGAGAACGGCAAGGAGAGCTCCGCAGGGCTGGGAGAAATGAGACCAAGAGAGACTGGGAGAGGGCGGCAGAGAAGAGAGGGGGGACCGAGAGCCGCGTCCCCGCGGTCGCGTGGATTTAGAAAAAGGCTGGCTTTACCATGACTTATGTGCAGCTTGCGCATCCAGGGGTAGATCTGGGGTTGGGCGGGCGGCGCCGGGCTCGGCTCGCTCTGCGCACTCGCCTGCTCGCTGCTGGCAGGGGCGTCCTCCTCGGCTCCGGACGCCGTGCCAACCCCCTCTCTGCTGCTGATGTGGGTGCTGCCGGCGTCGGCCGAGGCGCCGCTGGAGTTGCTTAGGGAGTTTTTCCCGCCGTGGTGGCTGTCGCTGCCGGGCGAGGGGGCCACGGCGGAGCAGGGCAGCGGATCGGGCTGAGGAGAGTGCGTGGACGTGGCCGGCTGGCTGTACCTGGGCTCGGCGGGCGCCGCGCTGGCGCTGGCAGCGTAGCTGCGGGCGCGCTCTCCGGAGCCAAAGTGGCCGGAGCCCGAGCGGCCGACGCTGAGATCCATGCCATTGTAGCCGTAGCCGTACCTGCCGGAGTGCATGCTCGCCGAGTCCCTGAATTGCTCGCTCACGGAACTATGATCTCCATAATTATGCAACTGGTAGTCCGGGCCATTTGGATAGCGACCGCAAAATGAGTTTACAAAATAAGAGCTCATTTGTTTTTTGATATGTGTGCTTGATTTGTGGCTCGCGGTCGTTTGTGCGTCTATAGCACCCTTGCACAATTTATGATGAATTATGGAAATGACTGGGACATGTACTTGGTTCCCTCCTACGTAGGCACCCAAATATGGGGTACGACTTCGAATCACGTGCTTTTGTTGTCCAGTCGTAAATCCTGCCTGATGACCTCTAGAGGTAAACTCGTGCACTAATAGGGGAGTTGGGTGGAGGCGAGGGGGGTnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnAGTTGCCGCCGTTCAGCCGGACTCGAGCGCCACCCGCTGGAGGCAGGGCTCATCGCCCAGCTTCCGACCGGGGGCTGCAAGGGCCGGGGTCGAATTGAGGTTACAGCCCATTATGGCAAAATTATTGCATTTCCCTCGCAGTTCCATTAGGATGTACCAATTGTTAGGCCGTCAGCTGCCGATCGCGCGCCCGGCGAGGATGCAGAGGATTGGGGGGAGGTGGTGACTTGCATTTTATTTACAACAACTTTATTTCCCCCGTTTTGCAGCCCCTCTTATTTTTGTGTCGAGGTTGGGGTCGGTACTGACCGTCCTGCCAGCAGCTCTGAATTTTGAAAATACAGATATCACCTTCGGGGAAGGGGGAAAGCCATTTAGCCAATTGGAGAAATAAATCCTGCCCGCAGCAGCAGCAGCTACAATTACGGCTCTGTTTTTGCGAGCGCATGAGGGACAGTGTCCCTGCCGCTCTTAAATGACAGGCGTCTATTAAAGATAGCTTTTGTGTAGTGTTTCTCCAAGGCGAGGTCAAATTCCATACACTTTTATAACCGTAGTCGATTTTTCTTTCGTGTGAATATGGTTTTCGTGTCATTAGTTTGCGATTTGATTTGCTTACGTATCCAGCCTGGAAAATCTTCATCACAGGGTCCGGTTCCTCGAGCCAGCCGGGCCCCAAGTCGGAGGGTTCTCCTTGAACCCAGCGAGTGGGCCCAGGCTCCCTGCAGCCACAGAGGCTGCCTGGGGTCTGGGGATCCGTGGGGCGGGTTACTGGGGTCTTGCTTAGACCTCCAGGAGTAAAATGAGGGCGATAATGGAAGCATTCCTTGGCAGTGCCTAGTATCTCTGTAGTTATTTTCCACGGCTCCGAAAGACTCAAGTAAATCACAAATATAGCTGAGAGGCAAGTGGAGTCTCCCCGCTGGAGGCCCGGCGTTGCAGGCGCCCCTGGCACGTCTGGAAGCCAGGACTCTGGCGGCTCCCATGGCCCTGGGCCCCTCGTTGGGTCCTGAACGCTGCTGTGGCGGCGACGCGGGCGCTATCGGAGGCTGGGAGCGGGAATCCGGAGCCGGGAGCCTACCCCGGGCTGTAATGTTCCACCCGCGCCCAGGTTAACTCGCCTCGGCTGAGGCTGCTTCTCTTCCACTGACGGTTGCACACGCGGGACCGAGAGACTGGGCTCTGTTGGGGCCCCCTTTGTTCCTCGAGCTTCCTTCCTGTTCTGGGAGGCGGCTTGGGAGGCCGCGACAAGGCCGGGCTCCAGCTCTTAGACCCCCTCTTTCCACTGGCCAGAGATGATTTGATGATGCCCTTCGGGACTTACTGGCGAGGGACTTAGGCAGAGACGCCCAGACACGAAACGGGGCTCGGCCCAGGGCTCTTTCCTCCCCAGCAGCCCCGCGTCCCGAGGTCGGGGAGCTCAGAGACACTAGCACAGGAGCCCCAGACGCATTCAGGGCGCACCCCAGAACTCCGGAGCCGGTTTGGGCATCCTTGTGGAGCGGGACTGGGTGTGTGCAGTGCGCCCCGCTCCACCGCTGGTATTGGCTGTGTGTGAGnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnAAGAAATAAATGCACAGACGCTTGCAAAGCTCCGGGCTCCCCTGAAGCTGCGGAAGCCCCCAGATGGGAGCAGGCGGGGAGAAAAGTTGGGGAACAGGCGAGGGCAAGGGGGCAAAGCCGAAGGAGGTTGCAGCGCTGGCCTGGTCCCTGCCCAGGCATCTACTCGCCCGCCTTTGCCTCTGAGTCCTCCCCGCTGGGCTGCGTGGAATTGATGAGCTTGTTTTCCTTTTTCCACTTCATGCGGCGGTTCTGGAACCAGATCTTGATCTGGCGCTCGGTGAGGCAGAGCGCGTTGGCGATCTCGATGCGGCGGCGCCGTGTCAGGTAGCGGTTGAAGTGGAACTCCTTCTCCAGCTCCAGTGTCTG"; + Sequence seq(s, reduced_dna_alphabet); + string a = "HumanHXA5\n" +">hg18_knownGene_NM_019102_0\n" +"GGGTGCTATAGACGCACAAACGACCGCGAGCCACAAATCAAGCACACATATCAAAAAACAAATGAGCTCTTATTTTGTAAACTCATTTTGCGGTCGCTATCCAAATGGCCCGGACTACCAGTTGCATAATTATGGAGATCATAGTTCCGTGAGCGAGCAATTCAGGGACTCGGCGAGCATGCACTCCGGCAGGTACGGCTACGGCTACAATGGCATGGATCTCAGCGTCGGCCGCTCGGGCTCCGGCCACTTTGGCTCCGGAGAGCGCGCCCGCAGCTACGCTGCCAGCGCCAGCGCGGCGCCCGCCGAGCCCAGGTACAGCCAGCCGGCCACGTCCACGCACTCTCCTCAGCCCGATCCGCTGCCCTGCTCCGCCGTGGCCCCCTCGCCCGGCAGCGACAGCCACCACGGCGGGAAAAACTCCCTAAGCAACTCCAGCGGCGCCTCGGCCGACGCCGGCAGCACCCACATCAGCAGCAGAGAGGGGGTTGGCACGGCGTCCGGAGCCGAGGAGGACGCCCCTGCCAGCAGCGAGCAGGCGAGTGCGCAGAGCGAGCCGAGCCCGGCGCCGCCCGCCCAACCCCAGATCTACCCCTGGATGCGCAAGCTGCACATAAGTCATG\n" +"\n" +">hg18_knownGene_NM_019102_1\n" +"ACAACATAGGCGGCCCGGAAGGCAAAAGGGCCCGGACGGCCTACACGCGCTACCAGACCCTGGAGCTGGAGAAGGAGTTCCACTTCAACCGTTACCTGACCCGCAGAAGGAGGATTGAAATAGCACATGCTCTTTGCCTCTCCGAGAGACAAATTAAAATCTGGTTCCAAAACCGGAGAATGAAGTGGAAAAAAGATAATAAGCTGAAAAGCATGAGCATGGCCGCGGCAGGAGGGGCCTTCCGTCCCTGAGTATCTGAGCGTTTAAAGTACTGAGCAGTATTAGCGGATCCCGCGTAGTGTCAGTACTAAGGTGACTTTCTGAAACTCCCTTGTGTTCCTTCTGTGAAGAAGCCCTGTTCTCGTTGCCCTAATTCATCTTTTAATCATGAGCCTGTTTATTGCCATTATAGCGCCTGTATAAGTAGATCTGCTTTCTGTTCATCTCTTTGTCCTGAATGGCTTTGTCTTGAAAAAAAATAGATGTTTTAACTTATTTATATGAAGCAAGCTGTGTTACTTGAAGTAACTATAACAAAAAAAGAAAAGAGAAAAAAAAACACACAAAAAGTCCCCCTTCAATCTCGTTTAGTGCCAATGTTGTGTGTTGCACTCAAGTTGTTTAACTGTGCATGTGCGTGGAAGTGTTCCTGTCTCAATAGCTCCAAGCTGTTAAAGATATTTTTATTCAAACTACCTATATTCCTTGT\n"; + stringstream annot(a); + + seq.load_annot(annot, 0, 0); + + BOOST_CHECK_EQUAL( seq.annotations().size(), 2 ); +} + BOOST_AUTO_TEST_CASE( subseq_annotation_test ) { string s("CCGCCCCCCATCATCGCGGCTCTCCGAGAGTCCCGCGCCCCACTCCCGGC" -- 2.30.2