X-Git-Url: http://woldlab.caltech.edu/gitweb/?p=mussa.git;a=blobdiff_plain;f=alg%2Ftest%2Ftest_sequence.cpp;h=2ea2fc0c5df2c9a9484548f2169d9a2d8a366212;hp=9784621a01ab9da2273461e0056d365753240b97;hb=510c9340528467a30a64d03d3936a4d8fdd18af4;hpb=f3c0553a22b0e4ddc39ee45f51725352d92e97f1 diff --git a/alg/test/test_sequence.cpp b/alg/test/test_sequence.cpp index 9784621..2ea2fc0 100644 --- a/alg/test/test_sequence.cpp +++ b/alg/test/test_sequence.cpp @@ -833,22 +833,46 @@ BOOST_AUTO_TEST_CASE( annotate_from_sequence ) } } -BOOST_AUTO_TEST_CASE( sequence_annoted_with_reversed_sequence ) +BOOST_AUTO_TEST_CASE( sequence_no_trailing_newline ) { // 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); + string s = "AATTACACAAGGAATATAGGTAGTTTGAATAAAAATATCTTTAACAGCTTGGAGCTATTGAGACAGGAACACTTCCACGCACATGCACAGTTAAACAACTTGAGTGCAACACACAACATTGGCACTAAACGAGATTGAAGGGGGACTTTTTGTGTGTTTTTTTTTCTCTTTTCTTTTTTTGTTATAGTTACTTCAAGTAACACAGCTTGCTTCATATAAATAAGTTAAAACATCTATTTTTTTTCAAGACAAAGCCATTCAGGACAAAGAGATGAACAGAAAGCAGATCTACTTATACAGGCGCTATAATGGCAATAAACAGGCTCATGATTAAAAGATGAATTAGGGCAACGAGAACAGGGCTTCTTCACAGAAGGAACACAAGGGAGTTTCAGAAAGTCACCTTAGTACTGACACTACGCGGGATCCGCTAATACTGCTCAGTACTTTAAACGCTCAGATACTCAGGGACGGAAGGCCCCTCCTGCCGCGGCCATGCTCATGCTTTTCAGCTTATTATCTTTTTTCCACTTCATTCTCCGGTTTTGGAACCAGATTTTAATTTGTCTCTCGGAGAGGCAAAGAGCATGTGCTATTTCAATCCTCCTTCTGCGGGTCAGGTAACGGTTGAAGTGGAACTCCTTCTCCAGCTCCAGGGTCTGGTAGCGCGTGTAGGCCGTCCGGGCCCTTTTGCCTTCCGGGCCGCCTATGTTGTCTGCAATAGAAAAGTCAGCGGTTTAGCCACCAACTCCTGTCTTCCAAAGTCCGCCAGGGGGACAAGCTTGGGTCATGAGCAGGGAACCCAGGCGAAAAGCTCAACAAGTTCTGCCTACCAGCCCGCACACCCCTCCCGAATTTCCTTCTCTCTTCCTTTCTAGAAAGAAAACAATACGATTTGGACCCTGGGAACAATCTGCCCATCTGAGGCTGGGGCCGTGTCCCGGCGGACTCCGGCTTTCCCTGGCCCCTCTCCTGCCCCCTCCGCCCTGCCCCGGGCGCCCCGATCGGGAGGCACAGCCCTCCCAGGCTGCCCACCGCACAGAAACCCAGGAAGCAAGGCCCTTTCCTGAGCGCCCAAGTGGCCTTCGGGTCACCCTCCCTCAAAGTTCCAGCCCCGAGAGCCGCCTCCCGTTTCCAGCCTGCAGGGTTGGGGAGCCTGTTTTCTTTTTCTTCCCTTTCCTTCTCTCTCCCTCCTGCCCCCAAAATTCAGAATCCTGCAGGCTCTCGCCTCGATTCTTTCCCCCAAGCCCCTTTTCGGGGGCTGTAATTAGTAACGCTGTTTCCCCAGCGTAGCCCTCCTCATAAATTATCCGCCGTGACAAGCCCGATTCACGGCTGCTACAGCCATCCTCTACCTCTCTGCGCCTTGCTCGGCTGGCCTGACCCGGGAGCGCGTCCCAAGGCGTGGGGTTCCAGAGGGGTTTTTTGCTTCCTCCCCCTTCCAACGTCTAAACTGTCCCAGAGAACGCCCATTTCCCCCACTATTTGTGAGCGCAGGGTGCTCGCAAAGAAGAGGAGGAAGGAGGAAGGCAGGGGAGGGAGAACGGCAAGGAGAGCTCCGCAGGGCTGGGAGAAATGAGACCAAGAGAGACTGGGAGAGGGCGGCAGAGAAGAGAGGGGGGACCGAGAGCCGCGTCCCCGCGGTCGCGTGGATTTAGAAAAAGGCTGGCTTTACCATGACTTATGTGCAGCTTGCGCATCCAGGGGTAGATCTGGGGTTGGGCGGGCGGCGCCGGGCTCGGCTCGCTCTGCGCACTCGCCTGCTCGCTGCTGGCAGGGGCGTCCTCCTCGGCTCCGGACGCCGTGCCAACCCCCTCTCTGCTGCTGATGTGGGTGCTGCCGGCGTCGGCCGAGGCGCCGCTGGAGTTGCTTAGGGAGTTTTTCCCGCCGTGGTGGCTGTCGCTGCCGGGCGAGGGGGCCACGGCGGAGCAGGGCAGCGGATCGGGCTGAGGAGAGTGCGTGGACGTGGCCGGCTGGCTGTACCTGGGCTCGGCGGGCGCCGCGCTGGCGCTGGCAGCGTAGCTGCGGGCGCGCTCTCCGGAGCCAAAGTGGCCGGAGCCCGAGCGGCCGACGCTGAGATCCATGCCATTGTAGCCGTAGCCGTACCTGCCGGAGTGCATGCTCGCCGAGTCCCTGAATTGCTCGCTCACGGAACTATGATCTCCATAATTATGCAACTGGTAGTCCGGGCCATTTGGATAGCGACCGCAAAATGAGTTTACAAAATAAGAGCTCATTTGTTTTTTGATATGTGTGCTTGATTTGTGGCTCGCGGTCGTTTGTGCGTCTATAGCACCCTT"; + std::string species = "HumanHXA5\n"; + std::string header0 = ">hg18_knownGene_NM_019102_0\n"; + std::string str0 = "GGGTGCTATAGACGCACAAACGACCGCGAGCCACAAATCAAGCACACATATCAAAAAACAAATGAGCTCTTATTTTGTAAACTCATTTTGCGGTCGCTATCCAAATGGCCCGGACTACCAGTTGCATAATTATGGAGATCATAGTTCCGTGAGCGAGCAATTCAGGGACTCGGCGAGCATGCACTCCGGCAGGTACGGCTACGGCTACAATGGCATGGATCTCAGCGTCGGCCGCTCGGGCTCCGGCCACTTTGGCTCCGGAGAGCGCGCCCGCAGCTACGCTGCCAGCGCCAGCGCGGCGCCCGCCGAGCCCAGGTACAGCCAGCCGGCCACGTCCACGCACTCTCCTCAGCCCGATCCGCTGCCCTGCTCCGCCGTGGCCCCCTCGCCCGGCAGCGACAGCCACCACGGCGGGAAAAACTCCCTAAGCAACTCCAGCGGCGCCTCGGCCGACGCCGGCAGCACCCACATCAGCAGCAGAGAGGGGGTTGGCACGGCGTCCGGAGCCGAGGAGGACGCCCCTGCCAGCAGCGAGCAGGCGAGTGCGCAGAGCGAGCCGAGCCCGGCGCCGCCCGCCCAACCCCAGATCTACCCCTGGATGCGCAAGCTGCACATAAGTCATG"; + std::string header1 = ">hg18_knownGene_NM_019102_1\n"; + std::string str1 = "ACAACATAGGCGGCCCGGAAGGCAAAAGGGCCCGGACGGCCTACACGCGCTACCAGACCCTGGAGCTGGAGAAGGAGTTCCACTTCAACCGTTACCTGACCCGCAGAAGGAGGATTGAAATAGCACATGCTCTTTGCCTCTCCGAGAGACAAATTAAAATCTGGTTCCAAAACCGGAGAATGAAGTGGAAAAAAGATAATAAGCTGAAAAGCATGAGCATGGCCGCGGCAGGAGGGGCCTTCCGTCCCTGAGTATCTGAGCGTTTAAAGTACTGAGCAGTATTAGCGGATCCCGCGTAGTGTCAGTACTAAGGTGACTTTCTGAAACTCCCTTGTGTTCCTTCTGTGAAGAAGCCCTGTTCTCGTTGCCCTAATTCATCTTTTAATCATGAGCCTGTTTATTGCCATTATAGCGCCTGTATAAGTAGATCTGCTTTCTGTTCATCTCTTTGTCCTGAATGGCTTTGTCTTGAAAAAAAATAGATGTTTTAACTTATTTATATGAAGCAAGCTGTGTTACTTGAAGTAACTATAACAAAAAAAGAAAAGAGAAAAAAAAACACACAAAAAGTCCCCCTTCAATCTCGTTTAGTGCCAATGTTGTGTGTTGCACTCAAGTTGTTTAACTGTGCATGTGCGTGGAAGTGTTCCTGTCTCAATAGCTCCAAGCTGTTAAAGATATTTTTATTCAAACTACCTATATTCCTTGT"; + stringstream annot; + annot << species + << header0 + << str0 << std::endl + << std::endl + << header1 + << str1; + // need to convert strings to sequences for reverse complementing + Sequence seq0(str0, reduced_dna_alphabet); + Sequence seq1(str1, reduced_dna_alphabet); + + Sequence annotated_seq(s, reduced_dna_alphabet); + annotated_seq.load_annot(annot, 0, 0); + + SeqSpanRefList annots_list = annotated_seq.annotations(); + // both sequences were found + BOOST_REQUIRE_EQUAL( annots_list.size(), 2 ); - seq.load_annot(annot, 0, 0); + std::vector annots(annots_list.begin(), annots_list.end()); + // are they the same sequence? + BOOST_CHECK_EQUAL( annots[0]->size(), seq0.size()); + BOOST_CHECK_EQUAL( annots[0]->sequence(), seq0.rev_comp() ); + // this should hopefully catch the case when my hack in + // sequence.cpp::push_back_seq::operator() is no longer needed. + // spirit (or my grammar was duplicating the last char, + // the hack removes the duplicate. but if what ever's causing + // the dup gets fixed actual meaningful data will be being removed. + // see mussa ticket:265 for more information + BOOST_CHECK_EQUAL( annots[1]->size(), seq1.size()); + BOOST_CHECK_EQUAL( annots[1]->sequence(), seq1.rev_comp() ); - BOOST_CHECK_EQUAL( seq.annotations().size(), 2 ); } BOOST_AUTO_TEST_CASE( subseq_annotation_test )