JAL-2939 always store Information profile
authorgmungoc <g.m.carstairs@dundee.ac.uk>
Mon, 26 Mar 2018 11:19:01 +0000 (12:19 +0100)
committergmungoc <g.m.carstairs@dundee.ac.uk>
Mon, 26 Mar 2018 11:19:01 +0000 (12:19 +0100)
src/jalview/analysis/AAFrequency.java
src/jalview/datamodel/SequenceGroup.java
src/jalview/workers/InformationThread.java

index 963bfbd..1553021 100755 (executable)
@@ -193,16 +193,14 @@ public class AAFrequency
    *          The alignment column on which the first profile is based.
    * @param end
    *          The alignment column on which the last profile is based.
-   * @param saveFullProfile
-   *          if true, all residue counts are saved (enables profile logo)
    * @param removeBelowBackground
    *          if true, symbols with a match emission probability less than
    *          background frequency are ignored
    * @return
    */
   public static ProfilesI calculateHMMProfiles(final HiddenMarkovModel hmm,
-          int width, int start, int end, boolean saveFullProfile,
-          boolean removeBelowBackground, boolean infoLetterHeight)
+          int width, int start, int end, boolean removeBelowBackground,
+          boolean infoLetterHeight)
   {
     ProfileI[] result = new ProfileI[width];
     char[] symbols = hmm.getSymbols().toCharArray();
@@ -221,11 +219,7 @@ public class AAFrequency
       int gapCount = counts.getGapCount();
       ProfileI profile = new Profile(symbolCount, gapCount, maxCount,
               maxResidue);
-
-      if (saveFullProfile)
-      {
-        profile.setCounts(counts);
-      }
+      profile.setCounts(counts);
 
       result[column] = profile;
     }
@@ -380,16 +374,6 @@ public class AAFrequency
         // hmm consensus sequence is shorter than the alignment
         break;
       }
-      ProfileI profile = profiles.get(column);
-      if (profile == null)
-      {
-        /*
-         * happens if sequences calculated over were 
-         * shorter than alignment width
-         */
-        information.annotations[column] = null;
-        return 0f;
-      }
       
       float value = hmm.getInformationContent(column);
       boolean isNaN = Float.isNaN(value);
index 4c38aa0..2f524c6 100755 (executable)
@@ -617,8 +617,7 @@ public class SequenceGroup implements AnnotatedCollectionI
 
         ProfilesI info = AAFrequency.calculateHMMProfiles(hmm,
                 (endRes + 1) - startRes, startRes, endRes + 1,
-                showHMMSequenceLogo, hmmIgnoreBelowBackground,
-                hmmUseInfoLetterHeight);
+                hmmIgnoreBelowBackground, hmmUseInfoLetterHeight);
         _updateInformationRow(info);
         upd = true;
       }
index c9696a5..d42598c 100644 (file)
@@ -134,7 +134,7 @@ public class InformationThread extends AlignCalcWorker
     {
       HiddenMarkovModel hmm = seq.getHMM();
       ProfilesI hmmProfiles = AAFrequency.calculateHMMProfiles(hmm, width,
-              0, width, true, alignViewport.isIgnoreBelowBackground(),
+              0, width, alignViewport.isIgnoreBelowBackground(),
               alignViewport.isInfoLetterHeight());
       alignViewport.setHmmProfiles(hmmProfiles);
     }
@@ -150,7 +150,7 @@ public class InformationThread extends AlignCalcWorker
       {
         HiddenMarkovModel hmm = seq.getHMM();
         ProfilesI hmmProfiles = AAFrequency.calculateHMMProfiles(hmm, width,
-                0, width, true, group.isIgnoreBelowBackground(),
+                0, width, group.isIgnoreBelowBackground(),
                 group.isUseInfoLetterHeight());
         group.setHmmProfiles(hmmProfiles);
       }