*/
public class ChimeraCommands
{
-
public static final String NAMESPACE_PREFIX = "jv_";
+ private static final String COLOR_GRAY_HEX = "color "
+ + ColorUtils.toTkCode(Color.GRAY);
+
/**
* Constructs Chimera commands to colour residues as per the Jalview alignment
*
* delimited). If length limit issues arise, refactor to return one color
* command per colour.
*/
- List<String> commands = new ArrayList<String>();
+ List<String> commands = new ArrayList<>();
StringBuilder sb = new StringBuilder(256);
- boolean firstColour = true;
+ sb.append(COLOR_GRAY_HEX);
+
for (Object key : colourMap.keySet())
{
Color colour = (Color) key;
String colourCode = ColorUtils.toTkCode(colour);
- if (!firstColour)
- {
- sb.append("; ");
- }
+ sb.append("; ");
sb.append("color ").append(colourCode).append(" ");
- firstColour = false;
final AtomSpecModel colourData = colourMap.get(colour);
sb.append(colourData.getAtomSpec());
}
AlignViewportI viewport = viewPanel.getAlignViewport();
HiddenColumns cs = viewport.getAlignment().getHiddenColumns();
AlignmentI al = viewport.getAlignment();
- Map<Object, AtomSpecModel> colourMap = new LinkedHashMap<Object, AtomSpecModel>();
+ Map<Object, AtomSpecModel> colourMap = new LinkedHashMap<>();
Color lastColour = null;
for (int pdbfnum = 0; pdbfnum < files.length; pdbfnum++)
Color colour = sr.getResidueColour(seq, r, finder);
/*
- * darker colour for hidden regions
+ * hidden regions are shown gray
+ * todo: iterate over visible columns only
*/
if (!cs.isVisible(r))
{
- colour = Color.GRAY;
+ continue; // colour = Color.GRAY;
}
final String chain = mapping[m].getChain();
StructureSelectionManager ssm, String[] files, SequenceI[][] seqs,
AlignmentViewPanel viewPanel)
{
- Map<String, Map<Object, AtomSpecModel>> theMap = new LinkedHashMap<String, Map<Object, AtomSpecModel>>();
+ Map<String, Map<Object, AtomSpecModel>> theMap = new LinkedHashMap<>();
FeatureRenderer fr = viewPanel.getFeatureRenderer();
if (fr == null)
Map<Object, AtomSpecModel> featureValues = theMap.get(type);
if (featureValues == null)
{
- featureValues = new HashMap<Object, AtomSpecModel>();
+ featureValues = new HashMap<>();
theMap.put(type, featureValues);
}
for (int[] range : mappedRanges)
protected static List<String> buildSetAttributeCommands(
Map<String, Map<Object, AtomSpecModel>> featureMap)
{
- List<String> commands = new ArrayList<String>();
+ List<String> commands = new ArrayList<>();
for (String featureType : featureMap.keySet())
{
String attributeName = makeAttributeName(featureType);