import org.jmol.c.CBK;
import org.jmol.viewer.Viewer;
-import jalview.api.AlignViewportI;
import jalview.api.AlignmentViewPanel;
import jalview.api.FeatureRenderer;
import jalview.api.SequenceRenderer;
import jalview.io.DataSourceType;
import jalview.io.StructureFile;
import jalview.structure.AtomSpec;
-import jalview.structure.AtomSpecModel;
import jalview.structure.StructureCommand;
import jalview.structure.StructureCommandI;
import jalview.structure.StructureSelectionManager;
showConsole(false);
}
- @Override
- public void showStructures(AlignViewportI av, boolean refocus)
- {
- String cmd = buildShowStructuresCommand(av, refocus);
- executeCommand(new StructureCommand(cmd), false);
- }
-
- /**
- * Builds a command to show parts of the structure, depending on whether
- * <ul>
- * <li>all structures or regions mapped to alignment only are shown</li>
- * <li>all chains or only selected chains are shown</li>
- * </ul>
- *
- * @param av
- * @param refocus
- * @return
- */
- protected String buildShowStructuresCommand(AlignViewportI av,
- boolean refocus)
- {
- StringBuilder cmd = new StringBuilder(128);
- if (!isShowAlignmentOnly())
- {
- cmd.append("display *");
- }
- else
- {
- AtomSpecModel model = getShownResidues(av);
- String atomSpec = getCommandGenerator().getAtomSpec(model, false);
-
- cmd.append("hide *;display ").append(atomSpec)
- .append("; select displayed");
- }
-
- /*
- * hide any chains not selected to be shown
- */
- if (!chainsToHide.isEmpty())
- {
- cmd.append("; hide add ");
- boolean firstHide = true;
- for (String pdbChain : chainsToHide)
- {
- String[] toks = pdbChain.split(":");
- String chainId = toks[1];
- String modelNo = getModelIdForFile(getFileForChain(pdbChain));
- if ("".equals(modelNo))
- {
- continue;
- }
- if (!firstHide)
- {
- cmd.append(",");
- }
- firstHide = false;
- cmd.append(":").append(chainId).append("/")
- .append(String.valueOf(modelNo)).append(".1");
- }
- }
-
- cmd.append("; cartoon only");
- if (refocus)
- {
- cmd.append("; zoom 0");
- }
- return cmd.toString();
- }
-
/**
* Answers a Jmol syntax style structure model specification. Model number 0, 1,
* 2... is formatted as "1.1", "2.1", "3.1" etc.