public void run()
{
long startTime = System.currentTimeMillis();
- String msg = MessageManager.getString("status.fetching_db_refs");
- updateProgressIndicator(msg, startTime);
+ updateProgressIndicator(MessageManager
+ .getString("status.loading_cached_pdb_entries"), startTime);
loadLocalCachedPDBEntries();
+ updateProgressIndicator(null, startTime);
+ updateProgressIndicator(MessageManager
+ .getString("status.searching_for_pdb_structures"),
+ startTime);
fetchStructuresMetaData();
populateFilterComboBox();
updateProgressIndicator(null, startTime);
pdbRequest.setFieldToSearchBy("(text:");
pdbRequest.setWantedFields(wantedFields);
pdbRequest.setSearchTerm(buildQuery(seq) + ")");
- pdbRequest.setAssociatedSequence(seq.getName());
+ pdbRequest.setAssociatedSequence(seq);
pdbRestCleint = new PDBRestClient();
PDBRestResponse resultList;
try
resultList = pdbRestCleint.executeRequest(pdbRequest);
} catch (Exception e)
{
+ e.printStackTrace();
errors.add(e.getMessage());
continue;
}
if (errors.size() > 0)
{
StringBuilder errorMsg = new StringBuilder();
- // "Operation was unsucessful due to the following: \n");
+ // "Operation was unsuccessful due to the following: \n");
for (String error : errors)
{
errorMsg.append(error).append("\n");
{
for (PDBEntry entry : seq.getPDBId())
{
- seqRefs.add(entry.getId());
+ if (isValidSeqName(entry.getId()))
+ {
+ seqRefs.add(entry.getId());
+ }
}
}
int count = 0;
for (DBRefEntry dbRef : seq.getDBRef())
{
- seqRefs.add(getDBRefId(dbRef));
+ if (isValidSeqName(getDBRefId(dbRef)))
+ {
+ seqRefs.add(getDBRefId(dbRef));
+ }
++count;
if (count > 10)
{
*/
public static boolean isValidSeqName(String seqName)
{
- String ignoreList = "pdb,uniprot";
+ // System.out.println("seqName : " + seqName);
+ String ignoreList = "pdb,uniprot,swiss-prot";
if (seqName.length() < 3)
{
return false;
}
+ if (seqName.contains(":"))
+ {
+ return false;
+ }
+ seqName = seqName.toLowerCase();
for (String ignoredEntry : ignoreList.split(","))
{
- if (seqName.equalsIgnoreCase(ignoredEntry))
+ if (seqName.contains(ignoredEntry))
{
return false;
}
!chk_invertFilter.isSelected());
pdbRequest.setSearchTerm(buildQuery(seq) + ")");
pdbRequest.setWantedFields(wantedFields);
- pdbRequest.setAssociatedSequence(seq.getName());
+ pdbRequest.setAssociatedSequence(seq);
pdbRestCleint = new PDBRestClient();
PDBRestResponse resultList;
try
resultList = pdbRestCleint.executeRequest(pdbRequest);
} catch (Exception e)
{
+ e.printStackTrace();
errors.add(e.getMessage());
continue;
}
+ totalTime + ")");
if (errors.size() > 0)
{
- StringBuilder errorMsg = new StringBuilder(
- "Operation unsucessful due to the following: \n");
+ StringBuilder errorMsg = new StringBuilder();
for (String error : errors)
{
errorMsg.append(error).append("\n");
String currentView = selectedFilterOpt.getView();
if (currentView == VIEWS_FILTER)
{
- int pdbIdCol = PDBRestClient.getPDBIdColumIndex(
- lastPdbRequest.getWantedFields(), true);
+ int pdbIdColIndex = tbl_summary.getColumn(
+ PDBRestClient.PDBDocField.PDB_ID.getName()).getModelIndex();
+ int refSeqColIndex = tbl_summary.getColumn("Ref Sequence")
+ .getModelIndex();
int[] selectedRows = tbl_summary.getSelectedRows();
PDBEntry[] pdbEntriesToView = new PDBEntry[selectedRows.length];
int count = 0;
+ ArrayList<SequenceI> selectedSeqsToView = new ArrayList<SequenceI>();
for (int summaryRow : selectedRows)
{
- String pdbIdStr = tbl_summary.getValueAt(summaryRow, pdbIdCol)
+ String pdbIdStr = tbl_summary.getValueAt(summaryRow, pdbIdColIndex)
.toString();
-
+ SequenceI selectedSeq = (SequenceI) tbl_summary.getValueAt(
+ summaryRow, refSeqColIndex);
+ selectedSeqsToView.add(selectedSeq);
PDBEntry pdbEntry = cachedEntryMap.get(pdbIdStr.toLowerCase());
if (pdbEntry == null)
{
}
pdbEntriesToView[count++] = pdbEntry;
}
+ SequenceI[] selectedSeqs = selectedSeqsToView
+ .toArray(new SequenceI[selectedSeqsToView.size()]);
launchStructureViewer(ap.getStructureSelectionManager(),
- pdbEntriesToView, ap, selectedSequences);
+ pdbEntriesToView, ap, selectedSeqs);
}
else if(currentView == VIEWS_LOCAL_PDB){
int[] selectedRows = tbl_local_pdb.getSelectedRows();
private void launchStructureViewer(StructureSelectionManager ssm,
PDBEntry[] pdbEntriesToView, AlignmentPanel alignPanel,
- SequenceI[] selectedSequences)
+ SequenceI[] sequences)
{
StructureViewer sViewer = new StructureViewer(ssm);
if (pdbEntriesToView.length > 1)
{
- sViewer.viewStructures(alignPanel, pdbEntriesToView,
- alignPanel.av.collateForPDB(pdbEntriesToView));
+ sViewer.viewStructures(pdbEntriesToView, alignPanel.av.collateForPDB(pdbEntriesToView),
+ alignPanel);
}
else
{
- sViewer.viewStructures(pdbEntriesToView[0], selectedSequences, null,
+ sViewer.viewStructures(pdbEntriesToView[0], sequences,
alignPanel);
}
}
pdbRequest.setFieldToSearchBy("(pdb_id:");
pdbRequest.setWantedFields(wantedFields);
pdbRequest.setSearchTerm(txt_search.getText() + ")");
- pdbRequest.setAssociatedSequence(selectedSequence.getName());
+ pdbRequest.setAssociatedSequence(selectedSequence);
pdbRestCleint = new PDBRestClient();
PDBRestResponse resultList;
try
resultList = pdbRestCleint.executeRequest(pdbRequest);
} catch (Exception e)
{
- // JOptionPane.showMessageDialog(this, e.getMessage(),
- // "PDB Web-service Error", JOptionPane.ERROR_MESSAGE);
errorWarning.append(e.getMessage());
return;
} finally
{
- // System.out.println(">>>>> executing finally block");
validateSelections();
}
if (resultList.getSearchSummary() != null