JAL-2136 JAL-2137 Modified STRUCTMODEL annotation format and added implementation...
[jalview.git] / src / jalview / gui / StructureChooser.java
index cad168f..66fe431 100644 (file)
@@ -522,7 +522,8 @@ public class StructureChooser extends GStructureChooser implements
     if (value == jalview.io.JalviewFileChooser.APPROVE_OPTION)
     {
       selectedStructureFileName = chooser.getSelectedFile().getPath();
-      jalview.bin.Cache.setProperty("LAST_DIRECTORY", selectedStructureFileName);
+      jalview.bin.Cache.setProperty("LAST_DIRECTORY",
+              selectedStructureFileName);
       validateSelections();
     }
   }
@@ -706,7 +707,8 @@ public class StructureChooser extends GStructureChooser implements
                     "-Select Associated Seq-")))
     {
       btn_pdbFromFile.setEnabled(true);
-      if (selectedStructureFileName != null && selectedStructureFileName.length() > 0)
+      if (selectedStructureFileName != null
+              && selectedStructureFileName.length() > 0)
       {
         btn_view.setEnabled(true);
         lbl_fromFileStatus.setIcon(goodImage);
@@ -773,7 +775,6 @@ public class StructureChooser extends GStructureChooser implements
   {
     final StructureSelectionManager ssm = ap.getStructureSelectionManager();
     final int preferredHeight = pnl_filter.getHeight();
-    ssm.setMappingForPhyre2Model(false);
     new Thread(new Runnable()
     {
       @Override
@@ -850,7 +851,6 @@ public class StructureChooser extends GStructureChooser implements
             selectedSequence = userSelectedSeq;
           }
 
-
           String pdbIdStr = txt_search.getText();
           PDBEntry pdbEntry = selectedSequence.getPDBEntry(pdbIdStr);
           if (pdbEntry == null)
@@ -872,22 +872,21 @@ public class StructureChooser extends GStructureChooser implements
           PDBEntry[] pdbEntriesToView = new PDBEntry[] { pdbEntry };
           launchStructureViewer(ssm, pdbEntriesToView, ap,
                   new SequenceI[] { selectedSequence });
-    }
-    else if (currentView == VIEWS_FROM_FILE)
-    {
-      SequenceI userSelectedSeq = ((AssociateSeqOptions) fileChooserAssSeqPanel
-              .getCmb_assSeq().getSelectedItem()).getSequence();
-      if (userSelectedSeq != null)
-      {
-        selectedSequence = userSelectedSeq;
-      }
-      PDBEntry fileEntry = new AssociateStructureFileWithSeq()
-              .associateStructureWithSeq(selectedStructureFileName,
-                          DataSourceType.FILE,
-                      selectedSequence, true, Desktop.instance);
+        }
+        else if (currentView == VIEWS_FROM_FILE)
+        {
+          SequenceI userSelectedSeq = ((AssociateSeqOptions) fileChooserAssSeqPanel
+                  .getCmb_assSeq().getSelectedItem()).getSequence();
+          if (userSelectedSeq != null)
+          {
+            selectedSequence = userSelectedSeq;
+          }
+          PDBEntry fileEntry = new AssociateStructureFileWithSeq()
+                  .associateStructureWithSeq(selectedStructureFileName,
+                          DataSourceType.FILE, selectedSequence, true,
+                          Desktop.instance);
 
-          launchStructureViewer(ssm,
-                  new PDBEntry[] { fileEntry }, ap,
+          launchStructureViewer(ssm, new PDBEntry[] { fileEntry }, ap,
                   new SequenceI[] { selectedSequence });
         }
         else if (currentView == VIEWS_PHYRE2_PREDICTION)
@@ -899,8 +898,7 @@ public class StructureChooser extends GStructureChooser implements
             selectedSequence = userSelectedSeq;
           }
           int templateColIndex = getPhyreResultTable()
-                  .getColumn("Template")
-                  .getModelIndex();
+                  .getColumn("Template").getModelIndex();
           int[] selectedRows = getPhyreResultTable().getSelectedRows();
           PDBEntry[] pdbEntriesToView = new PDBEntry[selectedRows.length];
           int count = 0;
@@ -913,11 +911,11 @@ public class StructureChooser extends GStructureChooser implements
                     .associateStructureWithSeq(structureFile,
                             DataSourceType.FILE, selectedSequence, true,
                             Desktop.instance);
+            ssm.registerPhyre2Template(structureFile);
           }
 
           final StructureSelectionManager ssm = ap
                   .getStructureSelectionManager();
-          ssm.setMappingForPhyre2Model(true);
           final long progressSessionId = System.currentTimeMillis();
           ssm.setProgressSessionId(progressSessionId);
 
@@ -998,8 +996,10 @@ public class StructureChooser extends GStructureChooser implements
           final AlignmentPanel alignPanel, SequenceI[] sequences)
   {
     long progressId = sequences.hashCode();
-    setProgressBar(MessageManager
-            .getString("status.launching_3d_structure_viewer"), progressId);
+    setProgressBar(
+            MessageManager
+                    .getString("status.launching_3d_structure_viewer"),
+            progressId);
     final StructureViewer sViewer = new StructureViewer(ssm);
     setProgressBar(null, progressId);
 
@@ -1028,7 +1028,8 @@ public class StructureChooser extends GStructureChooser implements
             }
           }
         }
-        if (seq.getPrimaryDBRefs().size() == 0)
+        if (seq.getPrimaryDBRefs().size() == 0
+                && !ssm.isPhyre2Template(pdbe.getFile()))
         {
           seqsWithoutSourceDBRef.add(seq);
           continue;
@@ -1058,15 +1059,17 @@ public class StructureChooser extends GStructureChooser implements
         seqsMap.add(new SequenceI[] { seq });
       }
       SequenceI[][] collatedSeqs = seqsMap.toArray(new SequenceI[0][0]);
-      setProgressBar(MessageManager
-                    .getString("status.fetching_3d_structures_for_selected_entries"), progressId);
+      setProgressBar(
+              MessageManager
+                      .getString("status.fetching_3d_structures_for_selected_entries"),
+              progressId);
       sViewer.viewStructures(pdbEntriesToView, collatedSeqs, alignPanel);
     }
     else
     {
       setProgressBar(MessageManager.formatMessage(
               "status.fetching_3d_structures_for",
-              pdbEntriesToView[0].getId()),progressId);
+              pdbEntriesToView[0].getId()), progressId);
       sViewer.viewStructures(pdbEntriesToView[0], sequences, alignPanel);
     }
     setProgressBar(null, progressId);