in progress
[jalview.git] / forester / java / src / org / forester / archaeopteryx / TreeColorSet.java
index 201b460..c83d135 100644 (file)
@@ -31,9 +31,6 @@ import java.util.Map;
 
 import org.forester.util.ForesterUtil;
 
-/*
- * Maintains the color schemes and a set of colors for drawing a tree.
- */
 public final class TreeColorSet {
 
     public static final String ANNOTATION                 = "Annotation";
@@ -44,7 +41,8 @@ public final class TreeColorSet {
     public static final String BRANCH_LENGTH              = "Branch Length";
     public static final String COLLAPSED                  = "Collapsed";
     public static final String CONFIDENCE                 = "Confidence";
-    public static final String DOMAINS                    = "Domains";
+    public static final String DOMAIN_LABEL               = "Domain Label";
+    public static final String DOMAIN_BASE                = "Domain Base";
     public static final String DUPLICATION                = "Duplication";
     public static final String DUPLICATION_OR_SPECATION   = "Duplication or Specation";
     public static final String MATCHING_NODES_A           = "Matching A";
@@ -56,224 +54,233 @@ public final class TreeColorSet {
     public static final String SPECIATION                 = "Speciation";
     public static final String TAXONOMY                   = "Taxonomy";
     static final String[]      COLOR_FIELDS               = { BACKGROUND, BACKGROUND_GRADIENT_BOTTOM, SEQUENCE,
-            TAXONOMY, CONFIDENCE, BRANCH_LENGTH, BRANCH, NODE_BOX, COLLAPSED, MATCHING_NODES_A, MATCHING_NODES_B,
-            MATCHING_NODES_A_AND_B, DUPLICATION, SPECIATION, DUPLICATION_OR_SPECATION, DOMAINS,
-            BINARY_DOMAIN_COMBINATIONS, ANNOTATION, OVERVIEW };
+        TAXONOMY, CONFIDENCE, BRANCH_LENGTH, BRANCH, NODE_BOX, COLLAPSED, MATCHING_NODES_A, MATCHING_NODES_B,
+        MATCHING_NODES_A_AND_B, DUPLICATION, SPECIATION, DUPLICATION_OR_SPECATION, DOMAIN_LABEL, DOMAIN_BASE,
+        BINARY_DOMAIN_COMBINATIONS, ANNOTATION, OVERVIEW };
     static final String[]      SCHEME_NAMES               = { "Default", "Black", "Black & White", "Silver", "Green",
-            "White & Blue", "Cyan", "Orange", "Blue", "Blue & White", "Neon" };
-    // Color schemes:
+        "White & Blue", "Cyan", "Orange", "Blue", "Blue & White", "Neon" };
     private int                _color_scheme;
-    // All the color sets; better be the same # of sets as there are names!
     private final Color[][]    _color_schemes             = { { new Color( 0, 0, 0 ), // background_color
-            new Color( 0, 100, 100 ), // background_color_gradient_bottom
-            new Color( 230, 230, 230 ), // sequence  __ Default (same as Black)
-            new Color( 255, 220, 220 ), // taxonomy
-            new Color( 56, 176, 255 ), // support  
-            new Color( 140, 140, 140 ), // branch_length_color
-            new Color( 255, 255, 255 ), // branch_color
-            new Color( 255, 255, 255 ), // box_color
-            new Color( 255, 255, 0 ), // collapesed_fill_color
-            new Color( 0, 255, 0 ), // found_color 0
-            new Color( 255, 0, 0 ), // found_color 1
-            new Color( 255, 255, 0 ), // found_color 1 + 2
-            new Color( 255, 0, 0 ), // duplication_box_color
-            new Color( 0, 255, 0 ), // speciation_box_color
-            new Color( 255, 255, 0 ), // duplication_speciation_color
-            new Color( 123, 104, 238 ), // domains_color  
-            new Color( 65, 105, 255 ), // binary_domain_combinations_color  
-            new Color( 173, 255, 47 ) // annotation
-            , new Color( 130, 130, 130 )                 // overview
-            }, { new Color( 0, 0, 0 ), // background_color
-            new Color( 0, 255, 255 ), // background_color_gradient_bottom    
-            new Color( 230, 230, 230 ), // sequence  __ Black
-            new Color( 255, 220, 220 ), // taxonomy
-            new Color( 56, 176, 255 ), // support  
-            new Color( 140, 140, 140 ), // branch_length_color
-            new Color( 255, 255, 255 ), // branch_color
-            new Color( 255, 255, 255 ), // box_color
-            new Color( 255, 255, 0 ), // collapesed_fill_color
-            new Color( 0, 255, 0 ), // found_color 0
-            new Color( 255, 0, 0 ), // found_color 1
-            new Color( 255, 255, 0 ), // found_color 1 + 2
-            new Color( 255, 0, 0 ), // duplication_box_color
-            new Color( 0, 255, 0 ), // speciation_box_color
-            new Color( 255, 255, 0 ), // duplication_speciation_color
-            new Color( 123, 104, 238 ), // domains_color
-            new Color( 65, 105, 255 ), // binary_domain_combinations_color
-            new Color( 173, 255, 47 ) // annotation
-            , new Color( 130, 130, 130 ) // ov
-            }, { new Color( 255, 255, 255 ), // background_color
-            new Color( 0, 255, 255 ), // background_color_gradient_bottom
-            new Color( 0, 0, 0 ), // sequence  __ Black & White
-            new Color( 0, 0, 0 ), // taxonomy
-            new Color( 0, 0, 0 ), // support 
-            new Color( 0, 0, 0 ), // branch_length_color
-            new Color( 0, 0, 0 ), // branch_color
-            new Color( 0, 0, 0 ), // box_color
-            new Color( 0, 0, 0 ), // collapesed_fill_color
-            new Color( 255, 0, 0 ), // found_color 0
-            new Color( 0, 255, 0 ), // found_color 1
-            new Color( 0, 0, 255 ), // found_color 1 + 2
-            new Color( 255, 0, 0 ), // duplication_box_color
-            new Color( 0, 255, 0 ), // speciation_box_color
-            new Color( 255, 255, 0 ), // duplication_speciation_color
-            new Color( 0, 0, 0 ), // domains_color
-            new Color( 0, 0, 0 ), // binary_domain_combinations_color
-            new Color( 0, 0, 0 ) // annotation
-            , new Color( 220, 220, 220 ) // ov
-            }, { new Color( 0, 0, 0 ), // background_color
-            new Color( 0, 255, 255 ), // background_color_gradient_bottom
-            new Color( 220, 220, 220 ), // sequence __ Silver
-            new Color( 180, 180, 180 ), // taxonomy
-            new Color( 140, 140, 140 ), // support 
-            new Color( 140, 140, 140 ), // branch_length_color
-            new Color( 240, 240, 240 ), // branch_color
-            new Color( 140, 140, 140 ), // box_color
-            new Color( 140, 140, 140 ), // collapesed_fill_color
-            new Color( 255, 0, 0 ), // found_color 0
-            new Color( 0, 255, 0 ), // found_color 1
-            new Color( 255, 255, 0 ), // found_color 1 + 2
-            new Color( 255, 0, 0 ), // duplication_box_color
-            new Color( 0, 255, 0 ), // speciation_box_color
-            new Color( 255, 255, 0 ), // duplication_speciation_color
-            new Color( 180, 180, 180 ), // domains_color
-            new Color( 180, 180, 180 ), // binary_domain_combinations_color
-            new Color( 140, 140, 140 ) // annotation
-            , new Color( 40, 40, 40 ) // ov
-            }, { new Color( 0, 10, 0 ), // background_color
-            new Color( 0, 255, 255 ), // background_color_gradient_bottom
-            new Color( 0, 255, 0 ), // sequence __ the Matrix
-            new Color( 30, 200, 30 ), // taxonomy
-            new Color( 0, 155, 0 ), // support 
-            new Color( 0, 100, 0 ), // branch_length_color
-            new Color( 0, 155, 0 ), // branch_color
-            new Color( 0, 255, 0 ), // box_color
-            new Color( 0, 255, 0 ), // collapesed_fill_color
-            new Color( 255, 0, 0 ), // found_color 0
-            new Color( 0, 255, 0 ), // found_color 1
-            new Color( 255, 255, 0 ), // found_color 1 + 2
-            new Color( 255, 0, 0 ), // duplication_box_color
-            new Color( 0, 255, 0 ), // speciation_box_color
-            new Color( 255, 255, 0 ), // duplication_speciation_color
-            new Color( 0, 235, 0 ), // domains_color
-            new Color( 0, 235, 0 ), // binary_domain_combinations_color
-            new Color( 0, 235, 0 ) // annotation
-            , new Color( 40, 40, 40 ) // ov
-            }, { new Color( 255, 255, 255 ), // background_color
-            new Color( 0, 255, 255 ), // background_color_gradient_bottom
-            new Color( 0, 0, 0 ), //sequence __ White & Blue
-            new Color( 40, 40, 40 ), // taxonomy
-            new Color( 0, 125, 0 ), // support 
-            new Color( 70, 70, 0 ), // branch_length_color
-            new Color( 0, 20, 200 ), // branch_color
-            new Color( 0, 20, 200 ), // box_color
-            new Color( 255, 255, 0 ), // collapesed_fill_color
-            new Color( 0, 255, 0 ), // found_color 0
-            new Color( 255, 0, 0 ), // found_color 1
-            new Color( 0, 0, 255 ), // found_color 0 + 1
-            new Color( 255, 0, 0 ), // duplication_box_color
-            new Color( 0, 255, 0 ), // speciation_box_color
-            new Color( 255, 255, 0 ), // duplication_speciation_color
-            new Color( 123, 104, 238 ), // domains_color
-            new Color( 65, 105, 225 ), // binary_domain_combinations_color
-            new Color( 173, 255, 47 ) // annotation
-            , new Color( 220, 220, 220 ) // ov
-            }, { new Color( 0, 0, 0 ), // background_color
-            new Color( 0, 255, 255 ), // background_color_gradient_bottom
-            new Color( 255, 255, 255 ), // sequence __ Cyan
-            new Color( 200, 200, 200 ), // taxonomy
-            new Color( 255, 255, 255 ), // support 
-            new Color( 200, 200, 200 ), // branch_length_color
-            new Color( 0, 255, 255 ), // branch_color
-            new Color( 0, 255, 255 ), // box_color
-            new Color( 255, 255, 0 ), // collapesed_fill_color
-            new Color( 0, 255, 0 ), // found_color 0
-            new Color( 0, 0, 255 ), // found_color 1
-            new Color( 0, 255, 255 ), // found_color 0 + 1
-            new Color( 255, 0, 0 ), // duplication_box_color
-            new Color( 0, 255, 0 ), // speciation_box_color
-            new Color( 255, 255, 0 ), // duplication_speciation_color
-            new Color( 123, 104, 238 ), // domains_color
-            new Color( 65, 105, 225 ), // binary_domain_combinations_color
-            new Color( 173, 255, 47 ) // annotation
-            , new Color( 0, 120, 120 ) // ov
-            }, { new Color( 0, 0, 0 ), // background_color
-            new Color( 0, 255, 255 ), // background_color_gradient_bottom
-            new Color( 255, 200, 0 ), // sequence __ Clockwork
-            new Color( 255, 200, 0 ), // taxonomy
-            new Color( 255, 200, 0 ), // support 
-            new Color( 255, 200, 0 ), // branch_length_color
-            new Color( 255, 200, 0 ), // branch_color
-            new Color( 255, 200, 0 ), // box_color
-            new Color( 255, 255, 255 ), // collapesed_fill_color
-            new Color( 255, 255, 0 ), // found_color 0
-            new Color( 0, 255, 255 ), // found_color 1
-            new Color( 255, 255, 255 ), // found_color 0 + 1
-            new Color( 255, 0, 0 ), // duplication_box_color
-            new Color( 0, 255, 0 ), // speciation_box_color
-            new Color( 255, 255, 0 ), // duplication_speciation_color
-            new Color( 150, 150, 150 ), // domains_color
-            new Color( 150, 150, 150 ), // binary_domain_combinations_color
-            new Color( 150, 150, 150 ) // annotation
-            , new Color( 150, 150, 150 ) // ov
-            }, { new Color( 0, 0, 100 ), // background_color
-            new Color( 0, 255, 255 ), // background_color_gradient_bottom
-            new Color( 255, 255, 255 ), // sequence __ Blue
-            new Color( 255, 255, 255 ), // taxonomy
-            new Color( 255, 0, 0 ), // support 
-            new Color( 255, 0, 0 ), // branch_length_color
-            new Color( 255, 0, 0 ), // branch_color
-            new Color( 255, 0, 0 ), // box_color
-            new Color( 0, 0, 0 ), // collapesed_fill_color
-            new Color( 0, 255, 0 ), // found_color
-            new Color( 255, 0, 0 ), // found_color 1
-            new Color( 255, 255, 0 ), // found_color 1 + 2
-            new Color( 255, 0, 0 ), // duplication_box_color
-            new Color( 0, 255, 0 ), // speciation_box_color
-            new Color( 255, 255, 0 ), // duplication_speciation_color
-            new Color( 255, 255, 255 ), // domains_color
-            new Color( 255, 255, 255 ), // binary_domain_combinations_color
-            new Color( 255, 255, 255 ) // annotation
-            , new Color( 77, 77, 255 ) // ov
-            }, { new Color( 0, 0, 0 ), // background_color
-            new Color( 0, 255, 255 ), // background_color_gradient_bottom
-            new Color( 255, 255, 255 ), // sequence __ blue &  white
-            new Color( 255, 255, 255 ), // taxonomy
-            new Color( 255, 255, 255 ), // support 
-            new Color( 0, 191, 255 ), // branch_length_color
-            new Color( 0, 191, 255 ), // branch_color
-            new Color( 0, 191, 255 ), // box_color
-            new Color( 255, 255, 255 ), // collapesed_fill_color
-            new Color( 255, 0, 0 ), // found_color 0
-            new Color( 0, 255, 0 ), // found_color 1
-            new Color( 255, 255, 0 ), // found_color 0 + 1
-            new Color( 255, 0, 0 ), // duplication_box_color
-            new Color( 0, 255, 0 ), // speciation_box_color
-            new Color( 255, 255, 0 ), // duplication_speciation_color
-            new Color( 255, 255, 255 ), // domains_color
-            new Color( 255, 255, 255 ), // binary_domain_combinations_color
-            new Color( 255, 255, 255 ) // annotation
-            , new Color( 170, 187, 204 ) // ov
-            }, { new Color( 0, 0, 0 ), // background_color
-            new Color( 255, 255, 0 ), // background_color_gradient_bottom
-            new Color( 127, 255, 0 ), // sequence __ Neon
-            new Color( 255, 110, 199 ), // taxonomy
-            new Color( 234, 173, 234 ), // support 
-            new Color( 77, 77, 255 ), // branch_length_color
-            new Color( 234, 173, 234 ), // branch_color
-            new Color( 77, 77, 255 ), // box_color
-            new Color( 77, 77, 255 ), // collapsed_fill_color
-            new Color( 243, 243, 21 ), // found_color 0
-            new Color( 255, 20, 147 ), // found_color 1
-            new Color( 255, 255, 255 ), // found_color 1 + 2
-            new Color( 255, 0, 0 ), // duplication_box_color
-            new Color( 0, 255, 0 ), // speciation_box_color
-            new Color( 255, 255, 0 ), // duplication_speciation_color
-            new Color( 27, 255, 0 ), // domains_color
-            new Color( 27, 255, 0 ), // binary_domain_combinations_color
-            new Color( 27, 255, 0 ) // annotation
-            , new Color( 77, 77, 255 ) // ov
-            }                                            };
+        new Color( 0, 100, 100 ), // background_color_gradient_bottom
+        new Color( 230, 230, 230 ), // sequence  __ Default (same as Black)
+        new Color( 180, 180, 180 ), // taxonomy
+        new Color( 180, 180, 180 ), // support
+        new Color( 140, 140, 140 ), // branch_length_color
+        new Color( 255, 255, 255 ), // branch_color
+        new Color( 255, 255, 255 ), // box_color
+        new Color( 255, 255, 255 ), // collapesed_fill_color
+        new Color( 0, 255, 0 ), // found_color 0
+        new Color( 255, 0, 0 ), // found_color 1
+        new Color( 255, 255, 0 ), // found_color 1 + 2
+        new Color( 255, 0, 0 ), // duplication_box_color
+        new Color( 0, 255, 0 ), // speciation_box_color
+        new Color( 255, 255, 0 ), // duplication_speciation_color
+        new Color( 230, 230, 230 ), // domain_label
+        new Color( 100, 100, 100 ), // domains_base
+        new Color( 65, 105, 255 ), // binary_domain_combinations_color
+        new Color( 173, 255, 47 ) // annotation
+    , new Color( 130, 130, 130 )                 // overview
+    }, { new Color( 0, 0, 0 ), // background_color
+        new Color( 0, 255, 255 ), // background_color_gradient_bottom
+        new Color( 230, 230, 230 ), // sequence  __ Black
+        new Color( 180, 180, 180 ), // taxonomy
+        new Color( 180, 180, 180 ), // support
+        new Color( 140, 140, 140 ), // branch_length_color
+        new Color( 255, 255, 255 ), // branch_color
+        new Color( 255, 255, 255 ), // box_color
+        new Color( 255, 255, 255 ), // collapesed_fill_color
+        new Color( 0, 255, 0 ), // found_color 0
+        new Color( 255, 0, 0 ), // found_color 1
+        new Color( 255, 255, 0 ), // found_color 1 + 2
+        new Color( 255, 0, 0 ), // duplication_box_color
+        new Color( 0, 255, 0 ), // speciation_box_color
+        new Color( 255, 255, 0 ), // duplication_speciation_color
+        new Color( 230, 230, 230 ), // domain_label
+        new Color( 100, 100, 100 ), // domains_base
+        new Color( 65, 105, 255 ), // binary_domain_combinations_color
+        new Color( 173, 255, 47 ) // annotation
+    , new Color( 130, 130, 130 ) // ov
+    }, { new Color( 255, 255, 255 ), // background_color
+        new Color( 0, 255, 255 ), // background_color_gradient_bottom
+        new Color( 0, 0, 0 ), // sequence  __ Black & White
+        new Color( 0, 0, 0 ), // taxonomy
+        new Color( 0, 0, 0 ), // support
+        new Color( 0, 0, 0 ), // branch_length_color
+        new Color( 0, 0, 0 ), // branch_color
+        new Color( 0, 0, 0 ), // box_color
+        new Color( 0, 0, 0 ), // collapesed_fill_color
+        new Color( 255, 0, 0 ), // found_color 0
+        new Color( 0, 255, 0 ), // found_color 1
+        new Color( 0, 0, 255 ), // found_color 1 + 2
+        new Color( 255, 0, 0 ), // duplication_box_color
+        new Color( 0, 255, 0 ), // speciation_box_color
+        new Color( 255, 255, 0 ), // duplication_speciation_color
+        new Color( 0, 0, 0 ), // domain_label
+        new Color( 100, 100, 100 ), // domains_base
+        new Color( 0, 0, 0 ), // binary_domain_combinations_color
+        new Color( 0, 0, 0 ) // annotation
+    , new Color( 220, 220, 220 ) // ov
+    }, { new Color( 0, 0, 0 ), // background_color
+        new Color( 0, 255, 255 ), // background_color_gradient_bottom
+        new Color( 220, 220, 220 ), // sequence __ Silver
+        new Color( 180, 180, 180 ), // taxonomy
+        new Color( 140, 140, 140 ), // support
+        new Color( 140, 140, 140 ), // branch_length_color
+        new Color( 240, 240, 240 ), // branch_color
+        new Color( 140, 140, 140 ), // box_color
+        new Color( 240, 240, 240 ), // collapesed_fill_color
+        new Color( 255, 0, 0 ), // found_color 0
+        new Color( 0, 255, 0 ), // found_color 1
+        new Color( 255, 255, 0 ), // found_color 1 + 2
+        new Color( 255, 0, 0 ), // duplication_box_color
+        new Color( 0, 255, 0 ), // speciation_box_color
+        new Color( 255, 255, 0 ), // duplication_speciation_color
+        new Color( 230, 230, 230 ), // domain_label
+        new Color( 100, 100, 100 ), // domains_base
+        new Color( 180, 180, 180 ), // binary_domain_combinations_color
+        new Color( 140, 140, 140 ) // annotation
+    , new Color( 40, 40, 40 ) // ov
+    }, { new Color( 0, 10, 0 ), // background_color
+        new Color( 0, 255, 255 ), // background_color_gradient_bottom
+        new Color( 0, 255, 0 ), // sequence __ the Matrix
+        new Color( 30, 200, 30 ), // taxonomy
+        new Color( 0, 155, 0 ), // support
+        new Color( 0, 100, 0 ), // branch_length_color
+        new Color( 0, 155, 0 ), // branch_color
+        new Color( 0, 255, 0 ), // box_color
+        new Color( 0, 155, 0 ), // collapesed_fill_color
+        new Color( 255, 0, 0 ), // found_color 0
+        new Color( 0, 255, 0 ), // found_color 1
+        new Color( 255, 255, 0 ), // found_color 1 + 2
+        new Color( 255, 0, 0 ), // duplication_box_color
+        new Color( 0, 255, 0 ), // speciation_box_color
+        new Color( 255, 255, 0 ), // duplication_speciation_color
+        new Color( 230, 230, 230 ), // domain_label
+        new Color( 100, 100, 100 ), // domains_base
+        new Color( 0, 235, 0 ), // binary_domain_combinations_color
+        new Color( 0, 235, 0 ) // annotation
+    , new Color( 40, 40, 40 ) // ov
+    }, { new Color( 255, 255, 255 ), // background_color
+        new Color( 0, 255, 255 ), // background_color_gradient_bottom
+        new Color( 0, 0, 0 ), //sequence __ White & Blue
+        new Color( 40, 40, 40 ), // taxonomy
+        new Color( 0, 125, 0 ), // support
+        new Color( 70, 70, 0 ), // branch_length_color
+        new Color( 0, 20, 200 ), // branch_color
+        new Color( 0, 20, 200 ), // box_color
+        new Color( 0, 20, 200 ), // collapesed_fill_color
+        new Color( 0, 255, 0 ), // found_color 0
+        new Color( 255, 0, 0 ), // found_color 1
+        new Color( 0, 0, 255 ), // found_color 0 + 1
+        new Color( 255, 0, 0 ), // duplication_box_color
+        new Color( 0, 255, 0 ), // speciation_box_color
+        new Color( 255, 255, 0 ), // duplication_speciation_color
+        new Color( 0, 0, 0 ), // domain_label
+        new Color( 50, 50, 50 ), // domains_base
+        new Color( 65, 105, 225 ), // binary_domain_combinations_color
+        new Color( 173, 255, 47 ) // annotation
+    , new Color( 220, 220, 220 ) // ov
+    }, { new Color( 0, 0, 0 ), // background_color
+        new Color( 0, 255, 255 ), // background_color_gradient_bottom
+        new Color( 255, 255, 255 ), // sequence __ Cyan
+        new Color( 200, 200, 200 ), // taxonomy
+        new Color( 255, 255, 255 ), // support
+        new Color( 200, 200, 200 ), // branch_length_color
+        new Color( 0, 255, 255 ), // branch_color
+        new Color( 0, 255, 255 ), // box_color
+        new Color( 0, 255, 255 ), // collapesed_fill_color
+        new Color( 0, 255, 0 ), // found_color 0
+        new Color( 0, 0, 255 ), // found_color 1
+        new Color( 0, 255, 255 ), // found_color 0 + 1
+        new Color( 255, 0, 0 ), // duplication_box_color
+        new Color( 0, 255, 0 ), // speciation_box_color
+        new Color( 255, 255, 0 ), // duplication_speciation_color
+        new Color( 230, 230, 230 ), // domain_label
+        new Color( 100, 100, 100 ), // domains_base
+        new Color( 65, 105, 225 ), // binary_domain_combinations_color
+        new Color( 173, 255, 47 ) // annotation
+    , new Color( 0, 120, 120 ) // ov
+    }, { new Color( 0, 0, 0 ), // background_color
+        new Color( 0, 255, 255 ), // background_color_gradient_bottom
+        new Color( 255, 200, 0 ), // sequence __ Clockwork
+        new Color( 255, 200, 0 ), // taxonomy
+        new Color( 255, 200, 0 ), // support
+        new Color( 255, 200, 0 ), // branch_length_color
+        new Color( 255, 200, 0 ), // branch_color
+        new Color( 255, 200, 0 ), // box_color
+        new Color( 255, 200, 0 ), // collapesed_fill_color
+        new Color( 255, 255, 0 ), // found_color 0
+        new Color( 0, 255, 255 ), // found_color 1
+        new Color( 255, 255, 255 ), // found_color 0 + 1
+        new Color( 255, 0, 0 ), // duplication_box_color
+        new Color( 0, 255, 0 ), // speciation_box_color
+        new Color( 255, 255, 0 ), // duplication_speciation_color
+        new Color( 255, 200, 0 ), // domain_label
+        new Color( 255, 200, 0 ), // domains_base
+        new Color( 150, 150, 150 ), // binary_domain_combinations_color
+        new Color( 150, 150, 150 ) // annotation
+    , new Color( 150, 150, 150 ) // ov
+    }, { new Color( 0, 0, 100 ), // background_color
+        new Color( 0, 255, 255 ), // background_color_gradient_bottom
+        new Color( 255, 255, 255 ), // sequence __ Blue
+        new Color( 255, 255, 255 ), // taxonomy
+        new Color( 255, 0, 0 ), // support
+        new Color( 255, 0, 0 ), // branch_length_color
+        new Color( 255, 0, 0 ), // branch_color
+        new Color( 255, 0, 0 ), // box_color
+        new Color( 255, 0, 0 ), // collapesed_fill_color
+        new Color( 0, 255, 0 ), // found_color
+        new Color( 255, 0, 0 ), // found_color 1
+        new Color( 255, 255, 0 ), // found_color 1 + 2
+        new Color( 255, 0, 0 ), // duplication_box_color
+        new Color( 0, 255, 0 ), // speciation_box_color
+        new Color( 255, 255, 0 ), // duplication_speciation_color
+        new Color( 255, 255, 255 ), // domain_label
+        new Color( 100, 100, 100 ), // domains_base
+        new Color( 255, 255, 255 ), // binary_domain_combinations_color
+        new Color( 255, 255, 255 ) // annotation
+    , new Color( 77, 77, 255 ) // ov
+    }, { new Color( 0, 0, 0 ), // background_color
+        new Color( 0, 255, 255 ), // background_color_gradient_bottom
+        new Color( 255, 255, 255 ), // sequence __ blue &  white
+        new Color( 255, 255, 255 ), // taxonomy
+        new Color( 255, 255, 255 ), // support
+        new Color( 0, 191, 255 ), // branch_length_color
+        new Color( 0, 191, 255 ), // branch_color
+        new Color( 0, 191, 255 ), // box_color
+        new Color( 0, 191, 255 ), // collapesed_fill_color
+        new Color( 255, 0, 0 ), // found_color 0
+        new Color( 0, 255, 0 ), // found_color 1
+        new Color( 255, 255, 0 ), // found_color 0 + 1
+        new Color( 255, 0, 0 ), // duplication_box_color
+        new Color( 0, 255, 0 ), // speciation_box_color
+        new Color( 255, 255, 0 ), // duplication_speciation_color
+        new Color( 255, 255, 255 ), // domain_label
+        new Color( 150, 150, 150 ), // domains_base
+        new Color( 255, 255, 255 ), // binary_domain_combinations_color
+        new Color( 255, 255, 255 ) // annotation
+    , new Color( 170, 187, 204 ) // ov
+    }, { new Color( 0, 0, 0 ), // background_color
+        new Color( 255, 255, 0 ), // background_color_gradient_bottom
+        new Color( 127, 255, 0 ), // sequence __ Neon
+        new Color( 255, 110, 199 ), // taxonomy
+        new Color( 234, 173, 234 ), // support
+        new Color( 77, 77, 255 ), // branch_length_color
+        new Color( 234, 173, 234 ), // branch_color
+        new Color( 77, 77, 255 ), // box_color
+        new Color( 234, 173, 234 ), // collapsed_fill_color
+        new Color( 243, 243, 21 ), // found_color 0
+        new Color( 255, 20, 147 ), // found_color 1
+        new Color( 255, 255, 255 ), // found_color 1 + 2
+        new Color( 255, 0, 0 ), // duplication_box_color
+        new Color( 0, 255, 0 ), // speciation_box_color
+        new Color( 255, 255, 0 ), // duplication_speciation_color
+        new Color( 127, 255, 0 ), // domain_label
+        new Color( 234, 173, 234 ), // domains_base
+        new Color( 27, 255, 0 ), // binary_domain_combinations_color
+        new Color( 27, 255, 0 ) // annotation
+    , new Color( 77, 77, 255 ) // ov
+    }                                            };
     private Color              annotation_color;
     private Color              background_color;
     private Color              background_color_gradient_bottom;
@@ -283,7 +290,8 @@ public final class TreeColorSet {
     private Color              branch_color;
     private Color              branch_length_color;
     private Color              collapse_fill_color;
-    private Color              domains_color;
+    private Color              domain_label_color;
+    private Color              domain_base_color;
     private Color              dup_box_color;
     private Color              duplication_or_specation_color;
     private Color              found_color_0;
@@ -299,6 +307,18 @@ public final class TreeColorSet {
         // Hidden constructor.
     }
 
+    public Color getDomainBaseColor() {
+        return domain_base_color;
+    }
+
+    public Color getDomainLabelColor() {
+        return domain_label_color;
+    }
+
+    private void setColorForDefault( final int i, final Color color ) {
+        _color_schemes[ 0 ][ i ] = color;
+    }
+
     void cycleColorScheme() {
         if ( getCurrentColorScheme() >= ( _color_schemes.length - 1 ) ) {
             setColorSchema( 0 );
@@ -363,10 +383,6 @@ public final class TreeColorSet {
         return SCHEME_NAMES[ getCurrentColorScheme() ];
     }
 
-    Color getDomainsColor() {
-        return domains_color;
-    }
-
     Color getDuplicationBoxColor() {
         return dup_box_color;
     }
@@ -448,20 +464,17 @@ public final class TreeColorSet {
         dup_box_color = _color_schemes[ scheme ][ 12 ];
         spec_box_color = _color_schemes[ scheme ][ 13 ];
         duplication_or_specation_color = _color_schemes[ scheme ][ 14 ];
-        domains_color = _color_schemes[ scheme ][ 15 ];
-        binary_domain_combinations_color = _color_schemes[ scheme ][ 16 ];
-        annotation_color = _color_schemes[ scheme ][ 17 ];
-        ov_color = _color_schemes[ scheme ][ 18 ];
+        domain_label_color = _color_schemes[ scheme ][ 15 ];
+        domain_base_color = _color_schemes[ scheme ][ 16 ];
+        binary_domain_combinations_color = _color_schemes[ scheme ][ 17 ];
+        annotation_color = _color_schemes[ scheme ][ 18 ];
+        ov_color = _color_schemes[ scheme ][ 19 ];
     }
 
     void setCurrentColorScheme( final int color_scheme ) {
         _color_scheme = color_scheme;
     }
 
-    private void setColorForDefault( final int i, final Color color ) {
-        _color_schemes[ 0 ][ i ] = color;
-    }
-
     static TreeColorSet createInstance() {
         final TreeColorSet tcs = new TreeColorSet();
         tcs.setColorSchema( 0 );