Mercurial > repos > galaxyp > openms_databasesuitability
comparison readme.md @ 0:3f555d385d45 draft
"planemo upload for repository https://github.com/galaxyproteomics/tools-galaxyp/tree/master/tools/openms commit 55a2aeba8bfd8a6910630721de9857dcdfe05d3c"
| author | galaxyp |
|---|---|
| date | Tue, 13 Oct 2020 18:22:43 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:3f555d385d45 |
|---|---|
| 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 |
