JAL-4290 Add method to allow for specific settings. Revert setting show annotations.
[jalview.git] / src / jalview / structure / StructureSelectionManager.java
index 9bd247a..9a9e2a2 100644 (file)
@@ -34,6 +34,7 @@ import java.util.Vector;
 
 import jalview.analysis.AlignSeq;
 import jalview.api.StructureSelectionManagerProvider;
+import jalview.bin.Cache;
 import jalview.bin.Console;
 import jalview.commands.CommandI;
 import jalview.commands.EditCommand;
@@ -50,6 +51,7 @@ import jalview.datamodel.SearchResultsI;
 import jalview.datamodel.SequenceI;
 import jalview.ext.jmol.JmolParser;
 import jalview.gui.IProgressIndicator;
+import jalview.gui.Preferences;
 import jalview.io.AppletFormatAdapter;
 import jalview.io.DataSourceType;
 import jalview.io.StructureFile;
@@ -155,7 +157,8 @@ public class StructureSelectionManager
   {
     if (mappings.isEmpty())
     {
-      jalview.bin.Console.errPrintln("reportMapping: No PDB/Sequence mappings.");
+      jalview.bin.Console
+              .errPrintln("reportMapping: No PDB/Sequence mappings.");
     }
     else
     {
@@ -164,7 +167,8 @@ public class StructureSelectionManager
       int i = 0;
       for (StructureMapping sm : mappings)
       {
-        jalview.bin.Console.errPrintln("mapping " + i++ + " : " + sm.pdbfile);
+        jalview.bin.Console
+                .errPrintln("mapping " + i++ + " : " + sm.pdbfile);
       }
     }
   }
@@ -357,7 +361,6 @@ public class StructureSelectionManager
             pdbFile, sourceType, tft, paeFilename, true);
   }
 
-
   /**
    * create sequence structure mappings between each sequence and the given
    * pdbFile (retrieved via the given protocol). Either constructs a mapping
@@ -377,9 +380,15 @@ public class StructureSelectionManager
    *          - structure data resource
    * @param sourceType
    *          - how to resolve data from resource
-   * @param tft - specify how to interpret the temperature factor column in the atom data
-   * @param paeFilename - when not null, specifies a filename containing a matrix formatted in JSON using one of the known PAE formats
-   * @param doXferSettings - when true, transfer annotation to mapped sequences in sequenceArray 
+   * @param tft
+   *          - specify how to interpret the temperature factor column in the
+   *          atom data
+   * @param paeFilename
+   *          - when not null, specifies a filename containing a matrix
+   *          formatted in JSON using one of the known PAE formats
+   * @param doXferSettings
+   *          - when true, transfer annotation to mapped sequences in
+   *          sequenceArray
    * @return null or the structure data parsed as a pdb file
    */
   synchronized public StructureFile setMapping(boolean forStructureView,
@@ -413,9 +422,15 @@ public class StructureSelectionManager
    * @param IProgressIndicator
    *          reference to UI component that maintains a progress bar for the
    *          mapping operation
-   * @param tft - specify how to interpret the temperature factor column in the atom data
-   * @param paeFilename - when not null, specifies a filename containing a matrix formatted in JSON using one of the known PAE formats
-   * @param doXferSettings - when true, transfer annotation to mapped sequences in sequenceArray 
+   * @param tft
+   *          - specify how to interpret the temperature factor column in the
+   *          atom data
+   * @param paeFilename
+   *          - when not null, specifies a filename containing a matrix
+   *          formatted in JSON using one of the known PAE formats
+   * @param doXferSettings
+   *          - when true, transfer annotation to mapped sequences in
+   *          sequenceArray
    * @return null or the structure data parsed as a pdb file
    */
   synchronized public StructureFile computeMapping(boolean forStructureView,
@@ -1050,7 +1065,7 @@ public class StructureSelectionManager
           int indexpos = sm.getSeqPos(atom.getPdbResNum());
           if (lastipos != indexpos || lastseq != sm.sequence)
           {
-            results.addResult(sm.sequence, indexpos, indexpos);
+            results.appendResult(sm.sequence, indexpos, indexpos);
             lastipos = indexpos;
             lastseq = sm.sequence;
             // construct highlighted sequence list
@@ -1652,4 +1667,34 @@ public class StructureSelectionManager
     return pdbIdFileName;
   }
 
+  public static void doConfigureStructurePrefs(
+          StructureSelectionManager ssm)
+  {
+    doConfigureStructurePrefs(ssm,
+            Cache.getDefault(Preferences.ADD_SS_ANN, true),
+            Cache.getDefault(Preferences.ADD_TEMPFACT_ANN, true),
+            Cache.getDefault(Preferences.STRUCT_FROM_PDB, true),
+            Cache.getDefault(Preferences.USE_RNAVIEW, false));
+  }
+
+  public static void doConfigureStructurePrefs(
+          StructureSelectionManager ssm, boolean add_ss_ann,
+          boolean add_tempfact_ann, boolean struct_from_pdb,
+          boolean use_rnaview)
+  {
+    if (add_ss_ann)
+    {
+      ssm.setAddTempFacAnnot(add_tempfact_ann);
+      ssm.setProcessSecondaryStructure(struct_from_pdb);
+      // JAL-3915 - RNAView is no longer an option so this has no effect
+      ssm.setSecStructServices(use_rnaview);
+    }
+    else
+    {
+      ssm.setAddTempFacAnnot(false);
+      ssm.setProcessSecondaryStructure(false);
+      ssm.setSecStructServices(false);
+    }
+  }
+
 }