Mercurial > repos > galaxyp > openms_clustermasstracesbyprecursor
comparison readme.md @ 0:f0682a468daa draft
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit ddf41e8bda1ba065f5cdec98e93dee8165ffc1b9"
author | galaxyp |
---|---|
date | Thu, 27 Aug 2020 19:37:26 -0400 |
parents | |
children | 75480fff2586 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:f0682a468daa |
---|---|
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 |