/*
* Object through which we talk to Chimera
*/
- private ChimeraManager viewer;
+ private ChimeraManager chimeraManager;
/*
* Object which listens to Chimera notifications
try
{
List<ChimeraModel> modelsToMap = new ArrayList<>();
- List<ChimeraModel> oldList = viewer.getModelList();
+ List<ChimeraModel> oldList = chimeraManager.getModelList();
boolean alreadyOpen = false;
/*
*/
if (!alreadyOpen)
{
- viewer.openModel(file, pe.getId(), ModelType.PDB_MODEL);
- if (viewer.isChimeraX())
+ chimeraManager.openModel(file, pe.getId(), ModelType.PDB_MODEL);
+ if (chimeraManager.isChimeraX())
{
/*
* ChimeraX hack: force chimera model name to pdbId
* Chimera: query for actual models and find the one with
* matching model name - set in viewer.openModel()
*/
- List<ChimeraModel> newList = viewer.getModelList();
+ List<ChimeraModel> newList = chimeraManager.getModelList();
// JAL-1728 newList.removeAll(oldList) does not work
for (ChimeraModel cm : newList)
{
DataSourceType protocol)
{
super(ssm, pdbentry, sequenceIs, protocol);
- viewer = new ChimeraManager(new StructureManager(true));
+ chimeraManager = new ChimeraManager(new StructureManager(true));
String viewerType = Cache.getProperty(Preferences.STRUCTURE_DISPLAY);
- viewer.setChimeraX(ViewerType.CHIMERAX.name().equals(viewerType));
+ chimeraManager.setChimeraX(ViewerType.CHIMERAX.name().equals(viewerType));
}
*/
protected void startChimeraProcessMonitor()
{
- final Process p = viewer.getChimeraProcess();
+ final Process p = chimeraManager.getChimeraProcess();
chimeraMonitor = new Thread(new Runnable()
{
try
{
chimeraListener = new ChimeraListener(this);
- viewer.startListening(chimeraListener.getUri());
+ chimeraManager.startListening(chimeraListener.getUri());
} catch (BindException e)
{
System.err.println(
getSsm().removeStructureViewerListener(this, this.getStructureFiles());
if (closeChimera)
{
- viewer.exitChimera();
+ chimeraManager.exitChimera();
}
if (this.chimeraListener != null)
{
chimeraListener.shutdown();
chimeraListener = null;
}
- viewer = null;
+ chimeraManager = null;
if (chimeraMonitor != null)
{
public void colourByCharge()
{
colourBySequence = false;
- String command = viewer.isChimeraX()
+ String command = chimeraManager.isChimeraX()
? "color white;color :ASP,GLU red;color :LYS,ARG blue;color :CYS yellow"
: "color white;color red ::ASP;color red ::GLU;color blue ::LYS;color blue ::ARG;color yellow ::CYS";
sendAsynchronousCommand(command, COLOURING_CHIMERA);
refreshPdbEntries();
StringBuilder selectioncom = new StringBuilder(256);
- boolean chimeraX = viewer.isChimeraX();
+ boolean chimeraX = chimeraManager.isChimeraX();
for (int a = 0; a < _alignment.length; a++)
{
int refStructure = _refStructure[a];
*/
public boolean launchChimera()
{
- if (viewer.isChimeraLaunched())
+ if (chimeraManager.isChimeraLaunched())
{
return true;
}
- boolean launched = viewer.launchChimera(
- StructureManager.getChimeraPaths(viewer.isChimeraX()));
+ boolean launched = chimeraManager.launchChimera(
+ StructureManager.getChimeraPaths(chimeraManager.isChimeraX()));
if (launched)
{
startChimeraProcessMonitor();
*/
public boolean isChimeraRunning()
{
- return viewer.isChimeraLaunched();
+ return chimeraManager.isChimeraLaunched();
}
/**
public List<String> sendChimeraCommand(final String command,
boolean getResponse)
{
- if (viewer == null)
+ if (chimeraManager == null)
{
// ? thread running after viewer shut down
return null;
if (true /*lastCommand == null || !lastCommand.equals(command)*/)
{
// trim command or it may never find a match in the replyLog!!
- List<String> lastReply = viewer.sendChimeraCommand(command.trim(),
+ List<String> lastReply = chimeraManager.sendChimeraCommand(command.trim(),
getResponse);
if (getResponse)
{
String[] files, SequenceRenderer sr, AlignmentViewPanel viewPanel)
{
return ChimeraCommands.getColourBySequenceCommand(getSsm(), files,
- getSequence(), sr, viewPanel, viewer.isChimeraX());
+ getSequence(), sr, viewPanel, chimeraManager.isChimeraX());
}
/**
private void waitForChimera()
{
- while (viewer != null && viewer.isBusy())
+ while (chimeraManager != null && chimeraManager.isBusy())
{
try
{
@Override
public synchronized String[] getStructureFiles()
{
- if (viewer == null)
+ if (chimeraManager == null)
{
return new String[0];
}
return;
}
- boolean forChimeraX = viewer.isChimeraX();
+ boolean forChimeraX = chimeraManager.isChimeraX();
StringBuilder cmd = new StringBuilder(128);
boolean first = true;
boolean found = false;
*/
if (lastHighlightCommand != null)
{
- viewer.sendChimeraCommand("~" + lastHighlightCommand, false);
+ chimeraManager.sendChimeraCommand("~" + lastHighlightCommand, false);
}
if (found)
{
- viewer.sendChimeraCommand(command, false);
+ chimeraManager.sendChimeraCommand(command, false);
}
this.lastHighlightCommand = command;
}
/*
* Ask Chimera for its current selection
*/
- List<String> selection = viewer.getSelectedResidueSpecs();
+ List<String> selection = chimeraManager.getSelectedResidueSpecs();
/*
* Parse model number, residue and chain for each selected position,
protected List<AtomSpec> convertStructureResiduesToAlignment(
List<String> structureSelection)
{
- boolean chimeraX = viewer.isChimeraX();
+ boolean chimeraX = chimeraManager.isChimeraX();
List<AtomSpec> atomSpecs = new ArrayList<>();
for (String atomSpec : structureSelection)
{
* Chimera format: color colorCode ::VAL
* ChimeraX format: color :VAL colourCode
*/
- boolean chimeraX = viewer.isChimeraX();
+ boolean chimeraX = chimeraManager.isChimeraX();
for (String resName : residueSet)
{
char res = resName.length() == 3
{
viewerCommandHistory(false);
String command = "set bgColor " + ColorUtils.toTkCode(col);
- viewer.sendChimeraCommand(command, false);
+ chimeraManager.sendChimeraCommand(command, false);
viewerCommandHistory(true);
}
* ChimeraX: https://www.cgl.ucsf.edu/chimerax/docs/user/commands/save.html
*/
String command = isChimeraX() ? "save session " : "save ";
- List<String> reply = viewer.sendChimeraCommand(command + filepath,
+ List<String> reply = chimeraManager.sendChimeraCommand(command + filepath,
true);
if (reply.contains("Session written"))
{
*/
public void focusView()
{
- sendChimeraCommand(viewer.isChimeraX() ? "view" : "focus", false);
+ sendChimeraCommand(chimeraManager.isChimeraX() ? "view" : "focus", false);
}
/**
StructureMappingcommandSet commandSet = ChimeraCommands
.getSetAttributeCommandsForFeatures(getSsm(), files,
- getSequence(), avp, viewer.isChimeraX());
+ getSequence(), avp, chimeraManager.isChimeraX());
String[] commands = commandSet.commands;
if (commands.length > 10)
{
*/
protected void sendCommandsByFile(String[] commands)
{
- boolean toChimeraX = viewer.isChimeraX();
+ boolean toChimeraX = chimeraManager.isChimeraX();
try
{
File tmp = File.createTempFile("chim", toChimeraX ? ".cxc" : ".com");
{
boolean featureAdded = false;
String featureGroup = getViewerFeatureGroup();
- boolean chimeraX = viewer.isChimeraX();
+ boolean chimeraX = chimeraManager.isChimeraX();
for (String residue : residues)
{
*/
public List<String> getChimeraAttributes()
{
- List<String> atts = viewer.getAttrList();
+ List<String> atts = chimeraManager.getAttrList();
Iterator<String> it = atts.iterator();
while (it.hasNext())
{
public boolean isChimeraX()
{
- return viewer.isChimeraX();
+ return chimeraManager.isChimeraX();
}
}