Mercurial > repos > pjbriggs > amplicon_analysis_pipeline
comparison README.rst @ 0:b433086738d6 draft
planemo upload for repository https://github.com/pjbriggs/Amplicon_analysis-galaxy commit ba3e5b591407db52a586361efb21927c8171ec0e
| author | pjbriggs |
|---|---|
| date | Wed, 08 Nov 2017 08:43:02 -0500 |
| parents | |
| children | a00f366adc45 |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:b433086738d6 |
|---|---|
| 1 Amplicon_analysis-galaxy | |
| 2 ======================== | |
| 3 | |
| 4 A Galaxy tool wrapper to Mauro Tutino's ``Amplicon_analysis`` pipeline | |
| 5 script at https://github.com/MTutino/Amplicon_analysis | |
| 6 | |
| 7 The pipeline can analyse paired-end 16S rRNA data from Illumina Miseq | |
| 8 (Casava >= 1.8) and performs the following operations: | |
| 9 | |
| 10 * QC and clean up of input data | |
| 11 * Removal of singletons and chimeras and building of OTU table | |
| 12 and phylogenetic tree | |
| 13 * Beta and alpha diversity of analysis | |
| 14 | |
| 15 Usage documentation | |
| 16 =================== | |
| 17 | |
| 18 Usage of the tool (including required inputs) is documented within | |
| 19 the ``help`` section of the tool XML. | |
| 20 | |
| 21 Installing the tool in a Galaxy instance | |
| 22 ======================================== | |
| 23 | |
| 24 The tool is not currently hosted on a Galaxy toolshed both the tool | |
| 25 files and the dependencies must be installed manually. In addition | |
| 26 it is necessary to fetch and install the reference data. | |
| 27 | |
| 28 1. Install the dependencies | |
| 29 --------------------------- | |
| 30 | |
| 31 The ``install_tool_deps.sh`` script can be used to fetch and install the | |
| 32 dependencies locally, for example:: | |
| 33 | |
| 34 install_tool_deps.sh /path/to/local_tool_dependencies | |
| 35 | |
| 36 This can take some time to complete. When finished it should have | |
| 37 created a set of directories containing the dependencies under the | |
| 38 specified top level directory. | |
| 39 | |
| 40 2. Install the tool files | |
| 41 ------------------------- | |
| 42 | |
| 43 There are two files to install: | |
| 44 | |
| 45 * ``amplicon_analysis_pipeline.xml`` (the Galaxy tool definition) | |
| 46 * ``amplicon_analysis_pipeline.py`` (the Python wrapper script) | |
| 47 | |
| 48 Put these in a directory that is visible to Galaxy (e.g. a | |
| 49 ``tools/Amplicon_analysis/`` folder), and modify the ``tools_conf.xml`` | |
| 50 file to tell Galaxy to offer the tool by adding the line e.g.:: | |
| 51 | |
| 52 <tool file="Amplicon_analysis/amplicon_analysis_pipeline.xml" /> | |
| 53 | |
| 54 3. Install the reference data | |
| 55 ----------------------------- | |
| 56 | |
| 57 The script ``References.sh`` from the pipeline package at | |
| 58 https://github.com/MTutino/Amplicon_analysis can be run to install | |
| 59 the reference data, for example:: | |
| 60 | |
| 61 cd /path/to/pipeline/data | |
| 62 wget https://github.com/MTutino/Amplicon_analysis/raw/master/References.sh | |
| 63 /bin/bash ./References.sh | |
| 64 | |
| 65 will install the data in ``/path/to/pipeline/data``. | |
| 66 | |
| 67 **NB** The final amount of data downloaded and uncompressed will be | |
| 68 around 6GB. | |
| 69 | |
| 70 4. Configure dependencies and reference data in Galaxy | |
| 71 ------------------------------------------------------ | |
| 72 | |
| 73 The final steps are to make your Galaxy installation aware of the | |
| 74 tool dependencies and reference data, so it can locate them both when | |
| 75 the tool is run. | |
| 76 | |
| 77 To target the tool dependencies installed previously, add the | |
| 78 following lines to the ``dependency_resolvers_conf.xml`` file in the | |
| 79 Galaxy ``config`` directory:: | |
| 80 | |
| 81 <dependency_resolvers> | |
| 82 ... | |
| 83 <galaxy_packages base_path="/path/to/local_tool_dependencies" /> | |
| 84 <galaxy_packages base_path="/path/to/local_tool_dependencies" versionless="true" /> | |
| 85 ... | |
| 86 </dependency_resolvers> | |
| 87 | |
| 88 (NB it is recommended to place these *before* the ``<conda ... />`` | |
| 89 resolvers) | |
| 90 | |
| 91 (If you're not familiar with dependency resolvers in Galaxy then | |
| 92 see the documentation at | |
| 93 https://docs.galaxyproject.org/en/master/admin/dependency_resolvers.html | |
| 94 for more details.) | |
| 95 | |
| 96 The tool locates the reference data via an environment variable called | |
| 97 ``AMPLICON_ANALYSIS_REF_DATA_PATH``, which needs to set to the parent | |
| 98 directory where the reference data has been installed. | |
| 99 | |
| 100 There are various ways to do this, depending on how your Galaxy | |
| 101 installation is configured: | |
| 102 | |
| 103 * **For local instances:** add a line to set it in the | |
| 104 ``config/local_env.sh`` file of your Galaxy installation, e.g.:: | |
| 105 | |
| 106 export AMPLICON_ANALYSIS_REF_DATA_PATH=/path/to/pipeline/data | |
| 107 | |
| 108 * **For production instances:** set the value in the ``job_conf.xml`` | |
| 109 configuration file, e.g.:: | |
| 110 | |
| 111 <destination id="amplicon_analysis"> | |
| 112 <env id="AMPLICON_ANALYSIS_REF_DATA_PATH">/path/to/pipeline/data</env> | |
| 113 </destination> | |
| 114 | |
| 115 and then specify that the pipeline tool uses this destination:: | |
| 116 | |
| 117 <tool id="amplicon_analysis_pipeline" destination="amplicon_analysis"/> | |
| 118 | |
| 119 (For more about job destinations see the Galaxy documentation at | |
| 120 https://galaxyproject.org/admin/config/jobs/#job-destinations) | |
| 121 | |
| 122 5. Enable rendering of HTML outputs from pipeline | |
| 123 ------------------------------------------------- | |
| 124 | |
| 125 To ensure that HTML outputs are displayed correctly in Galaxy | |
| 126 (for example the Vsearch OTU table heatmaps), Galaxy needs to be | |
| 127 configured not to sanitize the outputs from the ``Amplicon_analysis`` | |
| 128 tool. | |
| 129 | |
| 130 Either: | |
| 131 | |
| 132 * **For local instances:** set ``sanitize_all_html = False`` in | |
| 133 ``config/galaxy.ini`` (nb don't do this on production servers or | |
| 134 public instances!); or | |
| 135 | |
| 136 * **For production instances:** add the ``Amplicon_analysis`` tool | |
| 137 to the display whitelist in the Galaxy instance: | |
| 138 | |
| 139 - Set ``sanitize_whitelist_file = config/whitelist.txt`` in | |
| 140 ``config/galaxy.ini`` and restart Galaxy; | |
| 141 - Go to ``Admin>Manage Display Whitelist``, check the box for | |
| 142 ``Amplicon_analysis`` (hint: use your browser's 'find-in-page' | |
| 143 search function to help locate it) and click on | |
| 144 ``Submit new whitelist`` to update the settings. | |
| 145 | |
| 146 Additional details | |
| 147 ================== | |
| 148 | |
| 149 Some other things to be aware of: | |
| 150 | |
| 151 * Note that using the Silva database requires a minimum of 18Gb RAM | |
| 152 | |
| 153 Known problems | |
| 154 ============== | |
| 155 | |
| 156 * Only the ``VSEARCH`` pipeline in Mauro's script is currently | |
| 157 available via the Galaxy tool; the ``USEARCH`` and ``QIIME`` | |
| 158 pipelines have yet to be implemented. | |
| 159 * The images in the tool help section are not visible if the | |
| 160 tool has been installed locally, or if it has been installed in | |
| 161 a Galaxy instance which is served from a subdirectory. | |
| 162 | |
| 163 These are both problems with Galaxy and not the tool, see | |
| 164 https://github.com/galaxyproject/galaxy/issues/4490 and | |
| 165 https://github.com/galaxyproject/galaxy/issues/1676 | |
| 166 | |
| 167 Appendix: availability of tool dependencies | |
| 168 =========================================== | |
| 169 | |
| 170 The tool takes its dependencies from the underlying pipeline script (see | |
| 171 https://github.com/MTutino/Amplicon_analysis/blob/master/README.md | |
| 172 for details). | |
| 173 | |
| 174 As noted above, currently the ``install_tool_deps.sh`` script can be | |
| 175 used to manually install the dependencies for a local tool install. | |
| 176 | |
| 177 In principle these should also be available if the tool were installed | |
| 178 from a toolshed. However it would be preferrable in this case to get as | |
| 179 many of the dependencies as possible via the ``conda`` dependency | |
| 180 resolver. | |
| 181 | |
| 182 The following are known to be available via conda, with the required | |
| 183 version: | |
| 184 | |
| 185 - cutadapt 1.8.1 | |
| 186 - sickle-trim 1.33 | |
| 187 - bioawk 1.0 | |
| 188 - fastqc 0.11.3 | |
| 189 - R 3.2.0 | |
| 190 | |
| 191 Some dependencies are available but with the "wrong" versions: | |
| 192 | |
| 193 - spades (need 3.5.0) | |
| 194 - qiime (need 1.8.0) | |
| 195 - blast (need 2.2.26) | |
| 196 - vsearch (need 1.1.3) | |
| 197 | |
| 198 The following dependencies are currently unavailable: | |
| 199 | |
| 200 - fasta_number (need 02jun2015) | |
| 201 - fasta-splitter (need 0.2.4) | |
| 202 - rdp_classifier (need 2.2) | |
| 203 - microbiomeutil (need r20110519) | |
| 204 | |
| 205 (NB usearch 6.1.544 and 8.0.1623 are special cases which must be | |
| 206 handled outside of Galaxy's dependency management systems.) | |
| 207 | |
| 208 History | |
| 209 ======= | |
| 210 | |
| 211 ========== ====================================================================== | |
| 212 Version Changes | |
| 213 ---------- ---------------------------------------------------------------------- | |
| 214 1.1.0 First official version on Galaxy toolshed. | |
| 215 1.0.6 Expand inline documentation to provide detailed usage guidance. | |
| 216 1.0.5 Updates including: | |
| 217 | |
| 218 - Capture read counts from quality control as new output dataset | |
| 219 - Capture FastQC per-base quality boxplots for each sample as | |
| 220 new output dataset | |
| 221 - Add support for -l option (sliding window length for trimming) | |
| 222 - Default for -L set to "200" | |
| 223 1.0.4 Various updates: | |
| 224 | |
| 225 - Additional outputs are captured when a "Categories" file is | |
| 226 supplied (alpha diversity rarefaction curves and boxplots) | |
| 227 - Sample names derived from Fastqs in a collection of pairs | |
| 228 are trimmed to SAMPLE_S* (for Illumina-style Fastq filenames) | |
| 229 - Input Fastqs can now be of more general ``fastq`` type | |
| 230 - Log file outputs are captured in new output dataset | |
| 231 - User can specify a "title" for the job which is copied into | |
| 232 the dataset names (to distinguish outputs from different runs) | |
| 233 - Improved detection and reporting of problems with input | |
| 234 Metatable | |
| 235 1.0.3 Take the sample names from the collection dataset names when | |
| 236 using collection as input (this is now the default input mode); | |
| 237 collect additional output dataset; disable ``usearch``-based | |
| 238 pipelines (i.e. ``UPARSE`` and ``QIIME``). | |
| 239 1.0.2 Enable support for FASTQs supplied via dataset collections and | |
| 240 fix some broken output datasets. | |
| 241 1.0.1 Initial version | |
| 242 ========== ====================================================================== |
