X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Fanalysis%2FTaxonomyDataManager.java;h=8f9dcc4c5e02073c67570ae21bc9b29ad835f948;hb=9794a064aff842558c2afd65c884127f33b2fd5e;hp=c2c625bdb16301d8dfc4c9cbc737b1ec8ec8a2a9;hpb=93c7a1d425a2f02d908f3ded4aacef8f8f34b748;p=jalview.git diff --git a/forester/java/src/org/forester/analysis/TaxonomyDataManager.java b/forester/java/src/org/forester/analysis/TaxonomyDataManager.java index c2c625b..8f9dcc4 100644 --- a/forester/java/src/org/forester/analysis/TaxonomyDataManager.java +++ b/forester/java/src/org/forester/analysis/TaxonomyDataManager.java @@ -38,6 +38,7 @@ import javax.swing.JOptionPane; import org.forester.archaeopteryx.MainFrameApplication; import org.forester.archaeopteryx.TreePanel; +import org.forester.archaeopteryx.tools.AncestralTaxonomyInferrer; import org.forester.archaeopteryx.tools.RunnableProcess; import org.forester.io.parsers.phyloxml.PhyloXmlDataFormatException; import org.forester.phylogeny.Phylogeny; @@ -46,8 +47,8 @@ import org.forester.phylogeny.data.Identifier; import org.forester.phylogeny.data.Taxonomy; import org.forester.phylogeny.iterators.PhylogenyNodeIterator; import org.forester.util.ForesterUtil; -import org.forester.ws.uniprot.UniProtTaxonomy; -import org.forester.ws.uniprot.UniProtWsTools; +import org.forester.ws.seqdb.SequenceDbWsTools; +import org.forester.ws.seqdb.UniProtTaxonomy; public final class TaxonomyDataManager extends RunnableProcess { @@ -126,8 +127,8 @@ public final class TaxonomyDataManager extends RunnableProcess { } private final static UniProtTaxonomy obtainTaxonomy( final HashMap cache, - final Object query, - final QUERY_TYPE qt ) throws IOException, + final Object query, + final QUERY_TYPE qt ) throws IOException, AncestralTaxonomyInferenceException { if ( cache.containsKey( query ) ) { return cache.get( query ).copy(); @@ -175,19 +176,19 @@ public final class TaxonomyDataManager extends RunnableProcess { } private final static List getTaxonomiesFromCommonName( final String query ) throws IOException { - return UniProtWsTools.getTaxonomiesFromCommonNameStrict( query, MAX_TAXONOMIES_TO_RETURN ); + return SequenceDbWsTools.getTaxonomiesFromCommonNameStrict( query, MAX_TAXONOMIES_TO_RETURN ); } private final static List getTaxonomiesFromId( final String query ) throws IOException { - return UniProtWsTools.getTaxonomiesFromId( query, MAX_TAXONOMIES_TO_RETURN ); + return SequenceDbWsTools.getTaxonomiesFromId( query, MAX_TAXONOMIES_TO_RETURN ); } private final static List getTaxonomiesFromScientificName( final String query ) throws IOException { - return UniProtWsTools.getTaxonomiesFromScientificNameStrict( query, MAX_TAXONOMIES_TO_RETURN ); + return SequenceDbWsTools.getTaxonomiesFromScientificNameStrict( query, MAX_TAXONOMIES_TO_RETURN ); } private final static List getTaxonomiesFromTaxonomyCode( final String query ) throws IOException { - return UniProtWsTools.getTaxonomiesFromTaxonomyCode( query, MAX_TAXONOMIES_TO_RETURN ); + return SequenceDbWsTools.getTaxonomiesFromTaxonomyCode( query, MAX_TAXONOMIES_TO_RETURN ); } static final boolean isHasAppropriateId( final Taxonomy tax ) { @@ -236,13 +237,23 @@ public final class TaxonomyDataManager extends RunnableProcess { uniprot_tax = obtainUniProtTaxonomy( tax, null, qt ); } else { - uniprot_tax = obtainUniProtTaxonomy( node.getName(), null, qt ); + uniprot_tax = obtainUniProtTaxonomy( node.getName(), qt ); } if ( uniprot_tax != null ) { + if ( tax == null ) { + tax = new Taxonomy(); + node.getNodeData().addTaxonomy( tax ); + node.setName( "" ); + } updateTaxonomy( qt, node, tax, uniprot_tax ); } else { - not_found.add( tax.toString() ); + if ( tax != null ) { + not_found.add( tax.toString() ); + } + else { + not_found.add(node.getName() ); + } if ( delete && node.isExternal() ) { not_found_external_nodes.add( node ); } @@ -294,20 +305,20 @@ public final class TaxonomyDataManager extends RunnableProcess { } } - public final static UniProtTaxonomy obtainUniProtTaxonomy( final String simple_name, Object query, QUERY_TYPE qt ) + public final static UniProtTaxonomy obtainUniProtTaxonomy( final String simple_name, QUERY_TYPE qt ) throws IOException, AncestralTaxonomyInferenceException { if ( ForesterUtil.isEmpty( simple_name ) ) { throw new IllegalArgumentException( "illegal attempt to use empty simple name" ); } qt = QUERY_TYPE.SN; - UniProtTaxonomy ut = obtainTaxonomy( TaxonomyDataManager.getSnTaxCacheMap(), query, qt ); + UniProtTaxonomy ut = obtainTaxonomy( TaxonomyDataManager.getSnTaxCacheMap(), simple_name, qt ); if ( ut == null ) { qt = QUERY_TYPE.CODE; - ut = obtainTaxonomy( TaxonomyDataManager.getCodeTaxCacheMap(), query, qt ); + ut = obtainTaxonomy( TaxonomyDataManager.getCodeTaxCacheMap(), simple_name, qt ); } if ( ut == null ) { qt = QUERY_TYPE.CN; - ut = obtainTaxonomy( TaxonomyDataManager.getCnTaxCacheMap(), query, qt ); + ut = obtainTaxonomy( TaxonomyDataManager.getCnTaxCacheMap(), simple_name, qt ); } return ut; } @@ -511,7 +522,7 @@ public final class TaxonomyDataManager extends RunnableProcess { } private final String getBaseUrl() { - return UniProtWsTools.BASE_URL; + return AncestralTaxonomyInferrer.getBaseUrl(); } @Override