import jalview.ext.pymol.PymolManager;
import jalview.gui.StructureViewer.ViewerType;
import jalview.structure.AtomSpec;
+import jalview.structure.AtomSpecModel;
import jalview.structure.StructureCommand;
import jalview.structure.StructureCommandI;
import jalview.structure.StructureSelectionManager;
}
@Override
- public SequenceRenderer getSequenceRenderer(AlignmentViewPanel alignment)
+ public SequenceRenderer getSequenceRenderer(AlignmentViewPanel avp)
{
- // pull up?
- return new SequenceRenderer(alignment.getAlignViewport());
+ return new SequenceRenderer(avp.getAlignViewport());
}
@Override
return ViewerType.PYMOL;
}
- public boolean isPymolRunning()
+ @Override
+ public boolean isViewerRunning()
{
return pymolManager.isPymolLaunched();
}
+ @Override
public void closeViewer(boolean closePymol)
{
- getSsm().removeStructureViewerListener(this, this.getStructureFiles());
+ super.closeViewer(closePymol);
if (closePymol)
{
pymolManager.exitPymol();
{
pymolMonitor.interrupt();
}
- releaseUIResources();
}
public boolean openSession(String pymolSessionFile)
return ".pse";
}
+ @Override
+ public String getHelpURL()
+ {
+ return "https://pymolwiki.org/";
+ }
+
+ /**
+ * Constructs and sends commands to set atom properties for visible Jalview
+ * features on residues mapped to structure
+ *
+ * @param avp
+ * @return
+ */
+ public int sendFeaturesToViewer(AlignmentViewPanel avp)
+ {
+ // todo pull up this and JalviewChimeraBinding variant
+ Map<String, Map<Object, AtomSpecModel>> featureValues = buildFeaturesMap(
+ avp);
+ List<StructureCommandI> commands = getCommandGenerator()
+ .setAttributes(featureValues);
+ executeCommands(commands, false, null);
+ return commands.size();
+ }
+
}