2 package org.forester.clade_analysis;
6 import org.forester.io.parsers.PhylogenyParser;
7 import org.forester.io.parsers.util.ParserUtils;
8 import org.forester.phylogeny.Phylogeny;
9 import org.forester.phylogeny.factories.ParserBasedPhylogenyFactory;
10 import org.forester.phylogeny.factories.PhylogenyFactory;
11 import org.forester.util.ForesterUtil;
13 public class CladeAnalysisTest {
15 private final static String PATH_TO_TEST_DATA = System.getProperty( "user.dir" ) + ForesterUtil.getFileSeparator()
16 + "test_data" + ForesterUtil.getFileSeparator();
18 public static void main( final String[] args ) {
19 boolean failed = false;
20 if ( !testCladeAnalysis1() ) {
21 System.out.println( "Clade analysis 1 failed" );
24 if ( !testCladeAnalysis2() ) {
25 System.out.println( "Clade analysis 2 failed" );
28 if ( !testCladeAnalysis3() ) {
29 System.out.println( "Clade analysis 3 failed" );
32 if ( !testCladeAnalysis4() ) {
33 System.out.println( "Clade analysis 4 failed" );
36 if ( !testCladeAnalysis5() ) {
37 System.out.println( "Clade analysis 5 failed" );
40 if ( !testCladeAnalysis6() ) {
41 System.out.println( "Clade analysis 6 failed" );
45 System.out.println( "OK" );
48 System.out.println( "NOT OK" );
52 public static boolean test() {
53 if ( !testCladeAnalysis1() ) {
56 if ( !testCladeAnalysis2() ) {
59 if ( !testCladeAnalysis3() ) {
62 if ( !testCladeAnalysis4() ) {
65 if ( !testCladeAnalysis5() ) {
68 if ( !testCladeAnalysis6() ) {
74 private static boolean testCladeAnalysis1() {
76 final File intreefile1 = new File( PATH_TO_TEST_DATA + "clade_analysis_test_1.xml" );
77 final PhylogenyFactory factory = ParserBasedPhylogenyFactory.getInstance();
78 final PhylogenyParser pp = ParserUtils.createParserDependingOnFileType( intreefile1, true );
79 final Phylogeny p1 = factory.create( intreefile1, pp )[ 0 ];
80 ResultSingle res = AnalysisSingle.execute( p1, "A.1.1.1", "." );
81 if ( !res.getGreatestCommonPrefix().equals( "A.1" ) ) {
84 if ( !res.getGreatestCommonPrefixDown().equals( "A.1.1" ) ) {
87 if ( !res.getGreatestCommonPrefixUp().equals( "A.1.2.1" ) ) {
90 if ( res.getLeastEncompassingCladeSize() != 4 ) {
93 if ( res.getTreeSize() != 25 ) {
96 if ( res.getWarnings().size() != 0 ) {
99 res = AnalysisSingle.execute( p1, "A.1.1.2", "." );
100 if ( !res.getGreatestCommonPrefix().equals( "A.1" ) ) {
103 if ( !res.getGreatestCommonPrefixDown().equals( "A.1.1" ) ) {
106 if ( !res.getGreatestCommonPrefixUp().equals( "A.1.2.1" ) ) {
109 if ( res.getLeastEncompassingCladeSize() != 4 ) {
112 if ( res.getTreeSize() != 25 ) {
115 if ( res.getWarnings().size() != 0 ) {
118 res = AnalysisSingle.execute( p1, "A.1.1.3", "." );
119 if ( !res.getGreatestCommonPrefix().equals( "A.1" ) ) {
122 if ( !res.getGreatestCommonPrefixDown().equals( "A.1.1" ) ) {
125 if ( !res.getGreatestCommonPrefixUp().equals( "A.1.2.1" ) ) {
128 if ( res.getLeastEncompassingCladeSize() != 4 ) {
131 if ( res.getTreeSize() != 25 ) {
134 if ( res.getWarnings().size() != 0 ) {
137 res = AnalysisSingle.execute( p1, "A.1.1.4", "." );
138 if ( !res.getGreatestCommonPrefix().equals( "A.1.1" ) ) {
141 if ( !res.getGreatestCommonPrefixDown().equals( "A.1.1" ) ) {
144 if ( !res.getGreatestCommonPrefixUp().equals( "A.1.1" ) ) {
147 if ( res.getLeastEncompassingCladeSize() != 3 ) {
150 if ( res.getTreeSize() != 25 ) {
153 if ( res.getWarnings().size() != 0 ) {
156 res = AnalysisSingle.execute( p1, "A.1.2.1", "." );
157 if ( !res.getGreatestCommonPrefix().equals( "A" ) ) {
160 if ( !res.getGreatestCommonPrefixDown().equals( "A.1.1" ) ) {
163 if ( !res.getGreatestCommonPrefixUp().equals( "A" ) ) {
166 if ( res.getLeastEncompassingCladeSize() != 17 ) {
169 if ( res.getTreeSize() != 25 ) {
172 if ( res.getWarnings().size() != 0 ) {
175 res = AnalysisSingle.execute( p1, "A.2.1.1", "." );
176 if ( !res.getGreatestCommonPrefix().equals( "A" ) ) {
179 if ( !res.getGreatestCommonPrefixDown().equals( "A.2.1.2" ) ) {
182 if ( !res.getGreatestCommonPrefixUp().equals( "A" ) ) {
185 if ( res.getLeastEncompassingCladeSize() != 17 ) {
188 if ( res.getTreeSize() != 25 ) {
191 if ( res.getWarnings().size() != 0 ) {
194 res = AnalysisSingle.execute( p1, "A.2.1.2", "." );
195 if ( !res.getGreatestCommonPrefix().equals( "A" ) ) {
198 if ( !res.getGreatestCommonPrefixDown().equals( "A.2.1.1" ) ) {
201 if ( !res.getGreatestCommonPrefixUp().equals( "A" ) ) {
204 if ( res.getLeastEncompassingCladeSize() != 17 ) {
207 if ( res.getTreeSize() != 25 ) {
210 if ( res.getWarnings().size() != 0 ) {
213 res = AnalysisSingle.execute( p1, "A.3.1.1", "." );
214 if ( !res.getGreatestCommonPrefix().equals( "A.3" ) ) {
217 if ( !res.getGreatestCommonPrefixDown().equals( "A.3.1.2" ) ) {
220 if ( !res.getGreatestCommonPrefixUp().equals( "A.3.2.1" ) ) {
223 if ( res.getLeastEncompassingCladeSize() != 2 ) {
226 if ( res.getTreeSize() != 25 ) {
229 if ( res.getWarnings().size() != 0 ) {
232 res = AnalysisSingle.execute( p1, "A.3.1.2", "." );
233 if ( !res.getGreatestCommonPrefix().equals( "A.3" ) ) {
236 if ( !res.getGreatestCommonPrefixDown().equals( "A.3.1.1" ) ) {
239 if ( !res.getGreatestCommonPrefixUp().equals( "A.3.2.1" ) ) {
242 if ( res.getLeastEncompassingCladeSize() != 2 ) {
245 if ( res.getTreeSize() != 25 ) {
248 if ( res.getWarnings().size() != 0 ) {
251 res = AnalysisSingle.execute( p1, "A.3.2.1", "." );
252 if ( !res.getGreatestCommonPrefix().equals( "A.3" ) ) {
255 if ( !res.getGreatestCommonPrefixDown().equals( "A.3.1" ) ) {
258 if ( !res.getGreatestCommonPrefixUp().equals( "A.3.3.1" ) ) {
261 if ( res.getLeastEncompassingCladeSize() != 3 ) {
264 if ( res.getTreeSize() != 25 ) {
267 if ( res.getWarnings().size() != 0 ) {
270 res = AnalysisSingle.execute( p1, "A.3.3.1", "." );
271 if ( !res.getGreatestCommonPrefix().equals( "A" ) ) {
274 if ( !res.getGreatestCommonPrefixDown().equals( "A.3" ) ) {
277 if ( !res.getGreatestCommonPrefixUp().equals( "A" ) ) {
280 if ( res.getLeastEncompassingCladeSize() != 10 ) {
283 if ( res.getTreeSize() != 25 ) {
286 if ( res.getWarnings().size() != 0 ) {
289 res = AnalysisSingle.execute( p1, "A.4.1.1", "." );
290 if ( !res.getGreatestCommonPrefix().equals( "A.4.1" ) ) {
293 if ( !res.getGreatestCommonPrefixDown().equals( "A.4.1.1.a" ) ) {
296 if ( !res.getGreatestCommonPrefixUp().equals( "A.4.1.2" ) ) {
299 if ( res.getLeastEncompassingCladeSize() != 3 ) {
302 if ( res.getTreeSize() != 25 ) {
305 if ( res.getWarnings().size() != 0 ) {
308 res = AnalysisSingle.execute( p1, "A.4.1.1.a", "." );
309 if ( !res.getGreatestCommonPrefix().equals( "A.4.1" ) ) {
312 if ( !res.getGreatestCommonPrefixDown().equals( "A.4.1.1" ) ) {
315 if ( !res.getGreatestCommonPrefixUp().equals( "A.4.1.2" ) ) {
318 if ( res.getLeastEncompassingCladeSize() != 3 ) {
321 if ( res.getTreeSize() != 25 ) {
324 if ( res.getWarnings().size() != 0 ) {
327 res = AnalysisSingle.execute( p1, "A.4.1.2", "." );
328 res = AnalysisSingle.execute( p1, "A.4.1.2.a", "." );
329 res = AnalysisSingle.execute( p1, "A.5.1.1", "." );
330 if ( !res.getGreatestCommonPrefix().equals( "A" ) ) {
333 if ( !res.getGreatestCommonPrefixDown().equals( "A.5.1.2" ) ) {
336 if ( !res.getGreatestCommonPrefixUp().equals( "A" ) ) {
339 if ( res.getLeastEncompassingCladeSize() != 10 ) {
342 if ( res.getTreeSize() != 25 ) {
345 if ( res.getWarnings().size() != 0 ) {
348 res = AnalysisSingle.execute( p1, "A.5.1.2", "." );
349 if ( !res.getGreatestCommonPrefix().equals( "A" ) ) {
352 if ( !res.getGreatestCommonPrefixDown().equals( "A.5.1.1" ) ) {
355 if ( !res.getGreatestCommonPrefixUp().equals( "A" ) ) {
358 if ( res.getLeastEncompassingCladeSize() != 10 ) {
361 if ( res.getTreeSize() != 25 ) {
364 if ( res.getWarnings().size() != 0 ) {
367 res = AnalysisSingle.execute( p1, "A.6.3.12", "." );
368 if ( !res.getGreatestCommonPrefix().equals( "A" ) ) {
371 if ( !res.getGreatestCommonPrefixDown().equals( "A" ) ) {
374 if ( !res.getGreatestCommonPrefixUp().equals( "A" ) ) {
377 if ( res.getLeastEncompassingCladeSize() != 17 ) {
380 if ( res.getTreeSize() != 25 ) {
383 if ( res.getWarnings().size() != 0 ) {
386 res = AnalysisSingle.execute( p1, "B.1.1.1", "." );
387 if ( !res.getGreatestCommonPrefix().equals( "" ) ) {
390 if ( !res.getGreatestCommonPrefixDown().equals( "B.1.234.3" ) ) {
393 if ( !res.getGreatestCommonPrefixUp().equals( "" ) ) {
396 if ( res.getLeastEncompassingCladeSize() != 25 ) {
399 if ( res.getTreeSize() != 25 ) {
402 if ( res.getWarnings().size() != 2 ) {
405 res = AnalysisSingle.execute( p1, "B.1.234.3", "." );
406 if ( !res.getGreatestCommonPrefix().equals( "" ) ) {
409 if ( !res.getGreatestCommonPrefixDown().equals( "B.1.1.1" ) ) {
412 if ( !res.getGreatestCommonPrefixUp().equals( "" ) ) {
415 if ( res.getLeastEncompassingCladeSize() != 25 ) {
418 if ( res.getTreeSize() != 25 ) {
421 if ( res.getWarnings().size() != 2 ) {
424 res = AnalysisSingle.execute( p1, "C.1.1.1", "." );
425 if ( !res.getGreatestCommonPrefix().equals( "C.1" ) ) {
428 if ( !res.getGreatestCommonPrefixDown().equals( "C.1.1.2" ) ) {
431 if ( !res.getGreatestCommonPrefixUp().equals( "C.1.2.1" ) ) {
434 if ( res.getLeastEncompassingCladeSize() != 2 ) {
437 if ( res.getTreeSize() != 25 ) {
440 if ( res.getWarnings().size() != 0 ) {
443 res = AnalysisSingle.execute( p1, "C.1.1.2", "." );
444 if ( !res.getGreatestCommonPrefix().equals( "C.1" ) ) {
447 if ( !res.getGreatestCommonPrefixDown().equals( "C.1.1.1" ) ) {
450 if ( !res.getGreatestCommonPrefixUp().equals( "C.1.2.1" ) ) {
453 if ( res.getLeastEncompassingCladeSize() != 2 ) {
456 if ( res.getTreeSize() != 25 ) {
459 if ( res.getWarnings().size() != 0 ) {
462 res = AnalysisSingle.execute( p1, "C.1.2.1", "." );
463 if ( !res.getGreatestCommonPrefix().equals( "C" ) ) {
466 if ( !res.getGreatestCommonPrefixDown().equals( "C.1.1" ) ) {
469 if ( !res.getGreatestCommonPrefixUp().equals( "C.2.1" ) ) {
472 if ( res.getLeastEncompassingCladeSize() != 3 ) {
475 if ( res.getTreeSize() != 25 ) {
478 if ( res.getWarnings().size() != 0 ) {
481 res = AnalysisSingle.execute( p1, "C.2.1", "." );
482 if ( !res.getGreatestCommonPrefix().equals( "C" ) ) {
485 if ( !res.getGreatestCommonPrefixDown().equals( "C.1" ) ) {
488 if ( !res.getGreatestCommonPrefixUp().equals( "C.3" ) ) {
491 if ( res.getLeastEncompassingCladeSize() != 4 ) {
494 if ( res.getTreeSize() != 25 ) {
497 if ( res.getWarnings().size() != 0 ) {
500 res = AnalysisSingle.execute( p1, "C.3", "." );
501 if ( !res.getGreatestCommonPrefix().equals( "" ) ) {
504 if ( !res.getGreatestCommonPrefixDown().equals( "C" ) ) {
507 if ( !res.getGreatestCommonPrefixUp().equals( "QE.1.1.1.2.1" ) ) {
510 if ( res.getLeastEncompassingCladeSize() != 5 ) {
513 if ( res.getTreeSize() != 25 ) {
516 if ( res.getWarnings().size() != 1 ) {
519 res = AnalysisSingle.execute( p1, "QE.1.1.1.2.1", "." );
520 if ( !res.getGreatestCommonPrefix().equals( "" ) ) {
523 if ( !res.getGreatestCommonPrefixDown().equals( "C" ) ) {
526 if ( !res.getGreatestCommonPrefixUp().equals( "" ) ) {
529 if ( res.getLeastEncompassingCladeSize() != 25 ) {
532 if ( res.getTreeSize() != 25 ) {
535 if ( res.getWarnings().size() != 2 ) {
539 catch ( final Exception e ) {
540 e.printStackTrace( System.out );
546 private static boolean testCladeAnalysis2() {
548 final File intreefile1 = new File( PATH_TO_TEST_DATA + "clade_analysis_test_2.xml" );
549 final PhylogenyFactory factory = ParserBasedPhylogenyFactory.getInstance();
550 final PhylogenyParser pp = ParserUtils.createParserDependingOnFileType( intreefile1, true );
551 final Phylogeny p1 = factory.create( intreefile1, pp )[ 0 ];
552 ResultSingle res = AnalysisSingle.execute( p1, "6_DQ278891", null );
553 if ( !res.getGreatestCommonPrefix().equals( "6_" ) ) {
556 if ( !res.getGreatestCommonPrefixDown().equals( "6_DQ278893" ) ) {
559 if ( !res.getGreatestCommonPrefixUp().equals( "6_JX183550" ) ) {
562 if ( res.getLeastEncompassingCladeSize() != 2 ) {
565 if ( res.getTreeSize() != 219 ) {
568 if ( res.getWarnings().size() != 0 ) {
571 res = AnalysisSingle.execute( p1, "6xa_EU408330", null );
572 if ( !res.getGreatestCommonPrefix().equals( "6xa_EU40833" ) ) {
575 if ( !res.getGreatestCommonPrefixDown().equals( "6xa_EU408331" ) ) {
578 if ( !res.getGreatestCommonPrefixUp().equals( "6xa_EU408332" ) ) {
581 if ( res.getLeastEncompassingCladeSize() != 2 ) {
584 if ( res.getTreeSize() != 219 ) {
587 if ( res.getWarnings().size() != 0 ) {
590 res = AnalysisSingle.execute( p1, "7a_EF108306", null );
591 if ( !res.getGreatestCommonPrefix().equals( "" ) ) {
594 if ( !res.getGreatestCommonPrefixDown().equals( "2" ) ) {
597 if ( !res.getGreatestCommonPrefixUp().equals( "" ) ) {
600 if ( res.getLeastEncompassingCladeSize() != 219 ) {
603 if ( res.getTreeSize() != 219 ) {
606 if ( res.getWarnings().size() != 2 ) {
610 catch ( final Exception e ) {
611 e.printStackTrace( System.out );
617 private static boolean testCladeAnalysis3() {
619 final ResultMulti res1 = new ResultMulti();
620 res1.addGreatestCommonPrefix( "A.1.1", 0.3 );
621 res1.addGreatestCommonPrefix( "A.1.2", 0.3 );
622 res1.addGreatestCommonPrefix( "A.1.3", 0.3 );
623 res1.addGreatestCommonPrefix( "B.1", 0.1 );
625 System.out.print( res1.toString() );
626 System.out.println( "------------------------- " );
627 System.out.println();
628 final ResultMulti res2 = new ResultMulti( "." );
629 res2.addGreatestCommonPrefix( "A.1.1.1", 0.1 );
630 res2.addGreatestCommonPrefix( "A.1", 0.7 );
631 res2.addGreatestCommonPrefix( "A.1.2", 0.1 );
632 res2.addGreatestCommonPrefix( "B.1", 0.1 );
634 System.out.print( res2.toString() );
635 System.out.println( "------------------------- " );
636 System.out.println();
637 final ResultMulti res3 = new ResultMulti( "." );
638 res3.addGreatestCommonPrefix( "A.1.1.1", 0.1 );
639 res3.addGreatestCommonPrefix( "A.1.1.1.1", 0.6 );
640 res3.addGreatestCommonPrefix( "A.1", 0.1 );
641 res3.addGreatestCommonPrefix( "A.1.2", 0.1 );
642 res3.addGreatestCommonPrefix( "B.1", 0.1 );
644 System.out.print( res3.toString() );
645 System.out.println( "------------------------- " );
646 System.out.println();
647 final ResultMulti res33 = new ResultMulti( "." );
648 res33.addGreatestCommonPrefix( "A.1.1.1", 0.1 );
649 res33.addGreatestCommonPrefix( "A.1.1.1.1", 0.3 );
650 res33.addGreatestCommonPrefix( "A.1", 0.1 );
651 res33.addGreatestCommonPrefix( "A.1.2", 0.1 );
652 res33.addGreatestCommonPrefix( "B.1", 0.1 );
653 res33.addGreatestCommonPrefix( "B.1.1.1", 0.3 );
654 res33.analyze( 0.3 );
655 System.out.print( res33.toString() );
656 System.out.println( "------------------------- " );
657 System.out.println();
658 final ResultMulti res4 = new ResultMulti();
659 res4.addGreatestCommonPrefix( "A.1.1.1.1", 0.35 );
660 res4.addGreatestCommonPrefix( "A.1.1.1.2", 0.35 );
661 res4.addGreatestCommonPrefix( "A.1", 0.1 );
662 res4.addGreatestCommonPrefix( "A.1.2", 0.1 );
663 res4.addGreatestCommonPrefix( "B.1", 0.1 );
665 System.out.print( res4.toString() );
666 System.out.println( "------------------------- " );
667 System.out.println();
668 final ResultMulti res5 = new ResultMulti();
669 res5.addGreatestCommonPrefix( "A.1.1.1.1", 0.2 );
670 res5.addGreatestCommonPrefix( "C.2.3", 0.2 );
671 res5.addGreatestCommonPrefix( "A.1.5", 0.1 );
672 res5.addGreatestCommonPrefix( "A.3.1.4", 0.2 );
673 res5.addGreatestCommonPrefix( "B.1.1", 0.2 );
674 res5.addGreatestCommonPrefix( "B.1.2", 0.09 );
675 res5.addGreatestCommonPrefix( "D.1.1.1.1", 0.01 );
677 System.out.print( res5.toString() );
678 System.out.println( "------------------------- " );
679 System.out.println();
680 final ResultMulti res6 = new ResultMulti();
681 res6.addGreatestCommonPrefix( "A.1.1.1", 0.05 );
682 res6.addGreatestCommonPrefix( "A.1.1.1.1", 0.65 );
683 res6.addGreatestCommonPrefix( "A.1", 0.1 );
684 res6.addGreatestCommonPrefix( "A.1.2", 0.1 );
685 res6.addGreatestCommonPrefix( "B.1", 0.1 );
687 System.out.print( res6.toString() );
688 System.out.println( "------------------------- " );
689 System.out.println();
690 final ResultMulti res7 = new ResultMulti();
691 res7.addGreatestCommonPrefix( "A.1.1.1", 0.07 );
692 res7.addGreatestCommonPrefix( "A.1.1.1.1", 0.9 );
693 res7.addGreatestCommonPrefix( "A.1", 0.01 );
694 res7.addGreatestCommonPrefix( "A.1.2", 0.01 );
695 res7.addGreatestCommonPrefix( "B.1", 0.01 );
697 System.out.print( res7.toString() );
698 System.out.println( "------------------------- " );
699 System.out.println();
700 final ResultMulti res8 = new ResultMulti( "_/_" );
701 res8.addGreatestCommonPrefix( "AA_/_abc_/_def", 0.07 );
702 res8.addGreatestCommonPrefix( "AA_/_abc_/_sfc", 0.9 );
703 res8.addGreatestCommonPrefix( "AA_/_abc_/_xcd", 0.01 );
704 res8.addGreatestCommonPrefix( "AA_/_abc_/_memr", 0.01 );
705 res8.addGreatestCommonPrefix( "AA_/_abc_/_fkem_/_odem", 0.01 );
707 System.out.print( res8.toString() );
708 System.out.println( "------------------------- " );
709 System.out.println();
710 final ResultMulti res9 = new ResultMulti( "_/_" );
711 res9.addGreatestCommonPrefix( "AA_/_abc_/_def", 0.07 );
712 res9.addGreatestCommonPrefix( "AA_/_abc_/_sfc", 0.6 );
713 res9.addGreatestCommonPrefix( "AA_/_abc_/_xcd", 0.01 );
714 res9.addGreatestCommonPrefix( "AA_/_abc_/_memr", 0.01 );
715 res9.addGreatestCommonPrefix( "AA_/_abc_/_fkem_/_odem", 0.01 );
716 res9.addGreatestCommonPrefix( "BB_/_fke_/_dme_/_nx2", 0.3 );
718 System.out.print( res9.toString() );
719 System.out.println( "------------------------- " );
720 System.out.println();
722 catch ( final Exception e ) {
723 e.printStackTrace( System.out );
729 private static boolean testCladeAnalysis4() {
731 final File intreefile1 = new File( PATH_TO_TEST_DATA + "pplacer_2.tre" );
732 final PhylogenyFactory factory = ParserBasedPhylogenyFactory.getInstance();
733 final PhylogenyParser pp = ParserUtils.createParserDependingOnFileType( intreefile1, true );
734 final Phylogeny p1 = factory.create( intreefile1, pp )[ 0 ];
735 ResultMulti res2 = AnalysisMulti.execute( p1 );
737 System.out.print( res2.toString() );
738 System.out.println( "------------------------- " );
739 System.out.println();
741 catch ( final Exception e ) {
742 e.printStackTrace( System.out );
748 private static boolean testCladeAnalysis5() {
750 final File intreefile1 = new File( PATH_TO_TEST_DATA + "clade_analysis_test_3.xml" );
751 final PhylogenyFactory factory = ParserBasedPhylogenyFactory.getInstance();
752 final PhylogenyParser pp = ParserUtils.createParserDependingOnFileType( intreefile1, true );
753 final Phylogeny p1 = factory.create( intreefile1, pp )[ 0 ];
754 ResultMulti res = AnalysisMulti.execute( p1 );
756 System.out.print( res.toString() );
757 System.out.println( "------------------------- " );
758 System.out.println();
760 catch ( final Exception e ) {
761 e.printStackTrace( System.out );
767 private static boolean testCladeAnalysis6() {
769 final File intreefile1 = new File( PATH_TO_TEST_DATA + "clade_analysis_test_4.xml" );
770 final PhylogenyFactory factory = ParserBasedPhylogenyFactory.getInstance();
771 final PhylogenyParser pp = ParserUtils.createParserDependingOnFileType( intreefile1, true );
772 final Phylogeny p1 = factory.create( intreefile1, pp )[ 0 ];
773 ResultMulti res = AnalysisMulti.execute( p1, 0.45 );
774 System.out.print( res.toString() );
775 System.out.println( "------------------------- " );
776 System.out.println();
778 catch ( final Exception e ) {
779 e.printStackTrace( System.out );