inprogress
[jalview.git] / forester / java / src / org / forester / test / Test.java
index d397f77..ca8df7e 100644 (file)
@@ -37,6 +37,7 @@ import java.util.List;
 import java.util.Locale;
 import java.util.Set;
 import java.util.SortedSet;
+import java.util.TreeSet;
 
 import org.forester.application.support_transfer;
 import org.forester.archaeopteryx.TreePanelUtil;
@@ -71,6 +72,7 @@ import org.forester.phylogeny.PhylogenyMethods;
 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;
@@ -172,6 +174,15 @@ public final class Test {
             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." );
@@ -226,8 +237,8 @@ public final class Test {
             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++;
         }
@@ -235,8 +246,8 @@ public final class Test {
             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++;
         }
@@ -244,17 +255,19 @@ public final class Test {
             System.out.println( "failed." );
             failed++;
         }
-        System.out.print( "Taxonomy code extraction: " );
-        if ( Test.testExtractTaxonomyCodeFromNodeName() ) {
+        System.out.print( "Sequence DB tools 2: " );
+        if ( testSequenceDbWsTools2() ) {
             System.out.println( "OK." );
             succeeded++;
         }
         else {
             System.out.println( "failed." );
             failed++;
+            System.exit( -1 );
         }
-        System.out.print( "SN extraction: " );
-        if ( Test.testExtractSNFromNodeName() ) {
+        System.exit( 0 );
+        System.out.print( "Hmmscan output parser: " );
+        if ( testHmmscanOutputParser() ) {
             System.out.println( "OK." );
             succeeded++;
         }
@@ -262,8 +275,8 @@ public final class Test {
             System.out.println( "failed." );
             failed++;
         }
-        System.out.print( "Taxonomy extraction (general): " );
-        if ( Test.testTaxonomyExtraction() ) {
+        System.out.print( "Taxonomy code extraction: " );
+        if ( Test.testExtractTaxonomyCodeFromNodeName() ) {
             System.out.println( "OK." );
             succeeded++;
         }
@@ -271,8 +284,17 @@ public final class Test {
             System.out.println( "failed." );
             failed++;
         }
-        System.out.print( "UniProtKB id extraction: " );
-        if ( Test.testExtractUniProtKbProteinSeqIdentifier() ) {
+        System.out.print( "SN extraction: " );
+        if ( Test.testExtractSNFromNodeName() ) {
+            System.out.println( "OK." );
+            succeeded++;
+        }
+        else {
+            System.out.println( "failed." );
+            failed++;
+        }
+        System.out.print( "Taxonomy extraction (general): " );
+        if ( Test.testTaxonomyExtraction() ) {
             System.out.println( "OK." );
             succeeded++;
         }
@@ -3339,46 +3361,46 @@ public final class Test {
         //Nucleotide: 1 letter + 5 numerals OR 2 letters + 6 numerals
         //Protein:    3 letters + 5 numerals
         //http://www.ncbi.nlm.nih.gov/Sequin/acc.html
-        if ( !SequenceAccessionTools.parseGenbankAccessor( "AY423861" ).equals( "AY423861" ) ) {
+        if ( !SequenceAccessionTools.parseGenbankAccessorFromString( "AY423861" ).equals( "AY423861" ) ) {
             return false;
         }
-        if ( !SequenceAccessionTools.parseGenbankAccessor( ".AY423861.2" ).equals( "AY423861.2" ) ) {
+        if ( !SequenceAccessionTools.parseGenbankAccessorFromString( ".AY423861.2" ).equals( "AY423861.2" ) ) {
             return false;
         }
-        if ( !SequenceAccessionTools.parseGenbankAccessor( "345_.AY423861.24_345" ).equals( "AY423861.24" ) ) {
+        if ( !SequenceAccessionTools.parseGenbankAccessorFromString( "345_.AY423861.24_345" ).equals( "AY423861.24" ) ) {
             return false;
         }
-        if ( SequenceAccessionTools.parseGenbankAccessor( "AAY423861" ) != null ) {
+        if ( SequenceAccessionTools.parseGenbankAccessorFromString( "AAY423861" ) != null ) {
             return false;
         }
-        if ( SequenceAccessionTools.parseGenbankAccessor( "AY4238612" ) != null ) {
+        if ( SequenceAccessionTools.parseGenbankAccessorFromString( "AY4238612" ) != null ) {
             return false;
         }
-        if ( SequenceAccessionTools.parseGenbankAccessor( "AAY4238612" ) != null ) {
+        if ( SequenceAccessionTools.parseGenbankAccessorFromString( "AAY4238612" ) != null ) {
             return false;
         }
-        if ( SequenceAccessionTools.parseGenbankAccessor( "Y423861" ) != null ) {
+        if ( SequenceAccessionTools.parseGenbankAccessorFromString( "Y423861" ) != null ) {
             return false;
         }
-        if ( !SequenceAccessionTools.parseGenbankAccessor( "S12345" ).equals( "S12345" ) ) {
+        if ( !SequenceAccessionTools.parseGenbankAccessorFromString( "S12345" ).equals( "S12345" ) ) {
             return false;
         }
-        if ( !SequenceAccessionTools.parseGenbankAccessor( "|S12345|" ).equals( "S12345" ) ) {
+        if ( !SequenceAccessionTools.parseGenbankAccessorFromString( "|S12345|" ).equals( "S12345" ) ) {
             return false;
         }
-        if ( SequenceAccessionTools.parseGenbankAccessor( "|S123456" ) != null ) {
+        if ( SequenceAccessionTools.parseGenbankAccessorFromString( "|S123456" ) != null ) {
             return false;
         }
-        if ( SequenceAccessionTools.parseGenbankAccessor( "ABC123456" ) != null ) {
+        if ( SequenceAccessionTools.parseGenbankAccessorFromString( "ABC123456" ) != null ) {
             return false;
         }
-        if ( !SequenceAccessionTools.parseGenbankAccessor( "ABC12345" ).equals( "ABC12345" ) ) {
+        if ( !SequenceAccessionTools.parseGenbankAccessorFromString( "ABC12345" ).equals( "ABC12345" ) ) {
             return false;
         }
-        if ( !SequenceAccessionTools.parseGenbankAccessor( "&ABC12345&" ).equals( "ABC12345" ) ) {
+        if ( !SequenceAccessionTools.parseGenbankAccessorFromString( "&ABC12345&" ).equals( "ABC12345" ) ) {
             return false;
         }
-        if ( SequenceAccessionTools.parseGenbankAccessor( "ABCD12345" ) != null ) {
+        if ( SequenceAccessionTools.parseGenbankAccessorFromString( "ABCD12345" ) != null ) {
             return false;
         }
         return true;
@@ -3672,166 +3694,166 @@ public final class Test {
         try {
             PhylogenyNode n = new PhylogenyNode();
             n.setName( "tr|B3RJ64" );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "B3RJ64" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "B3RJ64" ) ) {
                 return false;
             }
             n.setName( "tr.B3RJ64" );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "B3RJ64" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "B3RJ64" ) ) {
                 return false;
             }
             n.setName( "tr=B3RJ64" );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "B3RJ64" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "B3RJ64" ) ) {
                 return false;
             }
             n.setName( "tr-B3RJ64" );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "B3RJ64" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "B3RJ64" ) ) {
                 return false;
             }
             n.setName( "tr/B3RJ64" );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "B3RJ64" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "B3RJ64" ) ) {
                 return false;
             }
             n.setName( "tr\\B3RJ64" );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "B3RJ64" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "B3RJ64" ) ) {
                 return false;
             }
             n.setName( "tr_B3RJ64" );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "B3RJ64" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "B3RJ64" ) ) {
                 return false;
             }
             n.setName( " tr|B3RJ64 " );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "B3RJ64" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "B3RJ64" ) ) {
                 return false;
             }
             n.setName( "-tr|B3RJ64-" );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "B3RJ64" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "B3RJ64" ) ) {
                 return false;
             }
             n.setName( "-tr=B3RJ64-" );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "B3RJ64" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "B3RJ64" ) ) {
                 return false;
             }
             n.setName( "_tr=B3RJ64_" );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "B3RJ64" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "B3RJ64" ) ) {
                 return false;
             }
             n.setName( " tr_tr|B3RJ64_sp|123 " );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "B3RJ64" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "B3RJ64" ) ) {
                 return false;
             }
             n.setName( "B3RJ64" );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "B3RJ64" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "B3RJ64" ) ) {
                 return false;
             }
             n.setName( "sp|B3RJ64" );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "B3RJ64" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "B3RJ64" ) ) {
                 return false;
             }
             n.setName( "sp|B3RJ64C" );
-            if ( SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ) != null ) {
+            if ( SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ) != null ) {
                 return false;
             }
             n.setName( "sp B3RJ64" );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "B3RJ64" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "B3RJ64" ) ) {
                 return false;
             }
             n.setName( "sp|B3RJ6X" );
-            if ( SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ) != null ) {
+            if ( SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ) != null ) {
                 return false;
             }
             n.setName( "sp|B3RJ6" );
-            if ( SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ) != null ) {
+            if ( SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ) != null ) {
                 return false;
             }
             n.setName( "K1PYK7_CRAGI" );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "K1PYK7_CRAGI" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "K1PYK7_CRAGI" ) ) {
                 return false;
             }
             n.setName( "K1PYK7_PEA" );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "K1PYK7_PEA" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "K1PYK7_PEA" ) ) {
                 return false;
             }
             n.setName( "K1PYK7_RAT" );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "K1PYK7_RAT" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "K1PYK7_RAT" ) ) {
                 return false;
             }
             n.setName( "K1PYK7_PIG" );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "K1PYK7_PIG" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "K1PYK7_PIG" ) ) {
                 return false;
             }
             n.setName( "~K1PYK7_PIG~" );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "K1PYK7_PIG" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "K1PYK7_PIG" ) ) {
                 return false;
             }
             n.setName( "123456_ECOLI-K1PYK7_CRAGI-sp" );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "K1PYK7_CRAGI" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "K1PYK7_CRAGI" ) ) {
                 return false;
             }
             n.setName( "K1PYKX_CRAGI" );
-            if ( SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ) != null ) {
+            if ( SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ) != null ) {
                 return false;
             }
             n.setName( "XXXXX_CRAGI" );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "XXXXX_CRAGI" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "XXXXX_CRAGI" ) ) {
                 return false;
             }
             n.setName( "tr|H3IB65|H3IB65_STRPU~2-2" );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "H3IB65" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "H3IB65" ) ) {
                 return false;
             }
             n.setName( "jgi|Lacbi2|181470|Lacbi1.estExt_GeneWisePlus_human.C_10729~2-3" );
-            if ( SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ) != null ) {
+            if ( SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ) != null ) {
                 return false;
             }
             n.setName( "sp|Q86U06|RBM23_HUMAN~2-2" );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "Q86U06" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "Q86U06" ) ) {
                 return false;
             }
             n = new PhylogenyNode();
             org.forester.phylogeny.data.Sequence seq = new org.forester.phylogeny.data.Sequence();
             seq.setSymbol( "K1PYK7_CRAGI" );
             n.getNodeData().addSequence( seq );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "K1PYK7_CRAGI" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "K1PYK7_CRAGI" ) ) {
                 return false;
             }
             seq.setSymbol( "tr|B3RJ64" );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "B3RJ64" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "B3RJ64" ) ) {
                 return false;
             }
             n = new PhylogenyNode();
             seq = new org.forester.phylogeny.data.Sequence();
             seq.setName( "K1PYK7_CRAGI" );
             n.getNodeData().addSequence( seq );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "K1PYK7_CRAGI" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "K1PYK7_CRAGI" ) ) {
                 return false;
             }
             seq.setName( "tr|B3RJ64" );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "B3RJ64" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "B3RJ64" ) ) {
                 return false;
             }
             n = new PhylogenyNode();
             seq = new org.forester.phylogeny.data.Sequence();
             seq.setAccession( new Accession( "K1PYK8_CRAGI", "?" ) );
             n.getNodeData().addSequence( seq );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "K1PYK8_CRAGI" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "K1PYK8_CRAGI" ) ) {
                 return false;
             }
             n = new PhylogenyNode();
             seq = new org.forester.phylogeny.data.Sequence();
             seq.setAccession( new Accession( "tr|B3RJ64", "?" ) );
             n.getNodeData().addSequence( seq );
-            if ( !SequenceAccessionTools.extractUniProtKbProteinSeqIdentifier( n ).equals( "B3RJ64" ) ) {
+            if ( !SequenceAccessionTools.obtainUniProtAccessorFromDataFields( n ).equals( "B3RJ64" ) ) {
                 return false;
             }
             //
             n = new PhylogenyNode();
             n.setName( "ACP19736" );
-            if ( !SequenceAccessionTools.extractGenbankAccessor( n ).equals( "ACP19736" ) ) {
+            if ( !SequenceAccessionTools.obtainGenbankAccessorFromDataFields( n ).equals( "ACP19736" ) ) {
                 return false;
             }
             n = new PhylogenyNode();
-            n.setName( "_ACP19736_" );
-            if ( !SequenceAccessionTools.extractGenbankAccessor( n ).equals( "ACP19736" ) ) {
+            n.setName( "|ACP19736|" );
+            if ( !SequenceAccessionTools.obtainGenbankAccessorFromDataFields( n ).equals( "ACP19736" ) ) {
                 return false;
             }
         }
@@ -9630,7 +9652,7 @@ public final class Test {
 
     private static boolean testSequenceIdParsing() {
         try {
-            Accession id = SequenceAccessionTools.parse( "gb_ADF31344_segmented_worms_" );
+            Accession id = SequenceAccessionTools.parseAccessorFromString( "gb_ADF31344_segmented_worms_" );
             if ( ( id == null ) || ForesterUtil.isEmpty( id.getValue() ) || ForesterUtil.isEmpty( id.getSource() )
                     || !id.getValue().equals( "ADF31344" ) || !id.getSource().equals( "ncbi" ) ) {
                 if ( id != null ) {
@@ -9640,7 +9662,7 @@ public final class Test {
                 return false;
             }
             //
-            id = SequenceAccessionTools.parse( "segmented worms|gb_ADF31344" );
+            id = SequenceAccessionTools.parseAccessorFromString( "segmented worms|gb_ADF31344" );
             if ( ( id == null ) || ForesterUtil.isEmpty( id.getValue() ) || ForesterUtil.isEmpty( id.getSource() )
                     || !id.getValue().equals( "ADF31344" ) || !id.getSource().equals( "ncbi" ) ) {
                 if ( id != null ) {
@@ -9650,7 +9672,7 @@ public final class Test {
                 return false;
             }
             //
-            id = SequenceAccessionTools.parse( "segmented worms gb_ADF31344 and more" );
+            id = SequenceAccessionTools.parseAccessorFromString( "segmented worms gb_ADF31344 and more" );
             if ( ( id == null ) || ForesterUtil.isEmpty( id.getValue() ) || ForesterUtil.isEmpty( id.getSource() )
                     || !id.getValue().equals( "ADF31344" ) || !id.getSource().equals( "ncbi" ) ) {
                 if ( id != null ) {
@@ -9660,7 +9682,7 @@ public final class Test {
                 return false;
             }
             // 
-            id = SequenceAccessionTools.parse( "gb_AAA96518_1" );
+            id = SequenceAccessionTools.parseAccessorFromString( "gb_AAA96518_1" );
             if ( ( id == null ) || ForesterUtil.isEmpty( id.getValue() ) || ForesterUtil.isEmpty( id.getSource() )
                     || !id.getValue().equals( "AAA96518" ) || !id.getSource().equals( "ncbi" ) ) {
                 if ( id != null ) {
@@ -9670,7 +9692,7 @@ public final class Test {
                 return false;
             }
             // 
-            id = SequenceAccessionTools.parse( "gb_EHB07727_1_rodents_" );
+            id = SequenceAccessionTools.parseAccessorFromString( "gb_EHB07727_1_rodents_" );
             if ( ( id == null ) || ForesterUtil.isEmpty( id.getValue() ) || ForesterUtil.isEmpty( id.getSource() )
                     || !id.getValue().equals( "EHB07727" ) || !id.getSource().equals( "ncbi" ) ) {
                 if ( id != null ) {
@@ -9680,7 +9702,7 @@ public final class Test {
                 return false;
             }
             // 
-            id = SequenceAccessionTools.parse( "dbj_BAF37827_1_turtles_" );
+            id = SequenceAccessionTools.parseAccessorFromString( "dbj_BAF37827_1_turtles_" );
             if ( ( id == null ) || ForesterUtil.isEmpty( id.getValue() ) || ForesterUtil.isEmpty( id.getSource() )
                     || !id.getValue().equals( "BAF37827" ) || !id.getSource().equals( "ncbi" ) ) {
                 if ( id != null ) {
@@ -9690,7 +9712,7 @@ public final class Test {
                 return false;
             }
             // 
-            id = SequenceAccessionTools.parse( "emb_CAA73223_1_primates_" );
+            id = SequenceAccessionTools.parseAccessorFromString( "emb_CAA73223_1_primates_" );
             if ( ( id == null ) || ForesterUtil.isEmpty( id.getValue() ) || ForesterUtil.isEmpty( id.getSource() )
                     || !id.getValue().equals( "CAA73223" ) || !id.getSource().equals( "ncbi" ) ) {
                 if ( id != null ) {
@@ -9700,7 +9722,7 @@ public final class Test {
                 return false;
             }
             // 
-            id = SequenceAccessionTools.parse( "mites|ref_XP_002434188_1" );
+            id = SequenceAccessionTools.parseAccessorFromString( "mites|ref_XP_002434188_1" );
             if ( ( id == null ) || ForesterUtil.isEmpty( id.getValue() ) || ForesterUtil.isEmpty( id.getSource() )
                     || !id.getValue().equals( "XP_002434188" ) || !id.getSource().equals( "refseq" ) ) {
                 if ( id != null ) {
@@ -9710,7 +9732,7 @@ public final class Test {
                 return false;
             }
             // 
-            id = SequenceAccessionTools.parse( "mites_ref_XP_002434188_1_bla_XP_12345" );
+            id = SequenceAccessionTools.parseAccessorFromString( "mites_ref_XP_002434188_1_bla_XP_12345" );
             if ( ( id == null ) || ForesterUtil.isEmpty( id.getValue() ) || ForesterUtil.isEmpty( id.getSource() )
                     || !id.getValue().equals( "XP_002434188" ) || !id.getSource().equals( "refseq" ) ) {
                 if ( id != null ) {
@@ -9720,7 +9742,7 @@ public final class Test {
                 return false;
             }
             // 
-            id = SequenceAccessionTools.parse( "P4A123" );
+            id = SequenceAccessionTools.parseAccessorFromString( "P4A123" );
             if ( ( id == null ) || ForesterUtil.isEmpty( id.getValue() ) || ForesterUtil.isEmpty( id.getSource() )
                     || !id.getValue().equals( "P4A123" ) || !id.getSource().equals( "uniprot" ) ) {
                 if ( id != null ) {
@@ -9729,24 +9751,12 @@ public final class Test {
                 }
                 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.parse( "XP_12345" );
+            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 );
@@ -10849,6 +10859,157 @@ public final class Test {
         return true;
     }
 
+    private static boolean testSequenceDbWsTools1() {
+        try {
+            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 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 ) {
+            return false;
+        }
+        return true;
+    }
+
+    private static boolean testSequenceDbWsTools2() {
+        try {
+            PhylogenyNode n1 = new PhylogenyNode();
+            n1.setName( "NP_001025424" );
+            SequenceDbWsTools.obtainSeqInformation( false, 4000, new TreeSet<String>(), n1 );
+            if ( !n1.getNodeData().getSequence().getName().equals( "Bcl2" ) ) {
+                return false;
+            }
+            if ( !n1.getNodeData().getTaxonomy().getScientificName().equals( "Danio rerio" ) ) {
+                return false;
+            }
+            PhylogenyNode n2 = new PhylogenyNode();
+            n2.setName( "NM_001030253" );
+            SequenceDbWsTools.obtainSeqInformation( false, 4000, new TreeSet<String>(), 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;
+            }
+        }
+        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 ) {
+            return false;
+        }
+        return true;
+    }
+
     private static boolean testUniprotEntryRetrieval() {
         try {
             final SequenceDatabaseEntry entry = SequenceDbWsTools.obtainUniProtEntry( "P12345", 200 );