#!/usr/bin/python from PIPRes.testing import * _LOG = cipresGetLogger('test.services.realigning_tree_improve') class RealigningTreeImproveWrapTest(CipresTestingClient): serviceRegistryEntry = composeRegistryQuery(interface='TreeImprove', applicationName='PIPRes realigning_tree_improver') serviceType = CipresIDL_api1.DelegatingTreeImprove def cipresTestSlicingAndTriggerEval(self): m = dnaToCipresMatrix(['ACGTGACGTT', 'GTTACGT?AC', 'A', 'ACGTGACGTT', 'GTTACGTTCC'], aligned=False) t = CipresTree('(1,4,(2,5))') addScore(t, None) self.testedService.setMatrix(m) self.testedService.setTree(t) ret = self.testedService.improveTree(CORBA.Object._nil) rTree = CipresTree(ret) ct = tree_with_number_lvs('(1,4,(2,5))') self.assertEqual(ct, rTree) self.assertEqual(rTree.m_score.intScore, 2) def cipresTestTen(self): m = dnaToCipresMatrix([ 'ACGTGACGTT', 'GTTACGT?AC', 'ACGTGACGTT', 'GTTACGTTCC', 'ACGTGACGTT', 'GTTACGT?AC', 'ACGTGACGTT', 'GTTACGTTCC', 'ACGTGACGTT', 'GTTACGT?AC', 'GTTACGT?AC'], aligned=False) t = CipresTree('(11:0.1,3:0.2,((2:0.2,4:0.2):0.1,((5:0.2,6:0.2,1:.005):0.1,((7:0.2,8:0.2):0.1,(9:0.2,10:0.2):0.1):0.1):0.1):0.1)') addScore(t, None) self.testedService.setMatrix(m) self.testedService.setTree(t) rTree = CipresTree(self.testedService.improveTree(CORBA.Object._nil)) ct = tree_with_number_lvs('(1,((2,6,10,11),4,8),3,5,7,9)') self.assertEqual(ct, rTree) self.assertEqual(rTree.m_score.intScore, 2) def cipresTestSimple(self): m = dnaToCipresMatrix(['ACGTGACGTT', 'GTTACGT?AC', 'ACGTGACGTT', 'GTTACGTTCC'], aligned=False) t = CipresTree('(1:0.1,3:0.2,(2:0.2,4:0.2):0.1)') addScore(t, None) self.testedService.setMatrix(m) self.testedService.setTree(t) rTree = CipresTree(self.testedService.improveTree(CORBA.Object._nil)) ct = tree_with_number_lvs('(1,3,(2,4))') self.assertEqual(ct, rTree) self.assertEqual(rTree.m_score.intScore, 2) def cipresTestSlicing(self): m = dnaToCipresMatrix(['ACGTGACGTT', 'GTTACGT?AC', 'A', 'ACGTGACGTT', 'GTTACGTTCC'], aligned=False) t = CipresTree('(1:0.1,4:0.2,(2:0.2,5:0.2):0.1)') addScore(t, None) self.testedService.setMatrix(m) self.testedService.setTree(t) ret = self.testedService.improveTree(CORBA.Object._nil) rTree = CipresTree(ret) ct = tree_with_number_lvs('(1,4,(2,5))') self.assertEqual(ct, rTree) self.assertEqual(rTree.m_score.intScore, 2) if __name__ == '__main__': addCipresTests(RealigningTreeImproveWrapTest) unittest.main()