X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FStructureChooser.java;h=33d8c33e5bdec1a5cbd7165f50296b495e82e5e2;hb=3ffda7877bae6500636fcccaf1a9eae8bff2f45c;hp=23b7fcf1ca9392937e2dba73f57d11cba22b2f48;hpb=26b115b0a77d521da92a06572d9b7819c2d0d49a;p=jalview.git diff --git a/src/jalview/gui/StructureChooser.java b/src/jalview/gui/StructureChooser.java index 23b7fcf..33d8c33 100644 --- a/src/jalview/gui/StructureChooser.java +++ b/src/jalview/gui/StructureChooser.java @@ -322,6 +322,11 @@ public class StructureChooser extends GStructureChooser boolean isUniProtRefsFound = false; StringBuilder queryBuilder = new StringBuilder(); Set seqRefs = new LinkedHashSet<>(); + + /* + * note PDBs as DBRefEntry so they are not duplicated in query + */ + Set pdbids = new HashSet<>(); if (seq.getAllPDBEntries() != null && queryBuilder.length() < MAX_QLENGTH) @@ -330,9 +335,10 @@ public class StructureChooser extends GStructureChooser { if (isValidSeqName(entry.getId())) { - queryBuilder.append("pdb_id:").append(entry.getId().toLowerCase()) - .append(" OR "); + String id = entry.getId().toLowerCase(); + queryBuilder.append("pdb_id:").append(id).append(" OR "); isPDBRefsFound = true; + pdbids.add(id); } } } @@ -357,9 +363,13 @@ public class StructureChooser extends GStructureChooser else if (dbRef.getSource().equalsIgnoreCase(DBRefSource.PDB)) { - queryBuilder.append("pdb_id:") - .append(getDBRefId(dbRef).toLowerCase()).append(" OR "); - isPDBRefsFound = true; + String id = getDBRefId(dbRef).toLowerCase(); + if (!pdbids.contains(id)) + { + queryBuilder.append("pdb_id:").append(id).append(" OR "); + isPDBRefsFound = true; + pdbids.add(id); + } } else {