package jalview.ws.api;
+import jalview.api.FeatureColourI;
import jalview.datamodel.AlignmentAnnotation;
import jalview.datamodel.SequenceI;
-import jalview.ws.gui.AnnotationWsJob;
-import jalview.ws.jws2.SeqAnnotationServiceCalcWorker;
+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
{
List<ArgumentI> paramset) throws Throwable;
/**
- * todo: move to SequenceAnnotationResult
+ * materialise annotation and features for sequences input to the service
*
- * @param running
- * @param abstractJabaCalcWorker
- * @return
+ * @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<AlignmentAnnotation> getAlignmentAnnotation(AnnotationWsJob running,
- SeqAnnotationServiceCalcWorker abstractJabaCalcWorker) throws Throwable;
-
+ List<AlignmentAnnotation> getAnnotationResult(JobId job,
+ List<SequenceI> seqs, Map<String, FeatureColourI> featureColours,
+ Map<String, FeatureMatcherSetI> featureFilters) throws Throwable;
+
}