package jalview.structure; import jalview.api.AlignmentViewPanel; import jalview.api.SequenceRenderer; import jalview.datamodel.SequenceI; import java.awt.Color; import java.util.List; import java.util.Map; /** * Methods that generate commands that can be sent to a molecular structure * viewer program (e.g. Jmol, Chimera, ChimeraX) * * @author gmcarstairs * */ public interface StructureCommandsI { /** * Returns the command to colour by chain * * @return */ String colourByChain(); /** * Returns the command to colour residues using a charge-based scheme: * * * @return */ String colourByCharge(); /** * Returns the command to colour residues with the colours provided in the * map, one per three letter residue code * * @param colours * @return */ String colourByResidues(Map colours); /** * Returns the command to set the background colour of the structure viewer * * @param col * @return */ String setBackgroundColour(Color col); /** * Returns commands to colour mapped residues of structures according to * Jalview's colouring (including feature colouring if applied) * * @param structureSelectionManager * @param files * @param seqs * @param sr * @param alignmentv * @return */ String[] colourBySequence( StructureSelectionManager structureSelectionManager, String[] files, SequenceI[][] seqs, SequenceRenderer sr, AlignmentViewPanel alignmentv); /** * Returns a command to centre the display in the structure viewer * * @return */ String focusView(); /** * Returns a command to show only the selected chains. The items in the input * list should be formatted as "modelno:chainid". * * @param toShow * @return */ String showChains(List toShow); }