X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fworkers%2FStrucConsensusThread.java;h=a53f344fc8f804003aaae59f9832c778474c59c2;hb=8aa8957ae59e9171681ed89c8947dcfba847c1e4;hp=cc4172f599a027aadb7c0a137351a21f0a6cbc3f;hpb=838e4f91d4a53dd315640dbc9ff6ef7a815ee576;p=jalview.git diff --git a/src/jalview/workers/StrucConsensusThread.java b/src/jalview/workers/StrucConsensusThread.java index cc4172f..a53f344 100644 --- a/src/jalview/workers/StrucConsensusThread.java +++ b/src/jalview/workers/StrucConsensusThread.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.9.0b1) - * Copyright (C) 2015 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * @@ -21,7 +21,6 @@ package jalview.workers; import jalview.analysis.StructureFrequency; -import jalview.api.AlignCalcWorkerI; import jalview.api.AlignViewportI; import jalview.api.AlignmentViewPanel; import jalview.datamodel.AlignmentAnnotation; @@ -31,8 +30,7 @@ import jalview.datamodel.SequenceI; import java.util.Hashtable; -public class StrucConsensusThread extends AlignCalcWorker implements - AlignCalcWorkerI +public class StrucConsensusThread extends AlignCalcWorker { public StrucConsensusThread(AlignViewportI alignViewport, AlignmentViewPanel alignPanel) @@ -47,30 +45,14 @@ public class StrucConsensusThread extends AlignCalcWorker implements private long nseq = -1; @Override - public void run() + public String getCalcName() { - try - { - if (calcMan.isPending(this)) - { - return; - } - calcMan.notifyStart(this); - while (!calcMan.notifyWorking(this)) - { - try - { - if (ap != null) - { - // ap.paintAlignment(false); - } + return "Struc Consensus"; + } - Thread.sleep(200); - } catch (Exception ex) - { - ex.printStackTrace(); - } - } + @Override + public void run() + { if (alignViewport.isClosed()) { abortAndDestroy(); @@ -82,7 +64,6 @@ public class StrucConsensusThread extends AlignCalcWorker implements if (alignment == null || (aWidth = alignment.getWidth()) < 0) { - calcMan.workerComplete(this); return; } strucConsensus = alignViewport.getAlignmentStrucConsensusAnnotation(); @@ -96,19 +77,21 @@ public class StrucConsensusThread extends AlignCalcWorker implements .getAlignmentAnnotation(); AlignmentAnnotation rnaStruc = null; // select rna struct to use for calculation - for (int i = 0; i < aa.length; i++) + if (aa != null) { - if (aa[i].visible && aa[i].isRNA() && aa[i].isValidStruc()) + for (int i = 0; i < aa.length; i++) { - rnaStruc = aa[i]; - break; + if (aa[i].visible && aa[i].isRNA() && aa[i].isValidStruc()) + { + rnaStruc = aa[i]; + break; + } } } // check to see if its valid if (rnaStruc == null || !rnaStruc.isValidStruc()) { - calcMan.workerComplete(this); return; } @@ -120,27 +103,11 @@ public class StrucConsensusThread extends AlignCalcWorker implements alignment.getWidth(), hStrucConsensus, true, rnaStruc); } catch (ArrayIndexOutOfBoundsException x) { - calcMan.workerComplete(this); return; } alignViewport.setRnaStructureConsensusHash(hStrucConsensus); // TODO AlignmentAnnotation rnaStruc!!! updateResultAnnotation(true); - } catch (OutOfMemoryError error) - { - calcMan.workerCannotRun(this); - - // consensus = null; - // hconsensus = null; - ap.raiseOOMWarning("calculating RNA structure consensus", error); - } finally - { - calcMan.workerComplete(this); - if (ap != null) - { - ap.paintAlignment(true); - } - } }