From 3400dfdc9adf0857f53736dfc1709d168ca7acfc Mon Sep 17 00:00:00 2001
From: tjc <tjc@ee4ac58c-ac51-4696-9907-e4b3aa274f04>
Date: Thu, 11 Sep 2008 10:26:30 +0000
Subject: [PATCH] add ncbi searches
git-svn-id: svn+ssh://svn.internal.sanger.ac.uk/repos/svn/pathsoft/artemis/trunk@8767 ee4ac58c-ac51-4696-9907-e4b3aa274f04
---
etc/options | 13 +++-
uk/ac/sanger/artemis/components/RunMenu.java | 66 ++++++++++++++++----
2 files changed, 65 insertions(+), 14 deletions(-)
diff --git a/etc/options b/etc/options
index 37d54acc1..b4997da16 100644
--- a/etc/options
+++ b/etc/options
@@ -2,7 +2,7 @@
# (Note that comment lines start with a hash (#) symbol)
-# $Header: //tmp/pathsoft/artemis/etc/options,v 1.49 2008-08-01 12:41:46 tjc Exp $
+# $Header: //tmp/pathsoft/artemis/etc/options,v 1.50 2008-09-11 10:23:37 tjc Exp $
# This file should contain option settings that look like this:
#
@@ -405,7 +405,7 @@ extra_keys = \
TMM signalP
# this list is added to the keys from the feature_keys_gff file
-extra_keys_gff =
+extra_keys_gff = CDS
# Names of qualifiers to search when attempting to find the primary or display
# name of a gene. These qualifiers names are searched in order when looking
@@ -773,6 +773,15 @@ feature_dna_programs = \
application_programs = \
jalview
+ncbi_dna_search = \
+ blastn http://www.ncbi.nlm.nih.gov/blast/Blast.cgi?PAGE=Nucleotides&PROGRAM=blastn&MEGABLAST=on&BLAST_PROGRAMS=blastn&PAGE_TYPE=BlastSearch&DATABASE=nr&SHOW_DEFAULTS=on&QUERY= \
+ blastx http://www.ncbi.nlm.nih.gov/blast/Blast.cgi?PAGE=Translations&PROGRAM=blastx&BLAST_PROGRAMS=blastx&PAGE_TYPE=BlastSearch&SHOW_DEFAULTS=on&QUERY= \
+ tblastx http://www.ncbi.nlm.nih.gov/blast/Blast.cgi?PAGE=Translations&PROGRAM=tblastx&BLAST_PROGRAMS=tblastx&PAGE_TYPE=BlastSearch&SHOW_DEFAULTS=on&QUERY=
+
+ncbi_protein_search = \
+ blastp http://www.ncbi.nlm.nih.gov/blast/Blast.cgi?PAGE=Proteins&PROGRAM=blastp&BLAST_PROGRAMS=blastp&PAGE_TYPE=BlastSearch&QUERY= \
+ tblastn http://www.ncbi.nlm.nih.gov/blast/Blast.cgi?PAGE=Translations&PROGRAM=tblastn&BLAST_PROGRAMS=tblastn&PAGE_TYPE=BlastSearch&SHOW_DEFAULTS=on&QUERY=
+
mess_fasta_hits = 10
# this is the list of keys that should be displayed by default in the edit
diff --git a/uk/ac/sanger/artemis/components/RunMenu.java b/uk/ac/sanger/artemis/components/RunMenu.java
index a0cbf87db..882821f64 100644
--- a/uk/ac/sanger/artemis/components/RunMenu.java
+++ b/uk/ac/sanger/artemis/components/RunMenu.java
@@ -20,13 +20,14 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
- * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/components/RunMenu.java,v 1.10 2008-07-24 13:49:00 tjc Exp $
+ * $Header: //tmp/pathsoft/artemis/uk/ac/sanger/artemis/components/RunMenu.java,v 1.11 2008-09-11 10:26:30 tjc Exp $
**/
package uk.ac.sanger.artemis.components;
import uk.ac.sanger.artemis.*;
import uk.ac.sanger.artemis.util.ReadOnlyException;
+import uk.ac.sanger.artemis.editor.BrowserControl;
import uk.ac.sanger.artemis.io.EntryInformationException;
import uk.ac.sanger.artemis.io.InvalidKeyException;
@@ -43,7 +44,7 @@ import javax.swing.JMenuItem;
* A JMenu of external commands/functions.
*
* @author Kim Rutherford
- * @version $Id: RunMenu.java,v 1.10 2008-07-24 13:49:00 tjc Exp $
+ * @version $Id: RunMenu.java,v 1.11 2008-09-11 10:26:30 tjc Exp $
**/
public class RunMenu extends SelectionMenu
@@ -68,20 +69,25 @@ public class RunMenu extends SelectionMenu
{
super(frame, menu_name, selection);
- final ExternalProgramVector external_programs =
- Options.getOptions().getExternalPrograms();
+ addNCBISearches(selection);
+
+ if(Options.isUnixHost())
+ {
+ final ExternalProgramVector external_programs = Options.getOptions()
+ .getExternalPrograms();
- boolean sanger_options =
- Options.getOptions().getPropertyTruthValue("sanger_options");
+ boolean sanger_options = Options.getOptions().getPropertyTruthValue(
+ "sanger_options");
- final int external_programs_size = external_programs.size();
- for(int i = 0; i < external_programs_size; ++i)
- makeMenuItem(external_programs.elementAt(i), sanger_options);
+ final int external_programs_size = external_programs.size();
+ for(int i = 0; i < external_programs_size; ++i)
+ makeMenuItem(external_programs.elementAt(i), sanger_options);
- addSeparator();
+ addSeparator();
- for(int i = 0; i < external_programs_size; ++i)
- makeOptionsMenuItem(external_programs.elementAt(i));
+ for(int i = 0; i < external_programs_size; ++i)
+ makeOptionsMenuItem(external_programs.elementAt(i));
+ }
}
/**
@@ -96,7 +102,43 @@ public class RunMenu extends SelectionMenu
this(frame, selection, "Run");
}
+ /**
+ * Add menu for NCBI web searches
+ * @param selection
+ */
+ private void addNCBISearches(final Selection selection)
+ {
+ final JMenu ncbiSearchLinks = new JMenu("NCBI Searches");
+ add(ncbiSearchLinks);
+
+ final ExternalProgramVector ncbi_protein =
+ Options.getOptions().getNCBIPrograms();
+
+ for(int i = 0; i < ncbi_protein.size(); ++i)
+ {
+ final ExternalProgram program = (ExternalProgram)ncbi_protein.elementAt(i);
+ final String programName = program.getName();
+ final JMenuItem programMenu = new JMenuItem(programName);
+ ncbiSearchLinks.add(programMenu);
+ programMenu.addActionListener(new ActionListener()
+ {
+ public void actionPerformed(ActionEvent arg0)
+ {
+ final FeatureVector features = selection.getAllFeatures();
+ final String residues;
+
+ if(program.getType() == ExternalProgram.AA_PROGRAM)
+ residues = features.elementAt(0).getTranslation().toString().toUpperCase();
+ else
+ residues = features.elementAt(0).getBases();
+
+ BrowserControl.displayURL(program.getProgramOptions()+residues);
+ }
+ });
+ }
+ }
+
/**
* Make a new menu item for running the given ExternalProgram object.
* @param program Create two menu items for this program.
--
GitLab