git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
JAL-3199 sort annotations after adding from web service
[jalview.git]
/
src
/
jalview
/
ws
/
jws2
/
AbstractJabaCalcWorker.java
diff --git
a/src/jalview/ws/jws2/AbstractJabaCalcWorker.java
b/src/jalview/ws/jws2/AbstractJabaCalcWorker.java
index
c691fee
..
64a2662
100644
(file)
--- a/
src/jalview/ws/jws2/AbstractJabaCalcWorker.java
+++ b/
src/jalview/ws/jws2/AbstractJabaCalcWorker.java
@@
-30,6
+30,7
@@
import jalview.datamodel.AnnotatedCollectionI;
import jalview.datamodel.SequenceI;
import jalview.gui.AlignFrame;
import jalview.gui.IProgressIndicator;
import jalview.datamodel.SequenceI;
import jalview.gui.AlignFrame;
import jalview.gui.IProgressIndicator;
+import jalview.gui.IProgressIndicatorHandler;
import jalview.schemes.ResidueProperties;
import jalview.workers.AlignCalcWorker;
import jalview.ws.jws2.dm.AAConSettings;
import jalview.schemes.ResidueProperties;
import jalview.workers.AlignCalcWorker;
import jalview.ws.jws2.dm.AAConSettings;
@@
-66,7
+67,7
@@
public abstract class AbstractJabaCalcWorker extends AlignCalcWorker
/**
* by default, we filter out non-standard residues before submission
*/
/**
* by default, we filter out non-standard residues before submission
*/
- private boolean filterNonStandardResidues = true;
+ protected boolean filterNonStandardResidues = true;
/**
* Recover any existing parameters for this service
/**
* Recover any existing parameters for this service
@@
-78,8
+79,10
@@
public abstract class AbstractJabaCalcWorker extends AlignCalcWorker
((jalview.gui.AlignViewport) alignViewport).setCalcIdSettingsFor(
getCalcId(),
new AAConSettings(true, service, this.preset,
((jalview.gui.AlignViewport) alignViewport).setCalcIdSettingsFor(
getCalcId(),
new AAConSettings(true, service, this.preset,
- (arguments != null) ? JabaParamStore
- .getJwsArgsfromJaba(arguments) : null), true);
+ (arguments != null)
+ ? JabaParamStore.getJwsArgsfromJaba(arguments)
+ : null),
+ true);
}
}
}
}
@@
-164,8
+167,8
@@
public abstract class AbstractJabaCalcWorker extends AlignCalcWorker
super(alignViewport, alignPanel);
}
super(alignViewport, alignPanel);
}
- public AbstractJabaCalcWorker(Jws2Instance service,
- AlignFrame alignFrame, WsParamSetI preset, List<Argument> paramset)
+ public AbstractJabaCalcWorker(Jws2Instance service, AlignFrame alignFrame,
+ WsParamSetI preset, List<Argument> paramset)
{
this(alignFrame.getCurrentView(), alignFrame.alignPanel);
this.guiProgress = alignFrame;
{
this(alignFrame.getCurrentView(), alignFrame.alignPanel);
this.guiProgress = alignFrame;
@@
-218,7
+221,26
@@
public abstract class AbstractJabaCalcWorker extends AlignCalcWorker
progressId = System.currentTimeMillis());
}
rslt = submitToService(seqs);
progressId = System.currentTimeMillis());
}
rslt = submitToService(seqs);
+ if (guiProgress != null)
+ {
+ guiProgress.registerHandler(progressId,
+ new IProgressIndicatorHandler()
+ {
+ @Override
+ public boolean cancelActivity(long id)
+ {
+ cancelCurrentJob();
+ return true;
+ }
+
+ @Override
+ public boolean canCancel()
+ {
+ return true;
+ }
+ });
+ }
boolean finished = false;
long rpos = 0;
do
boolean finished = false;
long rpos = 0;
do
@@
-322,10
+344,10
@@
public abstract class AbstractJabaCalcWorker extends AlignCalcWorker
}
if (collectAnnotationResultsFor(rslt))
{
}
if (collectAnnotationResultsFor(rslt))
{
- jalview.bin.Cache.log
- .debug("Updating result annotation from Job " + rslt
- + " at " + service.getUri());
+ jalview.bin.Cache.log.debug("Updating result annotation from Job "
+ + rslt + " at " + service.getUri());
updateResultAnnotation(true);
updateResultAnnotation(true);
+ ap.sortAnnotations();
ap.adjustAnnotationHeight();
}
}
ap.adjustAnnotationHeight();
}
}
@@
-334,8
+356,8
@@
public abstract class AbstractJabaCalcWorker extends AlignCalcWorker
catch (JobSubmissionException x)
{
catch (JobSubmissionException x)
{
- System.err.println("submission error with " + getServiceActionText()
- + " :");
+ System.err.println(
+ "submission error with " + getServiceActionText() + " :");
x.printStackTrace();
calcMan.disableWorker(this);
} catch (ResultNotAvailableException x)
x.printStackTrace();
calcMan.disableWorker(this);
} catch (ResultNotAvailableException x)
@@
-371,7
+393,8
@@
public abstract class AbstractJabaCalcWorker extends AlignCalcWorker
{
guiProgress.setProgressBar("", progressId);
}
{
guiProgress.setProgressBar("", progressId);
}
- ap.paintAlignment(true);
+ // TODO: may not need to paintAlignment again !
+ ap.paintAlignment(false, false);
}
if (msg.length() > 0)
{
}
if (msg.length() > 0)
{
@@
-444,8
+467,9
@@
public abstract class AbstractJabaCalcWorker extends AlignCalcWorker
AnnotatedCollectionI inputSeqs)
{
if (alignment == null || alignment.getWidth() <= 0
AnnotatedCollectionI inputSeqs)
{
if (alignment == null || alignment.getWidth() <= 0
- || alignment.getSequences() == null || alignment.isNucleotide() ? !nucleotidesAllowed
- : !proteinAllowed)
+ || alignment.getSequences() == null || alignment.isNucleotide()
+ ? !nucleotidesAllowed
+ : !proteinAllowed)
{
return null;
}
{
return null;
}
@@
-470,9
+494,10
@@
public abstract class AbstractJabaCalcWorker extends AlignCalcWorker
for (SequenceI sq : (inputSeqs.getSequences()))
{
for (SequenceI sq : (inputSeqs.getSequences()))
{
- if (bySequence ? sq.findPosition(end + 1)
- - sq.findPosition(start + 1) > minlen - 1 : sq.getEnd()
- - sq.getStart() > minlen - 1)
+ if (bySequence
+ ? sq.findPosition(end + 1)
+ - sq.findPosition(start + 1) > minlen - 1
+ : sq.getEnd() - sq.getStart() > minlen - 1)
{
String newname = SeqsetUtils.unique_name(seqs.size() + 1);
// make new input sequence with or without gaps
{
String newname = SeqsetUtils.unique_name(seqs.size() + 1);
// make new input sequence with or without gaps
@@
-497,8
+522,10
@@
public abstract class AbstractJabaCalcWorker extends AlignCalcWorker
}
for (int apos : sq.gapMap())
{
}
for (int apos : sq.gapMap())
{
+ char sqc = sq.getCharAt(apos);
if (!filterNonStandardResidues
if (!filterNonStandardResidues
- || ResidueProperties.aaIndex[sq.getCharAt(apos)] < 20)
+ || (sq.isProtein() ? ResidueProperties.aaIndex[sqc] < 20
+ : ResidueProperties.nucleotideIndex[sqc] < 5))
{
gapMap[apos] = true; // aligned and real amino acid residue
}
{
gapMap[apos] = true; // aligned and real amino acid residue
}
@@
-535,8
+562,8
@@
public abstract class AbstractJabaCalcWorker extends AlignCalcWorker
FastaSequence sq = seqs.get(p);
int l = sq.getSequence().length();
// strip gapped columns
FastaSequence sq = seqs.get(p);
int l = sq.getSequence().length();
// strip gapped columns
- char[] padded = new char[realw], orig = sq.getSequence()
- .toCharArray();
+ char[] padded = new char[realw],
+ orig = sq.getSequence().toCharArray();
for (int i = 0, pp = 0; i < realw; pp++)
{
if (gapMap[pp])
for (int i = 0, pp = 0; i < realw; pp++)
{
if (gapMap[pp])
@@
-577,7
+604,7
@@
public abstract class AbstractJabaCalcWorker extends AlignCalcWorker
protected boolean checkDone()
{
calcMan.notifyStart(this);
protected boolean checkDone()
{
calcMan.notifyStart(this);
- ap.paintAlignment(false);
+ ap.paintAlignment(false, false);
while (!calcMan.notifyWorking(this))
{
if (calcMan.isWorking(this))
while (!calcMan.notifyWorking(this))
{
if (calcMan.isWorking(this))
@@
-588,7
+615,7
@@
public abstract class AbstractJabaCalcWorker extends AlignCalcWorker
{
if (ap != null)
{
{
if (ap != null)
{
- ap.paintAlignment(false);
+ ap.paintAlignment(false, false);
}
Thread.sleep(200);
}
Thread.sleep(200);