diff --git a/src/BLRlib/BLRMatchPath.cpp b/src/BLRlib/BLRMatchPath.cpp index 9c7b9b51de72d323b9f1114473c1ff8ff30c23ff..af275c2c3d690be762798863afbb0bd92c25f5ab 100644 --- a/src/BLRlib/BLRMatchPath.cpp +++ b/src/BLRlib/BLRMatchPath.cpp @@ -239,7 +239,7 @@ void BLRMatchPath::writeBED(std::ostream &out) { //--------------------------------------------------------------------------- void BLRMatchPath::writeGFF3(const SDGString &filename) { std::ostringstream gffStream; - writeBED(gffStream); + writeGFF3(gffStream); std::ofstream bedFile(filename); bedFile << gffStream.str(); } @@ -433,4 +433,4 @@ void BLRMatchPath::writeMatch(const BLRJoinParameter& para, const SDGString &fil } if (verbose > 0) std::cout << " done" << std::endl; -} \ No newline at end of file +} diff --git a/src/BLRlib/BLRMatcherThreadsParameter.cpp b/src/BLRlib/BLRMatcherThreadsParameter.cpp index 5f2226f70d79665238a10d60a315ecb926fb9773..4e588e72502f2868deecc6e2c494959baf8094ab 100644 --- a/src/BLRlib/BLRMatcherThreadsParameter.cpp +++ b/src/BLRlib/BLRMatcherThreadsParameter.cpp @@ -80,6 +80,7 @@ void BLRMatcherThreadsParameter::parseOptArg(int numarg, char* tabarg[]) } case 'x': { + clean_before=false; clean_after=true; break; } diff --git a/src/BLRlib/testfiles/Test_BLRMatchMap.cpp b/src/BLRlib/testfiles/Test_BLRMatchMap.cpp index b97b533c505c1cc7e093d89a8296c1a9c67d49cf..cbbbe2c953e2e51b0350dd1299a72e22d69ad9ff 100644 --- a/src/BLRlib/testfiles/Test_BLRMatchMap.cpp +++ b/src/BLRlib/testfiles/Test_BLRMatchMap.cpp @@ -17,44 +17,15 @@ void Test_BLRMatchMap::tearDown() { } -// clean_conflicts is never called in other submethod in MapPath. -void Test_BLRMatchMap::test_clean_conflicts(void){ - SDGString match_file = "match.align"; - Test_BLRUtils::writeInputFile(); - - BLRMatcherThreadsParameter para = createParameter(); - BLRMatchMap matchMap(para); - - matchMap.loadAlign(match_file); - - BLRMatchMap::MapAlign mapAlignBefore = matchMap.getMapAlign(); - - - /*std::cout<<" clean_conflicts before: "<<std::endl; - Test_BLRUtils::viewMapAlign(mapAlignBefore); - std::cout<<" "<<std::endl;*/ - - - matchMap.clean_conflicts(); - BLRMatchMap::MapAlign obsMapAlign = matchMap.getMapAlign(); - - /*std::cout<<"clean_conflicts after: "<<std::endl; - Test_BLRUtils::viewMapAlign(obsMapAlign);*/ - - BLRMatchMap::MapAlign expMapAlign = Test_BLRUtils::createExpMapAlign_for_clean_conflicts(); - - /* std::cout<<"expectation: "<<std::endl; - Test_BLRUtils::viewMapAlign(expMapAlign);*/ - - bool expComparaison = true; - bool obsComparaison = (expMapAlign == obsMapAlign); - - CPPUNIT_ASSERT_EQUAL(expComparaison, obsComparaison); - - FileUtils::removeFile(match_file); +void Test_BLRMatchMap::test_mapAlign_equality(void){ + BLRMatchMap::MapAlign mapAlign1 = Test_BLRUtils::createMapAlign_instance_for_test_mapAlign_Equality(); + BLRMatchMap::MapAlign mapAlign2 = Test_BLRUtils::createMapAlign_instance_for_test_mapAlign_Equality(); + bool expComparaison = true; + bool obsComparaison = (mapAlign1 == mapAlign2); + CPPUNIT_ASSERT_EQUAL(expComparaison, obsComparaison); } -void Test_BLRMatchMap::test_mapPath(void){ +void Test_BLRMatchMap::test_mapPath_join_merge_clean_after(void){ bool joiningParameter = true; bool cleanBefore = false; bool cleanAfter = true; @@ -149,13 +120,7 @@ void Test_BLRMatchMap::test_isOverlapFound_in_add_split_path(void){ CPPUNIT_ASSERT_EQUAL(expOverlap, obsOverlap); } -void Test_BLRMatchMap::test_mapAlign_equality(void){ - BLRMatchMap::MapAlign mapAlign1 = Test_BLRUtils::createMapAlign_instance_for_test_mapAlign_Equality(); - BLRMatchMap::MapAlign mapAlign2 = Test_BLRUtils::createMapAlign_instance_for_test_mapAlign_Equality(); - bool expComparaison = true; - bool obsComparaison = (mapAlign1 == mapAlign2); - CPPUNIT_ASSERT_EQUAL(expComparaison, obsComparaison); -} + void Test_BLRMatchMap::test_merge_on_two_queries(void) diff --git a/src/BLRlib/testfiles/Test_BLRMatchMap.h b/src/BLRlib/testfiles/Test_BLRMatchMap.h index 6b6e442559c64e9f9dbdfcd99502281b991329fe..a7b381876fc890406e68c8dee2093662ab611dd4 100644 --- a/src/BLRlib/testfiles/Test_BLRMatchMap.h +++ b/src/BLRlib/testfiles/Test_BLRMatchMap.h @@ -15,8 +15,7 @@ class Test_BLRMatchMap: public CPPUNIT_NS::TestFixture { CPPUNIT_TEST_SUITE(Test_BLRMatchMap); CPPUNIT_TEST(test_mapAlign_equality); - CPPUNIT_TEST(test_clean_conflicts); - CPPUNIT_TEST(test_mapPath); + CPPUNIT_TEST(test_mapPath_join_merge_clean_after); CPPUNIT_TEST(view_add_clean_path_all_S); CPPUNIT_TEST(test_isOverlapFound_in_add_split_path); CPPUNIT_TEST(test_merge_on_two_queries); @@ -46,8 +45,8 @@ class Test_BLRMatchMap: public CPPUNIT_NS::TestFixture protected: void test_mapAlign_equality(void); - void test_clean_conflicts(void); - void test_mapPath(void); + void test_mapPath_join_clean_before(void); + void test_mapPath_join_merge_clean_after(void); void view_add_clean_path_all_S(void); void test_isOverlapFound_in_add_split_path(void); void test_merge_on_two_queries(void); diff --git a/src/BLRlib/testfiles/Test_BLRMatchPath.cpp b/src/BLRlib/testfiles/Test_BLRMatchPath.cpp index c8fb3e7eea06d1f6bd7dcaf9936507241f2f0ec1..c35f59ed53a5aaa48818bb218368d17858581c8d 100644 --- a/src/BLRlib/testfiles/Test_BLRMatchPath.cpp +++ b/src/BLRlib/testfiles/Test_BLRMatchPath.cpp @@ -218,7 +218,31 @@ void Test_BLRMatchPath::test_writeBED(void){ CPPUNIT_ASSERT_EQUAL(exp.str(), obs.str()); } +//--------------------------------------------------------------------------- +void Test_BLRMatchPath::test_writeGFF3(void){ + + BLRJoinParameter para = Test_BLRUtils::createParameter(); + BLRMatchPath matchPath; + + std::ostringstream inputData; + inputData << "10\tCHR1v01212004\t100\t250\tTNAT1A\t36\t523\t2e-128\t460\t81.56\n"; + inputData << "10\tCHR1v01212004\t800\t1000\tTNAT1A\t36\t523\t2e-128\t460\t81.56\n"; + inputData << "20\tCHR2v01212004\t1050\t2000\tTNAT1A\t580\t480\t7e-78\t87\t79.14\n"; + std::istringstream inputDataStream(inputData.str()); + matchPath.read(para,inputDataStream, 0); + + std::ostringstream obs; + matchPath.writeGFF3(obs); + + std::ostringstream exp; + exp << "CHR1v01212004\tmatcher\tmatch\t100\t1000\t868\t+\t.\tID=1;Name=TNAT1A;Target=TNAT1A 36 523;Note=e-value:2e-128,identity:81.56\n"; + exp << "CHR1v01212004\tmatcher\tmatch_part\t100\t250\t460\t+\t.\tID=1.1;Parent=1;Name=TNAT1A.1;Target=TNAT1A 36 523;Note=e-value:2e-128,identity:81.56\n"; + exp << "CHR1v01212004\tmatcher\tmatch_part\t800\t1000\t460\t+\t.\tID=1.2;Parent=1;Name=TNAT1A.2;Target=TNAT1A 36 523;Note=e-value:2e-128,identity:81.56\n"; + exp << "CHR2v01212004\tmatcher\tmatch\t1050\t2000\t87\t-\t.\tID=2;Name=TNAT1A;Target=TNAT1A 480 580;Note=e-value:7e-78,identity:79.14\n"; + exp << "CHR2v01212004\tmatcher\tmatch_part\t1050\t2000\t87\t-\t.\tID=2.1;Parent=2;Name=TNAT1A.1;Target=TNAT1A 480 580;Note=e-value:7e-78,identity:79.14\n"; + CPPUNIT_ASSERT_EQUAL(exp.str(), obs.str()); +} diff --git a/src/BLRlib/testfiles/Test_BLRMatchPath.h b/src/BLRlib/testfiles/Test_BLRMatchPath.h index 0d7997b91e5ee2b31276c69b58453ba25ca8322e..0999c0930bf9aca7911ca59b90803f39b4fb7bd2 100644 --- a/src/BLRlib/testfiles/Test_BLRMatchPath.h +++ b/src/BLRlib/testfiles/Test_BLRMatchPath.h @@ -12,13 +12,14 @@ class Test_BLRMatchPath: public CPPUNIT_NS::TestFixture { - CPPUNIT_TEST_SUITE(Test_BLRMatchPath); - CPPUNIT_TEST(test_read); - CPPUNIT_TEST(test_load); - CPPUNIT_TEST(test_setFromRpsList); - CPPUNIT_TEST(test_setFromRpsList2); - CPPUNIT_TEST(test_writeBED); - CPPUNIT_TEST_SUITE_END(); + CPPUNIT_TEST_SUITE(Test_BLRMatchPath); + CPPUNIT_TEST(test_read); + CPPUNIT_TEST(test_load); + CPPUNIT_TEST(test_setFromRpsList); + CPPUNIT_TEST(test_setFromRpsList2); + CPPUNIT_TEST(test_writeBED); + CPPUNIT_TEST(test_writeGFF3); + CPPUNIT_TEST_SUITE_END(); public: void setUp(); @@ -30,6 +31,7 @@ class Test_BLRMatchPath: public CPPUNIT_NS::TestFixture void test_setFromRpsList(void); void test_setFromRpsList2(void); void test_writeBED(void); + void test_writeGFF3(void); }; #endif diff --git a/src/matcher.threads/matcherThreads.cpp b/src/matcher.threads/matcherThreads.cpp index 7608a8bbba5f735f5b709842849efb32650b8794..9d87cbdc004cd99b2d8434fe15211d7b4a356b43 100644 --- a/src/matcher.threads/matcherThreads.cpp +++ b/src/matcher.threads/matcherThreads.cpp @@ -109,8 +109,6 @@ int main(int argc, char *argv[]) { std::cerr << "No file :" << para.getLoad_path() << std::endl << std::flush; - - std::list<RangePair> rp_list = match_align.getRpListFromMatchAlign(); if(para.getVerbose()>0) std::cout<<"list size="<<rp_list.size()<<std::endl;