{
private static final String AUTOSUPERIMPOSE = "AUTOSUPERIMPOSE";
- private static int MAX_QLENGTH = 7820;
+ private static final int MAX_QLENGTH = 7820;
- private SequenceI selectedSequence;
+ protected SequenceI selectedSequence;
- private SequenceI[] selectedSequences;
+ public SequenceI[] selectedSequences;
private IProgressIndicator progressIndicator;
- private Collection<FTSData> discoveredStructuresSet;
+ protected Collection<FTSData> discoveredStructuresSet;
- private FTSRestRequest lastPdbRequest;
+ protected FTSRestRequest lastPdbRequest;
- private FTSRestClientI pdbRestCleint;
+ protected FTSRestClientI pdbRestClient;
- private String selectedPdbFileName;
+ protected String selectedPdbFileName;
- private boolean isValidPBDEntry;
+ protected boolean isValidPBDEntry;
- private boolean cachedPDBExists;
-
- private static StructureViewer lastTargetedView = null;
+ protected boolean cachedPDBExists;
public StructureChooser(SequenceI[] selectedSeqs, SequenceI selectedSeq,
AlignmentPanel ap)
* structures may be added. If this list is empty then it, and the 'Add'
* button, are hidden.
*/
- private void discoverStructureViews()
+ protected void discoverStructureViews()
{
- if (Desktop.instance != null)
+ if (Desktop.getInstance() != null)
{
targetView.removeAllItems();
- if (lastTargetedView != null && !lastTargetedView.isVisible())
+ Desktop d = Desktop.getInstance();
+ if (d.lastTargetedView != null && !d.lastTargetedView.isVisible())
{
- lastTargetedView = null;
+ d.lastTargetedView = null;
}
int linkedViewsAt = 0;
- for (StructureViewerBase view : Desktop.instance
+ for (StructureViewerBase view : Desktop.getInstance()
.getStructureViewers(null, null))
{
- StructureViewer viewHandler = (lastTargetedView != null
- && lastTargetedView.sview == view) ? lastTargetedView
+ StructureViewer viewHandler = (d.lastTargetedView != null
+ && d.lastTargetedView.sview == view) ? d.lastTargetedView
: StructureViewer.reconfigure(view);
if (view.isLinkedWith(ap))
if (targetView.getItemCount() > 0)
{
targetView.setVisible(true);
- if (lastTargetedView != null)
+ if (d.lastTargetedView != null)
{
- targetView.setSelectedItem(lastTargetedView);
+ targetView.setSelectedItem(d.lastTargetedView);
}
else
{
void fetchStructuresMetaData()
{
long startTime = System.currentTimeMillis();
- pdbRestCleint = PDBFTSRestClient.getInstance();
+ pdbRestClient = PDBFTSRestClient.getInstance();
Collection<FTSDataColumnI> wantedFields = pdbDocFieldPrefs
.getStructureSummaryFields();
FTSRestResponse resultList;
try
{
- resultList = pdbRestCleint.executeRequest(pdbRequest);
+ resultList = pdbRestClient.executeRequest(pdbRequest);
} catch (Exception e)
{
e.printStackTrace();
}
}
- 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)
{
public void run()
{
long startTime = System.currentTimeMillis();
- pdbRestCleint = PDBFTSRestClient.getInstance();
+ pdbRestClient = PDBFTSRestClient.getInstance();
lbl_loading.setVisible(true);
Collection<FTSDataColumnI> wantedFields = pdbDocFieldPrefs
.getStructureSummaryFields();
FTSRestResponse resultList;
try
{
- resultList = pdbRestCleint.executeRequest(pdbRequest);
+ resultList = pdbRestClient.executeRequest(pdbRequest);
} catch (Exception e)
{
e.printStackTrace();
@Override
protected void pdbFromFile_actionPerformed()
{
+ // TODO: JAL-3048 not needed for Jalview-JS until JSmol dep and StructureChooser
+ // works
jalview.io.JalviewFileChooser chooser = new jalview.io.JalviewFileChooser(
jalview.bin.Cache.getProperty("LAST_DIRECTORY"));
chooser.setFileView(new jalview.io.JalviewFileView());
/**
* structure viewer opened by this dialog, or null
*/
- private StructureViewer sViewer = null;
+ protected StructureViewer sViewer = null;
public void showStructures(boolean waitUntilFinished)
{
{
selectedSequence = userSelectedSeq;
}
- PDBEntry fileEntry = new AssociatePdbFileWithSeq()
+ PDBEntry fileEntry = AssociatePdbFileWithSeq
.associatePdbWithSeq(selectedPdbFileName,
- DataSourceType.FILE, selectedSequence, true,
- Desktop.instance);
+ DataSourceType.FILE, selectedSequence, true);
sViewer = launchStructureViewer(
ssm, new PDBEntry[]
}
}
- private PDBEntry getFindEntry(String id, Vector<PDBEntry> pdbEntries)
+ protected PDBEntry getFindEntry(String id, Vector<PDBEntry> pdbEntries)
{
Objects.requireNonNull(id);
Objects.requireNonNull(pdbEntries);
* @param sequences
* @return
*/
- private StructureViewer launchStructureViewer(
+ protected StructureViewer launchStructureViewer(
StructureSelectionManager ssm,
final PDBEntry[] pdbEntriesToView,
final AlignmentPanel alignPanel, SequenceI[] sequences)
}
setProgressBar(null, progressId);
// remember the last viewer we used...
- lastTargetedView = theViewer;
+ Desktop.getInstance().lastTargetedView = theViewer;
return theViewer;
}
&& !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()
{
+ String text = txt_search.getText().trim();
+ if (text.length() >= PDB_ID_MIN)
+ {
new Thread()
{
- @Override
+
+ @Override
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<>();
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
{
- resultList = pdbRestCleint.executeRequest(pdbRequest);
+ resultList = pdbRestClient.executeRequest(pdbRequest);
} catch (Exception e)
{
errorWarning.append(e.getMessage());
}
}.start();
}
+ }
@Override
protected void tabRefresh()