import jalview.structure.StructureSelectionManager;
import jalview.structures.models.AAStructureBindingModel;
import jalview.util.MessageManager;
+import jalview.util.StructureCommands;
import java.awt.Color;
import java.io.File;
private static final String ALPHACARBON = "CA";
- private List<String> chainNames = new ArrayList<>();
-
private Hashtable<String, String> chainFile = new Hashtable<>();
/*
String progressMsg);
/**
- * Sends a set of colour commands to the structure viewer
+ * Constructs a set of colour commands and sends them to the structure viewer
*
- * @param colourBySequenceCommands
+ * @param viewPanel
*/
@Override
- protected void colourBySequence(
- StructureMappingcommandSet[] colourBySequenceCommands)
+ protected void colourBySequence(AlignmentViewPanel viewPanel)
{
- for (StructureMappingcommandSet cpdbbyseq : colourBySequenceCommands)
+ Map<Object, AtomSpecModel> colourMap = StructureCommands
+ .buildColoursMap(this, viewPanel);
+
+ String[] commands = ChimeraCommands
+ .getColourBySequenceCommand(colourMap, this);
+
+ for (String command : commands)
{
- for (String command : cpdbbyseq.commands)
- {
- sendAsynchronousCommand(command, COLOURING_CHIMERA);
- }
+ sendAsynchronousCommand(command, COLOURING_CHIMERA);
}
}
/**
- * @param files
- * @param viewPanel
- * @return
- */
- @Override
- protected StructureMappingcommandSet[] getColourBySequenceCommands(
- String[] files, AlignmentViewPanel viewPanel)
- {
- return ChimeraCommands.getColourBySequenceCommand(files, viewPanel,
- this);
- }
-
- /**
* @param command
*/
protected void executeWhenReady(String command)
}
/**
- * Returns a list of chains mapped in this viewer. Note this list is not
- * currently scoped per structure.
- *
- * @return
- */
- @Override
- public List<String> getChainNames()
- {
- return chainNames;
- }
-
- /**
* Send a 'focus' command to Chimera to recentre the visible display
*/
+ @Override
public void focusView()
{
sendChimeraCommand("focus", false);
cmd.append("ribbon ").append(atomSpec);
if (!isShowAlignmentOnly())
{
- cmd.append("chain @CA|P; ribbon");
+ cmd.append("; chain @CA|P");
}
if (refocus)
{
}
sendChimeraCommand(cmd.toString(), false);
}
+
+ @Override
+ public int getModelForPdbFile(String fileName, int fileIndex)
+ {
+ if (chimeraMaps.containsKey(fileName))
+ {
+ List<ChimeraModel> models = chimeraMaps.get(fileName);
+ if (!models.isEmpty())
+ {
+ return models.get(0).getModelNumber();
+ }
+ }
+ return -1;
+ }
}