(no commit message)
[jalview.git] / forester / java / src / org / forester / util / TaxonomyUtil.java
index a8f3899..ef38563 100644 (file)
@@ -17,544 +17,569 @@ public final class TaxonomyUtil {
     public static boolean isHasTaxIdFromFakeTaxCode( final String code ) {
         return FAKE_CODE_TO_ID_MAP.containsKey( code );
     }
+
+    private static void put( final String code, final String group ) {
+        if ( _default_taxcode_taxgroup_map.containsKey( code ) ) {
+            throw new RuntimeException( "duplicate code: " + code );
+        }
+        _default_taxcode_taxgroup_map.put( code, group );
+    }
     private final static Map<String, String>  _default_taxcode_taxgroup_map = new HashMap<String, String>();
     static {
-        _default_taxcode_taxgroup_map.put( "HUMAN", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "HOMSA", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "PANTR", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "GORGO", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "PONAB", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "NOMLE", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "MACMU", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "PAPHA", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "CALJA", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "TARSY", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "MICMU", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "OTOGA", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "TUPBE", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "MOUSE", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "RAT", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "MESAU", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "DIPOR", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "CAVPO", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "HETGA", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "SPETR", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "OCHPR", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "RABIT", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "BOVIN", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "SHEEP", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "BALMU", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "TURTR", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "PIG", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "LAMPA", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "HORSE", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "MYOLU", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "PTEVA", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "AILME", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "CANFA", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "FELCA", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "ERIEU", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "SORAR", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "LOXAF", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "PROCA", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "ECHTE", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "CHOHO", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "DASNO", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "MACEU", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "SARHA", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "MONDO", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "ORNAN", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "CHICK", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "MELGA", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "ANAPL", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "TAEGU", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "ALLMI", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "PELSI", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "ANOCA", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "XENLA", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "XENTR", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "LATCH", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "ORYLA", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "XIPMA", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "GASAC", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "TAKRU", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "TETNG", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "ORENI", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "GADMO", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "DANRE", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "CALMI", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "PETMA", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "CIOIN", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "CIOSA", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "OIKDI", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "BRAFL", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "SACKO", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "STRPU", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "FICAL", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "OPHHA", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "PYTBI", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "LYTVA", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "PATMI", "deuterostomia" );
-        _default_taxcode_taxgroup_map.put( "DROSE", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "DROSI", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "DROME", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "DROYA", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "DROER", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "DROAN", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "DROPE", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "DROPS", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "DROWI", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "DROMO", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "DROVI", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "DROGR", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "AEDAE", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "ANOGA", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "CULPI", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "BOMMO", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "DANPL", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "ATTCE", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "ACREC", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "CAMFO", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "APIME", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "NASVI", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "TRICA", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "ACYPI", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "RHOPR", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "PEDHC", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "ARTSF", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "DAPPU", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "HOMAM", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "ANTGC", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "NARAN", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "SCUCO", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "STRMM", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "IXOSC", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "TETUR", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "MESMA", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "LIMPO", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "HYPDU", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "CAEBR", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "CAERE", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "CAEBE", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "CAEEL", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "CAEJA", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "PRIPA", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "BRUMA", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "WUCBA", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "TRISP", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "APLCA", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "LOTGI", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "CRAGI", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "PINFU", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "CTEXX", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "HELRO", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "SCHMA", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "CLOSI", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "ECHMU", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "SCHMD", "protostomia" );
-        _default_taxcode_taxgroup_map.put( "ACRDI", "cnidaria" );
-        _default_taxcode_taxgroup_map.put( "NEMVE", "cnidaria" );
-        _default_taxcode_taxgroup_map.put( "HMAXX", "cnidaria" );
-        _default_taxcode_taxgroup_map.put( "HYDMA", "cnidaria" ); //TODO
-        _default_taxcode_taxgroup_map.put( "TRIAD", "placozoa" );
-        _default_taxcode_taxgroup_map.put( "MNELE", "ctenophora" );
-        _default_taxcode_taxgroup_map.put( "AMPQE", "porifera" );
-        _default_taxcode_taxgroup_map.put( "AMPQU", "porifera" ); //TODO
-        _default_taxcode_taxgroup_map.put( "MONBE", "choanoflagellida" );
-        _default_taxcode_taxgroup_map.put( "SALS5", "choanoflagellida" );
-        _default_taxcode_taxgroup_map.put( "AMOPA", "ichthyophonida & filasterea" );
-        _default_taxcode_taxgroup_map.put( "SARXX", "ichthyophonida & filasterea" );
-        _default_taxcode_taxgroup_map.put( "SPHAR", "ichthyophonida & filasterea" ); //TODO
-        _default_taxcode_taxgroup_map.put( "CAPO3", "ichthyophonida & filasterea" );
-        _default_taxcode_taxgroup_map.put( "CAPOW", "ichthyophonida & filasterea" ); //TODO
-        _default_taxcode_taxgroup_map.put( "AALXX", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "GIBZE", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "HYPVG", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "MAGGR", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "THIHA", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "THITE", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "CHAGB", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "NEUCR", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "BOTF4", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "SCLS1", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "PFIXX", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "MYCGM", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "MYCPJ", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "MPSXX", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "BCOXX", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "APPXX", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "APMXX", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "APSXX", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "COCSA", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "SETTU", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "PYRTR", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "PHANO", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "ASPFN", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "ASPNC", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "ASPCL", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "EMENI", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "NEOFI", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "COCIM", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "UNCRE", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "AJECG", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "TUBMM", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "NAUCC", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "YEAST", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "KLULA", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "ASHGO", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "CANAL", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "CANTT", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "DEBHA", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "YARLI", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "SCHJY", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "SCHOT", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "SCHPO", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "PNECA", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "AGABU", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "COPC7", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "LACBS", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "LACBI", "dikarya" ); //TODO
-        _default_taxcode_taxgroup_map.put( "PLEOS", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "CPUXX", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "SERL9", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "JARXX", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "GLOTR", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "FPIXX", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "PPLXX", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "TRAVE", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "WOLCO", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "CERSU", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "DICSQ", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "HETAN", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "CRYNE", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "TREME", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "MALGO", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "USTMA", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "MELLP", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "PUCGR", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "RHOGR", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "SPORO", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "WALSC", "dikarya" );
-        _default_taxcode_taxgroup_map.put( "MUCCI", "other fungi" );
-        _default_taxcode_taxgroup_map.put( "PHYBL", "other fungi" );
-        _default_taxcode_taxgroup_map.put( "RHIOR", "other fungi" );
-        _default_taxcode_taxgroup_map.put( "MVNXX", "other fungi" );
-        _default_taxcode_taxgroup_map.put( "CREXX", "other fungi" );
-        _default_taxcode_taxgroup_map.put( "ALLMA", "other fungi" );
-        _default_taxcode_taxgroup_map.put( "BATDJ", "other fungi" );
-        _default_taxcode_taxgroup_map.put( "SPIPN", "other fungi" );
-        _default_taxcode_taxgroup_map.put( "GONPR", "other fungi" );
-        _default_taxcode_taxgroup_map.put( "PIRSE", "other fungi" );
-        _default_taxcode_taxgroup_map.put( "ENCCU", "other fungi" );
-        _default_taxcode_taxgroup_map.put( "ENCHA", "other fungi" );
-        _default_taxcode_taxgroup_map.put( "VITCO", "other fungi" );
-        _default_taxcode_taxgroup_map.put( "ENTBH", "other fungi" );
-        _default_taxcode_taxgroup_map.put( "TRAHO", "other fungi" );
-        _default_taxcode_taxgroup_map.put( "VAVCU", "other fungi" );
-        _default_taxcode_taxgroup_map.put( "EDHAE", "other fungi" );
-        _default_taxcode_taxgroup_map.put( "FALXX", "nucleariidae and fonticula group" );
-        _default_taxcode_taxgroup_map.put( "DICDI", "amoebozoa" );
-        _default_taxcode_taxgroup_map.put( "DICPU", "amoebozoa" );
-        _default_taxcode_taxgroup_map.put( "DICFS", "amoebozoa" );
-        _default_taxcode_taxgroup_map.put( "POLPA", "amoebozoa" );
-        _default_taxcode_taxgroup_map.put( "ENTHI", "amoebozoa" );
-        _default_taxcode_taxgroup_map.put( "ENTDS", "amoebozoa" );
-        _default_taxcode_taxgroup_map.put( "FRAVE", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "PRUPE", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "CUCSA", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "SOYBN", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "MEDTR", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "MANES", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "RICCO", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "POPTR", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "ARALY", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "ARATH", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "THEHA", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "CARPA", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "CCLXX", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "CITSI", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "EUCGR", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "VITVI", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "SOLLC", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "SOLPI", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "SOLTU", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "TOBAC", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "MIMGU", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "AQUCA", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "SORBI", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "MAIZE", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "PANVG", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "SETIT", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "ORYSA", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "ORYSJ", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "BRADI", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "HORVD", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "MUSAM", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "PICAB", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "SELML", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "PHYPA", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "AMBTC", "embryophyta" );
-        _default_taxcode_taxgroup_map.put( "OSTLU", "chlorophyta" );
-        _default_taxcode_taxgroup_map.put( "ORCXX", "chlorophyta" );
-        _default_taxcode_taxgroup_map.put( "OSTTA", "chlorophyta" );
-        _default_taxcode_taxgroup_map.put( "MICPC", "chlorophyta" );
-        _default_taxcode_taxgroup_map.put( "MICSR", "chlorophyta" );
-        _default_taxcode_taxgroup_map.put( "ASCXX", "chlorophyta" );
-        _default_taxcode_taxgroup_map.put( "CHLVA", "chlorophyta" );
-        _default_taxcode_taxgroup_map.put( "CSUXX", "chlorophyta" );
-        _default_taxcode_taxgroup_map.put( "CHLRE", "chlorophyta" );
-        _default_taxcode_taxgroup_map.put( "VOLCA", "chlorophyta" );
-        _default_taxcode_taxgroup_map.put( "CYAME", "rhodophyta" );
-        _default_taxcode_taxgroup_map.put( "GALSU", "rhodophyta" );
-        _default_taxcode_taxgroup_map.put( "CHOCR", "rhodophyta" );
-        _default_taxcode_taxgroup_map.put( "CYAPA", "glaucocystophyceae" );
-        _default_taxcode_taxgroup_map.put( "EMIHU", "hacrobia" );
-        _default_taxcode_taxgroup_map.put( "GUITH", "hacrobia" );
-        _default_taxcode_taxgroup_map.put( "PLACH", "alveolata" );
-        _default_taxcode_taxgroup_map.put( "PLAF7", "alveolata" );
-        _default_taxcode_taxgroup_map.put( "PLAYO", "alveolata" );
-        _default_taxcode_taxgroup_map.put( "PLAVS", "alveolata" );
-        _default_taxcode_taxgroup_map.put( "THEAN", "alveolata" );
-        _default_taxcode_taxgroup_map.put( "THEPA", "alveolata" );
-        _default_taxcode_taxgroup_map.put( "BABBO", "alveolata" );
-        _default_taxcode_taxgroup_map.put( "EIMTE", "alveolata" );
-        _default_taxcode_taxgroup_map.put( "TOXGO", "alveolata" );
-        _default_taxcode_taxgroup_map.put( "CRYHO", "alveolata" );
-        _default_taxcode_taxgroup_map.put( "CRYPV", "alveolata" );
-        _default_taxcode_taxgroup_map.put( "CRYPI", "alveolata" );
-        _default_taxcode_taxgroup_map.put( "CRYCO", "alveolata" );
-        _default_taxcode_taxgroup_map.put( "THOHE", "alveolata" );
-        _default_taxcode_taxgroup_map.put( "PARTE", "alveolata" );
-        _default_taxcode_taxgroup_map.put( "TETTS", "alveolata" );
-        _default_taxcode_taxgroup_map.put( "OTRXX", "alveolata" );
-        _default_taxcode_taxgroup_map.put( "BLEJA", "alveolata" );
-        _default_taxcode_taxgroup_map.put( "PERM5", "alveolata" );
-        _default_taxcode_taxgroup_map.put( "ICHMG", "alveolata" );
-        _default_taxcode_taxgroup_map.put( "FCYXX", "stramenopiles" );
-        _default_taxcode_taxgroup_map.put( "PHATR", "stramenopiles" );
-        _default_taxcode_taxgroup_map.put( "THAPS", "stramenopiles" );
-        _default_taxcode_taxgroup_map.put( "THAOC", "stramenopiles" );
-        _default_taxcode_taxgroup_map.put( "AURAN", "stramenopiles" );
-        _default_taxcode_taxgroup_map.put( "ECTSI", "stramenopiles" );
-        _default_taxcode_taxgroup_map.put( "PHYIN", "stramenopiles" );
-        _default_taxcode_taxgroup_map.put( "PHYRM", "stramenopiles" );
-        _default_taxcode_taxgroup_map.put( "PHYSO", "stramenopiles" );
-        _default_taxcode_taxgroup_map.put( "PHYCI", "stramenopiles" );
-        _default_taxcode_taxgroup_map.put( "PHYCP", "stramenopiles" );
-        _default_taxcode_taxgroup_map.put( "HYAAE", "stramenopiles" );
-        _default_taxcode_taxgroup_map.put( "PYTUL", "stramenopiles" );
-        _default_taxcode_taxgroup_map.put( "AKEXX", "stramenopiles" );
-        _default_taxcode_taxgroup_map.put( "SAGXX", "stramenopiles" );
-        _default_taxcode_taxgroup_map.put( "ALIXX", "stramenopiles" );
-        _default_taxcode_taxgroup_map.put( "BLAHO", "stramenopiles" );
-        _default_taxcode_taxgroup_map.put( "BIGNA", "rhizaria" );
-        _default_taxcode_taxgroup_map.put( "TRYB2", "excavata" );
-        _default_taxcode_taxgroup_map.put( "TRYCR", "excavata" );
-        _default_taxcode_taxgroup_map.put( "LEIMA", "excavata" );
-        _default_taxcode_taxgroup_map.put( "LEIIN", "excavata" );
-        _default_taxcode_taxgroup_map.put( "LEIBR", "excavata" );
-        _default_taxcode_taxgroup_map.put( "BODSA", "excavata" );
-        _default_taxcode_taxgroup_map.put( "NAEGR", "excavata" );
-        _default_taxcode_taxgroup_map.put( "GIAIC", "excavata" );
-        _default_taxcode_taxgroup_map.put( "GIALA", "excavata" ); //TODO
-        _default_taxcode_taxgroup_map.put( "TRIVA", "excavata" );
-        _default_taxcode_taxgroup_map.put( "TTRXX", "apusozoa" );
-        _default_taxcode_taxgroup_map.put( "THETR", "apusozoa" ); //TODO //FIXME
-        _default_taxcode_taxgroup_map.put( "METAC", "archaea" );
-        _default_taxcode_taxgroup_map.put( "METBF", "archaea" );
-        _default_taxcode_taxgroup_map.put( "METMA", "archaea" );
-        _default_taxcode_taxgroup_map.put( "METBU", "archaea" );
-        _default_taxcode_taxgroup_map.put( "METB6", "archaea" );
-        _default_taxcode_taxgroup_map.put( "METHU", "archaea" );
-        _default_taxcode_taxgroup_map.put( "METMJ", "archaea" );
-        _default_taxcode_taxgroup_map.put( "METLZ", "archaea" );
-        _default_taxcode_taxgroup_map.put( "METTP", "archaea" );
-        _default_taxcode_taxgroup_map.put( "HALMA", "archaea" );
-        _default_taxcode_taxgroup_map.put( "NATPH", "archaea" );
-        _default_taxcode_taxgroup_map.put( "HALS3", "archaea" );
-        _default_taxcode_taxgroup_map.put( "HALSP", "archaea" );
-        _default_taxcode_taxgroup_map.put( "HALWD", "archaea" );
-        _default_taxcode_taxgroup_map.put( "ARCFU", "archaea" );
-        _default_taxcode_taxgroup_map.put( "METJA", "archaea" );
-        _default_taxcode_taxgroup_map.put( "META3", "archaea" );
-        _default_taxcode_taxgroup_map.put( "METMP", "archaea" );
-        _default_taxcode_taxgroup_map.put( "METVS", "archaea" );
-        _default_taxcode_taxgroup_map.put( "METS3", "archaea" );
-        _default_taxcode_taxgroup_map.put( "METST", "archaea" );
-        _default_taxcode_taxgroup_map.put( "METTH", "archaea" );
-        _default_taxcode_taxgroup_map.put( "METKA", "archaea" );
-        _default_taxcode_taxgroup_map.put( "PYRFU", "archaea" );
-        _default_taxcode_taxgroup_map.put( "PYRKO", "archaea" );
-        _default_taxcode_taxgroup_map.put( "PYRAB", "archaea" );
-        _default_taxcode_taxgroup_map.put( "PYRHO", "archaea" );
-        _default_taxcode_taxgroup_map.put( "THEON", "archaea" );
-        _default_taxcode_taxgroup_map.put( "NANEQ", "archaea" );
-        _default_taxcode_taxgroup_map.put( "NITMS", "archaea" );
-        _default_taxcode_taxgroup_map.put( "THEAC", "archaea" );
-        _default_taxcode_taxgroup_map.put( "THEVO", "archaea" );
-        _default_taxcode_taxgroup_map.put( "PICTO", "archaea" );
-        _default_taxcode_taxgroup_map.put( "PYRAR", "archaea" );
-        _default_taxcode_taxgroup_map.put( "PYRCJ", "archaea" );
-        _default_taxcode_taxgroup_map.put( "PYRAE", "archaea" );
-        _default_taxcode_taxgroup_map.put( "PYRIL", "archaea" );
-        _default_taxcode_taxgroup_map.put( "THENV", "archaea" );
-        _default_taxcode_taxgroup_map.put( "CALMQ", "archaea" );
-        _default_taxcode_taxgroup_map.put( "SULAC", "archaea" );
-        _default_taxcode_taxgroup_map.put( "SULTO", "archaea" );
-        _default_taxcode_taxgroup_map.put( "SULSO", "archaea" );
-        _default_taxcode_taxgroup_map.put( "METS5", "archaea" );
-        _default_taxcode_taxgroup_map.put( "AERPE", "archaea" );
-        _default_taxcode_taxgroup_map.put( "STAMF", "archaea" );
-        _default_taxcode_taxgroup_map.put( "THEPD", "archaea" );
-        _default_taxcode_taxgroup_map.put( "HYPBU", "archaea" );
-        _default_taxcode_taxgroup_map.put( "IGNH4", "archaea" );
-        _default_taxcode_taxgroup_map.put( "KORCO", "archaea" );
-        _default_taxcode_taxgroup_map.put( "ECOLI", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "ECO57", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "SHIFL", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "SALTY", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "YERPE", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "PHOLU", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "PHOPR", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "VIBCH", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "SHEDO", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "PSEF5", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "PSEPF", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "PSEAE", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "CHRSD", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "DECAR", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "RALME", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "NITEU", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "NITMU", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "THIDE", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "ALHEH", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "HALHL", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "NITOC", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "THICR", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "IDILO", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "LEGPN", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "XANAC", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "XYLFT", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "AGRT5", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "RHIEC", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "BRAJA", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "RHOPT", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "RHOS1", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "ROSDO", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "CAUCR", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "ACICY", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "RHORU", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "HAEIN", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "PASMU", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "NEIME", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "ACIFE", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "DESPS", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "DESDE", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "SYNAS", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "GEOME", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "GEOSL", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "ANADE", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "MYXXA", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "ACIBL", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "SOLUS", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "RHOBA", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "KINRD", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "KOCRD", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "MICPN", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "STRCO", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "THEFY", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "MYCLE", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "MYCTU", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "CORJK", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "RHOOB", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "RUBXD", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "CHLAU", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "ROSCS", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "HERAU", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "SPHTD", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "DEIGD", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "DEIRA", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "THET8", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "ANAVT", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "NOSS7", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "NOSP7", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "ACAM1", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "MICAN", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "TRIER", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "SYNEL", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "SYNY3", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "GLOVI", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "PROMA", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "PROMP", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "PROMM", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "SYNS3", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "CHLPB", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "PROAE", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "PELLU", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "PROVI", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "CHLP8", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "CHLTE", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "CHLCH", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "CHLTA", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "FLAJO", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "GRAFK", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "CYTH3", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "BACFR", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "BACTN", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "PORGI", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "SALRD", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "AKKM8", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "METI4", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "LEPIC", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "BACAN", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "BACC3", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "BACSU", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "BACHD", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "GEOKA", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "LISMO", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "STAAU", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "CLOP1", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "CARHZ", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "THETN", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "DESHA", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "EUBR3", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "FERNB", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "THELT", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "THEMA", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "MYCGE", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "MYCPN", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "MESFL", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "UREPA", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "BORBU", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "TREPA", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "CHLPN", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "CHLFF", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "CHLMU", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "RICTY", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "BARHE", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "PELUB", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "RICB8", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "RICRO", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "FRATU", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "STRPN", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "STRPY", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "LACLA", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "LACAC", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "BIFLO", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "FUSNU", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "DEHE1", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "DEHSB", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "NITSB", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "SULNB", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "CAMJE", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "HELPH", "bacteria" );
-        _default_taxcode_taxgroup_map.put( "AQUAE", "bacteria" );
+        put( "BUFBU", "deuterostomia" );
+        put( "NOTVI", "deuterostomia" );
+        put( "SIRIN", "deuterostomia" );
+        put( "ASTMX", "deuterostomia" );
+        put( "CALMI", "deuterostomia" );
+        put( "FICAL", "deuterostomia" );
+        put( "LEPOC", "deuterostomia" );
+        put( "LYTVA", "deuterostomia" );
+        put( "OPHHA", "deuterostomia" );
+        put( "PYTBI", "deuterostomia" );
+        put( "PATMI", "deuterostomia" );
+        put( "HUMAN", "deuterostomia" );
+        put( "HOMSA", "deuterostomia" );
+        put( "PANTR", "deuterostomia" );
+        put( "GORGO", "deuterostomia" );
+        put( "PONAB", "deuterostomia" );
+        put( "NOMLE", "deuterostomia" );
+        put( "MACMU", "deuterostomia" );
+        put( "PAPHA", "deuterostomia" );
+        put( "CALJA", "deuterostomia" );
+        put( "TARSY", "deuterostomia" );
+        put( "MICMU", "deuterostomia" );
+        put( "OTOGA", "deuterostomia" );
+        put( "TUPBE", "deuterostomia" );
+        put( "MOUSE", "deuterostomia" );
+        put( "RAT", "deuterostomia" );
+        put( "MESAU", "deuterostomia" );
+        put( "DIPOR", "deuterostomia" );
+        put( "CAVPO", "deuterostomia" );
+        put( "HETGA", "deuterostomia" );
+        put( "SPETR", "deuterostomia" );
+        put( "OCHPR", "deuterostomia" );
+        put( "RABIT", "deuterostomia" );
+        put( "BOVIN", "deuterostomia" );
+        put( "SHEEP", "deuterostomia" );
+        put( "BALMU", "deuterostomia" );
+        put( "TURTR", "deuterostomia" );
+        put( "PIG", "deuterostomia" );
+        put( "LAMPA", "deuterostomia" );
+        put( "HORSE", "deuterostomia" );
+        put( "MYOLU", "deuterostomia" );
+        put( "PTEVA", "deuterostomia" );
+        put( "AILME", "deuterostomia" );
+        put( "CANFA", "deuterostomia" );
+        put( "FELCA", "deuterostomia" );
+        put( "ERIEU", "deuterostomia" );
+        put( "SORAR", "deuterostomia" );
+        put( "LOXAF", "deuterostomia" );
+        put( "PROCA", "deuterostomia" );
+        put( "ECHTE", "deuterostomia" );
+        put( "CHOHO", "deuterostomia" );
+        put( "DASNO", "deuterostomia" );
+        put( "MACEU", "deuterostomia" );
+        put( "SARHA", "deuterostomia" );
+        put( "MONDO", "deuterostomia" );
+        put( "ORNAN", "deuterostomia" );
+        put( "CHICK", "deuterostomia" );
+        put( "MELGA", "deuterostomia" );
+        put( "ANAPL", "deuterostomia" );
+        put( "TAEGU", "deuterostomia" );
+        put( "ALLMI", "deuterostomia" );
+        put( "PELSI", "deuterostomia" );
+        put( "ANOCA", "deuterostomia" );
+        put( "XENLA", "deuterostomia" );
+        put( "XENTR", "deuterostomia" );
+        put( "MESAL", "deuterostomia" );
+        put( "OSCOC", "deuterostomia" );
+        put( "POLSP", "deuterostomia" );
+        put( "ERPCA", "deuterostomia" );
+        put( "LATCH", "deuterostomia" );
+        put( "ORYLA", "deuterostomia" );
+        put( "XIPMA", "deuterostomia" );
+        put( "GASAC", "deuterostomia" );
+        put( "TAKRU", "deuterostomia" );
+        put( "TETNG", "deuterostomia" );
+        put( "ORENI", "deuterostomia" );
+        put( "GADMO", "deuterostomia" );
+        put( "DANRE", "deuterostomia" );
+        put( "PETMA", "deuterostomia" );
+        put( "CIOIN", "deuterostomia" );
+        put( "CIOSA", "deuterostomia" );
+        put( "OIKDI", "deuterostomia" );
+        put( "BRAFL", "deuterostomia" );
+        put( "SACKO", "deuterostomia" );
+        put( "STRPU", "deuterostomia" );
+        put( "HYMMI", "protostomia" );
+        put( "ECHMU", "protostomia" );
+        put( "DROSE", "protostomia" );
+        put( "DROSI", "protostomia" );
+        put( "DROME", "protostomia" );
+        put( "DROYA", "protostomia" );
+        put( "DROER", "protostomia" );
+        put( "DROAN", "protostomia" );
+        put( "DROPE", "protostomia" );
+        put( "DROPS", "protostomia" );
+        put( "DROWI", "protostomia" );
+        put( "DROMO", "protostomia" );
+        put( "DROVI", "protostomia" );
+        put( "DROGR", "protostomia" );
+        put( "AEDAE", "protostomia" );
+        put( "ANOGA", "protostomia" );
+        put( "CULPI", "protostomia" );
+        put( "BOMMO", "protostomia" );
+        put( "DANPL", "protostomia" );
+        put( "ATTCE", "protostomia" );
+        put( "ACREC", "protostomia" );
+        put( "CAMFO", "protostomia" );
+        put( "APIME", "protostomia" );
+        put( "NASVI", "protostomia" );
+        put( "TRICA", "protostomia" );
+        put( "ACYPI", "protostomia" );
+        put( "RHOPR", "protostomia" );
+        put( "PEDHC", "protostomia" );
+        put( "ARTSF", "protostomia" );
+        put( "DAPPU", "protostomia" );
+        put( "HOMAM", "protostomia" );
+        put( "ANTGC", "protostomia" );
+        put( "NARAN", "protostomia" );
+        put( "SCUCO", "protostomia" );
+        put( "STRMM", "protostomia" );
+        put( "IXOSC", "protostomia" );
+        put( "TETUR", "protostomia" );
+        put( "MESMA", "protostomia" );
+        put( "LIMPO", "protostomia" );
+        put( "HYPDU", "protostomia" );
+        put( "CAEBR", "protostomia" );
+        put( "CAERE", "protostomia" );
+        put( "CAEBE", "protostomia" );
+        put( "CAEEL", "protostomia" );
+        put( "CAEJA", "protostomia" );
+        put( "PRIPA", "protostomia" );
+        put( "BRUMA", "protostomia" );
+        put( "WUCBA", "protostomia" );
+        put( "TRISP", "protostomia" );
+        put( "APLCA", "protostomia" );
+        put( "LOTGI", "protostomia" );
+        put( "CRAGI", "protostomia" );
+        put( "PINFU", "protostomia" );
+        put( "CAPTE", "protostomia" );
+        put( "HELRO", "protostomia" );
+        put( "SCHMA", "protostomia" );
+        put( "CLOSI", "protostomia" );
+        put( "SCHMD", "protostomia" );
+        put( "ANOGL", "protostomia" );
+        put( "BLAGE", "protostomia" );
+        put( "ZOONE", "protostomia" );
+        put( "SCHAM", "protostomia" );
+        put( "GRYPE", "protostomia" );
+        put( "ONCFA", "protostomia" );
+        put( "ACRDI", "cnidaria" );
+        put( "NEMVE", "cnidaria" );
+        put( "HYDVU", "cnidaria" );
+        put( "TRIAD", "placozoa" );
+        put( "MNELE", "ctenophora" );
+        put( "AMPQE", "porifera" );
+        put( "MONBE", "choanoflagellida" );
+        put( "SALS5", "choanoflagellida" ); //TODO remove me
+        put( "SALR5", "choanoflagellida" );
+        put( "AMOPA", "ichthyophonida & filasterea" );
+        put( "SARXX", "ichthyophonida & filasterea" );
+        put( "CAPO3", "ichthyophonida & filasterea" );
+        put( "AALXX", "dikarya" );
+        put( "GIBZE", "dikarya" );
+        put( "HYPVG", "dikarya" );
+        put( "MAGGR", "dikarya" );
+        put( "THIHA", "dikarya" );
+        put( "THITE", "dikarya" );
+        put( "CHAGB", "dikarya" );
+        put( "NEUCR", "dikarya" );
+        put( "BOTF4", "dikarya" );
+        put( "SCLS1", "dikarya" );
+        put( "PFIXX", "dikarya" );
+        put( "MYCGM", "dikarya" );
+        put( "MYCPJ", "dikarya" );
+        put( "SPHMS", "dikarya" );
+        put( "BCOXX", "dikarya" );
+        put( "APPXX", "dikarya" );
+        put( "APMXX", "dikarya" );
+        put( "APSXX", "dikarya" );
+        put( "COCSA", "dikarya" );
+        put( "SETTU", "dikarya" );
+        put( "PYRTR", "dikarya" );
+        put( "PHANO", "dikarya" );
+        put( "ASPFN", "dikarya" );
+        put( "ASPNC", "dikarya" );
+        put( "ASPCL", "dikarya" );
+        put( "EMENI", "dikarya" );
+        put( "NEOFI", "dikarya" );
+        put( "COCIM", "dikarya" );
+        put( "UNCRE", "dikarya" );
+        put( "AJECG", "dikarya" );
+        put( "TUBMM", "dikarya" );
+        put( "NAUCC", "dikarya" );
+        put( "YEAST", "dikarya" );
+        put( "KLULA", "dikarya" );
+        put( "ASHGO", "dikarya" );
+        put( "CANAL", "dikarya" );
+        put( "CANTT", "dikarya" );
+        put( "DEBHA", "dikarya" );
+        put( "YARLI", "dikarya" );
+        put( "SCHJY", "dikarya" );
+        put( "SCHOT", "dikarya" );
+        put( "SCHPO", "dikarya" );
+        put( "PNECA", "dikarya" );
+        put( "AGABU", "dikarya" );
+        put( "COPC7", "dikarya" );
+        put( "LACBS", "dikarya" );
+        put( "LACBI", "dikarya" );
+        put( "PLEOS", "dikarya" );
+        put( "CPUXX", "dikarya" );
+        put( "SERL9", "dikarya" );
+        put( "JARXX", "dikarya" );
+        put( "GLOTR", "dikarya" );
+        put( "FPIXX", "dikarya" );
+        put( "PPLXX", "dikarya" );
+        put( "TRAVE", "dikarya" );
+        put( "WOLCO", "dikarya" );
+        put( "CERSU", "dikarya" );
+        put( "DICSQ", "dikarya" );
+        put( "HETAN", "dikarya" );
+        put( "CRYNE", "dikarya" );
+        put( "TREME", "dikarya" );
+        put( "MALGO", "dikarya" );
+        put( "USTMA", "dikarya" );
+        put( "MELLP", "dikarya" );
+        put( "PUCGR", "dikarya" );
+        put( "RHOGR", "dikarya" );
+        put( "SPORO", "dikarya" );
+        put( "WALSC", "dikarya" );
+        put( "RHIID", "other fungi" );
+        put( "RHIO9", "other fungi" );
+        put( "MUCCI", "other fungi" );
+        put( "PHYBL", "other fungi" );
+        put( "RHIOR", "other fungi" );
+        put( "MVNXX", "other fungi" );
+        put( "CREXX", "other fungi" );
+        put( "ALLMA", "other fungi" );
+        put( "BATDJ", "other fungi" );
+        put( "SPIPN", "other fungi" );
+        put( "GONPR", "other fungi" );
+        put( "PIRSE", "other fungi" );
+        put( "ENCCU", "other fungi" );
+        put( "ENCHA", "other fungi" );
+        put( "VITCO", "other fungi" );
+        put( "ENTBH", "other fungi" );
+        put( "TRAHO", "other fungi" );
+        put( "VAVCU", "other fungi" );
+        put( "EDHAE", "other fungi" );
+        put( "FALXX", "nucleariidae and fonticula group" );
+        put( "DICDI", "amoebozoa" );
+        put( "DICPU", "amoebozoa" );
+        put( "DICFS", "amoebozoa" );
+        put( "POLPA", "amoebozoa" );
+        put( "ENTHI", "amoebozoa" );
+        put( "ENTDS", "amoebozoa" );
+        put( "AMBTC", "embryophyta" );
+        put( "FRAVE", "embryophyta" );
+        put( "PRUPE", "embryophyta" );
+        put( "CUCSA", "embryophyta" );
+        put( "SOYBN", "embryophyta" );
+        put( "MEDTR", "embryophyta" );
+        put( "MANES", "embryophyta" );
+        put( "RICCO", "embryophyta" );
+        put( "POPTR", "embryophyta" );
+        put( "ARALY", "embryophyta" );
+        put( "ARATH", "embryophyta" );
+        put( "THEHA", "embryophyta" );
+        put( "CARPA", "embryophyta" );
+        put( "CCLXX", "embryophyta" );
+        put( "CITSI", "embryophyta" );
+        put( "EUCGR", "embryophyta" );
+        put( "VITVI", "embryophyta" );
+        put( "SOLLC", "embryophyta" );
+        put( "SOLPI", "embryophyta" );
+        put( "SOLTU", "embryophyta" );
+        put( "TOBAC", "embryophyta" );
+        put( "MIMGU", "embryophyta" );
+        put( "AQUCA", "embryophyta" );
+        put( "SORBI", "embryophyta" );
+        put( "MAIZE", "embryophyta" );
+        put( "PANVG", "embryophyta" );
+        put( "SETIT", "embryophyta" );
+        put( "ORYSA", "embryophyta" );
+        put( "ORYSJ", "embryophyta" );
+        put( "BRADI", "embryophyta" );
+        put( "HORVD", "embryophyta" );
+        put( "MUSAM", "embryophyta" );
+        put( "PICAB", "embryophyta" );
+        put( "SELML", "embryophyta" );
+        put( "PHYPA", "embryophyta" );
+        put( "OSTLU", "chlorophyta" );
+        put( "ORCXX", "chlorophyta" );
+        put( "OSTTA", "chlorophyta" );
+        put( "MICPC", "chlorophyta" );
+        put( "MICSR", "chlorophyta" );
+        put( "ASCXX", "chlorophyta" );
+        put( "CHLVA", "chlorophyta" );
+        put( "CSUXX", "chlorophyta" );
+        put( "CHLRE", "chlorophyta" );
+        put( "VOLCA", "chlorophyta" );
+        put( "CYAME", "rhodophyta" );
+        put( "GALSU", "rhodophyta" );
+        put( "CHOCR", "rhodophyta" );
+        put( "CYAPA", "glaucocystophyceae" );
+        put( "EMIHU", "hacrobia" );
+        put( "GUITH", "hacrobia" );
+        put( "PLACH", "alveolata" );
+        put( "PLAF7", "alveolata" );
+        put( "PLAYO", "alveolata" );
+        put( "PLAVS", "alveolata" );
+        put( "THEAN", "alveolata" );
+        put( "THEPA", "alveolata" );
+        put( "BABBO", "alveolata" );
+        put( "EIMAC", "alveolata" );
+        put( "EIMTE", "alveolata" );
+        put( "TOXGO", "alveolata" );
+        put( "CRYHO", "alveolata" );
+        put( "CRYPV", "alveolata" );
+        put( "CRYPI", "alveolata" );
+        put( "CRYCO", "alveolata" );
+        put( "THOHE", "alveolata" );
+        put( "PARTE", "alveolata" );
+        put( "TETTS", "alveolata" );
+        put( "OTRXX", "alveolata" );
+        put( "BLEJA", "alveolata" );
+        put( "PERM5", "alveolata" );
+        put( "ICHMG", "alveolata" );
+        put( "FCYXX", "stramenopiles" );
+        put( "PHATR", "stramenopiles" );
+        put( "THAPS", "stramenopiles" );
+        put( "THAOC", "stramenopiles" );
+        put( "AURAN", "stramenopiles" );
+        put( "ECTSI", "stramenopiles" );
+        put( "PHYIN", "stramenopiles" );
+        put( "PHYRM", "stramenopiles" );
+        put( "PHYSO", "stramenopiles" );
+        put( "PHYCI", "stramenopiles" );
+        put( "PHYCP", "stramenopiles" );
+        put( "HYAAE", "stramenopiles" );
+        put( "PYTUL", "stramenopiles" );
+        put( "AKEXX", "stramenopiles" );
+        put( "SAGXX", "stramenopiles" );
+        put( "ALIXX", "stramenopiles" );
+        put( "BLAHO", "stramenopiles" );
+        put( "BIGNA", "rhizaria" );
+        put( "RETFI", "rhizaria" );
+        put( "TRYB2", "excavata" );
+        put( "TRYCR", "excavata" );
+        put( "LEIMA", "excavata" );
+        put( "LEIIN", "excavata" );
+        put( "LEIBR", "excavata" );
+        put( "BODSA", "excavata" );
+        put( "NAEGR", "excavata" );
+        put( "GIAIC", "excavata" );
+        put( "TRIVA", "excavata" );
+        put( "TTRXX", "apusozoa" );
+        put( "THEKO", "archaea" );
+        put( "METAC", "archaea" );
+        put( "METBF", "archaea" );
+        put( "METMA", "archaea" );
+        put( "METBU", "archaea" );
+        put( "METB6", "archaea" );
+        put( "METHU", "archaea" );
+        put( "METMJ", "archaea" );
+        put( "METLZ", "archaea" );
+        put( "METTP", "archaea" );
+        put( "HALMA", "archaea" );
+        put( "NATPH", "archaea" );
+        put( "HALS3", "archaea" );
+        put( "HALSP", "archaea" );
+        put( "HALWD", "archaea" );
+        put( "ARCFU", "archaea" );
+        put( "METJA", "archaea" );
+        put( "META3", "archaea" );
+        put( "METMP", "archaea" );
+        put( "METVS", "archaea" );
+        put( "METS3", "archaea" );
+        put( "METST", "archaea" );
+        put( "METTH", "archaea" );
+        put( "METKA", "archaea" );
+        put( "PYRFU", "archaea" );
+        put( "PYRKO", "archaea" );
+        put( "PYRAB", "archaea" );
+        put( "PYRHO", "archaea" );
+        put( "THEON", "archaea" );
+        put( "NANEQ", "archaea" );
+        put( "NITMS", "archaea" );
+        put( "THEAC", "archaea" );
+        put( "THEVO", "archaea" );
+        put( "PICTO", "archaea" );
+        put( "PYRAR", "archaea" );
+        put( "PYRCJ", "archaea" );
+        put( "PYRAE", "archaea" );
+        put( "PYRIL", "archaea" );
+        put( "THENV", "archaea" );
+        put( "CALMQ", "archaea" );
+        put( "SULAC", "archaea" );
+        put( "SULTO", "archaea" );
+        put( "SULSO", "archaea" );
+        put( "METS5", "archaea" );
+        put( "AERPE", "archaea" );
+        put( "STAMF", "archaea" );
+        put( "THEPD", "archaea" );
+        put( "HYPBU", "archaea" );
+        put( "IGNH4", "archaea" );
+        put( "KORCO", "archaea" );
+        put( "KORVE", "bacteria" );
+        put( "ECOLI", "bacteria" );
+        put( "ECO57", "bacteria" );
+        put( "SHIFL", "bacteria" );
+        put( "SALTY", "bacteria" );
+        put( "YERPE", "bacteria" );
+        put( "PHOLU", "bacteria" );
+        put( "PHOPR", "bacteria" );
+        put( "VIBCH", "bacteria" );
+        put( "SHEDO", "bacteria" );
+        put( "PSEF5", "bacteria" );
+        put( "PSEPF", "bacteria" );
+        put( "PSEAE", "bacteria" );
+        put( "CHRSD", "bacteria" );
+        put( "DECAR", "bacteria" );
+        put( "RALME", "bacteria" );
+        put( "NITEU", "bacteria" );
+        put( "NITMU", "bacteria" );
+        put( "THIDE", "bacteria" );
+        put( "ALHEH", "bacteria" );
+        put( "HALHL", "bacteria" );
+        put( "NITOC", "bacteria" );
+        put( "THICR", "bacteria" );
+        put( "IDILO", "bacteria" );
+        put( "LEGPN", "bacteria" );
+        put( "XANAC", "bacteria" );
+        put( "XYLFT", "bacteria" );
+        put( "AGRT5", "bacteria" );
+        put( "RHIEC", "bacteria" );
+        put( "BRAJA", "bacteria" );
+        put( "RHOPT", "bacteria" );
+        put( "RHOS1", "bacteria" );
+        put( "ROSDO", "bacteria" );
+        put( "CAUCR", "bacteria" );
+        put( "ACICY", "bacteria" );
+        put( "RHORU", "bacteria" );
+        put( "HAEIN", "bacteria" );
+        put( "PASMU", "bacteria" );
+        put( "NEIME", "bacteria" );
+        put( "ACIFE", "bacteria" );
+        put( "DESPS", "bacteria" );
+        put( "DESDE", "bacteria" );
+        put( "SYNAS", "bacteria" );
+        put( "GEOME", "bacteria" );
+        put( "GEOSL", "bacteria" );
+        put( "ANADE", "bacteria" );
+        put( "MYXXA", "bacteria" );
+        put( "ACIBL", "bacteria" );
+        put( "SOLUS", "bacteria" );
+        put( "RHOBA", "bacteria" );
+        put( "KINRD", "bacteria" );
+        put( "KOCRD", "bacteria" );
+        put( "MICPN", "bacteria" );
+        put( "STRCO", "bacteria" );
+        put( "THEFY", "bacteria" );
+        put( "MYCLE", "bacteria" );
+        put( "MYCTU", "bacteria" );
+        put( "CORJK", "bacteria" );
+        put( "RHOOB", "bacteria" );
+        put( "RUBXD", "bacteria" );
+        put( "CHLAU", "bacteria" );
+        put( "ROSCS", "bacteria" );
+        put( "HERAU", "bacteria" );
+        put( "SPHTD", "bacteria" );
+        put( "DEIGD", "bacteria" );
+        put( "DEIRA", "bacteria" );
+        put( "THET8", "bacteria" );
+        put( "ANAVT", "bacteria" );
+        put( "NOSS7", "bacteria" );
+        put( "NOSP7", "bacteria" );
+        put( "ACAM1", "bacteria" );
+        put( "MICAN", "bacteria" );
+        put( "TRIER", "bacteria" );
+        put( "SYNEL", "bacteria" );
+        put( "SYNY3", "bacteria" );
+        put( "GLOVI", "bacteria" );
+        put( "PROMA", "bacteria" );
+        put( "PROMP", "bacteria" );
+        put( "PROMM", "bacteria" );
+        put( "SYNS3", "bacteria" );
+        put( "CHLPB", "bacteria" );
+        put( "PROAE", "bacteria" );
+        put( "PELLU", "bacteria" );
+        put( "PROVI", "bacteria" );
+        put( "CHLP8", "bacteria" );
+        put( "CHLTE", "bacteria" );
+        put( "CHLCH", "bacteria" );
+        put( "CHLTA", "bacteria" );
+        put( "FLAJO", "bacteria" );
+        put( "GRAFK", "bacteria" );
+        put( "CYTH3", "bacteria" );
+        put( "BACFR", "bacteria" );
+        put( "BACTN", "bacteria" );
+        put( "PORGI", "bacteria" );
+        put( "SALRD", "bacteria" );
+        put( "AKKM8", "bacteria" );
+        put( "METI4", "bacteria" );
+        put( "LEPIC", "bacteria" );
+        put( "BACAN", "bacteria" );
+        put( "BACC3", "bacteria" );
+        put( "BACSU", "bacteria" );
+        put( "BACHD", "bacteria" );
+        put( "GEOKA", "bacteria" );
+        put( "LISMO", "bacteria" );
+        put( "STAAU", "bacteria" );
+        put( "CLOP1", "bacteria" );
+        put( "CARHZ", "bacteria" );
+        put( "THETN", "bacteria" );
+        put( "DESHA", "bacteria" );
+        put( "EUBR3", "bacteria" );
+        put( "FERNB", "bacteria" );
+        put( "THELT", "bacteria" );
+        put( "THEMA", "bacteria" );
+        put( "MYCGE", "bacteria" );
+        put( "MYCPN", "bacteria" );
+        put( "MESFL", "bacteria" );
+        put( "UREPA", "bacteria" );
+        put( "BORBU", "bacteria" );
+        put( "TREPA", "bacteria" );
+        put( "CHLPN", "bacteria" );
+        put( "CHLFF", "bacteria" );
+        put( "CHLMU", "bacteria" );
+        put( "RICTY", "bacteria" );
+        put( "BARHE", "bacteria" );
+        put( "PELUB", "bacteria" );
+        put( "RICB8", "bacteria" );
+        put( "RICRO", "bacteria" );
+        put( "FRATU", "bacteria" );
+        put( "STRPN", "bacteria" );
+        put( "STRPY", "bacteria" );
+        put( "LACLA", "bacteria" );
+        put( "LACAC", "bacteria" );
+        put( "BIFLO", "bacteria" );
+        put( "FUSNU", "bacteria" );
+        put( "DEHE1", "bacteria" );
+        put( "DEHSB", "bacteria" );
+        put( "NITSB", "bacteria" );
+        put( "SULNB", "bacteria" );
+        put( "CAMJE", "bacteria" );
+        put( "HELPH", "bacteria" );
+        put( "AQUAE", "bacteria" );
     }
     private final static Map<String, Integer> FAKE_CODE_TO_ID_MAP           = new HashMap<String, Integer>();
     static {
         FAKE_CODE_TO_ID_MAP.put( "CTEXX", 283909 );
         FAKE_CODE_TO_ID_MAP.put( "HMAXX", 6085 );
         FAKE_CODE_TO_ID_MAP.put( "SARXX", 72019 );
+        FAKE_CODE_TO_ID_MAP.put( "SPHAR", 72019 ); //TODO is same as Sphingomonas aromaticivorans
         FAKE_CODE_TO_ID_MAP.put( "AALXX", 398408 );
         FAKE_CODE_TO_ID_MAP.put( "PFIXX", 83344 );
         FAKE_CODE_TO_ID_MAP.put( "MPSXX", 692275 );