cleanup
[jalview.git] / forester / java / src / org / forester / util / ForesterUtil.java
index 4b8da89..7492f1e 100644 (file)
@@ -50,7 +50,6 @@ import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Date;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -92,22 +91,7 @@ public final class ForesterUtil {
     public static final String       NCBI_NUCCORE                     = "http://www.ncbi.nlm.nih.gov/nuccore/";
     public final static String       UNIPROT_KB                       = "http://www.uniprot.org/uniprot/";
     public static final String       NCBI_GI                          = "http://www.ncbi.nlm.nih.gov/protein/gi:";
-    public final static Color        DEUTEROSTOMIA_COLOR              = new Color( 255, 0, 0 );
-    public final static Color        PROTOSTOMIA_COLOR                = new Color( 204, 0, 0 );
-    public final static Color        METAZOA_COLOR                    = new Color( 204, 0, 102 );
-    public final static Color        HOLOZOA_COLOR                    = new Color( 127, 0, 255 );
-    public final static Color        FUNGI_COLOR                      = new Color( 255, 128, 0 );
-    public final static Color        HOLOMYCOTA_COLOR                 = new Color( 204, 102, 0 );
-    public final static Color        AMOEBOZOA_COLOR                  = new Color( 255, 0, 255 );
-    public final static Color        VIRIDPLANTAE_COLOR               = new Color( 0, 255, 0 );
-    public final static Color        RHODOPHYTA_COLOR                 = new Color( 0, 153, 76 );
-    public final static Color        HACROBIA_COLOR                   = new Color( 0, 102, 51 );
-    public final static Color        STRAMENOPILES_COLOR              = new Color( 0, 0, 255 );
-    public final static Color        ALVEOLATA_COLOR                  = new Color( 0, 128, 255 );
-    public final static Color        RHIZARIA_COLOR                   = new Color( 0, 255, 255 );
-    public final static Color        EXCAVATA_COLOR                   = new Color( 204, 204, 0 );
-    public final static Color        ARCHAEA_COLOR                    = new Color( 160, 160, 160 );
-    public final static Color        BACTERIA_COLOR                   = new Color( 64, 64, 64 );
+    public static final String       PDB                              = "http://www.pdb.org/pdb/explore/explore.do?pdbId=";
     static {
         final DecimalFormatSymbols dfs = new DecimalFormatSymbols();
         dfs.setDecimalSeparator( '.' );
@@ -731,7 +715,7 @@ public final class ForesterUtil {
         return i;
     }
 
-    final public static SortedMap<Object, Integer> listToSortedCountsMap( final List list ) {
+    final public static SortedMap<Object, Integer> listToSortedCountsMap( final List<?> list ) {
         final SortedMap<Object, Integer> map = new TreeMap<Object, Integer>();
         for( final Object key : list ) {
             if ( !map.containsKey( key ) ) {
@@ -771,10 +755,9 @@ public final class ForesterUtil {
         }
     }
 
-    final public static StringBuffer mapToStringBuffer( final Map map, final String key_value_separator ) {
+    final public static StringBuffer mapToStringBuffer( final Map<Object, Object> map, final String key_value_separator ) {
         final StringBuffer sb = new StringBuffer();
-        for( final Iterator iter = map.keySet().iterator(); iter.hasNext(); ) {
-            final Object key = iter.next();
+        for( final Object key : map.keySet() ) {
             sb.append( key.toString() );
             sb.append( key_value_separator );
             sb.append( map.get( key ).toString() );
@@ -1221,4 +1204,162 @@ public final class ForesterUtil {
         System.err.println();
         System.exit( -1 );
     }
+
+    public final static Color obtainColorDependingOnTaxonomyGroup( final String tax_group ) {
+        if ( !ForesterUtil.isEmpty( tax_group ) ) {
+            if ( tax_group.equals( TaxonomyGroups.DEUTEROSTOMIA ) ) {
+                return TaxonomyColors.DEUTEROSTOMIA_COLOR;
+            }
+            else if ( tax_group.equals( TaxonomyGroups.PROTOSTOMIA ) ) {
+                return TaxonomyColors.PROTOSTOMIA_COLOR;
+            }
+            else if ( tax_group.equals( TaxonomyGroups.CNIDARIA ) ) {
+                return TaxonomyColors.CNIDARIA_COLOR;
+            }
+            else if ( tax_group.equals( TaxonomyGroups.PLACOZOA ) ) {
+                return TaxonomyColors.PLACOZOA_COLOR;
+            }
+            else if ( tax_group.equals( TaxonomyGroups.CTENOPHORA ) ) {
+                return TaxonomyColors.CTENOPHORA_COLOR;
+            }
+            else if ( tax_group.equals( TaxonomyGroups.PORIFERA ) ) {
+                return TaxonomyColors.PORIFERA_COLOR;
+            }
+            else if ( tax_group.equals( TaxonomyGroups.CHOANOFLAGELLIDA ) ) {
+                return TaxonomyColors.CHOANOFLAGELLIDA;
+            }
+            else if ( tax_group.equals( TaxonomyGroups.ICHTHYOPHONIDA_FILASTEREA ) ) {
+                return TaxonomyColors.ICHTHYOSPOREA_AND_FILASTEREA;
+            }
+            else if ( tax_group.equals( TaxonomyGroups.DIKARYA ) ) {
+                return TaxonomyColors.DIKARYA_COLOR;
+            }
+            else if ( tax_group.equalsIgnoreCase( TaxonomyGroups.FUNGI )
+                    || tax_group.equalsIgnoreCase( TaxonomyGroups.OTHER_FUNGI ) ) {
+                return TaxonomyColors.OTHER_FUNGI_COLOR;
+            }
+            else if ( tax_group.equals( TaxonomyGroups.NUCLEARIIDAE_AND_FONTICULA_GROUP ) ) {
+                return TaxonomyColors.NUCLEARIIDAE_AND_FONTICULA_GROUP_COLOR;
+            }
+            else if ( tax_group.equals( TaxonomyGroups.AMOEBOZOA ) ) {
+                return TaxonomyColors.AMOEBOZOA_COLOR;
+            }
+            else if ( tax_group.equals( TaxonomyGroups.EMBRYOPHYTA ) ) {
+                return TaxonomyColors.EMBRYOPHYTA_COLOR;
+            }
+            else if ( tax_group.equals( TaxonomyGroups.CHLOROPHYTA ) ) {
+                return TaxonomyColors.CHLOROPHYTA_COLOR;
+            }
+            else if ( tax_group.equals( TaxonomyGroups.RHODOPHYTA ) ) {
+                return TaxonomyColors.RHODOPHYTA_COLOR;
+            }
+            else if ( tax_group.equals( TaxonomyGroups.HACROBIA ) ) {
+                return TaxonomyColors.HACROBIA_COLOR;
+            }
+            else if ( tax_group.equals( TaxonomyGroups.GLAUCOCYSTOPHYCEAE ) ) {
+                return TaxonomyColors.GLAUCOPHYTA_COLOR;
+            }
+            else if ( tax_group.equals( TaxonomyGroups.STRAMENOPILES ) ) {
+                return TaxonomyColors.STRAMENOPILES_COLOR;
+            }
+            else if ( tax_group.equals( TaxonomyGroups.ALVEOLATA ) ) {
+                return TaxonomyColors.ALVEOLATA_COLOR;
+            }
+            else if ( tax_group.equals( TaxonomyGroups.RHIZARIA ) ) {
+                return TaxonomyColors.RHIZARIA_COLOR;
+            }
+            else if ( tax_group.equals( TaxonomyGroups.EXCAVATA ) ) {
+                return TaxonomyColors.EXCAVATA_COLOR;
+            }
+            else if ( tax_group.equals( TaxonomyGroups.APUSOZOA ) ) {
+                return TaxonomyColors.APUSOZOA_COLOR;
+            }
+            else if ( tax_group.equals( TaxonomyGroups.ARCHAEA ) ) {
+                return TaxonomyColors.ARCHAEA_COLOR;
+            }
+            else if ( tax_group.equals( TaxonomyGroups.BACTERIA ) ) {
+                return TaxonomyColors.BACTERIA_COLOR;
+            }
+        }
+        return null;
+    }
+
+    public final static String obtainNormalizedTaxonomyGroup( final String tax ) {
+        if ( tax.equalsIgnoreCase( TaxonomyGroups.DEUTEROSTOMIA ) ) {
+            return TaxonomyGroups.DEUTEROSTOMIA;
+        }
+        else if ( tax.equalsIgnoreCase( TaxonomyGroups.PROTOSTOMIA ) ) {
+            return TaxonomyGroups.PROTOSTOMIA;
+        }
+        else if ( tax.equalsIgnoreCase( TaxonomyGroups.CNIDARIA ) ) {
+            return TaxonomyGroups.CNIDARIA;
+        }
+        else if ( tax.toLowerCase().startsWith( "trichoplax" ) || tax.equalsIgnoreCase( TaxonomyGroups.PLACOZOA ) ) {
+            return TaxonomyGroups.PLACOZOA;
+        }
+        else if ( tax.toLowerCase().startsWith( "mnemiopsis" ) || tax.equalsIgnoreCase( TaxonomyGroups.CTENOPHORA ) ) {
+            return TaxonomyGroups.CTENOPHORA;
+        }
+        else if ( tax.toLowerCase().startsWith( "amphimedon" ) || tax.equalsIgnoreCase( TaxonomyGroups.PORIFERA ) ) {
+            return TaxonomyGroups.PORIFERA;
+        }
+        else if ( tax.equalsIgnoreCase( "codonosigidae" ) || tax.equalsIgnoreCase( TaxonomyGroups.CHOANOFLAGELLIDA ) ) {
+            return TaxonomyGroups.CHOANOFLAGELLIDA;
+        }
+        else if ( tax.toLowerCase().startsWith( TaxonomyGroups.ICHTHYOPHONIDA_FILASTEREA )
+                || tax.toLowerCase().startsWith( "ichthyophonida and filasterea" )
+                || tax.toLowerCase().startsWith( "ichthyosporea & filasterea" )
+                || tax.toLowerCase().startsWith( "ichthyosporea and filasterea" ) ) {
+            return TaxonomyGroups.ICHTHYOPHONIDA_FILASTEREA;
+        }
+        else if ( tax.equalsIgnoreCase( TaxonomyGroups.DIKARYA ) ) {
+            return TaxonomyGroups.DIKARYA;
+        }
+        else if ( tax.equalsIgnoreCase( TaxonomyGroups.FUNGI ) || tax.equalsIgnoreCase( TaxonomyGroups.OTHER_FUNGI ) ) {
+            return TaxonomyGroups.OTHER_FUNGI;
+        }
+        else if ( tax.toLowerCase().startsWith( "nucleariidae and fonticula" ) ) {
+            return TaxonomyGroups.NUCLEARIIDAE_AND_FONTICULA_GROUP;
+        }
+        else if ( tax.equalsIgnoreCase( TaxonomyGroups.AMOEBOZOA ) ) {
+            return TaxonomyGroups.AMOEBOZOA;
+        }
+        else if ( tax.equalsIgnoreCase( TaxonomyGroups.EMBRYOPHYTA ) ) {
+            return TaxonomyGroups.EMBRYOPHYTA;
+        }
+        else if ( tax.equalsIgnoreCase( TaxonomyGroups.CHLOROPHYTA ) ) {
+            return TaxonomyGroups.CHLOROPHYTA;
+        }
+        else if ( tax.equalsIgnoreCase( TaxonomyGroups.RHODOPHYTA ) ) {
+            return TaxonomyGroups.RHODOPHYTA;
+        }
+        else if ( tax.toLowerCase().startsWith( TaxonomyGroups.HACROBIA ) ) {
+            return TaxonomyGroups.HACROBIA;
+        }
+        else if ( tax.equalsIgnoreCase( TaxonomyGroups.GLAUCOCYSTOPHYCEAE ) || tax.equalsIgnoreCase( "glaucophyta" ) ) {
+            return TaxonomyGroups.GLAUCOCYSTOPHYCEAE;
+        }
+        else if ( tax.equalsIgnoreCase( TaxonomyGroups.STRAMENOPILES ) ) {
+            return TaxonomyGroups.STRAMENOPILES;
+        }
+        else if ( tax.equalsIgnoreCase( TaxonomyGroups.ALVEOLATA ) ) {
+            return TaxonomyGroups.ALVEOLATA;
+        }
+        else if ( tax.equalsIgnoreCase( TaxonomyGroups.RHIZARIA ) ) {
+            return TaxonomyGroups.RHIZARIA;
+        }
+        else if ( tax.equalsIgnoreCase( TaxonomyGroups.EXCAVATA ) ) {
+            return TaxonomyGroups.EXCAVATA;
+        }
+        else if ( tax.equalsIgnoreCase( TaxonomyGroups.APUSOZOA ) ) {
+            return TaxonomyGroups.APUSOZOA;
+        }
+        else if ( tax.equalsIgnoreCase( TaxonomyGroups.ARCHAEA ) ) {
+            return TaxonomyGroups.ARCHAEA;
+        }
+        else if ( tax.equalsIgnoreCase( TaxonomyGroups.BACTERIA ) ) {
+            return TaxonomyGroups.BACTERIA;
+        }
+        return null;
+    }
 }