Clover icon

Coverage Report

  1. Project Clover database Wed Dec 3 2025 17:03:17 GMT
  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 45 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  10 toggle static
23    {
24  10 var parameters = new ArrayList<ArgumentI>();
25  10 URL baseURL;
26  10 try
27    {
28  10 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  10 var builder = StringParameter.newBuilder();
35  10 builder.setName("cut-offs");
36  10 builder.setLabel("Cut-offs");
37  10 builder.setDescription("Set the method of controlling which target sequences match your query.");
38  10 builder.setRequired(true);
39  10 builder.setValue("E");
40  10 builder.setDefaultValue("E");
41  10 builder.setPossibleValues(List.of("E", "T"));
42  10 builder.setDisplayValues(List.of("E-values", "Bit scores"));
43  10 parameters.add(builder.build());
44    }
45    {
46  10 var builder = DoubleParameter.newBuilder();
47  10 builder.setName("incE");
48  10 builder.setLabel("Significance E-values[Sequence]");
49  10 builder.setDescription("Significance E-values[Sequence]");
50  10 builder.setRequired(false);
51  10 builder.setValue(0.01);
52  10 builder.setDefaultValue(0.01);
53  10 builder.setMin(0.);
54  10 builder.setMax(10.);
55  10 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/incE"));
56  10 parameters.add(builder.build());
57    }
58    {
59  10 var builder = DoubleParameter.newBuilder();
60  10 builder.setName("incdomE");
61  10 builder.setLabel("Significance E-values[Hit]");
62  10 builder.setDescription("Significance E-values[Hit]");
63  10 builder.setRequired(false);
64  10 builder.setValue(0.03);
65  10 builder.setDefaultValue(0.03);
66  10 builder.setMin(0.);
67  10 builder.setMax(10.);
68  10 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/incdomE"));
69  10 parameters.add(builder.build());
70    }
71    {
72  10 var builder = DoubleParameter.newBuilder();
73  10 builder.setName("E");
74  10 builder.setLabel("Report E-values[Sequence]");
75  10 builder.setDescription("Report E-values[Sequence]");
76  10 builder.setRequired(false);
77  10 builder.setValue(1.0);
78  10 builder.setDefaultValue(1.0);
79  10 builder.setMin(0.);
80  10 builder.setMax(10.);
81  10 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/E"));
82  10 parameters.add(builder.build());
83    }
84    {
85  10 var builder = DoubleParameter.newBuilder();
86  10 builder.setName("domE");
87  10 builder.setLabel("Report E-values[Hit]");
88  10 builder.setDescription("Report E-values[Hit]");
89  10 builder.setRequired(false);
90  10 builder.setValue(1.0);
91  10 builder.setDefaultValue(1.0);
92  10 builder.setMin(0.);
93  10 builder.setMax(10.);
94  10 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/domE"));
95  10 parameters.add(builder.build());
96    }
97    {
98  10 var builder = DoubleParameter.newBuilder();
99  10 builder.setName("incT");
100  10 builder.setLabel("Significance bit scores[Sequence]");
101  10 builder.setDescription("Significance bit scores[Sequence]");
102  10 builder.setRequired(false);
103  10 builder.setValue(25.0);
104  10 builder.setDefaultValue(25.0);
105  10 builder.setMin(0.);
106  10 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/incT"));
107  10 parameters.add(builder.build());
108    }
109    {
110  10 var builder = DoubleParameter.newBuilder();
111  10 builder.setName("incdomT");
112  10 builder.setLabel("Significance bit scores[Hit]");
113  10 builder.setDescription("Significance bit scores[Hit]");
114  10 builder.setRequired(false);
115  10 builder.setValue(22.0);
116  10 builder.setDefaultValue(22.0);
117  10 builder.setMin(0.);
118  10 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/incdomT"));
119  10 parameters.add(builder.build());
120    }
121    {
122  10 var builder = DoubleParameter.newBuilder();
123  10 builder.setName("T");
124  10 builder.setLabel("Report bit scores[Sequence]");
125  10 builder.setDescription("Report bit scores[Sequence]");
126  10 builder.setRequired(false);
127  10 builder.setValue(7.0);
128  10 builder.setDefaultValue(7.0);
129  10 builder.setMin(0.);
130  10 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/T"));
131  10 parameters.add(builder.build());
132    }
133    {
134  10 var builder = DoubleParameter.newBuilder();
135  10 builder.setName("domT");
136  10 builder.setLabel("Report bit scores[Hit]");
137  10 builder.setDescription("Report bit scores[Hit]");
138  10 builder.setRequired(false);
139  10 builder.setValue(5.0);
140  10 builder.setDefaultValue(5.0);
141  10 builder.setMin(0.);
142  10 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/domT"));
143  10 parameters.add(builder.build());
144    }
145    {
146  10 var builder = DoubleParameter.newBuilder();
147  10 builder.setName("popen");
148  10 builder.setLabel("Gap Penalties[open]");
149  10 builder.setDescription("Gap Penalties[open]");
150  10 builder.setRequired(false);
151  10 builder.setValue(0.02);
152  10 builder.setDefaultValue(0.02);
153  10 builder.setMin(0.);
154  10 builder.setMax(0.5);
155  10 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/popen"));
156  10 parameters.add(builder.build());
157    }
158    {
159  10 var builder = DoubleParameter.newBuilder();
160  10 builder.setName("pextend");
161  10 builder.setLabel("Gap Penalties[extend]");
162  10 builder.setDescription("Gap Penalties[extend]");
163  10 builder.setRequired(false);
164  10 builder.setValue(0.4);
165  10 builder.setDefaultValue(0.4);
166  10 builder.setMin(0.);
167  10 builder.setMax(1.);
168  10 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/pextend"));
169  10 parameters.add(builder.build());
170    }
171    {
172  10 var builder = StringParameter.newBuilder();
173  10 builder.setName("mx");
174  10 builder.setLabel("Gap Penalties[Substitution scoring matrix]");
175  10 builder.setDescription("Gap Penalties[Substitution scoring matrix]");
176  10 builder.setRequired(false);
177  10 builder.setValue("BLOSUM62");
178  10 builder.setDefaultValue("BLOSUM62");
179  10 builder.setPossibleValues(List.of("BLOSUM45", "BLOSUM62", "BLOSUM90", "PAM30", "PAM70"));
180  10 builder.setDisplayValues(List.of("BLOSUM45", "BLOSUM62", "BLOSUM90", "PAM30", "PAM70"));
181  10 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/mx"));
182  10 parameters.add(builder.build());
183    }
184    {
185  10 var builder = BooleanOption.newBuilder();
186  10 builder.setName("nobias");
187  10 builder.setLabel("No bias filter");
188  10 builder.setDescription(
189    "The '--nobias' option turns off (bypasses) the biased composition filter which is on by default.");
190  10 builder.setRequired(false);
191  10 builder.setValue(false);
192  10 builder.setDefaultValue(false);
193  10 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/nobias"));
194  10 parameters.add(builder.build());
195    }
196    {
197  10 var builder = BooleanOption.newBuilder();
198  10 builder.setName("compressedout");
199  10 builder.setLabel("Compressed Output");
200  10 builder.setDescription(
201    "By default it runs hmm2c plus post-processing (default output), whereas with compressedout, it gets compressed output only.");
202  10 builder.setRequired(false);
203  10 builder.setValue(false);
204  10 builder.setDefaultValue(false);
205  10 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/compressedout"));
206  10 parameters.add(builder.build());
207    }
208    {
209  10 var builder = BooleanOption.newBuilder();
210  10 builder.setName("alignView");
211  10 builder.setLabel("Output Alignment");
212  10 builder.setDescription("Output alignment in result");
213  10 builder.setRequired(false);
214  10 builder.setValue(true);
215  10 builder.setDefaultValue(true);
216  10 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/alignView"));
217  10 parameters.add(builder.build());
218    }
219    {
220  10 var builder = StringParameter.newBuilder();
221  10 builder.setName("database");
222  10 builder.setLabel("Sequence Database");
223  10 builder.setDescription("Sequence Database Selection");
224  10 builder.setRequired(true);
225  10 builder.setValue("uniprotkb");
226  10 builder.setDefaultValue("uniprotkb");
227  10 builder.setPossibleValues(List.of("swissprot", "uniprotrefprot", "uniprotkb", "pdb", "rp75", "rp55", "rp35", "rp15", "ensembl", "merops", "qfo", "chembl"));
228  10 builder.setDisplayValues(List.of("SwissProt", "Reference Proteomes", "UniProtKB", "PDB", "rp75", "rp55", "rp35", "rp15", "Ensembl", "MEROPS", "Quest for Orthologs", "ChEMBL"));
229  10 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/database"));
230  10 parameters.add(builder.build());
231    }
232    {
233  10 var builder = DoubleParameter.newBuilder();
234  10 builder.setName("evalue");
235  10 builder.setLabel("Expectation Value Threshold");
236  10 builder.setDescription(
237    "Expectation value cut-off for reporting target profiles in the per-target output.");
238  10 builder.setRequired(false);
239  10 builder.setValue(0.01);
240  10 builder.setDefaultValue(0.01);
241  10 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/evalue"));
242  10 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  10 var builder = IntegerParameter.newBuilder();
257  10 builder.setName("nhits");
258  10 builder.setLabel("Number of Hits Displayed");
259  10 builder.setDescription("Number of hits to be displayed.");
260  10 builder.setRequired(false);
261  10 builder.setValue(100);
262  10 builder.setDefaultValue(100);
263  10 builder.setDetailsUrl(resolveURL(baseURL, "parameterdetails/nhits"));
264  10 parameters.add(builder.build());
265    }
266  10 phmmerParameters = Collections.unmodifiableList(parameters);
267    }
268   
 
269  170 toggle private static URL resolveURL(URL base, String spec)
270    {
271  170 try
272    {
273  170 return new URL(base, spec);
274    } catch (MalformedURLException e)
275    {
276  0 throw new ExceptionInInitializerError(e);
277    }
278    }
279   
 
280  77 toggle public static ParamDatastoreI newPhmmerDatastore(URL url, ParamManager manager)
281    {
282  77 return new SimpleParamDatastore(url, phmmerParameters,
283    Collections.emptyList(), manager);
284    }
285    }