comparison readme.md @ 0:a8dd6f1257ab draft

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