import java.util.Hashtable;
-import jalview.analysis.AAFrequency;
import jalview.analysis.StructureFrequency;
import jalview.api.AlignCalcWorkerI;
import jalview.api.AlignViewportI;
{
try
{
+ if (calcMan.isPending(this))
+ {
+ return;
+ }
calcMan.notifyStart(this);
while (!calcMan.notifyWorking(this))
{
{
if (ap != null)
{
- ap.paintAlignment(false);
+ // ap.paintAlignment(false);
}
Thread.sleep(200);
return;
}
- jalview.analysis.StructureFrequency.calculate(
+ try {
+ jalview.analysis.StructureFrequency.calculate(
alignment.getSequencesArray(), 0, alignment.getWidth(),
hStrucConsensus, true, rnaStruc);
+ } catch (ArrayIndexOutOfBoundsException x)
+ {
+ calcMan.workerComplete(this);
+ return;
+ }
alignViewport.setRnaStructureConsensusHash(hStrucConsensus);
// TODO AlignmentAnnotation rnaStruc!!!
updateResultAnnotation(true);
// consensus = null;
// hconsensus = null;
ap.raiseOOMWarning("calculating RNA structure consensus", error);
- }
-
- calcMan.workerComplete(this);
- if (ap != null)
+ } finally
{
- ap.paintAlignment(true);
+ calcMan.workerComplete(this);
+ if (ap != null)
+ {
+ ap.paintAlignment(true);
+ }
}
}