package jalview.structure;
-import jalview.api.AlignmentViewPanel;
-import jalview.datamodel.SequenceI;
-
import java.awt.Color;
import java.util.List;
import java.util.Map;
+import jalview.api.AlignmentViewPanel;
+import jalview.datamodel.SequenceI;
+
/**
* Methods that generate commands that can be sent to a molecular structure
* viewer program (e.g. Jmol, Chimera, ChimeraX)
List<StructureCommandI> showChains(List<String> toShow);
/**
- * Returns zero, one or more commands to set attributes on mapped residues in
- * the structure viewer for any features present and displayed in Jalview
- *
- * @param ssm
- * @param files
- * @param sequence
- * @param avp
- * @return
- */
- List<StructureCommandI> setAttributesForFeatures(
- StructureSelectionManager ssm,
- String[] files, SequenceI[][] sequence, AlignmentViewPanel avp);
-
- /**
* Returns a command to superpose structures by closest positioning of
- * residues in {@code atomSpec} to the corresponding residues in {@ refAtoms}.
- * If wanted, this may include commands to visually highlight the residues
- * that were used for the superposition.
+ * residues in {@code atomSpec} to the corresponding residues in
+ * {@code refAtoms}. If wanted, this may include commands to visually
+ * highlight the residues that were used for the superposition.
*
* @param refAtoms
* @param atomSpec
*/
// refactor if needed to distinguish loading data or session files
StructureCommandI loadFile(String file);
+
+ /**
+ * Returns commands to set atom attributes or properties, given a map of
+ * Jalview features as {featureType, {featureValue, AtomSpecModel}}. The
+ * assumption is that one command can be constructed for each feature type and
+ * value combination, to apply it to one or more residues.
+ *
+ * @param featureValues
+ * @return
+ */
+ List<StructureCommandI> setAttributes(
+ Map<String, Map<Object, AtomSpecModel>> featureValues);
}