X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fworkers%2FStrucConsensusThread.java;h=61ec3d09b119e13cba7fa3b9ba107c52894df567;hb=3ec49f04ac668312e8eb3e963c52df6797fea89f;hp=72d26ffa429bfdf6628fdcd96a3b639298247939;hpb=7ab5d6b0ba5fec1ea4a4239e79c476d841622485;p=jalview.git diff --git a/src/jalview/workers/StrucConsensusThread.java b/src/jalview/workers/StrucConsensusThread.java index 72d26ff..61ec3d0 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.8.2) - * Copyright (C) 2014 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. * @@ -20,10 +20,7 @@ */ package jalview.workers; -import java.util.Hashtable; - import jalview.analysis.StructureFrequency; -import jalview.api.AlignCalcWorkerI; import jalview.api.AlignViewportI; import jalview.api.AlignmentViewPanel; import jalview.datamodel.AlignmentAnnotation; @@ -31,8 +28,9 @@ import jalview.datamodel.AlignmentI; import jalview.datamodel.Annotation; import jalview.datamodel.SequenceI; -public class StrucConsensusThread extends AlignCalcWorker implements - AlignCalcWorkerI +import java.util.Hashtable; + +public class StrucConsensusThread extends AlignCalcWorker { public StrucConsensusThread(AlignViewportI alignViewport, AlignmentViewPanel alignPanel) @@ -74,6 +72,7 @@ public class StrucConsensusThread extends AlignCalcWorker implements if (alignViewport.isClosed()) { abortAndDestroy(); + return; } AlignmentI alignment = alignViewport.getAlignment(); @@ -95,12 +94,15 @@ 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].getRNAStruc() != null && 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 @@ -125,14 +127,9 @@ public class StrucConsensusThread extends AlignCalcWorker implements alignViewport.setRnaStructureConsensusHash(hStrucConsensus); // TODO AlignmentAnnotation rnaStruc!!! updateResultAnnotation(true); - if (alignViewport.getGlobalColourScheme() != null) - { - alignViewport.getGlobalColourScheme().setConsensus(hStrucConsensus); - } - } catch (OutOfMemoryError error) { - calcMan.workerCannotRun(this); + calcMan.disableWorker(this); // consensus = null; // hconsensus = null; @@ -142,7 +139,7 @@ public class StrucConsensusThread extends AlignCalcWorker implements calcMan.workerComplete(this); if (ap != null) { - ap.paintAlignment(true); + ap.paintAlignment(true, true); } } @@ -165,7 +162,7 @@ public class StrucConsensusThread extends AlignCalcWorker implements { StructureFrequency.completeConsensus(strucConsensus, hStrucConsensus, 0, hStrucConsensus.length, - alignViewport.getIgnoreGapsConsensus(), + alignViewport.isIgnoreGapsConsensus(), alignViewport.isShowSequenceLogo(), nseq); } }