From: jprocter Date: Thu, 4 Dec 2008 10:28:02 +0000 (+0000) Subject: fetch database references for all EBI db + selected das sequence sources or a specifi... X-Git-Tag: Release_2_5~388 X-Git-Url: http://source.jalview.org/gitweb/?a=commitdiff_plain;h=1145380bdd6555637794c9db36624fa42a8818c8;hp=5d55702b40b8a0b198a0a22b4fbb8458fa2bc7f4;p=jalview.git fetch database references for all EBI db + selected das sequence sources or a specific list of named sources --- diff --git a/src/jalview/gui/AlignFrame.java b/src/jalview/gui/AlignFrame.java index f5a1494..8f1aa46 100755 --- a/src/jalview/gui/AlignFrame.java +++ b/src/jalview/gui/AlignFrame.java @@ -3642,30 +3642,7 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, private void resetWebServiceMenu() { webService.removeAll(); - // Temporary hack - DBRef Fetcher always top level ws entry. - JMenuItem rfetch = new JMenuItem("Fetch DB References"); - rfetch - .setToolTipText("Retrieve and parse sequence database records for the alignment or the currently selected sequences"); - webService.add(rfetch); - rfetch.addActionListener(new ActionListener() - { - - public void actionPerformed(ActionEvent e) - { - new Thread(new Runnable() - { - - public void run() - { - new jalview.ws.DBRefFetcher(alignPanel.av - .getSequenceSelection(), alignPanel.alignFrame) - .fetchDBRefs(false); - } - }).start(); - - } - - }); + build_fetchdbmenu(webService); } /* @@ -4184,6 +4161,86 @@ public class AlignFrame extends GAlignFrame implements DropTargetListener, } return false; } + protected void build_fetchdbmenu(JMenu webService) { + // Temporary hack - DBRef Fetcher always top level ws entry. + // TODO We probably want to store a sequence database checklist in preferences and have checkboxes.. rather than individual sources selected here + JMenu rfetch = new JMenu("Fetch DB References"); + rfetch + .setToolTipText("Retrieve and parse sequence database records for the alignment or the currently selected sequences"); + webService.add(rfetch); + + JMenuItem fetchr = new JMenuItem("Standard Databases"); + fetchr.setToolTipText("Fetch from EMBL/EMBLCDS or Uniprot/PDB and any selected DAS sources"); + fetchr.addActionListener(new ActionListener() + { + + public void actionPerformed(ActionEvent e) + { + new Thread(new Runnable() + { + + public void run() + { + new jalview.ws.DBRefFetcher(alignPanel.av + .getSequenceSelection(), alignPanel.alignFrame) + .fetchDBRefs(false); + } + }).start(); + + } + + }); + rfetch.add(fetchr); + JMenu dfetch = new JMenu(); + rfetch.add(dfetch); + jalview.ws.SequenceFetcher sf = SequenceFetcher.getSequenceFetcherSingleton(this); + String[] otherdb = sf.getOrderedSupportedSources(); + // sf.getDbInstances(jalview.ws.dbsources.DasSequenceSource.class); + // jalview.util.QuickSort.sort(otherdb, otherdb); + int comp=0,mcomp=15; + String mname=null; + if (otherdb!=null && otherdb.length>0) + { + for (int i=0; i0) { - dbSources = DBRefSource.PROTEINDBS; + String[] newsrc = new String[dbSources.length+otherdb.length]; + System.arraycopy(dbSources, 0, newsrc,0,dbSources.length); + System.arraycopy(otherdb, 0, newsrc,dbSources.length, otherdb.length); + dbSources = newsrc; } } - /** * start the fetcher thread *