import jalview.bin.Cache;
import jalview.gui.Preferences;
+import jalview.util.Platform;
import java.io.File;
import java.io.IOException;
this.haveGUI = haveGUI;
// Create the Chimera interface
chimeraManager = new ChimeraManager(this);
- chimSelectionList = new ArrayList<ChimeraStructuralObject>();
+ chimSelectionList = new ArrayList<>();
pathProps = new Properties();
}
ModelType type)
{
// new models
- Map<String, List<ChimeraModel>> newModels = new HashMap<String, List<ChimeraModel>>();
+ Map<String, List<ChimeraModel>> newModels = new HashMap<>();
if (chimObjNames.size() > 0)
{
List<String> names = chimObjNames.iterator().next();
for (String chimObjName : names)
{
// get or open the corresponding models if they already exist
- List<ChimeraModel> currentModels = chimeraManager.getChimeraModels(
- chimObjName, type);
+ List<ChimeraModel> currentModels = chimeraManager
+ .getChimeraModels(chimObjName, type);
if (currentModels.size() == 0)
{
// open and return models
// Get the corresponding "real" model
if (chimeraManager.hasChimeraModel(modelNumber, subModelNumber))
{
- ChimeraModel dataModel = chimeraManager.getChimeraModel(
- modelNumber, subModelNumber);
- if (dataModel.getResidueCount() == selectedModel
- .getResidueCount()
- || dataModel.getModelType() == StructureManager.ModelType.SMILES)
+ ChimeraModel dataModel = chimeraManager
+ .getChimeraModel(modelNumber, subModelNumber);
+ if (dataModel.getResidueCount() == selectedModel.getResidueCount()
+ || dataModel
+ .getModelType() == StructureManager.ModelType.SMILES)
{
// Select the entire model
addChimSelection(dataModel);
{
for (ChimeraChain selectedChain : selectedModel.getChains())
{
- ChimeraChain dataChain = dataModel.getChain(selectedChain
- .getChainId());
+ ChimeraChain dataChain = dataModel
+ .getChain(selectedChain.getChainId());
if (selectedChain.getResidueCount() == dataChain
.getResidueCount())
{
// alDialog.dispose();
// }
// System.out.println("launch align dialog");
- List<ChimeraStructuralObject> chimObjectList = new ArrayList<ChimeraStructuralObject>();
+ List<ChimeraStructuralObject> chimObjectList = new ArrayList<>();
for (ChimeraModel model : chimeraManager.getChimeraModels())
{
if (useChains)
public List<String> getAllChimeraResidueAttributes()
{
- List<String> attributes = new ArrayList<String>();
+ List<String> attributes = new ArrayList<>();
// attributes.addAll(rinManager.getResAttrs());
attributes.addAll(chimeraManager.getAttrList());
return attributes;
// TODO: [Optional] Change priority of Chimera paths
public static List<String> getChimeraPaths()
{
- List<String> pathList = new ArrayList<String>();
+ List<String> pathList = new ArrayList<>();
// if no network is available and the settings have been modified by the
// user, check for a
pathList.add("/usr/local/chimera/bin/chimera");
pathList.add("/usr/local/bin/chimera");
pathList.add("/usr/bin/chimera");
+ pathList.add(Platform.getUserPath("opt/bin/chimera"));
}
else if (os.startsWith("Windows"))
{
- pathList.add("\\Program Files\\Chimera\\bin\\chimera");
- pathList.add("C:\\Program Files\\Chimera\\bin\\chimera.exe");
+ for (String root : new String[] { "\\Program Files",
+ "C:\\Program Files", "\\Program Files (x86)",
+ "C:\\Program Files (x86)" })
+ {
+ for (String version : new String[] { "1.11", "1.11.1", "1.11.2",
+ "1.12", "1.12.1", "1.12.2", "1.13" })
+ {
+ pathList.add(root + "\\Chimera " + version + "\\bin\\chimera");
+ pathList.add(
+ root + "\\Chimera " + version + "\\bin\\chimera.exe");
+ }
+ }
}
else if (os.startsWith("Mac"))
{