/*
* Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
* Copyright (C) $$Year-Rel$$ The Jalview Authors
*
* This file is part of Jalview.
*
* 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 Jalview. If not, see .
* The Jalview Authors are detailed in the 'AUTHORS' file.
*/
package jalview.structure;
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
*/
StructureCommandI colourByChain();
/**
* Returns the command to colour residues using a charge-based scheme:
*
*
Aspartic acid and Glutamic acid (negative charge) red
*
Lysine and Arginine (positive charge) blue
*
Cysteine - yellow
*
all others - white
*
*
* @return
*/
List colourByCharge();
/**
* Returns the command to colour residues with the colours provided in the
* map, one per three letter residue code
*
* @param colours
* @return
*/
List colourByResidues(Map colours);
/**
* Returns the command to set the background colour of the structure viewer
*
* @param col
* @return
*/
StructureCommandI setBackgroundColour(Color col);
/**
* Returns commands to colour mapped residues of structures according to
* Jalview's colouring (including feature colouring if applied). Parameter is
* a map from Color to a model of all residues assigned that colour.
*
* @param colourMap
* @return
*/
List colourBySequence(
Map