X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Fjws2%2FJabawsCalcWorker.java;fp=src%2Fjalview%2Fws%2Fjws2%2FJabawsCalcWorker.java;h=4a78209e0da4ae9cb6d0ca8e79b70852d718934b;hb=44396db56b65458459eb38b399a52e0962b5bdab;hp=0000000000000000000000000000000000000000;hpb=9abf7aa279cedfeff9c8f4752ab911482485f059;p=jalview.git diff --git a/src/jalview/ws/jws2/JabawsCalcWorker.java b/src/jalview/ws/jws2/JabawsCalcWorker.java new file mode 100644 index 0000000..4a78209 --- /dev/null +++ b/src/jalview/ws/jws2/JabawsCalcWorker.java @@ -0,0 +1,599 @@ +package jalview.ws.jws2; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import compbio.data.msa.SequenceAnnotation; +import compbio.data.sequence.FastaSequence; +import compbio.data.sequence.Score; +import compbio.data.sequence.ScoreManager; +import compbio.metadata.Argument; +import compbio.metadata.ChunkHolder; +import compbio.metadata.JobStatus; +import compbio.metadata.JobSubmissionException; +import compbio.metadata.Option; +import compbio.metadata.ResultNotAvailableException; +import compbio.metadata.WrongParameterException; +import jalview.analysis.AlignSeq; +import jalview.analysis.SeqsetUtils; +import jalview.api.AlignViewportI; +import jalview.api.AlignmentViewPanel; +import jalview.datamodel.AlignmentAnnotation; +import jalview.datamodel.AlignmentI; +import jalview.datamodel.Annotation; +import jalview.datamodel.SequenceI; +import jalview.gui.AlignFrame; +import jalview.gui.IProgressIndicator; +import jalview.workers.AlignCalcWorker; +import jalview.ws.jws2.dm.JabaWsParamSet; +import jalview.ws.jws2.jabaws2.Jws2Instance; +import jalview.ws.params.WsParamSetI; + +public abstract class JabawsCalcWorker extends AlignCalcWorker +{ + + protected Jws2Instance service; + @SuppressWarnings("unchecked") + protected SequenceAnnotation aaservice; + protected ScoreManager scoremanager; + protected WsParamSetI preset; + protected List arguments; + protected IProgressIndicator guiProgress; + + public JabawsCalcWorker(AlignViewportI alignViewport, + AlignmentViewPanel alignPanel) + { + super(alignViewport, alignPanel); + } + + public JabawsCalcWorker(Jws2Instance service, AlignFrame alignFrame, + WsParamSetI preset, List paramset) + { + this(alignFrame.getCurrentView(), alignFrame.alignPanel); + this.guiProgress = alignFrame; + this.preset = preset; + this.arguments = paramset; + this.service = service; + aaservice = (SequenceAnnotation) service.service; + + } + + public WsParamSetI getPreset() + { + return preset; + } + + public List getArguments() + { + return arguments; + } + + /** + * reconfigure and restart the AAConClient. This method will spawn a new + * thread that will wait until any current jobs are finished, modify the + * parameters and restart the conservation calculation with the new values. + * + * @param newpreset + * @param newarguments + */ + public void updateParameters(final WsParamSetI newpreset, final List newarguments) + { + preset = newpreset; + arguments = newarguments; + calcMan.startWorker(this); + } + + public List