Clover icon

Coverage Report

  1. Project Clover database Thu Jun 4 2026 15:31:54 BST
  2. Package jalview.ws2.client.ebi

File ParamStores.java

 

Coverage histogram

../../../../img/srcFileCovDistChart10.png
0% of files have more coverage

Code metrics

0
193
3
1
285
265
5
0.03
64.33
3
1.67

Classes

Class Line # Actions
ParamStores 15 193 5
0.989795999%
 

Contributing tests

This file is covered by 39 tests. .

Source view

1    package jalview.ws2.client.ebi;
2   
3    import jalview.ws.params.ArgumentI;
4    import jalview.ws.params.ParamDatastoreI;
5    import jalview.ws.params.ParamManager;
6    import jalview.ws.params.simple.*;
7    import jalview.ws2.params.SimpleParamDatastore;
8   
9    import java.net.MalformedURLException;
10    import java.net.URL;
11    import java.util.ArrayList;
12    import java.util.Collections;
13    import java.util.List;
14   
 
15    class ParamStores
16    {
17    static final List<ArgumentI> phmmerParameters;
18   
19    /**
20    * Set up phmmer parameters list.
21    */
 
22  11 toggle static
23    {
24  11 var parameters = new ArrayList<ArgumentI>();
25  11 URL baseURL;
26  11 try
27    {
28  11 baseURL = new URL( "https://www.ebi.ac.uk/Tools/services/rest/hmmer3_phmmer/");
29    } catch (MalformedURLException e)
30    {
31  0 throw new ExceptionInInitializerError(e);
32    }
33    {
34  11 var builder = StringParameter.newBuilder();
35  11 builder.setName("cut-offs");
36  11 builder.setLabel("Cut-offs");
37  11 builder.setDescription("Set the method of controlling which target sequences match your query.");
38  11 builder.setRequired(true);
39  11 builder.setValue("E");
40  11 builder.setDefaultValue("E");
41  11 builder.setPossibleValues(List.of("E", "T"));
42  11 builder.setDisplayValues(List.of("E-values", "Bit scores"));
43  11 parameters.add(builder.build());
44    }
45    {
46  11 var builder = DoubleParameter.newBuilder();
47  11 builder.setName("incE");
48  11 builder.setLabel("Significance E-values[Sequence]");
49  11 builder.setDescription("Significance E-values[Sequence]");
50  11 builder.setRequired(false);
51  11 builder.setValue(0.01);
52  11 builder.setDefaultValue(0.01);
53  11 builder.setMin(0.);
54  11 builder.setMax(10.);
55  11 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/incE"));
56  11 parameters.add(builder.build());
57    }
58    {
59  11 var builder = DoubleParameter.newBuilder();
60  11 builder.setName("incdomE");
61  11 builder.setLabel("Significance E-values[Hit]");
62  11 builder.setDescription("Significance E-values[Hit]");
63  11 builder.setRequired(false);
64  11 builder.setValue(0.03);
65  11 builder.setDefaultValue(0.03);
66  11 builder.setMin(0.);
67  11 builder.setMax(10.);
68  11 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/incdomE"));
69  11 parameters.add(builder.build());
70    }
71    {
72  11 var builder = DoubleParameter.newBuilder();
73  11 builder.setName("E");
74  11 builder.setLabel("Report E-values[Sequence]");
75  11 builder.setDescription("Report E-values[Sequence]");
76  11 builder.setRequired(false);
77  11 builder.setValue(1.0);
78  11 builder.setDefaultValue(1.0);
79  11 builder.setMin(0.);
80  11 builder.setMax(10.);
81  11 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/E"));
82  11 parameters.add(builder.build());
83    }
84    {
85  11 var builder = DoubleParameter.newBuilder();
86  11 builder.setName("domE");
87  11 builder.setLabel("Report E-values[Hit]");
88  11 builder.setDescription("Report E-values[Hit]");
89  11 builder.setRequired(false);
90  11 builder.setValue(1.0);
91  11 builder.setDefaultValue(1.0);
92  11 builder.setMin(0.);
93  11 builder.setMax(10.);
94  11 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/domE"));
95  11 parameters.add(builder.build());
96    }
97    {
98  11 var builder = DoubleParameter.newBuilder();
99  11 builder.setName("incT");
100  11 builder.setLabel("Significance bit scores[Sequence]");
101  11 builder.setDescription("Significance bit scores[Sequence]");
102  11 builder.setRequired(false);
103  11 builder.setValue(25.0);
104  11 builder.setDefaultValue(25.0);
105  11 builder.setMin(0.);
106  11 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/incT"));
107  11 parameters.add(builder.build());
108    }
109    {
110  11 var builder = DoubleParameter.newBuilder();
111  11 builder.setName("incdomT");
112  11 builder.setLabel("Significance bit scores[Hit]");
113  11 builder.setDescription("Significance bit scores[Hit]");
114  11 builder.setRequired(false);
115  11 builder.setValue(22.0);
116  11 builder.setDefaultValue(22.0);
117  11 builder.setMin(0.);
118  11 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/incdomT"));
119  11 parameters.add(builder.build());
120    }
121    {
122  11 var builder = DoubleParameter.newBuilder();
123  11 builder.setName("T");
124  11 builder.setLabel("Report bit scores[Sequence]");
125  11 builder.setDescription("Report bit scores[Sequence]");
126  11 builder.setRequired(false);
127  11 builder.setValue(7.0);
128  11 builder.setDefaultValue(7.0);
129  11 builder.setMin(0.);
130  11 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/T"));
131  11 parameters.add(builder.build());
132    }
133    {
134  11 var builder = DoubleParameter.newBuilder();
135  11 builder.setName("domT");
136  11 builder.setLabel("Report bit scores[Hit]");
137  11 builder.setDescription("Report bit scores[Hit]");
138  11 builder.setRequired(false);
139  11 builder.setValue(5.0);
140  11 builder.setDefaultValue(5.0);
141  11 builder.setMin(0.);
142  11 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/domT"));
143  11 parameters.add(builder.build());
144    }
145    {
146  11 var builder = DoubleParameter.newBuilder();
147  11 builder.setName("popen");
148  11 builder.setLabel("Gap Penalties[open]");
149  11 builder.setDescription("Gap Penalties[open]");
150  11 builder.setRequired(false);
151  11 builder.setValue(0.02);
152  11 builder.setDefaultValue(0.02);
153  11 builder.setMin(0.);
154  11 builder.setMax(0.5);
155  11 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/popen"));
156  11 parameters.add(builder.build());
157    }
158    {
159  11 var builder = DoubleParameter.newBuilder();
160  11 builder.setName("pextend");
161  11 builder.setLabel("Gap Penalties[extend]");
162  11 builder.setDescription("Gap Penalties[extend]");
163  11 builder.setRequired(false);
164  11 builder.setValue(0.4);
165  11 builder.setDefaultValue(0.4);
166  11 builder.setMin(0.);
167  11 builder.setMax(1.);
168  11 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/pextend"));
169  11 parameters.add(builder.build());
170    }
171    {
172  11 var builder = StringParameter.newBuilder();
173  11 builder.setName("mx");
174  11 builder.setLabel("Gap Penalties[Substitution scoring matrix]");
175  11 builder.setDescription("Gap Penalties[Substitution scoring matrix]");
176  11 builder.setRequired(false);
177  11 builder.setValue("BLOSUM62");
178  11 builder.setDefaultValue("BLOSUM62");
179  11 builder.setPossibleValues(List.of("BLOSUM45", "BLOSUM62", "BLOSUM90", "PAM30", "PAM70"));
180  11 builder.setDisplayValues(List.of("BLOSUM45", "BLOSUM62", "BLOSUM90", "PAM30", "PAM70"));
181  11 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/mx"));
182  11 parameters.add(builder.build());
183    }
184    {
185  11 var builder = BooleanOption.newBuilder();
186  11 builder.setName("nobias");
187  11 builder.setLabel("No bias filter");
188  11 builder.setDescription(
189    "The '--nobias' option turns off (bypasses) the biased composition filter which is on by default.");
190  11 builder.setRequired(false);
191  11 builder.setValue(false);
192  11 builder.setDefaultValue(false);
193  11 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/nobias"));
194  11 parameters.add(builder.build());
195    }
196    {
197  11 var builder = BooleanOption.newBuilder();
198  11 builder.setName("compressedout");
199  11 builder.setLabel("Compressed Output");
200  11 builder.setDescription(
201    "By default it runs hmm2c plus post-processing (default output), whereas with compressedout, it gets compressed output only.");
202  11 builder.setRequired(false);
203  11 builder.setValue(false);
204  11 builder.setDefaultValue(false);
205  11 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/compressedout"));
206  11 parameters.add(builder.build());
207    }
208    {
209  11 var builder = BooleanOption.newBuilder();
210  11 builder.setName("alignView");
211  11 builder.setLabel("Output Alignment");
212  11 builder.setDescription("Output alignment in result");
213  11 builder.setRequired(false);
214  11 builder.setValue(true);
215  11 builder.setDefaultValue(true);
216  11 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/alignView"));
217  11 parameters.add(builder.build());
218    }
219    {
220  11 var builder = StringParameter.newBuilder();
221  11 builder.setName("database");
222  11 builder.setLabel("Sequence Database");
223  11 builder.setDescription("Sequence Database Selection");
224  11 builder.setRequired(true);
225  11 builder.setValue("uniprotkb");
226  11 builder.setDefaultValue("uniprotkb");
227  11 builder.setPossibleValues(List.of("swissprot", "uniprotrefprot", "uniprotkb", "pdb", "rp75", "rp55", "rp35", "rp15", "ensembl", "merops", "qfo", "chembl"));
228  11 builder.setDisplayValues(List.of("SwissProt", "Reference Proteomes", "UniProtKB", "PDB", "rp75", "rp55", "rp35", "rp15", "Ensembl", "MEROPS", "Quest for Orthologs", "ChEMBL"));
229  11 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/database"));
230  11 parameters.add(builder.build());
231    }
232    {
233  11 var builder = DoubleParameter.newBuilder();
234  11 builder.setName("evalue");
235  11 builder.setLabel("Expectation Value Threshold");
236  11 builder.setDescription(
237    "Expectation value cut-off for reporting target profiles in the per-target output.");
238  11 builder.setRequired(false);
239  11 builder.setValue(0.01);
240  11 builder.setDefaultValue(0.01);
241  11 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/evalue"));
242  11 parameters.add(builder.build());
243    }
244    // {
245    // var builder = StringParameter.newBuilder();
246    // builder.setName("sequence");
247    // builder.setLabel("Input Sequence");
248    // builder.setDescription(
249    // "The input sequence can be entered directly into this form. The sequence can be be in FASTA or UniProtKB/Swiss-Prot format. A partially formatted sequence is not accepted. Adding a return to the end of the sequence may help certain applications understand the input. Note that directly using data from word processors may yield unpredictable results as hidden/control characters may be present.");
250    // builder.setRequired(false);
251    //
252    // builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/sequence"));
253    // parameters.add(builder.build());
254    // }
255    {
256  11 var builder = IntegerParameter.newBuilder();
257  11 builder.setName("nhits");
258  11 builder.setLabel("Number of Hits Displayed");
259  11 builder.setDescription("Number of hits to be displayed.");
260  11 builder.setRequired(false);
261  11 builder.setValue(100);
262  11 builder.setDefaultValue(100);
263  11 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/nhits"));
264  11 parameters.add(builder.build());
265    }
266  11 phmmerParameters = Collections.unmodifiableList(parameters);
267    }
268   
 
269  187 toggle private static URL resolveURL(URL base, String spec)
270    {
271  187 try
272    {
273  187 return new URL(base, spec);
274    } catch (MalformedURLException e)
275    {
276  0 throw new ExceptionInInitializerError(e);
277    }
278    }
279   
 
280  64 toggle public static ParamDatastoreI newPhmmerDatastore(URL url, ParamManager manager)
281    {
282  64 return new SimpleParamDatastore(url, phmmerParameters,
283    Collections.emptyList(), manager);
284    }
285    }