import org.forester.phylogeny.PhylogenyNode;
import org.forester.phylogeny.PhylogenyNode.NH_CONVERSION_SUPPORT_VALUE_STYLE;
import org.forester.phylogeny.data.Accession;
+import org.forester.phylogeny.data.Accession.Source;
import org.forester.phylogeny.data.BinaryCharacters;
import org.forester.phylogeny.data.BranchWidth;
import org.forester.phylogeny.data.Confidence;
@SuppressWarnings( "unused")
public final class Test {
+ private final static boolean PERFORM_DB_TESTS = true;
private final static double ZERO_DIFF = 1.0E-9;
private final static String PATH_TO_TEST_DATA = System.getProperty( "user.dir" )
+ ForesterUtil.getFileSeparator() + "test_data"
System.exit( -1 );
}
final long start_time = new Date().getTime();
+ System.out.print( "Basic node methods: " );
+ if ( Test.testBasicNodeMethods() ) {
+ System.out.println( "OK." );
+ succeeded++;
+ }
+ else {
+ System.out.println( "failed." );
+ failed++;
+ }
System.out.print( "Protein id: " );
if ( !testProteinId() ) {
System.out.println( "failed." );
System.out.println( "failed." );
failed++;
}
- System.out.print( "Hmmscan output parser: " );
- if ( testHmmscanOutputParser() ) {
+ System.out.print( "UniProtKB id extraction: " );
+ if ( Test.testExtractUniProtKbProteinSeqIdentifier() ) {
System.out.println( "OK." );
succeeded++;
}
System.out.println( "failed." );
failed++;
}
- System.out.print( "Basic node methods: " );
- if ( Test.testBasicNodeMethods() ) {
+ System.out.print( "Sequence DB tools 1: " );
+ if ( testSequenceDbWsTools1() ) {
System.out.println( "OK." );
succeeded++;
}
System.out.println( "failed." );
failed++;
}
- System.out.print( "Taxonomy code extraction: " );
- if ( Test.testExtractTaxonomyCodeFromNodeName() ) {
+ if ( PERFORM_DB_TESTS ) {
+ System.out.print( "Sequence DB tools 2: " );
+ if ( testSequenceDbWsTools2() ) {
+ System.out.println( "OK." );
+ succeeded++;
+ }
+ else {
+ System.out.println( "failed." );
+ failed++;
+ System.exit( -1 );
+ }
+ }
+ System.exit( 0 );
+ System.out.print( "Hmmscan output parser: " );
+ if ( testHmmscanOutputParser() ) {
System.out.println( "OK." );
succeeded++;
}
System.out.println( "failed." );
failed++;
}
- System.out.print( "SN extraction: " );
- if ( Test.testExtractSNFromNodeName() ) {
+ System.out.print( "Taxonomy code extraction: " );
+ if ( Test.testExtractTaxonomyCodeFromNodeName() ) {
System.out.println( "OK." );
succeeded++;
}
System.out.println( "failed." );
failed++;
}
- System.out.print( "Taxonomy extraction (general): " );
- if ( Test.testTaxonomyExtraction() ) {
+ System.out.print( "SN extraction: " );
+ if ( Test.testExtractSNFromNodeName() ) {
System.out.println( "OK." );
succeeded++;
}
System.out.println( "failed." );
failed++;
}
- System.out.print( "UniProtKB id extraction: " );
- if ( Test.testExtractUniProtKbProteinSeqIdentifier() ) {
+ System.out.print( "Taxonomy extraction (general): " );
+ if ( Test.testTaxonomyExtraction() ) {
System.out.println( "OK." );
succeeded++;
}
System.out.println( "failed." );
failed++;
}
- System.out.print( "Uniprot Entry Retrieval: " );
- if ( Test.testUniprotEntryRetrieval() ) {
- System.out.println( "OK." );
- succeeded++;
- }
- else {
- System.out.println( "failed." );
- failed++;
- }
- System.out.print( "Uniprot Taxonomy Search: " );
- if ( Test.testUniprotTaxonomySearch() ) {
- System.out.println( "OK." );
- succeeded++;
+ if ( PERFORM_DB_TESTS ) {
+ System.out.print( "Uniprot Entry Retrieval: " );
+ if ( Test.testUniprotEntryRetrieval() ) {
+ System.out.println( "OK." );
+ succeeded++;
+ }
+ else {
+ System.out.println( "failed." );
+ failed++;
+ }
}
- else {
- System.out.println( "failed." );
- failed++;
+ if ( PERFORM_DB_TESTS ) {
+ System.out.print( "Uniprot Taxonomy Search: " );
+ if ( Test.testUniprotTaxonomySearch() ) {
+ System.out.println( "OK." );
+ succeeded++;
+ }
+ else {
+ System.out.println( "failed." );
+ failed++;
+ }
}
//----
String path = "";
return false;
}
n = new PhylogenyNode();
- n.setName( "_ACP19736_" );
+ n.setName( "|ACP19736|" );
if ( !SequenceAccessionTools.obtainGenbankAccessorFromDataFields( n ).equals( "ACP19736" ) ) {
return false;
}
}
return false;
}
- //
- // id = SequenceAccessionTools.parse( "pllf[pok P4A123_osdjfosnqo035-9233332904i000490 vf tmv x45" );
- // if ( ( id == null ) || ForesterUtil.isEmpty( id.getValue() ) || ForesterUtil.isEmpty( id.getSource() )
- // || !id.getValue().equals( "P4A123" ) || !id.getSource().equals( "sp" ) ) {
- // if ( id != null ) {
- // System.out.println( "value =" + id.getValue() );
- // System.out.println( "provider=" + id.getSource() );
- // }
- // return false;
- // }
- //
id = SequenceAccessionTools.parseAccessorFromString( "XP_12345" );
if ( id != null ) {
System.out.println( "value =" + id.getValue() );
System.out.println( "provider=" + id.getSource() );
return false;
}
- // lcl_91970_unknown_
}
catch ( final Exception e ) {
e.printStackTrace( System.out );
return true;
}
+ private static boolean testSequenceDbWsTools1() {
+ try {
+ final PhylogenyNode n = new PhylogenyNode();
+ n.setName( "NP_001025424" );
+ Accession acc = SequenceDbWsTools.obtainSeqAccession( n );
+ if ( ( acc == null ) || !acc.getSource().equals( Source.REFSEQ.toString() )
+ || !acc.getValue().equals( "NP_001025424" ) ) {
+ return false;
+ }
+ n.setName( "340 0559 -- _NP_001025424_dsfdg15 05" );
+ acc = SequenceDbWsTools.obtainSeqAccession( n );
+ if ( ( acc == null ) || !acc.getSource().equals( Source.REFSEQ.toString() )
+ || !acc.getValue().equals( "NP_001025424" ) ) {
+ return false;
+ }
+ n.setName( "NP_001025424.1" );
+ acc = SequenceDbWsTools.obtainSeqAccession( n );
+ if ( ( acc == null ) || !acc.getSource().equals( Source.REFSEQ.toString() )
+ || !acc.getValue().equals( "NP_001025424" ) ) {
+ return false;
+ }
+ n.setName( "NM_001030253" );
+ acc = SequenceDbWsTools.obtainSeqAccession( n );
+ if ( ( acc == null ) || !acc.getSource().equals( Source.REFSEQ.toString() )
+ || !acc.getValue().equals( "NM_001030253" ) ) {
+ return false;
+ }
+ n.setName( "BCL2_HUMAN" );
+ acc = SequenceDbWsTools.obtainSeqAccession( n );
+ if ( ( acc == null ) || !acc.getSource().equals( Source.UNIPROT.toString() )
+ || !acc.getValue().equals( "BCL2_HUMAN" ) ) {
+ System.out.println( acc.toString() );
+ return false;
+ }
+ n.setName( "P10415" );
+ acc = SequenceDbWsTools.obtainSeqAccession( n );
+ if ( ( acc == null ) || !acc.getSource().equals( Source.UNIPROT.toString() )
+ || !acc.getValue().equals( "P10415" ) ) {
+ System.out.println( acc.toString() );
+ return false;
+ }
+ n.setName( " P10415 " );
+ acc = SequenceDbWsTools.obtainSeqAccession( n );
+ if ( ( acc == null ) || !acc.getSource().equals( Source.UNIPROT.toString() )
+ || !acc.getValue().equals( "P10415" ) ) {
+ System.out.println( acc.toString() );
+ return false;
+ }
+ n.setName( "_P10415|" );
+ acc = SequenceDbWsTools.obtainSeqAccession( n );
+ if ( ( acc == null ) || !acc.getSource().equals( Source.UNIPROT.toString() )
+ || !acc.getValue().equals( "P10415" ) ) {
+ System.out.println( acc.toString() );
+ return false;
+ }
+ n.setName( "AY695820" );
+ acc = SequenceDbWsTools.obtainSeqAccession( n );
+ if ( ( acc == null ) || !acc.getSource().equals( Source.NCBI.toString() )
+ || !acc.getValue().equals( "AY695820" ) ) {
+ System.out.println( acc.toString() );
+ return false;
+ }
+ n.setName( "_AY695820_" );
+ acc = SequenceDbWsTools.obtainSeqAccession( n );
+ if ( ( acc == null ) || !acc.getSource().equals( Source.NCBI.toString() )
+ || !acc.getValue().equals( "AY695820" ) ) {
+ System.out.println( acc.toString() );
+ return false;
+ }
+ n.setName( "AAA59452" );
+ acc = SequenceDbWsTools.obtainSeqAccession( n );
+ if ( ( acc == null ) || !acc.getSource().equals( Source.NCBI.toString() )
+ || !acc.getValue().equals( "AAA59452" ) ) {
+ System.out.println( acc.toString() );
+ return false;
+ }
+ n.setName( "_AAA59452_" );
+ acc = SequenceDbWsTools.obtainSeqAccession( n );
+ if ( ( acc == null ) || !acc.getSource().equals( Source.NCBI.toString() )
+ || !acc.getValue().equals( "AAA59452" ) ) {
+ System.out.println( acc.toString() );
+ return false;
+ }
+ n.setName( "AAA59452.1" );
+ acc = SequenceDbWsTools.obtainSeqAccession( n );
+ if ( ( acc == null ) || !acc.getSource().equals( Source.NCBI.toString() )
+ || !acc.getValue().equals( "AAA59452.1" ) ) {
+ System.out.println( acc.toString() );
+ return false;
+ }
+ n.setName( "_AAA59452.1_" );
+ acc = SequenceDbWsTools.obtainSeqAccession( n );
+ if ( ( acc == null ) || !acc.getSource().equals( Source.NCBI.toString() )
+ || !acc.getValue().equals( "AAA59452.1" ) ) {
+ System.out.println( acc.toString() );
+ return false;
+ }
+ n.setName( "GI:94894583" );
+ acc = SequenceDbWsTools.obtainSeqAccession( n );
+ if ( ( acc == null ) || !acc.getSource().equals( Source.GI.toString() )
+ || !acc.getValue().equals( "94894583" ) ) {
+ System.out.println( acc.toString() );
+ return false;
+ }
+ }
+ catch ( final Exception e ) {
+ return false;
+ }
+ return true;
+ }
+
+ private static boolean testSequenceDbWsTools2() {
+ try {
+ final PhylogenyNode n1 = new PhylogenyNode( "NP_001025424" );
+ SequenceDbWsTools.obtainSeqInformation( n1 );
+ if ( !n1.getNodeData().getSequence().getName().equals( "Bcl2" ) ) {
+ return false;
+ }
+ if ( !n1.getNodeData().getTaxonomy().getScientificName().equals( "Danio rerio" ) ) {
+ return false;
+ }
+ if ( !n1.getNodeData().getSequence().getAccession().getSource().equals( Source.REFSEQ.toString() ) ) {
+ return false;
+ }
+ if ( !n1.getNodeData().getSequence().getAccession().getValue().equals( "NP_001025424" ) ) {
+ return false;
+ }
+ final PhylogenyNode n2 = new PhylogenyNode( "NM_001030253" );
+ SequenceDbWsTools.obtainSeqInformation( n2 );
+ System.out.println( n2.toString() );
+ if ( !n2.getNodeData().getSequence().getName()
+ .equals( "Danio rerio B-cell leukemia/lymphoma 2 (bcl2), mRNA" ) ) {
+ return false;
+ }
+ if ( !n2.getNodeData().getTaxonomy().getScientificName().equals( "Danio rerio" ) ) {
+ return false;
+ }
+ if ( !n2.getNodeData().getSequence().getAccession().getSource().equals( Source.REFSEQ.toString() ) ) {
+ return false;
+ }
+ if ( !n2.getNodeData().getSequence().getAccession().getValue().equals( "NM_001030253" ) ) {
+ return false;
+ }
+ final PhylogenyNode n3 = new PhylogenyNode( "NM_184234.2" );
+ SequenceDbWsTools.obtainSeqInformation( n3 );
+ System.out.println( "n=" + n3.toString() );
+ if ( !n3.getNodeData().getSequence().getName()
+ .equals( "Homo sapiens RNA binding motif protein 39 (RBM39), transcript variant 1, mRNA" ) ) {
+ return false;
+ }
+ if ( !n3.getNodeData().getTaxonomy().getScientificName().equals( "Homo sapiens" ) ) {
+ return false;
+ }
+ if ( !n3.getNodeData().getSequence().getAccession().getSource().equals( Source.REFSEQ.toString() ) ) {
+ return false;
+ }
+ if ( !n3.getNodeData().getSequence().getAccession().getValue().equals( "NM_184234" ) ) {
+ return false;
+ }
+ }
+ catch ( final IOException e ) {
+ System.out.println();
+ System.out.println( "the following might be due to absence internet connection:" );
+ e.printStackTrace( System.out );
+ return true;
+ }
+ catch ( final Exception e ) {
+ e.printStackTrace();
+ return false;
+ }
+ return true;
+ }
+
private static boolean testUniprotEntryRetrieval() {
try {
final SequenceDatabaseEntry entry = SequenceDbWsTools.obtainUniProtEntry( "P12345", 200 );