- private static final int MAX_TAXONOMIES_TO_RETURN = 10;
-
- private static UniProtTaxonomy getTaxonomies( final HashMap<String, UniProtTaxonomy> cache,
- final Object query,
- final QUERY_TYPE qt ) throws IOException,
- AncestralTaxonomyInferenceException {
- if ( cache.containsKey( query ) ) {
- return cache.get( query ).copy();
- }
- else {
- List<UniProtTaxonomy> up_taxonomies = null;
- switch ( qt ) {
- case ID:
- up_taxonomies = getTaxonomiesFromId( ( String ) query );
- break;
- case CODE:
- up_taxonomies = getTaxonomiesFromTaxonomyCode( ( String ) query );
- break;
- case SN:
- up_taxonomies = getTaxonomiesFromScientificName( ( String ) query );
- break;
- case CN:
- up_taxonomies = getTaxonomiesFromCommonName( ( String ) query );
- break;
- case LIN:
- return obtainUniProtTaxonomyFromLineage( ( List<String> ) query );
- default:
- throw new RuntimeException();
- }
- if ( ( up_taxonomies != null ) && ( up_taxonomies.size() == 1 ) ) {
- final UniProtTaxonomy up_tax = up_taxonomies.get( 0 );
- if ( !ForesterUtil.isEmpty( up_tax.getScientificName() ) ) {
- TaxonomyDataObtainer.getSnTaxCacheMap().put( up_tax.getScientificName(), up_tax );
- }
- if ( !ForesterUtil.isEmpty( up_tax.getCode() ) ) {
- TaxonomyDataObtainer.getCodeTaxCacheMap().put( up_tax.getCode(), up_tax );
- }
- if ( !ForesterUtil.isEmpty( up_tax.getCommonName() ) ) {
- TaxonomyDataObtainer.getCnTaxCacheMap().put( up_tax.getCommonName(), up_tax );
- }
- if ( !ForesterUtil.isEmpty( up_tax.getId() ) ) {
- TaxonomyDataObtainer.getIdTaxCacheMap().put( up_tax.getId(), up_tax );
- }
- return up_tax;
- }
- else {
- return null;
- }
- }
- }
-
- private static List<UniProtTaxonomy> getTaxonomiesFromCommonName( final String query )
- throws IOException {
- return UniProtWsTools.getTaxonomiesFromCommonNameStrict( query, MAX_TAXONOMIES_TO_RETURN );
- }
-
- private static List<UniProtTaxonomy> getTaxonomiesFromId( final String query ) throws IOException {
- return UniProtWsTools.getTaxonomiesFromId( query, MAX_TAXONOMIES_TO_RETURN );
- }
-
- private static List<UniProtTaxonomy> getTaxonomiesFromScientificName( final String query )
- throws IOException {
- return UniProtWsTools.getTaxonomiesFromScientificNameStrict( query, MAX_TAXONOMIES_TO_RETURN );
- }
-
- private static List<UniProtTaxonomy> getTaxonomiesFromTaxonomyCode( final String query )
- throws IOException {
- return UniProtWsTools.getTaxonomiesFromTaxonomyCode( query, MAX_TAXONOMIES_TO_RETURN );
- }
-