// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
//
// Contact: phylosoft @ gmail . com
-// WWW: www.phylosoft.org/forester
+// WWW: https://sites.google.com/site/cmzmasek/home/software/forester
package org.forester.sdi;
private final static String PATH_TO_TEST_DATA = System.getProperty( "user.dir" ) + ForesterUtil.getFileSeparator()
+ "test_data" + ForesterUtil.getFileSeparator();
- private final static Phylogeny createPhylogeny( final String nhx ) throws IOException {
- final Phylogeny p = ParserBasedPhylogenyFactory.getInstance().create( nhx, new NHXParser() )[ 0 ];
- p.setRooted( true );
- return p;
- }
-
- private final static Event getEvent( final Phylogeny p, final String n1, final String n2 ) {
- return PhylogenyMethods.calculateLCA( p.getNode( n1 ), p.getNode( n2 ) ).getNodeData().getEvent();
+ public static void main( final String[] args ) {
+ if ( !TestGSDI.testGSDI_against_binary_gene_tree() ) {
+ System.out.println( "binary failed" );
+ }
+ if ( !TestGSDI.testGSDI_general() ) {
+ System.out.println( "general failed" );
+ }
+ if ( !TestGSDI.testGSDIR_general() ) {
+ System.out.println( "general re-rooting failed" );
+ }
+ else {
+ System.out.println( "OK" );
+ }
}
public static boolean test() {
return true;
}
+ private final static Phylogeny createPhylogeny( final String nhx ) throws IOException {
+ final Phylogeny p = ParserBasedPhylogenyFactory.getInstance().create( nhx, new NHXParser() )[ 0 ];
+ p.setRooted( true );
+ return p;
+ }
+
+ private final static Event getEvent( final Phylogeny p, final String n1, final String n2 ) {
+ return PhylogenyMethods.calculateLCA( p.getNode( n1 ), p.getNode( n2 ) ).getNodeData().getEvent();
+ }
+
private static boolean testGSDI_against_binary_gene_tree() {
try {
+ final PhylogenyFactory factory0 = ParserBasedPhylogenyFactory.getInstance();
+ final String s0 = "([&&NHX:S=1]);";
+ final String gene_0_str = "([&&NHX:S=1],[&&NHX:S=1]);";
+ final Phylogeny s_0 = factory0.create( s0, new NHXParser() )[ 0 ];
+ final Phylogeny gene_0 = factory0.create( gene_0_str, new NHXParser() )[ 0 ];
+ s_0.setRooted( true );
+ gene_0.setRooted( true );
+ final GSDI sdi0 = new GSDI( gene_0, s_0, false, false, false );
+ if ( sdi0.getSpeciationOrDuplicationEventsSum() != 0 ) {
+ return false;
+ }
+ if ( sdi0.getDuplicationsSum() != 1 ) {
+ return false;
+ }
+ if ( sdi0.getSpeciationsSum() != 0 ) {
+ return false;
+ }
final PhylogenyFactory factory = ParserBasedPhylogenyFactory.getInstance();
final String multi_species_2_str = "(((((([&&NHX:S=1],[&&NHX:S=2]),"
+ "([&&NHX:S=3],[&&NHX:S=4],[&&NHX:S=5])),"
private static boolean testGSDIR_general() {
try {
+ final PhylogenyFactory factory0 = ParserBasedPhylogenyFactory.getInstance();
+ final String s0 = "([&&NHX:S=1]);";
+ final String gene_0_str = "([&&NHX:S=1],[&&NHX:S=1]);";
+ final Phylogeny s_0 = factory0.create( s0, new NHXParser() )[ 0 ];
+ final Phylogeny gene_0 = factory0.create( gene_0_str, new NHXParser() )[ 0 ];
+ s_0.setRooted( true );
+ gene_0.setRooted( true );
+ final GSDIR sdi0 = new GSDIR( gene_0, s_0, true, true );
+ if ( sdi0.getSpeciationsSum() != 0 ) {
+ return false;
+ }
+ if ( sdi0.getMinDuplicationsSum() != 1 ) {
+ return false;
+ }
+ //
+ final PhylogenyFactory factory00 = ParserBasedPhylogenyFactory.getInstance();
+ final String s00 = "[&&NHX:S=1];";
+ final String gene_00_str = "([&&NHX:S=1],[&&NHX:S=1]);";
+ final Phylogeny s_00 = factory00.create( s00, new NHXParser() )[ 0 ];
+ final Phylogeny gene_00 = factory00.create( gene_00_str, new NHXParser() )[ 0 ];
+ s_00.setRooted( true );
+ gene_00.setRooted( true );
+ final GSDIR sdi00 = new GSDIR( gene_00, s_00, true, true );
+ if ( sdi00.getSpeciationsSum() != 0 ) {
+ return false;
+ }
+ if ( sdi00.getMinDuplicationsSum() != 1 ) {
+ return false;
+ }
+ //
final String s1str = "(((([&&NHX:S=HUMAN],([&&NHX:S=MOUSE],[&&NHX:S=RAT])),([&&NHX:S=CAEEL],[&&NHX:S=CAEBR])),[&&NHX:S=YEAST]),[&&NHX:S=ARATH])";
final Phylogeny s1 = ParserBasedPhylogenyFactory.getInstance().create( s1str, new NHXParser() )[ 0 ];
s1.setRooted( true );
}
return true;
}
-
- public static void main( final String[] args ) {
- if ( !TestGSDI.testGSDI_against_binary_gene_tree() ) {
- System.out.println( "binary failed" );
- }
- if ( !TestGSDI.testGSDI_general() ) {
- System.out.println( "general failed" );
- }
- if ( !TestGSDI.testGSDIR_general() ) {
- System.out.println( "general re-rooting failed" );
- }
- else {
- System.out.println( "OK" );
- }
- // boolean success = test();
- // if ( success ) {
- // System.out.println( "OK" );
- // }
- // else {
- // System.out.println( "failed" );
- // }
- }
}