comparison readme.md @ 0:5da903bcd4f1 draft default tip

planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 5c080b1e2b99f1c88f4557e9fec8c45c9d23b906
author galaxyp
date Fri, 14 Jun 2024 21:41:52 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:5da903bcd4f1
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 `./aux/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 Licence (MIT)
133 =============
134
135 Permission is hereby granted, free of charge, to any person obtaining a copy
136 of this software and associated documentation files (the "Software"), to deal
137 in the Software without restriction, including without limitation the rights
138 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
139 copies of the Software, and to permit persons to whom the Software is
140 furnished to do so, subject to the following conditions:
141
142 The above copyright notice and this permission notice shall be included in
143 all copies or substantial portions of the Software.
144
145 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
146 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
147 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
148 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
149 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
150 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
151 THE SOFTWARE.
152