X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Fws%2Fseqdb%2FUniProtTaxonomy.java;h=c3796070759aa243a2fbc1d96c4521100fd8e13d;hb=7bbe60fa14da3f582733162744740cd51c5e783c;hp=0884a6f8b6d01efdd2e1239ab02d9b3d89e7bed4;hpb=4cdad3c78a8ce85b18a977a916ed7ed91a350f3a;p=jalview.git diff --git a/forester/java/src/org/forester/ws/seqdb/UniProtTaxonomy.java b/forester/java/src/org/forester/ws/seqdb/UniProtTaxonomy.java index 0884a6f..c379607 100644 --- a/forester/java/src/org/forester/ws/seqdb/UniProtTaxonomy.java +++ b/forester/java/src/org/forester/ws/seqdb/UniProtTaxonomy.java @@ -21,7 +21,7 @@ // 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.ws.seqdb; @@ -32,46 +32,19 @@ import org.forester.util.ForesterUtil; public final class UniProtTaxonomy { - private static final String ARCHAEA = "Archaea"; - private static final String BACTERIA = "Bacteria"; - private static final String EUKARYOTA = "Eukaryota"; - private final List _lineage; - private final String _code; - private final String _scientific_name; - private final String _common_name; - private final String _synonym; - private final String _rank; - private final String _id; - public final static String CELLULAR_ORGANISMS = "cellular organisms"; - public final static String VIRUSES = "Viruses"; - public final static UniProtTaxonomy DROSOPHILA_GENUS = new UniProtTaxonomy( new String[] { - CELLULAR_ORGANISMS, EUKARYOTA, "Metazoa", "Ecdysozoa", "Arthropoda", "Hexapoda", "Insecta", "Pterygota", - "Neoptera", "Endopterygota", "Diptera", "Brachycera", "Muscomorpha", "Ephydroidea", "Drosophilidae", - "Drosophila" }, - "", - "fruit flies", - "Drosophila", - "", - "genus", - "7215" ); - public final static UniProtTaxonomy XENOPUS_GENUS = new UniProtTaxonomy( new String[] { - CELLULAR_ORGANISMS, EUKARYOTA, "Metazoa", "Chordata", "Craniata", "Vertebrata", "Euteleostomi", "Amphibia", - "Batrachia", "Anura", "Mesobatrachia", "Pipoidea", "Pipidae", "Xenopodinae", "Xenopus" }, - "", - "", - "Xenopus", - "", - "genus", - "8353" ); - public final static UniProtTaxonomy CAPITELLA_TELATA_SPECIES = new UniProtTaxonomy( new String[] { - CELLULAR_ORGANISMS, EUKARYOTA, "Metazoa", "Annelida", "Polychaeta", "Scolecida", "Capitellida", - "Capitellidae", "Capitella", "Capitella teleta" }, - "", - "", - "Capitella teleta", - "Capitella sp. I", - "species", - "283909" ); + public static final String ARCHAEA = "Archaea"; + public static final String BACTERIA = "Bacteria"; + public static final String EUKARYOTA = "Eukaryota"; + private final List _lineage; + private final String _code; + private final String _scientific_name; + private final String _common_name; + private final String _synonym; + private final String _rank; + private final String _id; + public final static String CELLULAR_ORGANISMS = "cellular organisms"; + public final static String VIRUSES = "Viruses"; + public static final String X = "x"; public UniProtTaxonomy( final String line ) { final String[] items = line.split( "\t" ); @@ -135,31 +108,9 @@ public final class UniProtTaxonomy { _synonym = synonym; _rank = rank; _id = id; - if ( ( _lineage != null ) && !_lineage.get( _lineage.size() - 1 ).equalsIgnoreCase( _scientific_name ) ) { - _lineage.add( _scientific_name ); - } - } - - public UniProtTaxonomy( final String[] lineage, - final String code, - final String common_name, - final String scientific_name, - final String synonym, - final String rank, - final String id ) { - _lineage = new ArrayList(); - if ( lineage != null ) { - for( final String l : lineage ) { - _lineage.add( l ); - } - } - _code = code; - _scientific_name = scientific_name; - _common_name = common_name; - _synonym = synonym; - _rank = rank; - _id = id; - if ( ( _lineage != null ) && !_lineage.get( _lineage.size() - 1 ).equalsIgnoreCase( _scientific_name ) ) { + if ( ( ( _lineage != null ) && _lineage.isEmpty() ) + || ( ( !ForesterUtil.isEmpty( _lineage ) ) && !_lineage.get( _lineage.size() - 1 ) + .equalsIgnoreCase( _scientific_name ) ) ) { _lineage.add( _scientific_name ); } } @@ -206,4 +157,44 @@ public final class UniProtTaxonomy { public String getSynonym() { return _synonym; } + + public final static UniProtTaxonomy createSpecialFromScientificName( final String sn ) { + final List lineage = new ArrayList(); + final String code = ""; + final String common_name = ""; + String scientific_name = ""; + final String synonym = ""; + String rank = ""; + String id = ""; + if ( sn.equalsIgnoreCase( BACTERIA ) ) { + scientific_name = BACTERIA; + lineage.add( "cellular organisms" ); + rank = "superkingdom"; + id = "2"; + } + else if ( sn.equalsIgnoreCase( ARCHAEA ) ) { + scientific_name = ARCHAEA; + lineage.add( "cellular organisms" ); + rank = "superkingdom"; + id = "2157"; + } + else if ( sn.equalsIgnoreCase( EUKARYOTA ) ) { + scientific_name = EUKARYOTA; + lineage.add( "cellular organisms" ); + rank = "superkingdom"; + id = "2759"; + } + else if ( sn.equalsIgnoreCase( VIRUSES ) ) { + scientific_name = VIRUSES; + rank = "superkingdom"; + id = "10239"; + } + else if ( sn.equalsIgnoreCase( X ) ) { + scientific_name = X; + } + else { + throw new IllegalArgumentException( "illegal attempt to make UniProt taxonomy for :" + sn ); + } + return new UniProtTaxonomy( lineage, code, common_name, scientific_name, synonym, rank, id ); + } }