X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fhmmer%2FHMMERParamStore.java;h=be03ec5371c906587f9dc554b86332a1303030b5;hb=64f76d501cbe83740306e3aeacda7e7b2affeb6d;hp=452097b8b149e6649a3b8f4df26fcb844f8f1fb4;hpb=5c7ed97187f95fffe2bf97b5d7b5fec206e79ecc;p=jalview.git diff --git a/src/jalview/hmmer/HMMERParamStore.java b/src/jalview/hmmer/HMMERParamStore.java index 452097b..be03ec5 100644 --- a/src/jalview/hmmer/HMMERParamStore.java +++ b/src/jalview/hmmer/HMMERParamStore.java @@ -32,6 +32,8 @@ public final class HMMERParamStore implements ParamDatastoreI private static final String HMMSEARCH = "hmmsearch"; + private static final String JACKHMMER = "jackhmmer"; + private String name; private List presets = new ArrayList<>(); @@ -59,6 +61,11 @@ public final class HMMERParamStore implements ParamDatastoreI return new HMMERParamStore(HMMSEARCH, viewport); } + public static HMMERParamStore forJackhmmer(AlignmentViewport viewport) + { + return new HMMERParamStore(JACKHMMER, viewport); + } + @Override public List getPresets() { @@ -86,6 +93,8 @@ public final class HMMERParamStore implements ParamDatastoreI case HMMBUILD: getHMMBuildParams(args); break; + case JACKHMMER: + getJackhmmerParams(args); default: } @@ -115,6 +124,10 @@ public final class HMMERParamStore implements ParamDatastoreI MessageManager.getString(HMMSearch.TRIM_TERMINI_KEY), MessageManager.getString("label.trim_termini_desc"), false, false, true, null)); + args.add(new BooleanOption( + MessageManager.getString(HMMSearch.RETURN_N_NEW_SEQ), + MessageManager.getString("label.check_for_new_sequences_desc"), + false, false, false, null)); /* * 'Parameters' @@ -126,11 +139,6 @@ public final class HMMERParamStore implements ParamDatastoreI String thisAlignment = MessageManager .getString(HMMSearch.THIS_ALIGNMENT_KEY); String database = MessageManager.getString("label.database"); - args.add(new RadioChoiceParameter( - MessageManager.getString("action.search"), null, - Arrays.asList(thisAlignment, - database), - thisAlignment)); args.add(new FileParameter(database, "", false, "", "")); args.add(new IntegerParameter( MessageManager.getString(HMMSearch.NUMBER_OF_RESULTS_KEY), @@ -138,27 +146,130 @@ public final class HMMERParamStore implements ParamDatastoreI 100, 0, 100000)); args.add(new RadioChoiceParameter( MessageManager.getString(HMMSearch.REPORTING_CUTOFF_KEY), null, - Arrays.asList(HMMSearch.CUTOFF_NONE, HMMSearch.CUTOFF_EVALUE, - HMMSearch.CUTOFF_SCORE), - HMMSearch.CUTOFF_EVALUE)); + Arrays.asList(MessageManager.getString(HMMSearch.CUTOFF_EVALUE), + MessageManager.getString(HMMSearch.CUTOFF_SCORE)), + MessageManager.getString(HMMSearch.CUTOFF_EVALUE))); args.add(new LogarithmicParameter( - MessageManager.getString(HMMSearch.SEQ_EVALUE_KEY), - MessageManager.getString("label.seq_e_value_desc"), false, 1D, - 1E-38, 10D)); + MessageManager.getString(HMMSearch.REPORTING_SEQ_EVALUE_KEY), + MessageManager.getString("label.reporting_seq_e_value_desc"), + false, 1D, + 1E-100, 10D)); args.add(new LogarithmicParameter( - MessageManager.getString(HMMSearch.DOM_EVALUE_KEY), - MessageManager.getString("label.dom_e_value_desc"), false, 1D, - 1E-38, 10D)); + MessageManager.getString(HMMSearch.REPORTING_DOM_EVALUE_KEY), + MessageManager.getString("label.reporting_dom_e_value_desc"), + false, 1D, + 1E-100, 10D)); args.add( new DoubleParameter( - MessageManager.getString(HMMSearch.SEQ_SCORE_KEY), - MessageManager.getString("label.seq_score_desc"), false, + MessageManager + .getString(HMMSearch.REPORTING_SEQ_SCORE_KEY), + MessageManager.getString( + "label.reporting_seq_score_desc"), + false, 0d, 0d, 1000d)); args.add( new DoubleParameter( - MessageManager.getString(HMMSearch.DOM_SCORE_KEY), - MessageManager.getString("label.dom_score_desc"), false, + MessageManager + .getString(HMMSearch.REPORTING_DOM_SCORE_KEY), + MessageManager.getString( + "label.reporting_dom_score_desc"), + false, 0d, 0d, 1000d)); + args.add(new RadioChoiceParameter( + MessageManager.getString(HMMSearch.INCLUSION_THRESHOLD_KEY), + null, + Arrays.asList(MessageManager.getString(HMMSearch.CUTOFF_EVALUE), + MessageManager.getString(HMMSearch.CUTOFF_SCORE)), + MessageManager.getString(HMMSearch.CUTOFF_EVALUE))); + args.add(new LogarithmicParameter( + MessageManager.getString(HMMSearch.INCLUSION_SEQ_EVALUE_KEY), + MessageManager.getString("label.inclusion_seq_e_value_desc"), + false, 1D, + 1E-100, 10D)); + args.add(new LogarithmicParameter( + MessageManager.getString(HMMSearch.INCLUSION_DOM_EVALUE_KEY), + MessageManager.getString("label.inclusion_dom_e_value_desc"), + false, 1D, + 1E-100, 10D)); + args.add(new DoubleParameter( + MessageManager.getString(HMMSearch.INCLUSION_SEQ_SCORE_KEY), + MessageManager.getString("label.inclusion_seq_score_desc"), + false, 0d, 0d, + 1000d)); + args.add(new DoubleParameter( + MessageManager.getString(HMMSearch.INCLUSION_DOM_SCORE_KEY), + MessageManager.getString("label.inclusion_dom_score_desc"), + false, 0d, 0d, + 1000d)); + } + + /** + * Answers default parameters for jackhmmer, taking into account any configured + * as user preferences + * + * @param args + */ + private void getJackhmmerParams(List args) + { + + /* + * 'Parameters' + */ + addChoiceOfSequence(args); + + // addChoiceOfDatabase(args); + + String database = MessageManager.getString("label.database"); + args.add(new FileParameter(database, "", false, "", "")); + args.add(new RadioChoiceParameter( + MessageManager.getString(JackHMMER.REPORTING_CUTOFF_KEY), null, + Arrays.asList(MessageManager.getString(JackHMMER.CUTOFF_NONE), + MessageManager.getString(JackHMMER.CUTOFF_EVALUE), + MessageManager.getString(JackHMMER.CUTOFF_SCORE)), + MessageManager.getString(JackHMMER.CUTOFF_EVALUE))); + args.add(new LogarithmicParameter( + MessageManager.getString(JackHMMER.REPORTING_SEQ_EVALUE_KEY), + MessageManager.getString("label.reporting_seq_e_value_desc"), + false, 1D, + 1E-38, 10D)); + args.add(new LogarithmicParameter( + MessageManager.getString(JackHMMER.REPORTING_DOM_EVALUE_KEY), + MessageManager.getString( + "label.reporting_dom_e_value_desc"), + false, 1D, + 1E-38, 10D)); + args.add(new DoubleParameter( + MessageManager.getString(JackHMMER.REPORTING_SEQ_SCORE_KEY), + MessageManager.getString("label.reporting_seq_score_desc"), + false, 0d, 0d, + 1000d)); + args.add(new DoubleParameter( + MessageManager.getString(JackHMMER.REPORTING_DOM_SCORE_KEY), + MessageManager.getString("label.reporting_dom_score_desc"), + false, 0d, 0d, + 1000d)); + args.add(new RadioChoiceParameter( + MessageManager.getString(HMMSearch.INCLUSION_THRESHOLD_KEY), + null, + Arrays.asList(MessageManager.getString(HMMSearch.CUTOFF_EVALUE), + MessageManager.getString(HMMSearch.CUTOFF_SCORE)), + MessageManager.getString(HmmerCommand.CUTOFF_EVALUE))); + args.add(new LogarithmicParameter( + MessageManager.getString(HMMSearch.INCLUSION_SEQ_EVALUE_KEY), + MessageManager.getString("label.inclusion_seq_e_value_desc"), + false, 1D, 1E-100, 10D)); + args.add(new LogarithmicParameter( + MessageManager.getString(HMMSearch.INCLUSION_DOM_EVALUE_KEY), + MessageManager.getString("label.inclusion_dom_e_value_desc"), + false, 1D, 1E-100, 10D)); + args.add(new DoubleParameter( + MessageManager.getString(HMMSearch.INCLUSION_SEQ_SCORE_KEY), + MessageManager.getString("label.inclusion_seq_score_desc"), + false, 0d, 0d, 1000d)); + args.add(new DoubleParameter( + MessageManager.getString(HMMSearch.INCLUSION_DOM_SCORE_KEY), + MessageManager.getString("label.inclusion_dom_score_desc"), + false, 0d, 0d, 1000d)); } /** @@ -254,6 +365,31 @@ public final class HMMERParamStore implements ParamDatastoreI } /** + * Adds an argument representing the choice of sequence against which to perform + * jackhmmer + * + * @param args + */ + protected void addChoiceOfSequence(List args) + { + List sequences = viewport.getAlignment().getSequences(); + + List options = new ArrayList<>(); + + for (SequenceI seq : sequences) + { + options.add(seq.getName()); + } + + String defseq = options.get(0); + ArgumentI arg = new StringParameter( + MessageManager.getString("label.use_sequence"), null, true, + defseq, + defseq, options, null); + args.add(arg); + } + + /** * Answers default parameters for hmmbuild, taking into account any configured * as user preferences *