comparison readme.md @ 0:fb0ebc6f97f3 draft

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 3d1e5f37fd16524a415f707772eeb7ead848c5e3
author galaxyp
date Thu, 01 Dec 2022 19:22:27 +0000
parents
children f9675543622a
comparison
equal deleted inserted replaced
-1:000000000000 0:fb0ebc6f97f3
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 * https://www.openms.de/
12
13 The wrappers for these tools and most of their tests are automatically
14 generated using the `generate.sh` script. The generation of the tools is
15 based on the CTDConverter (https://github.com/WorkflowConversion/CTDConverter)
16 which can be fine tuned via the `hardcoded_params.json` file. This file allows
17 to blacklist and hardcode parameters and to modify or set arbitrary
18 CTD/XML attributes.
19
20 Note that, due to its size, the test data is excluded from this repository. In
21 order to generate the test data on call `test-data.sh`.
22
23 Manual updates should only be done to
24
25 - and the manually contributed tests in `macros_test.xml` (The goal is that all
26 tools that do not have an automatically generated test are covered here)
27 - the `hardcoded_params.json` files
28
29 Wrapper versions are managed in `bump.json`. For tools listed in the file
30 the wrapper version will be set accordingly and otherwise `0` is used.
31 For a major update of the tool version the bump file should be reset (to `{}`).
32
33 In a few cases patches may be acceptable.
34
35 Installation
36 ============
37
38 The Galaxy OpenMS tools can be installed from the toolshed. While most tools
39 will work out of the box some need attention since requirements can not be
40 fulfilled via Conda:
41
42 Not yet in Conda are:
43
44 - SpectraST (http://tools.proteomecenter.org/wiki/index.php?title=SpectraST)
45 - MaRaCluster (https://github.com/statisticalbiotechnology/maracluster)
46
47 Binaries for these tools can easily be obtained via:
48
49 ```
50 VERSION=....
51 git git clone -b release/$VERSION.0 https://github.com/OpenMS/OpenMS.git OpenMS$VERSION.0-git
52 git submodule init OpenMS$VERSION.0-git
53 git submodule update OpenMS$VERSION.0-git
54 ```
55
56 They are located in `OpenMS$VERSION-git/THIRDPARTY/`.
57
58 Not in Conda due to licencing restrictions:
59
60 - Mascot http://www.matrixscience.com/
61 - MSFragger https://github.com/Nesvilab/MSFragger
62 - Novor http://www.rapidnovor.org/novor
63
64 There are multiple ways to enable the Galaxy tools to use these binaries.
65
66 - Just copy them to the `bin` path within Galaxy's conda environment
67 - Put them in any other path that that is included in PATH
68 - Edit the corresponding tools: In the command line part search for the parameters `-executable`, `-maracluster_executable`, or `-mascot_directory` and edit them appropriately.
69
70 Working
71 =======
72
73 The tools work by:
74
75 Preprocessing:
76
77 - For input data set parameters the links to the actual location of the data
78 sets are created, the link names are `element_identifier`.`EXT`, where `EXT`
79 is an extension that is known by OpenMS
80 - In order to avoid name collisions for the created links each is placed in a
81 unique directory: `PARAM_NAME/DATASET_ID`, where `PARAM_NAME` is the name
82 of the parameter and `DATASET_ID` is the id of the Galaxy dataset
83 - the same happens for output parameters that are in 1:1 correspondence with
84 an input parameter
85
86
87 Main:
88
89 - The galaxy wrapper create two json config files: one containing the
90 parameters and the values chosen by the user and the other the values of
91 hardcoded parameters.
92 - With `OpenMSTool -write_ctd ./` a CTD (names OpenMSTool.ctd) file is
93 generated that contains the default values.
94 - A call to `fill_ctd.py` fills in the values from the json config files into
95 the CTD file
96 - The actual tool is called `OpenMSTool -ini OpenMSTool.ctd` and also all input
97 and output parameters are given on the command line.
98
99 Postprocessing:
100
101 - output data sets are moved to the final locations
102
103 Note: The reason for handling data sets on the command line (and not specifying
104 them in the CTD file) is mainly that all files in Galaxy have the extension
105 `.dat` and OpenMS tools require an appropriate extension. But this may change
106 in the future.
107
108 Generating OpenMS wrappers
109 ==========================
110
111 1. remove old test data: `rm -rf $(ls -d test-data/* | egrep -v "random|\.loc")`
112 2. `./generate.sh`
113
114 Whats happening:
115
116 1. The binaries of the OpenMS package can generate a CTD file that describes
117 the parameters. These CTD files are converted to xml Galaxy tool descriptions
118 using the `CTDConverter`.
119
120 2. The CI testing framework of OpenMS contains command lines and test data
121 (https://github.com/OpenMS/OpenMS/tree/develop/src/tests/topp). These tests
122 are described in two CMake files.
123
124 - From these CMake files Galaxy tests are auto generated and stored in `macros_autotest.xml`
125 - The command lines are stored in `prepare_test_data.sh` for regeneration of test data
126
127 More details can be found in the comments of the shell script.
128
129 Open problems
130 =============
131
132 Some tools stall in CI testing using `--biocontainers` which is why the OpenMS
133 tools are currently listed in `.tt_biocontainer_skip`. This is
134
135 - AssayGeneratorMetabo and SiriusAdapter (both depend on sirius)
136 - OMSSAAdapter
137
138 Using `docker -t` seems to solve the problem (see
139 https://github.com/galaxyproject/galaxy/issues/10153).
140
141 Licence (MIT)
142 =============
143
144 Permission is hereby granted, free of charge, to any person obtaining a copy
145 of this software and associated documentation files (the "Software"), to deal
146 in the Software without restriction, including without limitation the rights
147 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
148 copies of the Software, and to permit persons to whom the Software is
149 furnished to do so, subject to the following conditions:
150
151 The above copyright notice and this permission notice shall be included in
152 all copies or substantial portions of the Software.
153
154 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
155 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
156 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
157 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
158 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
159 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
160 THE SOFTWARE.
161