Merge branch 'develop' into features/JAL-4134_use_annotation_row_for_colours_and_groups
[jalview.git] / src / jalview / ext / jmol / JmolParser.java
index 25b52b4..c64dac1 100644 (file)
@@ -47,7 +47,6 @@ import jalview.datamodel.SequenceI;
 import jalview.datamodel.annotations.AlphaFoldAnnotationRowBuilder;
 import jalview.datamodel.annotations.AnnotationRowBuilder;
 import jalview.io.DataSourceType;
-import jalview.io.FileFormatException;
 import jalview.io.FileParse;
 import jalview.io.StructureFile;
 import jalview.schemes.ResidueProperties;
@@ -89,6 +88,10 @@ public class JmolParser extends StructureFile implements JmolStatusListener
     super(inFile, sourceType, tempfacType);
   }
 
+  public JmolParser(FileParse fp, boolean doXferSettings) throws IOException
+  {
+    super(fp, doXferSettings);
+  }
   public JmolParser(FileParse fp) throws IOException
   {
     super(fp);
@@ -109,6 +112,12 @@ public class JmolParser extends StructureFile implements JmolStatusListener
   @Override
   public void parse() throws IOException
   {
+    parse(true);
+  }
+
+  @Override
+  public void parse(boolean doXferSettings) throws IOException
+  {
     setChains(new Vector<PDBChain>());
     Viewer jmolModel = getJmolData();
     jmolModel.openReader(getDataName(), getDataName(), getReader());
@@ -133,7 +142,7 @@ public class JmolParser extends StructureFile implements JmolStatusListener
                       ? PDBEntry.Type.MMCIF.toString()
                       : "PDB");
 
-      transformJmolModelToJalview(jmolModel.ms);
+      transformJmolModelToJalview(jmolModel.ms, doXferSettings);
     }
   }
 
@@ -203,7 +212,8 @@ public class JmolParser extends StructureFile implements JmolStatusListener
     return false;
   }
 
-  public void transformJmolModelToJalview(ModelSet ms) throws IOException
+  public void transformJmolModelToJalview(ModelSet ms,
+          boolean localDoXferSettings) throws IOException
   {
     try
     {
@@ -261,7 +271,7 @@ public class JmolParser extends StructureFile implements JmolStatusListener
         }
         lastID = tmpatom.resNumIns.trim();
       }
-      if (isParseImmediately())
+      if (isParseImmediately() && localDoXferSettings)
       {
         // configure parsing settings from the static singleton
         xferSettings();
@@ -293,7 +303,7 @@ public class JmolParser extends StructureFile implements JmolStatusListener
       {
         try
         {
-          Console.info("retrieving pAE for " + pdbId);
+          Console.info("Retrieving PAE for " + pdbId);
           File paeFile = EBIAlfaFold.fetchAlphaFoldPAE(pdbId, null);
           this.setPAEMatrix(paeFile.getAbsolutePath());
         } catch (Throwable t)
@@ -308,7 +318,7 @@ public class JmolParser extends StructureFile implements JmolStatusListener
         {
           Alignment al = new Alignment(prot.toArray(new SequenceI[0]));
           EBIAlfaFold.addAlphaFoldPAE(al, new File(this.getPAEMatrix()), 0,
-                  null, false, false);
+                  null, false, false, null);
 
           if (al.getAlignmentAnnotation() != null)
           {
@@ -326,7 +336,6 @@ public class JmolParser extends StructureFile implements JmolStatusListener
                   + getNewlineString();
         }
       }
-
     } catch (OutOfMemoryError er)
     {
       System.out.println(