import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
+import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.List;
* @param cmd
* command short name e.g. hmmalign
* @return
+ * @throws IOException
*/
- protected String getCommandPath(String cmd)
+ protected String getCommandPath(String cmd) throws IOException
{
String binariesFolder = Cache.getProperty(Preferences.HMMER_PATH);
+ // ensure any symlink to the directory is resolved:
+ binariesFolder = Paths.get(binariesFolder).toRealPath().toString();
File file = FileUtils.getExecutable(cmd, binariesFolder);
if (file == null && af != null)
{