compbio.data.msa
Interface SequenceAnnotation<T>

Type Parameters:
T - executable type / web service type
All Superinterfaces:
JABAService, JManagement, Metadata<T>
All Known Implementing Classes:
AAConWS, DisemblWS, GlobPlotWS, IUPredWS, JronnWS

public interface SequenceAnnotation<T>
extends JABAService, JManagement, Metadata<T>

Interface for tools that results to one or more annotation to sequence(s) Single, multiple sequences their groups or alignments can be annotated

Version:
1.0 November 2010
Author:
Peter Troshin

Field Summary
 
Fields inherited from interface compbio.data.msa.JABAService
SERVICE_NAMESPACE, V2_SERVICE_NAMESPACE
 
Method Summary
 String analize(List<FastaSequence> sequences)
          Analyse the sequences.
 String customAnalize(List<FastaSequence> sequences, List<Option<T>> options)
          Analyse the sequences according to custom settings defined in options list.
 ScoreManager getAnnotation(String jobId)
          Return the result of the job.
 String presetAnalize(List<FastaSequence> sequences, Preset<T> preset)
          Analyse the sequences according to the preset settings.
 
Methods inherited from interface compbio.data.msa.JManagement
cancelJob, getJobStatus, pullExecStatistics
 
Methods inherited from interface compbio.data.msa.Metadata
getLimit, getLimits, getPresets, getRunnerOptions
 

Method Detail

analize

String analize(List<FastaSequence> sequences)
               throws UnsupportedRuntimeException,
                      LimitExceededException,
                      JobSubmissionException
Analyse the sequences. The actual analysis algorithm is defined by the type T. Any dataset containing a greater number of sequences or the average length of the sequences are greater then defined in the default Limit will not be accepted for an alignment operation and JobSubmissionException will be thrown.

Parameters:
sequences - List of FastaSequence objects. The programme does not perform any sequence validity checks. Nor does it checks whether the sequences names are unique. It is responsibility of the caller to validate this information
Returns:
jobId - unique identifier for the job
Throws:
JobSubmissionException - is thrown when the job could not be submitted due to the following reasons: 1) The number of sequences in the submission or their average length is greater then defined by the default Limit. 2) Any problems on the server side e.g. it is misconfigured or malfunction, is reported via this exception. In the first case the information on the limit could be obtained from an exception.
InvalidParameterException - thrown if input list of fasta sequence is null or empty
UnsupportedRuntimeException - thrown if server OS does not support native executables for a given web service, e.g. JABAWS is deployed on Windows and Mafft service is called
LimitExceededException - is throw if the input sequences number or average length exceeds what is defined by the limit

customAnalize

String customAnalize(List<FastaSequence> sequences,
                     List<Option<T>> options)
                     throws UnsupportedRuntimeException,
                            LimitExceededException,
                            JobSubmissionException,
                            WrongParameterException
Analyse the sequences according to custom settings defined in options list. The actual analysis algorithm is defined by the type T. Default Limit is used to decide whether the calculation will be permitted or denied

Parameters:
sequences - List of FastaSequence objects. The programme does not perform any sequence validity checks. Nor does it checks whether the sequences names are unique. It is responsibility of the caller to validate this information
options - A list of Options
Returns:
jobId - unique identifier for the job
Throws:
JobSubmissionException - is thrown when the job could not be submitted due to the following reasons: 1) The number of sequences in the submission or their average length is greater then defined by the default Limit. 2) Any problems on the server side e.g. it is misconfigured or malfunction, is reported via this exception. In the first case the information on the limit could be obtained from an exception.
WrongParameterException - is throws when 1) One of the Options provided is not supported, 2) The value of the option is defined outside the boundaries. In both cases exception object contain the information on the violating Option.
InvalidParameterException - thrown if input list of fasta sequence is null or empty
UnsupportedRuntimeException - thrown if server OS does not support native executables for a given web service, e.g. JABAWS is deployed on Windows and Mafft service is called
LimitExceededException - is throw if the input sequences number or average length exceeds what is defined by the limit
See Also:
Option

presetAnalize

String presetAnalize(List<FastaSequence> sequences,
                     Preset<T> preset)
                     throws UnsupportedRuntimeException,
                            LimitExceededException,
                            JobSubmissionException,
                            WrongParameterException
Analyse the sequences according to the preset settings. The actual analysis algorithm is defined by the type T. Limit for a presetName is used whether the calculation will be permitted or denied. If no Limit was defined for a presetName, than default limit is used.

Parameters:
sequences - List of FastaSequence objects. The programme does not perform any sequence validity checks. Nor does it checks whether the sequences names are unique. It is responsibility of the caller to validate this information
preset - A list of Options
Returns:
String - jobId - unique identifier for the job
Throws:
JobSubmissionException - is thrown when the job could not be submitted due to the following reasons: 1) The number of sequences in the submission or their average length is greater then defined by the default Limit. 2) Any problems on the server side e.g. it is misconfigured or malfunction, is reported via this exception. In the first case the information on the limit could be obtained from an exception.
WrongParameterException - is throws when 1) One of the Options provided is not supported, 2) The value of the option is defined outside the boundaries. In both cases exception object contain the information on the violating Option.
InvalidParameterException - thrown if input list of fasta sequence is null or empty
UnsupportedRuntimeException - thrown if server OS does not support native executables for a given web service, e.g. JABAWS is deployed on Windows and Mafft service is called
LimitExceededException - is throw if the input sequences number or average length exceeds what is defined by the limit

getAnnotation

ScoreManager getAnnotation(String jobId)
                           throws ResultNotAvailableException
Return the result of the job.

Parameters:
jobId - a unique job identifier
Returns:
the Map with the sequence names, sequence group names or the word 'Alignment' in case of alignments and values the represented by a Set of Score objects. The alignment can be represented in as little as one key->value pair in this map, the list of sequences will be represented by multiple key->value mappings. If multiple annotations were calculated, then they are represented as a Set of Scores.
Throws:
ResultNotAvailableException - this exception is throw if the job execution was not successful or the result of the execution could not be found. (e.g. removed). Exception could also be thrown is dues to the lower level problems on the server i.e. IOException, FileNotFoundException problems as well as UnknownFileFormatException.
InvalidParameterException - thrown if jobId is empty or cannot be recognised e.g. in invalid format