+ // r0 = RIO.executeAnalysis( new File( PATH_TO_TEST_DATA + "rio_mb_taxcode_1.run1.t" ),
+ // new File( PATH_TO_TEST_DATA + "rio_tol_1.xml" ),
+ // ALGORITHM.GSDIR,
+ // REROOTING.BY_ALGORITHM,
+ // "",
+ // -1,
+ // -1,
+ // true,
+ // false,
+ // true );
+ // if ( r0.getGSDIRtaxCompBase() != TaxonomyComparisonBase.CODE ) {
+ // return false;
+ // }
+ // if ( r0.getAnalyzedGeneTrees().length != 201 ) {
+ // return false;
+ // }
+ // if ( r0.getExtNodesOfAnalyzedGeneTrees() != 3 ) {
+ // return false;
+ // }
+ // if ( r0.getIntNodesOfAnalyzedGeneTrees() != 2 ) {
+ // return false;
+ // }
+ // if ( r0.getRemovedGeneTreeNodes().size() != 3 ) {
+ // return false;
+ // }
+ // if ( ForesterUtil.roundToInt( r0.getDuplicationsStatistics().median() ) != 0 ) {
+ // return false;
+ // }
+ // m = RIO.calculateOrthologTable( r0.getAnalyzedGeneTrees(), true );
+ // if ( !m.getRowAsString( 0, ',' ).equals( "BCDO2_HUMAN,201,201,201" ) ) {
+ // System.out.println( m.getRowAsString( 0, ',' ) );
+ // return false;
+ // }
+ // if ( !m.getRowAsString( 1, ',' ).equals( "Q1RLW1_DANRE,201,201,201" ) ) {
+ // System.out.println( m.getRowAsString( 1, ',' ) );
+ // return false;
+ // }
+ // if ( !m.getRowAsString( 2, ',' ).equals( "Q6DIN7_XENTR,201,201,201" ) ) {
+ // System.out.println( m.getRowAsString( 2, ',' ) );
+ // return false;
+ // }
+ //
+ //
+ // r0 = RIO.executeAnalysis( new File( PATH_TO_TEST_DATA + "rio_mb_taxcode_2.run1.t" ),
+ // new File( PATH_TO_TEST_DATA + "rio_tol_1.xml" ),
+ // ALGORITHM.GSDIR,
+ // REROOTING.BY_ALGORITHM,
+ // "",
+ // -1,
+ // -1,
+ // true,
+ // false,
+ // true );
+ // if ( r0.getGSDIRtaxCompBase() != TaxonomyComparisonBase.CODE ) {
+ // return false;
+ // }
+ // if ( r0.getAnalyzedGeneTrees().length != 201 ) {
+ // return false;
+ // }
+ // if ( r0.getExtNodesOfAnalyzedGeneTrees() != 6 ) {
+ // return false;
+ // }
+ // if ( r0.getIntNodesOfAnalyzedGeneTrees() != 5 ) {
+ // return false;
+ // }
+ // if ( r0.getRemovedGeneTreeNodes().size() != 0 ) {
+ // return false;
+ // }
+ // if ( ForesterUtil.roundToInt( r0.getDuplicationsStatistics().median() ) != 1 ) {
+ // return false;
+ // }
+ // m = RIO.calculateOrthologTable( r0.getAnalyzedGeneTrees(), true );
+ // if ( !m.getRowAsString( 0, ',' ).equals( "A7SHU1_NEMVE&1,201,201,200,200,200,200" ) ) {
+ // System.out.println( m.getRowAsString( 0, ',' ) );
+ // return false;
+ // }
+ // if ( !m.getRowAsString( 1, ',' ).equals( "BCDO2_HUMAN+,201,201,200,200,200,43" ) ) {
+ // System.out.println( m.getRowAsString( 1, ',' ) );
+ // return false;
+ // }
+ // if ( !m.getRowAsString( 2, ',' ).equals( "BCDO2_MOUSE,200,200,201,201,201,43" ) ) {
+ // System.out.println( m.getRowAsString( 2, ',' ) );
+ // return false;
+ // }
+ // if ( !m.getRowAsString( 3, ',' ).equals( "CIOSA,200,200,201,201,201,201" ) ) {
+ // System.out.println( m.getRowAsString( 3, ',' ) );
+ // return false;
+ // }
+ // if ( !m.getRowAsString( 4, ',' ).equals( "Q1RLW1_DANRE/12-45,200,200,201,201,201,43" ) ) {
+ // System.out.println( m.getRowAsString( 4, ',' ) );
+ // return false;
+ // }
+ // if ( !m.getRowAsString( 5, ',' ).equals( "Q6DIN7_XENTR-LOUSE,200,43,43,201,43,201" ) ) {
+ // System.out.println( m.getRowAsString( 5, ',' ) );
+ // return false;
+ // }
+ }
+ catch ( final Exception e ) {
+ e.printStackTrace( System.out );
+ return false;
+ }
+ return true;
+ }
+
+ private static boolean testRIO_GSDIR_Iterating() {
+ try {
+ final PhylogenyFactory factory = ParserBasedPhylogenyFactory.getInstance();
+ final NHXParser nhx = new NHXParser();
+ nhx.setReplaceUnderscores( false );
+ nhx.setIgnoreQuotes( true );
+ nhx.setTaxonomyExtraction( NHXParser.TAXONOMY_EXTRACTION.AGGRESSIVE );
+ final String gene_trees_1_str = "(((((MOUSE,RAT),HUMAN),CAEEL),YEAST),ARATH);"
+ + "((((MOUSE,RAT),HUMAN),(ARATH,YEAST)),CAEEL);" + "((MOUSE,RAT),(((ARATH,YEAST),CAEEL),HUMAN));"
+ + "(((((MOUSE,HUMAN),RAT),CAEEL),YEAST),ARATH);" + "((((HUMAN,MOUSE),RAT),(ARATH,YEAST)),CAEEL);";
+ nhx.setSource( gene_trees_1_str );
+ final String species_trees_1_str = "(((((MOUSE,RAT),HUMAN),CAEEL),YEAST),ARATH);";
+ final Phylogeny species_tree_1 = factory.create( species_trees_1_str, new NHXParser() )[ 0 ];
+ species_tree_1.setRooted( true );
+ PhylogenyMethods.transferNodeNameToField( species_tree_1, PhylogenyNodeField.TAXONOMY_CODE, true );
+ //Archaeopteryx.createApplication( species_trees_1 );
+ RIO rio = RIO.executeAnalysis( nhx,
+ species_tree_1,
+ ALGORITHM.GSDIR,
+ REROOTING.BY_ALGORITHM,
+ "",
+ true,
+ false,
+ true );
+ if ( rio.getExtNodesOfAnalyzedGeneTrees() != 6 ) {