Merge branch 'bug/JAL-2859_uniprottowrongpdbid' into develop
authorJim Procter <jprocter@issues.jalview.org>
Tue, 28 Nov 2017 15:18:14 +0000 (15:18 +0000)
committerJim Procter <jprocter@issues.jalview.org>
Tue, 28 Nov 2017 15:18:14 +0000 (15:18 +0000)
src/jalview/gui/StructureViewer.java
test/jalview/gui/StructureViewerTest.java

index b142613..fb37b77 100644 (file)
@@ -154,6 +154,10 @@ public class StructureViewer
       PDBEntry pdb = pdbs[i];
       SequenceI seq = seqs[i];
       String pdbFile = pdb.getFile();
+      if (pdbFile == null || pdbFile.length() == 0)
+      {
+        pdbFile = pdb.getId();
+      }
       if (!pdbsSeen.containsKey(pdbFile))
       {
         pdbsSeen.put(pdbFile, pdb);
index 4d5b114..86342d2 100644 (file)
@@ -39,8 +39,10 @@ public class StructureViewerTest
     PDBEntry pdbe4 = new PDBEntry("1GAQ", "A", Type.PDB, null);
     PDBEntry pdbe5 = new PDBEntry("3A6S", "B", Type.PDB, "path2");
     PDBEntry pdbe6 = new PDBEntry("1GAQ", "B", Type.PDB, null);
+    PDBEntry pdbe7 = new PDBEntry("1FOO", "Q", Type.PDB, null);
+
     PDBEntry[] pdbs = new PDBEntry[] { pdbe1, pdbe2, pdbe3, pdbe4, pdbe5,
-        pdbe6 };
+        pdbe6, pdbe7 };
 
     /*
      * seq1 ... seq6 associated with pdbe1 ... pdbe6
@@ -61,6 +63,7 @@ public class StructureViewerTest
     assertTrue(uniques.containsKey(pdbe4));
     assertFalse(uniques.containsKey(pdbe5));
     assertFalse(uniques.containsKey(pdbe6));
+    assertTrue(uniques.containsKey(pdbe7));
 
     // 1A70 associates with seq1 and seq3
     SequenceI[] ss = uniques.get(pdbe1);
@@ -79,5 +82,10 @@ public class StructureViewerTest
     assertEquals(ss.length, 2);
     assertSame(seqs[3], ss[0]);
     assertSame(seqs[5], ss[1]);
+
+    // 1FOO has seq7
+    ss = uniques.get(pdbe7);
+    assertEquals(ss.length, 1);
+    assertSame(seqs[6], ss[0]);
   }
 }