package jalview.ws.api; import jalview.api.FeatureColourI; import jalview.datamodel.AlignmentAnnotation; import jalview.datamodel.SequenceI; import jalview.datamodel.features.FeatureMatcherSetI; import jalview.ws.params.ArgumentI; import jalview.ws.params.WsParamSetI; import java.util.List; import java.util.Map; public interface SequenceAnnotationServiceI extends JalviewWebServiceI { /** * submit sequences to service with no parameters, or preset or parameter set. * Nb- almost the same as the 'align' method in the Msa service :) * * @param seqs * @param preset * @param paramset * @return * @throws Throwable */ JobId submitToService(List seqs, WsParamSetI preset, List paramset) throws Throwable; /** * materialise annotation and features for sequences input to the service * * @param job * @param seqs * - features and alignment annotation added to these will be * imported to the dataset for the alignment * @param featureColours * - container for feature colours - any defined will be merged with * viewport * @param featureFilters * - container for filters - any defined will be merged with viewport * @return sequence and alignment annotation rows that should be made * visible/updated on alignment * @throws Throwable */ List getAnnotationResult(JobId job, List seqs, Map featureColours, Map featureFilters) throws Throwable; }