Merge branch 'develop' into feature/JAL-244_Automatically_adjust_left_margin_to_avoid...
[jalview.git] / src / jalview / gui / AssociatePdbFileWithSeq.java
index ddf38c6..c9951f5 100644 (file)
@@ -25,11 +25,10 @@ import jalview.datamodel.PDBEntry;
 import jalview.datamodel.SequenceI;
 import jalview.io.DataSourceType;
 import jalview.io.StructureFile;
+import jalview.structure.StructureImportSettings.TFType;
 import jalview.structure.StructureSelectionManager;
 import jalview.util.MessageManager;
 
-import javax.swing.JOptionPane;
-
 /**
  * GUI related routines for associating PDB files with sequences
  * 
@@ -49,11 +48,21 @@ public class AssociatePdbFileWithSeq
           SequenceI sequence, boolean prompt,
           StructureSelectionManagerProvider ssmp)
   {
+    return associatePdbWithSeq(choice, file, sequence, prompt, ssmp,
+            TFType.DEFAULT, null, true);
+  }
+
+  public PDBEntry associatePdbWithSeq(String choice, DataSourceType file,
+          SequenceI sequence, boolean prompt,
+          StructureSelectionManagerProvider ssmp, TFType tft,
+          String paeFilename, boolean doXferSettings)
+  {
     PDBEntry entry = new PDBEntry();
-    StructureFile pdbfile = null;
-    pdbfile = StructureSelectionManager.getStructureSelectionManager(ssmp)
-            .setMapping(false, new SequenceI[] { sequence }, null, choice,
-                    file);
+    StructureFile pdbfile = StructureSelectionManager
+            .getStructureSelectionManager(ssmp)
+            .setMapping(false, new SequenceI[]
+            { sequence }, null, choice, file, tft, paeFilename,
+                    doXferSettings);
     if (pdbfile == null)
     {
       // stacktrace already thrown so just return
@@ -90,7 +99,12 @@ public class AssociatePdbFileWithSeq
       sequence.getDatasetSequence().addPDBId(entry);
       StructureSelectionManager.getStructureSelectionManager(ssmp)
               .registerPDBEntry(entry);
+      entry.setStructureFile(pdbfile);
     }
+    if (tft != null)
+      entry.setProperty("TFType", tft.name());
+    if (paeFilename != null)
+      entry.setProperty("PAEFile", paeFilename);
     return entry;
   }
 }