4 import jalview.bin.Cache;
5 import jalview.gui.Preferences;
6 import jalview.util.MessageManager;
7 import jalview.ws.params.ArgumentI;
8 import jalview.ws.params.ParamDatastoreI;
9 import jalview.ws.params.WsParamSetI;
10 import jalview.ws.params.simple.BooleanOption;
11 import jalview.ws.params.simple.IntegerParameter;
12 import jalview.ws.params.simple.LogarithmicParameter;
13 import jalview.ws.params.simple.Option;
15 import java.io.IOException;
16 import java.util.ArrayList;
17 import java.util.Collection;
18 import java.util.List;
19 import java.util.Scanner;
22 public class HMMERParamStore implements ParamDatastoreI
27 List<WsParamSetI> presets = new ArrayList<>();
29 public HMMERParamStore(String name)
35 public List<WsParamSetI> getPresets()
37 // TODO Auto-generated method stub
42 public WsParamSetI getPreset(String name)
44 // TODO Auto-generated method stub
49 public List<ArgumentI> getServiceParameters()
51 List<ArgumentI> args = new ArrayList<>();
52 if ("hmmsearch".equals(name))
54 getHMMSearchParams(args);
56 if ("hmmalign".equals(name))
58 getHMMAlignParams(args);
61 if ("hmmbuild".equals(name))
69 private void getHMMSearchParams(List<ArgumentI> args)
71 args.add(new IntegerParameter(
72 MessageManager.getString("label.number_of_results"),
73 MessageManager.getString("label.number_of_results_desc"), true,
75 String names = Cache.getProperty(Preferences.HMMSEARCH_DBS);
76 if (names != null && !names.isEmpty())
78 Collection<String> databases = new ArrayList<>();
79 databases.add(MessageManager.getString("label.this_alignment"));
80 Scanner nameScanner = new Scanner(names);
82 if (nameScanner.hasNext())
84 while (nameScanner.hasNext())
86 String next = nameScanner.next();
89 Cache.setProperty(Preferences.HMMSEARCH_DBS, "");
90 Cache.setProperty(Preferences.HMMSEARCH_DB_PATHS, "");
99 args.add(new Option(MessageManager.getString("label.database"),
100 MessageManager.getString("label.database_for_hmmsearch"),
101 true, MessageManager.getString("label.this_alignment"),
102 MessageManager.getString("label.this_alignment"), databases,
105 args.add(new BooleanOption(
106 MessageManager.getString("label.auto_align_seqs"),
107 MessageManager.getString("label.auto_align_seqs_desc"), false,
109 args.add(new BooleanOption(
110 MessageManager.getString("label.use_accessions"),
111 MessageManager.getString("label.use_accessions_desc"), false,
113 args.add(new BooleanOption(
114 MessageManager.getString("label.trim_termini"),
115 MessageManager.getString("label.trim_termini_desc"), false,
117 args.add(new LogarithmicParameter(
118 MessageManager.getString("label.seq_e_value"),
119 MessageManager.getString("label.seq_e_value_desc"), false,
120 -9.96578, -126d, 3.3219d, 2d));
122 args.add(new DoubleParameter(
123 MessageManager.getString("label.seq_score"),
124 MessageManager.getString("label.seq_score_desc"), false,
127 args.add(new LogarithmicParameter(
128 MessageManager.getString("label.dom_e_value_desc"),
129 MessageManager.getString("label.dom_e_value_desc"), false,
130 -9.96578, -126d, 3.3219d, 2d));
132 args.add(new DoubleParameter(
133 MessageManager.getString("label.dom_score"),
134 MessageManager.getString("label.dom_score_desc"), false, 0d,
140 private void getHMMAlignParams(List<ArgumentI> args)
142 args.add(new BooleanOption(
143 MessageManager.getString("label.trim_termini"),
144 MessageManager.getString(
145 "label.trim_termini = Trim Non-Matching Termini_desc"),
146 false, false, true, null));
150 public boolean presetExists(String name)
152 // TODO Auto-generated method stub
157 public void deletePreset(String name)
159 // TODO Auto-generated method stub
164 public void storePreset(String presetName, String text,
165 List<ArgumentI> jobParams)
167 // TODO Auto-generated method stub
172 public void updatePreset(String oldName, String presetName, String text,
173 List<ArgumentI> jobParams)
175 // TODO Auto-generated method stub
180 public WsParamSetI parseServiceParameterFile(String name,
181 String description, String[] serviceURL, String parameters)
184 // TODO Auto-generated method stub
189 public String generateServiceParameterFile(WsParamSetI pset)
192 // TODO Auto-generated method stub