- Limit<ClustalW> limit = getLimit(preset.getName());\r
- ConfiguredExecutable<ClustalW> confClust = init(sequences);\r
- confClust.addParameters(preset.getOptions());\r
- return WSUtil.align(sequences, confClust, getLogger(), "presetAlign",\r
- limit);\r
- }\r
-\r
- @Override\r
- public String customAlign(List<FastaSequence> sequences,\r
- List<Option<ClustalW>> options) throws JobSubmissionException,\r
- WrongParameterException {\r
- WSUtil.validateFastaInput(sequences);\r
- ConfiguredExecutable<ClustalW> confClust = init(sequences);\r
- List<String> params = WSUtil.getCommands(options,\r
- ClustalW.KEY_VALUE_SEPARATOR);\r
- confClust.addParameters(params);\r
- log.info("Setting parameters: " + params);\r
- return WSUtil.align(sequences, confClust, getLogger(), "customAlign",\r
- getLimit(""));\r
- }\r
-\r
- @Override\r
- public RunnerConfig<ClustalW> getRunnerOptions() {\r
- Timer timer = Timer.getMilliSecondsTimer();\r
- getLogger().logAll(timer, "getRunnerOptions");\r
- return clustalOptions;\r
- }\r
-\r
- @SuppressWarnings("unchecked")\r
- @Override\r
- public Alignment getResult(String jobId) throws ResultNotAvailableException {\r
- Timer timer = Timer.getMilliSecondsTimer();\r
- WSUtil.validateJobId(jobId);\r
- AsyncExecutor asyncEngine = Configurator.getAsyncEngine(jobId);\r
- ConfiguredExecutable<ClustalW> clustal = (ConfiguredExecutable<ClustalW>) asyncEngine\r
- .getResults(jobId);\r
- Alignment al = clustal.getResults();\r
- getLogger().log(timer, "getResults", jobId);\r
- return al;\r
- }\r
-\r
- @Override\r
- public Limit<ClustalW> getLimit(String presetName) {\r
- Timer timer = Timer.getMilliSecondsTimer();\r
- Limit<ClustalW> limit = new ClustalW().getLimit(presetName);\r
- getLogger().logAll(timer, "getLimit");\r
- return limit;\r
- }\r
-\r
- @Override\r
- public LimitsManager<ClustalW> getLimits() {\r
- Timer timer = Timer.getMilliSecondsTimer();\r
- LimitsManager<ClustalW> limits = new ClustalW().getLimits();\r
- getLogger().logAll(timer, "getLimits");\r
- return limits;\r
- }\r
-\r
- @Override\r
- public boolean cancelJob(String jobId) {\r
- Timer timer = Timer.getMilliSecondsTimer();\r
- WSUtil.validateJobId(jobId);\r
- boolean result = WSUtil.cancelJob(jobId);\r
- getLogger().logFine(timer, "Cancel");\r
- return result;\r
- }\r
-\r
- @Override\r
- public JobStatus getJobStatus(String jobId) {\r
- Timer timer = Timer.getMilliSecondsTimer();\r
- WSUtil.validateJobId(jobId);\r
- JobStatus status = WSUtil.getJobStatus(jobId);\r
- getLogger().logFine(timer, "getJobStatus");\r
- return status;\r
- }\r
-\r
- @Override\r
- public PresetManager<ClustalW> getPresets() {\r
- Timer timer = Timer.getMilliSecondsTimer();\r
- getLogger().logAll(timer, "pullExecStatistics");\r
- return clustalPresets;\r
- }\r
-\r
- @Override\r
- public ChunkHolder pullExecStatistics(String jobId, long position) {\r
- Timer timer = Timer.getMilliSecondsTimer();\r
- WSUtil.validateJobId(jobId);\r
- String file = Configurator.getWorkDirectory(jobId) + File.separator\r
- + ClustalW.getStatFile();\r
- ChunkHolder cholder = WSUtil.pullFile(file, position);\r
- getLogger().logFine(timer, "pullExecStatistics");\r
- return cholder;\r
- }\r