/* Copyright (c) 2011 Peter Troshin\r
- * Copyright (c) 2013 Alexander Sherstnev\r
* \r
- * JAva Bioinformatics Analysis Web Services (JABAWS)\r
- * @version: 2.5 \r
+ * JAva Bioinformatics Analysis Web Services (JABAWS) @version: 2.0 \r
* \r
* This library is free software; you can redistribute it and/or modify it under the terms of the\r
* Apache License version 2 as published by the Apache Software Foundation\r
* Any republication or derived work distributed in source code form\r
* must include this copyright and license notice.\r
*/\r
-package compbio.ws.server;\r
\r
-import java.io.File;\r
-import java.util.List;\r
-\r
-import javax.jws.WebService;\r
-\r
-import org.apache.log4j.Logger;\r
-\r
-import compbio.data.msa.JABAService;\r
-import compbio.data.msa.SequenceAnnotation;\r
-import compbio.data.sequence.FastaSequence;\r
-import compbio.engine.Configurator;\r
-import compbio.engine.client.ConfiguredExecutable;\r
-import compbio.metadata.ChunkHolder;\r
-import compbio.metadata.JobSubmissionException;\r
-import compbio.metadata.LimitExceededException;\r
-import compbio.metadata.Option;\r
-import compbio.metadata.Preset;\r
-import compbio.metadata.UnsupportedRuntimeException;\r
-import compbio.metadata.WrongParameterException;\r
-import compbio.runner.predictors.Jpred;\r
-\r
-@WebService(endpointInterface = "compbio.data.msa.SequenceAnnotation", targetNamespace = JABAService.V3_SERVICE_NAMESPACE, serviceName = "JpredWS")\r
-public class JpredWS extends SequenceAnnotationService<Jpred>\r
- implements SequenceAnnotation<Jpred> {\r
-\r
- private static Logger log = Logger.getLogger(JpredWS.class);\r
-\r
- public JpredWS() {\r
- super(new Jpred(), log);\r
- }\r
-\r
- @Override\r
- public String analize(List<FastaSequence> sequences)\r
- throws UnsupportedRuntimeException, LimitExceededException, JobSubmissionException {\r
- WSUtil.validateJpredInput(sequences);\r
- ConfiguredExecutable<Jpred> confpred = init(sequences);\r
-\r
- // set default conservation method to fastest - SHENKIN\r
- // TODO: This violates encapsulation, should be moved to the runners\r
- // level.\r
- //confpred.addParameters(Arrays.asList("-m=SHENKIN"));\r
- return WSUtil.analize(sequences, confpred, log, "JpredWS analize", getLimit(""));\r
- }\r
-\r
- @Override\r
- public String customAnalize(List<FastaSequence> sequences, List<Option<Jpred>> options) \r
- throws UnsupportedRuntimeException, LimitExceededException, JobSubmissionException, WrongParameterException {\r
- WSUtil.validateJpredInput(sequences);\r
- return super.customAnalize(sequences, options);\r
- }\r
-\r
- @Override\r
- public String presetAnalize(List<FastaSequence> sequences, Preset<Jpred> preset)\r
- throws UnsupportedRuntimeException, LimitExceededException, JobSubmissionException, WrongParameterException {\r
- WSUtil.validateJpredInput(sequences);\r
- return super.presetAnalize(sequences, preset);\r
- }\r
-\r
- @Override\r
- public ChunkHolder pullExecStatistics(String jobId, long position) {\r
- WSUtil.validateJobId(jobId);\r
- String file = Configurator.getWorkDirectory(jobId) + File.separator + Jpred.getStatFile();\r
- return WSUtil.pullFile(file, position);\r
- }\r
-\r
-}\r
+//package compbio.ws.server;\r
+//\r
+//import java.io.File;\r
+//import java.util.List;\r
+//\r
+//import javax.jws.WebService;\r
+//\r
+//import org.apache.log4j.Logger;\r
+//\r
+//import compbio.data.msa.JABAService;\r
+//import compbio.data.msa.MsaWS;\r
+//import compbio.data.sequence.Alignment;\r
+//import compbio.data.sequence.JpredAlignment;\r
+//import compbio.data.sequence.FastaSequence;\r
+//import compbio.engine.AsyncExecutor;\r
+//import compbio.engine.Configurator;\r
+//import compbio.engine.client.ConfiguredExecutable;\r
+//import compbio.engine.client.Executable;\r
+//import compbio.engine.client.SkeletalExecutable;\r
+//import compbio.engine.client.EngineUtil;\r
+//import compbio.metadata.ChunkHolder;\r
+//import compbio.metadata.JobStatus;\r
+//import compbio.metadata.JobSubmissionException;\r
+//import compbio.metadata.Limit;\r
+//import compbio.metadata.LimitsManager;\r
+//import compbio.metadata.Option;\r
+//import compbio.metadata.Preset;\r
+//import compbio.metadata.PresetManager;\r
+//import compbio.metadata.ResultNotAvailableException;\r
+//import compbio.metadata.RunnerConfig;\r
+//import compbio.metadata.WrongParameterException;\r
+//import compbio.runner.RunnerUtil;\r
+//import compbio.runner.predictors.Jpred;\r
+//\r
+//@WebService(endpointInterface = "compbio.data.msa.MsaWS", targetNamespace = JABAService.V2_SERVICE_NAMESPACE, serviceName = "JpredWS")\r
+//public class JpredWS implements MsaWS<Jpred> {\r
+//\r
+// private static Logger log = Logger.getLogger(JpredWS.class);\r
+//\r
+// private static final RunnerConfig<Jpred> jpredOptions = RunnerUtil.getSupportedOptions(Jpred.class);\r
+// private static final PresetManager<Jpred> jpredPresets = RunnerUtil.getPresets(Jpred.class);\r
+// private static final LimitsManager<Jpred> limitMan = EngineUtil.getLimits(new Jpred().getType());\r
+//\r
+// @Override\r
+// public String align(List<FastaSequence> sequences)\r
+// throws JobSubmissionException {\r
+// WSUtil.validateFastaInput(sequences);\r
+// ConfiguredExecutable<Jpred> confClust = init(sequences);\r
+// return WSUtil.align(sequences, confClust, log, "align", getLimit(""));\r
+// }\r
+//\r
+// ConfiguredExecutable<Jpred> init(List<FastaSequence> dataSet)\r
+// throws JobSubmissionException {\r
+// Jpred jpred = new Jpred();\r
+// jpred.setInput(SkeletalExecutable.INPUT);\r
+// jpred.setOutput(SkeletalExecutable.OUTPUT);\r
+// jpred.setError(SkeletalExecutable.ERROR);\r
+// ConfiguredExecutable<Jpred> confJpred = Configurator.configureExecutable(jpred, dataSet);\r
+// // Set the number of threads for the cluster execution from conf file\r
+// if (confJpred.getExecProvider() == Executable.ExecProvider.Cluster) {\r
+// int clusterCpuNum = SkeletalExecutable.getClusterCpuNum(jpred.getType());\r
+// if (clusterCpuNum != 0) {\r
+// jpred.setNCore(clusterCpuNum);\r
+// }\r
+// }\r
+// return confJpred;\r
+// }\r
+//\r
+// @Override\r
+// public String presetAlign(List<FastaSequence> sequences,\r
+// Preset<Jpred> preset) throws JobSubmissionException,\r
+// WrongParameterException {\r
+// WSUtil.validateFastaInput(sequences);\r
+// if (preset == null) {\r
+// throw new WrongParameterException("Preset must be provided!");\r
+// }\r
+// Limit<Jpred> limit = getLimit(preset.getName());\r
+// ConfiguredExecutable<Jpred> confClust = init(sequences);\r
+// confClust.addParameters(preset.getOptions());\r
+// return WSUtil.align(sequences, confClust, log, "presetAlign", limit);\r
+// }\r
+//\r
+// @Override\r
+// public String customAlign(List<FastaSequence> sequences,\r
+// List<Option<Jpred>> options) throws JobSubmissionException,\r
+// WrongParameterException {\r
+// WSUtil.validateFastaInput(sequences);\r
+// ConfiguredExecutable<Jpred> confClust = init(sequences);\r
+// List<String> params = WSUtil.getCommands(options, Jpred.KEY_VALUE_SEPARATOR);\r
+// confClust.addParameters(params);\r
+// log.info("Setting parameters: " + params);\r
+// return WSUtil.align(sequences, confClust, log, "customAlign", getLimit(""));\r
+// }\r
+//\r
+// @Override\r
+// public RunnerConfig<Jpred> getRunnerOptions() {\r
+// return jpredOptions;\r
+// }\r
+//\r
+// @SuppressWarnings("unchecked")\r
+// @Override\r
+// public Alignment getResult(String jobId) throws ResultNotAvailableException {\r
+// WSUtil.validateJobId(jobId);\r
+// AsyncExecutor asyncEngine = Configurator.getAsyncEngine(jobId);\r
+// ConfiguredExecutable<Jpred> jpred = (ConfiguredExecutable<Jpred>) asyncEngine.getResults(jobId);\r
+// return (Alignment)jpred.getResults();\r
+// }\r
+//\r
+// @Override\r
+// public Limit<Jpred> getLimit(String presetName) {\r
+// if (limitMan == null) {\r
+// // No limit is configured\r
+// return null;\r
+// }\r
+// Limit<Jpred> limit = limitMan.getLimitByName(presetName);\r
+// return limit;\r
+// }\r
+//\r
+// @Override\r
+// public LimitsManager<Jpred> getLimits() {\r
+// return limitMan;\r
+// }\r
+//\r
+// @Override\r
+// public boolean cancelJob(String jobId) {\r
+// WSUtil.validateJobId(jobId);\r
+// boolean result = WSUtil.cancelJob(jobId);\r
+// return result;\r
+// }\r
+//\r
+// @Override\r
+// public JobStatus getJobStatus(String jobId) {\r
+// WSUtil.validateJobId(jobId);\r
+// JobStatus status = WSUtil.getJobStatus(jobId);\r
+// return status;\r
+// }\r
+//\r
+// @Override\r
+// public PresetManager<Jpred> getPresets() {\r
+// return jpredPresets;\r
+// }\r
+//\r
+// @Override\r
+// public ChunkHolder pullExecStatistics(String jobId, long position) {\r
+// WSUtil.validateJobId(jobId);\r
+// String file = Configurator.getWorkDirectory(jobId) + File.separator + Jpred.getStatFile();\r
+// ChunkHolder cholder = WSUtil.pullFile(file, position);\r
+// return cholder;\r
+// }\r
+//\r
+//}\r