git://source.jalview.org
/
jalview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
JAL-3829 attempt to fix my changes to follow the Jira issue
[jalview.git]
/
src
/
jalview
/
gui
/
StructureChooser.java
diff --git
a/src/jalview/gui/StructureChooser.java
b/src/jalview/gui/StructureChooser.java
index
97ff404
..
33d8c33
100644
(file)
--- a/
src/jalview/gui/StructureChooser.java
+++ b/
src/jalview/gui/StructureChooser.java
@@
-83,7
+83,7
@@
public class StructureChooser extends GStructureChooser
private FTSRestRequest lastPdbRequest;
private FTSRestRequest lastPdbRequest;
- private FTSRestClientI pdbRestCleint;
+ private FTSRestClientI pdbRestClient;
private String selectedPdbFileName;
private String selectedPdbFileName;
@@
-217,7
+217,7
@@
public class StructureChooser extends GStructureChooser
void fetchStructuresMetaData()
{
long startTime = System.currentTimeMillis();
void fetchStructuresMetaData()
{
long startTime = System.currentTimeMillis();
- pdbRestCleint = PDBFTSRestClient.getInstance();
+ pdbRestClient = PDBFTSRestClient.getInstance();
Collection<FTSDataColumnI> wantedFields = pdbDocFieldPrefs
.getStructureSummaryFields();
Collection<FTSDataColumnI> wantedFields = pdbDocFieldPrefs
.getStructureSummaryFields();
@@
-239,7
+239,7
@@
public class StructureChooser extends GStructureChooser
FTSRestResponse resultList;
try
{
FTSRestResponse resultList;
try
{
- resultList = pdbRestCleint.executeRequest(pdbRequest);
+ resultList = pdbRestClient.executeRequest(pdbRequest);
} catch (Exception e)
{
e.printStackTrace();
} catch (Exception e)
{
e.printStackTrace();
@@
-322,6
+322,11
@@
public class StructureChooser extends GStructureChooser
boolean isUniProtRefsFound = false;
StringBuilder queryBuilder = new StringBuilder();
Set<String> seqRefs = new LinkedHashSet<>();
boolean isUniProtRefsFound = false;
StringBuilder queryBuilder = new StringBuilder();
Set<String> seqRefs = new LinkedHashSet<>();
+
+ /*
+ * note PDBs as DBRefEntry so they are not duplicated in query
+ */
+ Set<String> pdbids = new HashSet<>();
if (seq.getAllPDBEntries() != null
&& queryBuilder.length() < MAX_QLENGTH)
if (seq.getAllPDBEntries() != null
&& queryBuilder.length() < MAX_QLENGTH)
@@
-330,17
+335,20
@@
public class StructureChooser extends GStructureChooser
{
if (isValidSeqName(entry.getId()))
{
{
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;
isPDBRefsFound = true;
+ pdbids.add(id);
}
}
}
}
}
}
- if (seq.getDBRefs() != null && seq.getDBRefs().length != 0)
+ List<DBRefEntry> refs = seq.getDBRefs();
+ if (refs != null && refs.size() != 0)
{
{
- for (DBRefEntry dbRef : seq.getDBRefs())
+ for (int ib = 0, nb = refs.size(); ib < nb; ib++)
{
{
+ DBRefEntry dbRef = refs.get(ib);
if (isValidSeqName(getDBRefId(dbRef))
&& queryBuilder.length() < MAX_QLENGTH)
{
if (isValidSeqName(getDBRefId(dbRef))
&& queryBuilder.length() < MAX_QLENGTH)
{
@@
-355,9
+363,13
@@
public class StructureChooser extends GStructureChooser
else if (dbRef.getSource().equalsIgnoreCase(DBRefSource.PDB))
{
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
{
}
else
{
@@
-461,7
+473,7
@@
public class StructureChooser extends GStructureChooser
public void run()
{
long startTime = System.currentTimeMillis();
public void run()
{
long startTime = System.currentTimeMillis();
- pdbRestCleint = PDBFTSRestClient.getInstance();
+ pdbRestClient = PDBFTSRestClient.getInstance();
lbl_loading.setVisible(true);
Collection<FTSDataColumnI> wantedFields = pdbDocFieldPrefs
.getStructureSummaryFields();
lbl_loading.setVisible(true);
Collection<FTSDataColumnI> wantedFields = pdbDocFieldPrefs
.getStructureSummaryFields();
@@
-497,7
+509,7
@@
public class StructureChooser extends GStructureChooser
FTSRestResponse resultList;
try
{
FTSRestResponse resultList;
try
{
- resultList = pdbRestCleint.executeRequest(pdbRequest);
+ resultList = pdbRestClient.executeRequest(pdbRequest);
} catch (Exception e)
{
e.printStackTrace();
} catch (Exception e)
{
e.printStackTrace();
@@
-1192,19
+1204,26
@@
public class StructureChooser extends GStructureChooser
&& !discoveredStructuresSet.isEmpty();
}
&& !discoveredStructuresSet.isEmpty();
}
+ protected int PDB_ID_MIN = 3;// or: (Jalview.isJS() ? 3 : 1); // Bob proposes this.
+ // Doing a search for "1" or "1c" is valuable?
+ // Those work but are enormously slow.
+
@Override
protected void txt_search_ActionPerformed()
{
@Override
protected void txt_search_ActionPerformed()
{
+ String text = txt_search.getText().trim();
+ if (text.length() >= PDB_ID_MIN)
new Thread()
{
new Thread()
{
- @Override
+
+ @Override
public void run()
{
errorWarning.setLength(0);
isValidPBDEntry = false;
public void run()
{
errorWarning.setLength(0);
isValidPBDEntry = false;
- if (txt_search.getText().length() > 0)
+ if (text.length() > 0)
{
{
- String searchTerm = txt_search.getText().toLowerCase();
+ String searchTerm = text.toLowerCase();
searchTerm = searchTerm.split(":")[0];
// System.out.println(">>>>> search term : " + searchTerm);
List<FTSDataColumnI> wantedFields = new ArrayList<>();
searchTerm = searchTerm.split(":")[0];
// System.out.println(">>>>> search term : " + searchTerm);
List<FTSDataColumnI> wantedFields = new ArrayList<>();
@@
-1215,12
+1234,12
@@
public class StructureChooser extends GStructureChooser
pdbRequest.setWantedFields(wantedFields);
pdbRequest.setSearchTerm(searchTerm + ")");
pdbRequest.setAssociatedSequence(selectedSequence);
pdbRequest.setWantedFields(wantedFields);
pdbRequest.setSearchTerm(searchTerm + ")");
pdbRequest.setAssociatedSequence(selectedSequence);
- pdbRestCleint = PDBFTSRestClient.getInstance();
- wantedFields.add(pdbRestCleint.getPrimaryKeyColumn());
+ pdbRestClient = PDBFTSRestClient.getInstance();
+ wantedFields.add(pdbRestClient.getPrimaryKeyColumn());
FTSRestResponse resultList;
try
{
FTSRestResponse resultList;
try
{
- resultList = pdbRestCleint.executeRequest(pdbRequest);
+ resultList = pdbRestClient.executeRequest(pdbRequest);
} catch (Exception e)
{
errorWarning.append(e.getMessage());
} catch (Exception e)
{
errorWarning.append(e.getMessage());