X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Fgui%2FSequenceFetcher.java;h=caecbbad5934b7f2c831239ae3a9f55a207d0012;hb=a35bdf653fe2f56b6600c57f53991a0191cb0032;hp=24db866810eb546f001dd10dd0af01996d5ad464;hpb=96026e673c3629afa54a0d03be4b0022c7b42869;p=jalview.git diff --git a/src/jalview/gui/SequenceFetcher.java b/src/jalview/gui/SequenceFetcher.java index 24db866..caecbba 100755 --- a/src/jalview/gui/SequenceFetcher.java +++ b/src/jalview/gui/SequenceFetcher.java @@ -27,6 +27,7 @@ import jalview.datamodel.DBRefEntry; import jalview.datamodel.SequenceI; import jalview.fts.core.GFTSPanel; import jalview.fts.service.pdb.PDBFTSPanel; +import jalview.fts.service.threedbeacons.TDBeaconsFTSPanel; import jalview.fts.service.uniprot.UniprotFTSPanel; import jalview.io.FileFormatI; import jalview.io.gff.SequenceOntologyI; @@ -195,6 +196,11 @@ public class SequenceFetcher extends JPanel implements Runnable frame.dispose(); new UniprotFTSPanel(SequenceFetcher.this); } + else if ("3d-beacons".equalsIgnoreCase(currentSelection)) + { + frame.dispose(); + new TDBeaconsFTSPanel(SequenceFetcher.this); + } else { otherSourceAction(); @@ -417,13 +423,17 @@ public class SequenceFetcher extends JPanel implements Runnable /* * tidy inputs and check there is something to search for */ - String text = textArea.getText(); + String t0 = textArea.getText(); + String text = t0.trim(); if (replacePunctuation.isEnabled() && replacePunctuation.isSelected()) { text = text.replace(",", ";"); } - text = text.replaceAll("(\\s|[,; ])+", ";"); - textArea.setText(text); + text = text.replaceAll("(\\s|[; ])+", ";"); + if (!t0.equals(text)) + { + textArea.setText(text); + } if (text.isEmpty()) { // todo i18n @@ -432,6 +442,14 @@ public class SequenceFetcher extends JPanel implements Runnable resetDialog(); return; } + if (database.getSelectedIndex() == 0) + { + // todo i18n + showErrorMessage("Please choose a database"); + resetDialog(); + return; + } + exampleBtn.setEnabled(false); textArea.setEnabled(false); okBtn.setEnabled(false); @@ -462,9 +480,8 @@ public class SequenceFetcher extends JPanel implements Runnable List sources = sfetch .getSourceProxy((String) database.getSelectedItem()); Iterator proxies = sources.iterator(); - String[] qries; - List nextFetch = Arrays - .asList(qries = textArea.getText().split(";")); + String[] qries = textArea.getText().trim().split(";"); + List nextFetch = Arrays.asList(qries); Iterator en = Arrays.asList(new String[0]).iterator(); int nqueries = qries.length; @@ -750,13 +767,14 @@ public class SequenceFetcher extends JPanel implements Runnable for (String q : queries) { - DBRefEntry dbr = new DBRefEntry(); - dbr.setSource(proxy.getDbSource()); - dbr.setVersion(null); + // BH 2019.01.25 dbr is never used. +// DBRefEntry dbr = new DBRefEntry(); +// dbr.setSource(proxy.getDbSource()); +// dbr.setVersion(null); String accId = proxy.getAccessionIdFromQuery(q); - dbr.setAccessionId(accId); +// dbr.setAccessionId(accId); boolean rfound = false; - for (int r = 0; r < rs.length; r++) + for (int r = 0, nr = rs.length; r < nr; r++) { if (rs[r] != null) { @@ -785,8 +803,15 @@ public class SequenceFetcher extends JPanel implements Runnable { return "Retrieved from " + database.getSelectedItem(); } - - AlignmentI parseResult(AlignmentI al, String title, + /** + * constructs an alignment frame given the data and metadata + * @param al + * @param title + * @param currentFileFormat + * @param preferredFeatureColours + * @return the alignment + */ + public AlignmentI parseResult(AlignmentI al, String title, FileFormatI currentFileFormat, FeatureSettingsModelI preferredFeatureColours) { @@ -819,10 +844,7 @@ public class SequenceFetcher extends JPanel implements Runnable } } - if (preferredFeatureColours != null) - { - af.getViewport().applyFeaturesStyle(preferredFeatureColours); - } + af.getViewport().applyFeaturesStyle(preferredFeatureColours); if (Cache.getDefault("HIDE_INTRONS", true)) { af.hideFeatureColumns(SequenceOntologyI.EXON, false);