/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.4)
- * Copyright (C) 2008 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.1)
+ * Copyright (C) 2014 The Jalview Authors
*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
+ * This file is part of Jalview.
*
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ *
+ * Jalview is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+ * You should have received a copy of the GNU General Public License along with Jalview. If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
*/
package jalview.schemes;
-import java.util.*;
+import jalview.datamodel.AnnotatedCollectionI;
+import jalview.datamodel.SequenceCollectionI;
+import jalview.datamodel.SequenceI;
-import java.awt.*;
-
-import jalview.datamodel.*;
+import java.awt.Color;
+import java.util.Hashtable;
+import java.util.List;
+import java.util.Map;
+import java.util.Vector;
public class ClustalxColourScheme extends ResidueColourScheme // implements
- // IParameterizable
+// IParameterizable
{
public static Hashtable colhash = new Hashtable();
colhash.put("ORANGE", new Color((float) 0.9, (float) 0.6, (float) 0.3));
colhash.put("CYAN", new Color((float) 0.1, (float) 0.7, (float) 0.7));
colhash.put("PINK", new Color((float) 0.9, (float) 0.5, (float) 0.5));
- colhash
- .put("MAGENTA",
- new Color((float) 0.8, (float) 0.3, (float) 0.8));
+ colhash.put("MAGENTA", new Color((float) 0.8, (float) 0.3, (float) 0.8));
colhash.put("YELLOW", new Color((float) 0.8, (float) 0.8, (float) 0.0));
}
- public ClustalxColourScheme(Vector seqs, int maxWidth)
+ public ClustalxColourScheme(AnnotatedCollectionI alignment,
+ Map<SequenceI, SequenceCollectionI> hiddenReps)
{
- resetClustalX(seqs, maxWidth);
+ alignmentChanged(alignment, hiddenReps);
}
- public void resetClustalX(Vector seqs, int maxWidth)
+ public void alignmentChanged(AnnotatedCollectionI alignment,
+ Map<SequenceI, SequenceCollectionI> hiddenReps)
{
+ int maxWidth = alignment.getWidth();
+ List<SequenceI> seqs = alignment.getSequences(hiddenReps);
cons2 = new int[maxWidth][24];
includeGaps = isIncludeGaps(); // does nothing - TODO replace with call to
- // get the current setting of the
- // includeGaps param.
+ // get the current setting of the
+ // includeGaps param.
int start = 0;
// Initialize the array
int j = 0;
char[] seq;
- while (j < seqs.size())
+ for (SequenceI sq : seqs)
{
- seq = ((SequenceI) seqs.elementAt(j)).getSequence();
+ seq = sq.getSequence();
int end_j = seq.length - 1;
tmp5[3] = conses[19]; // Q
colours[4] = new ConsensusColour((Color) colhash.get("RED"), tmp5);
- Consensus[] tmp6 = new Consensus[5];
+ Consensus[] tmp6 = new Consensus[6];
tmp6[0] = conses[3]; // -
tmp6[1] = conses[29]; // D
tmp6[2] = conses[10]; // E
- tmp6[3] = conses[6]; // q
+ tmp6[3] = conses[6]; // QE
tmp6[4] = conses[19]; // Q
+ tmp6[5] = conses[2]; // DE
colours[5] = new ConsensusColour((Color) colhash.get("MAGENTA"), tmp6);
Consensus[] tmp7 = new Consensus[5];
ResidueColour[19] = colours[0]; // V
}
+ @Override
public Color findColour(char c)
{
return Color.pink;
}
- public Color findColour(char c, int j)
+ @Override
+ public Color findColour(char c, int j, SequenceI seq)
{
Color currentColour;
/**
* @param includeGaps
- * the includeGaps to set
+ * the includeGaps to set
*/
protected void setIncludeGaps(boolean includeGaps)
{
this.includeGaps = includeGaps;
}
+ @Override
+ public ColourSchemeI applyTo(AnnotatedCollectionI sg,
+ Map<SequenceI, SequenceCollectionI> hiddenRepSequences)
+ {
+ ClustalxColourScheme css= new ClustalxColourScheme(sg, hiddenRepSequences);
+ css.includeGaps = includeGaps;
+ return css;
+ }
}
class ConsensusColour