import java.io.File;
import java.io.IOException;
-import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
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())
{
pathList.add("/usr/local/chimera/bin/chimera");
pathList.add("/usr/local/bin/chimera");
pathList.add("/usr/bin/chimera");
+ pathList.add(System.getProperty("user.home") + "/opt/bin/chimera");
}
else if (os.startsWith("Windows"))
{
* typical Windows installation path is
* C:\Program Files\Chimera 1.12\bin\chimera.exe
*/
- for (String root : new String[] { "\\Program Files",
- "C:\\Program Files", "\\Program Files (x86)",
- "C:\\Program Files (x86)" })
- {
- /*
- * match a path ending in \bin\chimera or \bin\chimera.exe
- * back-slashes are double escaped - for Java String, and for regex
- */
- for (String version : FileUtils
- .findMatchingPaths(".*\\\\Chimera.*$", Paths.get(root)))
- {
- pathList.addAll(FileUtils.findMatchingPaths(
- ".*\\\\bin\\\\chimera(\\\\.exe)?$",
- Paths.get(version)));
- }
- }
+ // current drive:
+ pathList.addAll(FileUtils.findMatches("\\",
+ "Program Files*/Chimera*/bin/{chimera,chimera.exe}"));
+ // C: drive (note may add as duplicates)
+ pathList.addAll(FileUtils.findMatches("C:\\",
+ "Program Files*/Chimera*/bin/{chimera,chimera.exe}"));
}
else if (os.startsWith("Mac"))
{