comparison readme.md @ 0:7c78a40e68d7 draft

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 58476cadaaf10b494317a604ad81d41c2d15f29b
author galaxyp
date Mon, 12 Feb 2018 13:16:23 -0500
parents
children 5f87757577cc
comparison
equal deleted inserted replaced
-1:000000000000 0:7c78a40e68d7
1 Galaxy wrapper for OpenMS
2 =========================
3
4 OpenMS is an open-source software C++ library for LC/MS data management and analyses.
5 It offers an infrastructure for the rapid development of mass spectrometry related software.
6 OpenMS is free software available under the three clause BSD license and runs under Windows, MacOSX and Linux.
7
8 More informations are available at:
9
10 * https://github.com/OpenMS/OpenMS
11 * http://open-ms.sourceforge.net
12
13
14 Generating OpenMS wrappers
15 ==========================
16
17 * install OpenMS (you can do this automatically through Conda)
18 * create a folder called CTD
19 * if you installed openms as a binary in a specific directory, execute the following command in the `openms/bin` directory:
20
21 ```bash
22 for binary in `ls`; do ./$binary -write_ctd /PATH/TO/YOUR/CTD; done;
23 ```
24
25 * if there is no binary release (e.g. as with version 2.2), download and unpack the Conda package, find the `bin` folder and create a list of the tools as follow:
26
27 ```bash
28 ls >> tools.txt
29 ```
30
31 * search for the `bin` folder of your conda environment containing OpenMS and do:
32
33 ```bash
34 while read p; do
35 ./PATH/TO/BIN/$p -write_ctd /PATH/TO/YOUR/CTD;
36 done <tools.txt
37 ```
38
39 * You should have all CTD files now. `MetaProSIP.ctd` includes a not supported character: To use it, search for `²` and replace it (e.g. with `^2`).
40
41 * clone or install CTDopts
42
43 ```bash
44 git clone https://github.com/genericworkflownodes/CTDopts
45 ```
46
47 * add CTDopts to your `$PYTHONPATH`
48
49 ```bash
50 export PYTHONPATH=/home/user/CTDopts/
51 ```
52
53 * clone or install CTD2Galaxy
54
55 ```bash
56 git clone https://github.com/WorkflowConversion/CTDConverter.git
57 ```
58
59 * If you have CTDopts and CTDConverter installed you are ready to generate Galaxy Tools from CTD definitions. Change the following command according to your needs, especially the `/PATH/TO` parts. The default files are provided in this repository. You might have to install `libxslt` and `lxml` to run it. Further information can be found on the CTDConverter page.
60
61 ```bash
62 python convert.py galaxy \
63 -i /PATH/TO/YOUR/CTD/*.ctd \
64 -o ./PATH/TO/YOUR/WRAPPERS/ -t tool.conf \
65 -d datatypes_conf.xml -g openms \
66 -b version log debug test no_progress threads \
67 in_type executable myrimatch_executable \
68 fido_executable fidocp_executable \
69 omssa_executable pepnovo_e xecutable \
70 xtandem_executable param_model_directory \
71 java_executable java_memory java_permgen \
72 r_executable rt_concat_trafo_out param_id_pool \
73 -f /PATH/TO/filetypes.txt -m /PATH/TO/macros.xml \
74 -s PATH/TO/tools_blacklist.txt
75 ```
76
77
78 * As last step you need to change manually the binary names of all external binaries you want to use in OpenMS. Some of these tools might already be deprecated and the files might not exist:
79
80 ```
81 sed -i '13 a\-fido_executable Fido' wrappers/FidoAdapter.xml
82 sed -i '13 a\-fidocp_executable FidoChooseParameters' wrappers/FidoAdapter.xml
83 sed -i '13 a\-myrimatch_executable myrimatch' wrappers/MyriMatchAdapter.xml
84 sed -i '13 a\-omssa_executable omssa' wrappers/OMSSAAdapter.xml
85 sed -i '13 a\-xtandem_executable xtandem' wrappers/XTandemAdapter.xml
86 ```
87
88 * For some tools, additional work has to be done. In `MSGFPlusAdapter.xml` the following is needed in the command section at the beginning (check your file to know what to copy where):
89
90 ```
91 <command><![CDATA[
92
93 ## check input file type
94 #set $in_type = $param_in.ext
95
96 ## create the symlinks to set the proper file extension, since msgf uses them to choose how to handle the input files
97 ln -s '$param_in' 'param_in.${in_type}' &&
98 ln -s '$param_database' param_database.fasta &&
99 ## find location of the MSGFPlus.jar file of the msgf_plus conda package
100 MSGF_JAR=\$(msgf_plus -get_jar_path) &&
101
102 MSGFPlusAdapter
103 -executable \$MSGF_JAR
104 #if $param_in:
105 -in 'param_in.${in_type}'
106 #end if
107 #if $param_out:
108 -out $param_out
109 #end if
110 #if $param_mzid_out:
111 -mzid_out $param_mzid_out
112 #end if
113 #if $param_database:
114 -database param_database.fasta
115 #end if
116
117 [...]
118 ]]>
119 ```
120
121 * In Xtandem Converter and probably in others:
122
123 ```
124 #if str($param_missed_cleavages) != '':
125 ```
126 This is because integers needs to be compared as string otherwise `0` becomes `false`.
127
128 * In `MetaProSIP.xml` add `R` as a requirement:
129
130 ```
131 <expand macro="requirements">
132 <requirement type="package" version="3.3.1">r-base</requirement>
133 </expand>
134 ```
135
136 * In `IDFileConverter.xml` the following is needed in the command section at the beginning (check your file to know what to copy where):
137
138 ```
139 <command><![CDATA[
140
141 ## check input file type
142 #set $in_type = $param_in.ext
143
144 ## create the symlinks to set the proper file extension, since IDFileConverter uses them to choose how to handle the input files
145 ln -s '$param_in' 'param_in.${in_type}' &&
146
147 IDFileConverter
148
149 #if $param_in:
150 -in 'param_in.${in_type}'
151 #end if
152
153 [...]
154 ]]>
155 ```
156
157 * In `IDFileConverter.xml` and `FileConverter.xml` add `auto_format="true"` to the output, e.g.:
158
159 - `<data name="param_out" auto_format="true"/>`
160 - `<data name="param_out" metadata_source="param_in" auto_format="true"/>`
161
162 * To add an example test case to `DecoyDatabase.xml` add the following after the output section. If standard settings change you might have to adjust the options and/or the test files.
163
164 ```
165 <tests>
166 <test>
167 <param name="param_in" value="DecoyDatabase_input.fasta"/>
168 <output name="param_out" file="DecoyDatabase_output.fasta"/>
169 </test>
170 </tests>
171 ```
172
173
174 * `This section might not be up to date. It might be worth trying if these tools will run now.` These tools have multiple outputs (number of inputs = number of outputs) which is not yet supported in
175 by the automatic conversion step and are therefore in `tools_blacklist.txt`:
176 * SeedListGenerator
177 * SpecLibSearcher
178 * MapAlignerIdentification
179 * MapAlignerPoseClustering
180 * MapAlignerSpectrum
181 * MapAlignerRTTransformer
182
183 * Additionally cause of lacking dependencies, the following adapters have been removed in `SKIP_TOOLS_FILES.txt` as well:
184 * OMSSAAdapter
185 * MyrimatchAdapter
186
187 * Additionally cause of a problematic parameter (-model_directory), the following adapter has been removed:
188 * PepNovoAdapter
189
190
191 Licence (MIT)
192 =============
193
194 Permission is hereby granted, free of charge, to any person obtaining a copy
195 of this software and associated documentation files (the "Software"), to deal
196 in the Software without restriction, including without limitation the rights
197 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
198 copies of the Software, and to permit persons to whom the Software is
199 furnished to do so, subject to the following conditions:
200
201 The above copyright notice and this permission notice shall be included in
202 all copies or substantial portions of the Software.
203
204 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
205 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
206 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
207 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
208 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
209 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
210 THE SOFTWARE.
211