From 0f96f7d226ed0e647a83a01185b7b431c9e3649c Mon Sep 17 00:00:00 2001 From: maxibor Date: Wed, 29 Apr 2020 13:21:10 +0200 Subject: [PATCH 1/7] fix readthedocs --- docs/README.md | 8 ++++---- docs/conf.py | 5 ----- docs/usage.md | 2 +- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/docs/README.md b/docs/README.md index 9c58200..2e0c20a 100644 --- a/docs/README.md +++ b/docs/README.md @@ -51,7 +51,7 @@ This command runs coproID to estimate whether the source of test samples (`--rea > NB: The example above assumes access to [iGenomes](https://nf-co.re/usage/reference_genomes). -See [usage docs](docs/usage.md) for all of the available options when running the pipeline. +See [usage docs](usage.md) for all of the available options when running the pipeline. ## Documentation @@ -64,8 +64,8 @@ The nf-core/coproid pipeline comes with documentation about the pipeline, found - [Local installation](https://nf-co.re/usage/local_installation) - [Adding your own system config](https://nf-co.re/usage/adding_own_config) - [Reference genomes](https://nf-co.re/usage/reference_genomes) -3. [Running the pipeline](docs/usage.md) -4. [Output and how to interpret the results](docs/output.md) +3. [Running the pipeline](usage.md) +4. [Output and how to interpret the results](output.md) 5. [Troubleshooting](https://nf-co.re/usage/troubleshooting) ## Credits @@ -74,7 +74,7 @@ nf-core/coproid was written by [Maxime Borry](https://github.com/maxibor). ## Contributions and Support -If you would like to contribute to this pipeline, please see the [contributing guidelines](.github/CONTRIBUTING.md). +If you would like to contribute to this pipeline, please see the [contributing guidelines](https://github.com/nf-core/coproid/blob/master/.github/CONTRIBUTING.md). For further information or help, don't hesitate to get in touch on [Slack](https://nfcore.slack.com/channels/coproid) (you can join with [this invite](https://nf-co.re/join/slack)). diff --git a/docs/conf.py b/docs/conf.py index c600488..51ffbb0 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -16,11 +16,6 @@ # import sys # sys.path.insert(0, os.path.abspath('.')) -source_parsers = { - '.md': 'recommonmark.parser.CommonMarkParser', -} - - # -- Project information ----------------------------------------------------- project = 'nf-core/coproID' diff --git a/docs/usage.md b/docs/usage.md index 370d9aa..e7b661f 100644 --- a/docs/usage.md +++ b/docs/usage.md @@ -145,7 +145,7 @@ Alternatively, reference genomes can be specified using pre-index genomes availa There are 31 different species supported in the iGenomes references. To run the pipeline, you must specify which to use with the `--genome` flag. -You can find the keys to specify the genomes in the [iGenomes config file](../conf/igenomes.config). Common genomes that are supported are: +You can find the keys to specify the genomes in the [iGenomes config file](https://github.com/nf-core/coproid/blob/master/conf/igenomes.config). Common genomes that are supported are: * Human * `--genome GRCh37` From 383005aceb3e5e06745779e82f186e42088121cb Mon Sep 17 00:00:00 2001 From: MaxUlysse Date: Mon, 26 Apr 2021 13:57:35 +0200 Subject: [PATCH 2/7] feat: remove social preview image to use GitHub OpenGraph --- assets/nf-core-coproid_social_preview.png | Bin 42480 -> 0 bytes assets/nf-core-coproid_social_preview.svg | 448 ---------------------- 2 files changed, 448 deletions(-) delete mode 100644 assets/nf-core-coproid_social_preview.png delete mode 100644 assets/nf-core-coproid_social_preview.svg diff --git a/assets/nf-core-coproid_social_preview.png b/assets/nf-core-coproid_social_preview.png deleted file mode 100644 index 025f33e54541298efb4cbe0d47b8591fd466b900..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42480 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 diff --git a/assets/nf-core-coproid_social_preview.svg b/assets/nf-core-coproid_social_preview.svg deleted file mode 100644 index cecae51..0000000 --- a/assets/nf-core-coproid_social_preview.svg +++ /dev/null @@ -1,448 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - image/svg+xml - - - - - - - Coprolite host Identification pipeline - coproid - - - - - - - - - - - - - - - - - - - - - - - - - From 530bcc9945cff18376dcda7d4d610c23cfb403a7 Mon Sep 17 00:00:00 2001 From: maxibor Date: Thu, 3 Nov 2022 14:32:51 +0100 Subject: [PATCH 3/7] fix: update versions to fix #37 fix: remove platform specific dependancies fix: fix container update: version update --- .github/workflows/ci.yml | 2 +- .github/workflows/linting.yml | 2 +- CHANGELOG.md | 6 +++ Dockerfile | 11 ++--- environment.yml | 92 +++++++++++++++++++++++++---------- nextflow.config | 2 +- 6 files changed, 78 insertions(+), 37 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 356b5bc..1b148b5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,7 +22,7 @@ jobs: - name: Pull docker image run: | docker pull nfcore/coproid:dev - docker tag nfcore/coproid:dev nfcore/coproid:1.1 + docker tag nfcore/coproid:dev nfcore/coproid:1.1.1 - name: Run pipeline with test data run: | nextflow run ${GITHUB_WORKSPACE} -profile test,docker diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 1e0827a..3af93a7 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -45,6 +45,6 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip - pip install nf-core + pip install nf-core==1.9 - name: Run nf-core lint run: nf-core lint ${GITHUB_WORKSPACE} diff --git a/CHANGELOG.md b/CHANGELOG.md index 54bc43c..1711aa1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # nf-core/coproid: Changelog +## v.1.1.1 + +### Fixed + +- Fix [#37](https://github.com/nf-core/coproid/issues/37) with conda environment and docker container update + ## v1.1 - Update mapped basepair count to be quicker and include it in report [#14](https://github.com/nf-core/coproid/pull/14) diff --git a/Dockerfile b/Dockerfile index 5faa963..0db7838 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,15 +1,12 @@ -FROM nfcore/base:1.9 +FROM condaforge/mambaforge LABEL authors="Maxime Borry" \ description="Docker image containing all software requirements for the nf-core/coproid pipeline" # Install the conda environment COPY environment.yml / -RUN conda env create -f /environment.yml && conda clean -a -RUN conda env export --name nf-core-coproid-1.1 > nf-core-coproid-1.1.yml -ENV PATH /opt/conda/envs/nf-core-coproid-1.1/bin:$PATH - -# Dump the details of the installed packages to a file for posterity -RUN conda env export --name nf-core-coproid-1.1 > nf-core-coproid-1.1.yml +RUN mamba env create -f /environment.yml && mamba clean -a +RUN mamba env export --name nf-core-coproid-1.1.1 > nf-core-coproid-1.1.1.yml +ENV PATH /opt/conda/envs/nf-core-coproid-1.1.1/bin:$PATH # Numba cache dir patch ENV NUMBA_CACHE_DIR /tmp diff --git a/environment.yml b/environment.yml index cb67af9..e02a26c 100644 --- a/environment.yml +++ b/environment.yml @@ -1,32 +1,70 @@ -# You can use this file to create a conda environment for this pipeline: -# conda env create -f environment.yml -name: nf-core-coproid-1.1 +name: nf-core-coproid-1.1.1 channels: - conda-forge - - maxibor - bioconda - defaults dependencies: - - conda-forge::openblas=0.3.7 - - bioconda::adapterremoval=2.3.1 - - conda-forge::bokeh=2.0.1 - - bioconda::bowtie2=2.3.5.1 - - bioconda::damageprofiler=0.4.9 - - bioconda::fastqc=0.11.9 - - conda-forge::jupyter=1.0.0 - - bioconda::kraken2=2.0.8_beta - - conda-forge::notebook=6.0.3 - - conda-forge::nbconvert=5.6.1 - - bioconda::pmdtools=0.60 - - bioconda::pysam=0.15.3 - - bioconda::samtools=1.10 - - maxibor::sourcepredict=0.5 - - conda-forge::scipy=1.4.1 - - conda-forge::matplotlib=3.2.1 - - bioconda::multiqc=1.7 - - conda-forge::jupyter_contrib_nbextensions=0.5.1 - - conda-forge::plotnine=0.6.0 - - conda-forge::markdown=3.2.1 - - conda-forge::pymdown-extensions=7.0 - - conda-forge::pygments=2.6.1 - - conda-forge::tbb=2020.1 + - adapterremoval=2.3.1 + - blast=2.11.0 + - bokeh=2.4.3 + - bottleneck=1.3.5 + - bowtie2=2.5.0 + - damageprofiler=0.4.9 + - fastqc=0.11.9 + - htslib=1.12 + - ipykernel=6.16.2 + - ipython=8.6.0 + - ipython_genutils=0.2.0 + - ipywidgets=8.0.2 + - jupyter=1.0.0 + - jupyter_contrib_core=0.4.0 + - jupyter_contrib_nbextensions=0.5.1 + - jupyter_core=4.11.2 + - jupyter_highlight_selected_word=0.2.0 + - jupyter_latex_envs=1.4.6 + - jupyter_nbextensions_configurator=0.4.1 + - jupyterlab_widgets=3.0.3 + - kraken2=2.1.2 + - make=4.3 + - markdown=3.2.1 + - multiqc=1.7 + - nbconvert=5.6.1 + - networkx=2.5.1 + - numpy=1.22.4 + - openjdk=11.0.8 + - pandas=1.5.1 + - pandocfilters=1.5.0 + - pip=22.3 + - plotnine=0.6.0 + - pmdtools=0.60 + - pysam=0.16.0.1 + - python=3.9.9 + - samtools=1.12 + - sed=4.8 + - sqlite=3.37.0 + - yaml=0.2.5 + - pip: + - cachecontrol==0.12.11 + - cython==0.29.32 + - ete3==3.1.2 + - h5py==3.7.0 + - hdmedians==0.14.2 + - joblib==1.2.0 + - jupyter-client==6.1.12 + - jupyter-console==6.4.0 + - llvmlite==0.39.1 + - lockfile==0.12.2 + - matplotlib==3.5.3 + - msgpack==1.0.4 + - natsort==8.2.0 + - numba==0.56.3 + - pynndescent==0.5.8 + - pyyaml==5.4.1 + - scikit-bio==0.5.7 + - scikit-learn==1.1.3 + - scipy==1.8.1 + - sourcepredict==0.5 + - threadpoolctl==3.1.0 + - tqdm==4.64.1 + - umap-learn==0.5.3 + - pymdown-extensions \ No newline at end of file diff --git a/nextflow.config b/nextflow.config index 376d4b7..719e6c6 100644 --- a/nextflow.config +++ b/nextflow.config @@ -133,7 +133,7 @@ manifest { description = 'Coprolite Identification' mainScript = 'main.nf' nextflowVersion = '>=19.10.0' - version = '1.1' + version = '1.1.1' } // Function to ensure that resource requirements don't go beyond From 82c5485ab33d046f596191bf28a224cc1cf4c5b7 Mon Sep 17 00:00:00 2001 From: maxibor Date: Fri, 4 Nov 2022 14:56:31 +0100 Subject: [PATCH 4/7] linting changes --- CHANGELOG.md | 2 +- README.md | 4 ++-- docs/README.md | 4 ++-- docs/output.md | 4 ++-- environment.yml | 2 +- nextflow.config | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1711aa1..fbc3bca 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,7 +14,7 @@ - Update Sourcepredict to version 0.4 and reflect new parameters in coproID [#19](https://github.com/nf-core/coproid/pull/19) [e4afca7](https://github.com/nf-core/coproid/commit/e4afca7059c00ebbc753dd02d4aed3f3a1b3b7b8) [ c2d4164](https://github.com/nf-core/coproid/pull/20/commits/c2d4164bf068ed4fc92d529470b0a3af3a69113a) - Changed bedtools bamtofastq to samtools fastq [e4afca7](https://github.com/nf-core/coproid/commit/e4afca7059c00ebbc753dd02d4aed3f3a1b3b7b8) -- Fixed column names in report (PC* to DIM* ) [e4afca7](https://github.com/nf-core/coproid/commit/63a6bc6998c240b77791916c243d538b2268b5d5) +- Fixed column names in report (`PC*` to `DIM*`) [e4afca7](https://github.com/nf-core/coproid/commit/63a6bc6998c240b77791916c243d538b2268b5d5) - Update README to inlude Zenodo badge, Quick start, contributor section, and tools references. [9874ae8](https://github.com/nf-core/coproid/commit/9874ae87c88842d75c29088672aa81023408d4e7) [e85988b](https://github.com/nf-core/coproid/commit/e85988b883539aa51461e749bc14ec6563f62fc8) - Update documentation [bedfdde](https://github.com/nf-core/coproid/commit/bedfddec8500adac8e0cb9cc8e0df2dc6a784f15) - Update Nextflow minimum version to 19.04.0 [44999fd](https://github.com/nf-core/coproid/commit/44999fd4d38b21d53f970621dbf3587c044da8d1) diff --git a/README.md b/README.md index ea14f85..8cd7961 100644 --- a/README.md +++ b/README.md @@ -17,8 +17,8 @@ It combines the analysis of putative host ancient DNA with a machine learning prediction of the feces source based on microbiome taxonomic composition: -- (**A**) First coproID performs a comparative mapping of all reads agains two (or three) target genomes (genome1, genome2, and eventually genome3) and computes a host-DNA species ratio (*NormalizedRatio*) -- (**B**) Then coproID performs a metagenomic taxonomic profiling, and compares the obtained profiles to modern reference samples of the target species metagenomes. Using [machine learning](https://joss.theoj.org/papers/10.21105/joss.01540), coproID then estimates the host source from the metagenomic taxonomic composition (*prop_microbiome*). +- (**A**) First coproID performs a comparative mapping of all reads agains two (or three) target genomes (genome1, genome2, and eventually genome3) and computes a host-DNA species ratio (_NormalizedRatio_) +- (**B**) Then coproID performs a metagenomic taxonomic profiling, and compares the obtained profiles to modern reference samples of the target species metagenomes. Using [machine learning](https://joss.theoj.org/papers/10.21105/joss.01540), coproID then estimates the host source from the metagenomic taxonomic composition (_prop_microbiome_). - Finally, coproID combines **A** and **B** to predict the likely host of the metagenomic sample. The coproID pipeline is built using [Nextflow](https://www.nextflow.io), a workflow tool to run tasks across multiple compute infrastructures in a very portable manner. It comes with docker containers making installation trivial and results highly reproducible. diff --git a/docs/README.md b/docs/README.md index 2e0c20a..3ff1021 100644 --- a/docs/README.md +++ b/docs/README.md @@ -19,8 +19,8 @@ It combines the analysis of putative host ancient DNA with a machine learning prediction of the feces source based on microbiome taxonomic composition: -- (**A**) First coproID performs a comparative mapping of all reads agains two (or three) target genomes (genome1, genome2, and eventually genome3) and computes a host-DNA species ratio (*NormalizedRatio*) -- (**B**) Then coproID performs a metagenomic taxonomic profiling, and compares the obtained profiles to modern reference samples of the target species metagenomes. Using [machine learning](https://joss.theoj.org/papers/10.21105/joss.01540), coproID then estimates the host source from the metagenomic taxonomic composition (*prop_microbiome*). +- (**A**) First coproID performs a comparative mapping of all reads agains two (or three) target genomes (genome1, genome2, and eventually genome3) and computes a host-DNA species ratio (_NormalizedRatio_) +- (**B**) Then coproID performs a metagenomic taxonomic profiling, and compares the obtained profiles to modern reference samples of the target species metagenomes. Using [machine learning](https://joss.theoj.org/papers/10.21105/joss.01540), coproID then estimates the host source from the metagenomic taxonomic composition (_prop_microbiome_). - Finally, coproID combines **A** and **B** to predict the likely host of the metagenomic sample. The coproID pipeline is built using [Nextflow](https://www.nextflow.io), a workflow tool to run tasks across multiple compute infrastructures in a very portable manner. It comes with docker containers making installation trivial and results highly reproducible. diff --git a/docs/output.md b/docs/output.md index 6219a13..f2438f1 100644 --- a/docs/output.md +++ b/docs/output.md @@ -19,8 +19,8 @@ For further reading and documentation see the [FastQC help](http://www.bioinform [AdapterRemoval](https://github.com/MikkelSchubert/adapterremoval) searches for and removes remnant adapter sequences from High-Throughput Sequencing (HTS) data and (optionally) trims low quality bases from the 3' end of reads following adapter removal. AdapterRemoval can analyze both single end and paired end data, and can be used to merge overlapping paired-ended reads into (longer) consensus sequences. -- *Retained and Discarded Paired-End Collapsed*: This plot shows the number/proportion of reads that passed adapter removal and trimming filters. -- *Length Distribution Paired End Collapsed*: This plot shows the length distribution of the different read categories. +- _Retained and Discarded Paired-End Collapsed_: This plot shows the number/proportion of reads that passed adapter removal and trimming filters. +- _Length Distribution Paired End Collapsed_: This plot shows the length distribution of the different read categories. ### Bowtie2 diff --git a/environment.yml b/environment.yml index e02a26c..2089daa 100644 --- a/environment.yml +++ b/environment.yml @@ -67,4 +67,4 @@ dependencies: - threadpoolctl==3.1.0 - tqdm==4.64.1 - umap-learn==0.5.3 - - pymdown-extensions \ No newline at end of file + - pymdown-extensions==9.7 \ No newline at end of file diff --git a/nextflow.config b/nextflow.config index 719e6c6..626965e 100644 --- a/nextflow.config +++ b/nextflow.config @@ -66,7 +66,7 @@ params { } // Container slug. Stable releases should specify release tag! // Developmental code should specify :dev -process.container = 'nfcore/coproid:1.1' +process.container = 'nfcore/coproid:1.1.1' // Load base.config by default for all pipelines includeConfig 'conf/base.config' From 58787f18b4f696dcd3a57a8c1020552b603ffc20 Mon Sep 17 00:00:00 2001 From: maxibor Date: Fri, 4 Nov 2022 15:21:53 +0100 Subject: [PATCH 5/7] update version in docs --- docs/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/conf.py b/docs/conf.py index 51ffbb0..c09d3ee 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -25,7 +25,7 @@ # The short X.Y version version = '' # The full version, including alpha/beta/rc tags -release = '1.1' +release = '1.1.1' # -- General configuration --------------------------------------------------- From 89e2d8902ab94ac5aae1e15d5987626e71becc72 Mon Sep 17 00:00:00 2001 From: maxibor Date: Fri, 4 Nov 2022 15:54:15 +0100 Subject: [PATCH 6/7] update node --- .github/workflows/linting.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 3af93a7..28f51d0 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -12,9 +12,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - - uses: actions/setup-node@v1 - with: - node-version: '10' + - uses: actions/setup-node@v2 + - name: Install markdownlint run: npm install -g markdownlint-cli - name: Run Markdownlint From 31db411ace81c090f90f1598931407a4caeae63f Mon Sep 17 00:00:00 2001 From: maxibor Date: Fri, 4 Nov 2022 15:54:29 +0100 Subject: [PATCH 7/7] add pipeline schema --- .nf-core-lint.yml | 2 + nextflow_schema.json | 398 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 400 insertions(+) create mode 100644 .nf-core-lint.yml create mode 100644 nextflow_schema.json diff --git a/.nf-core-lint.yml b/.nf-core-lint.yml new file mode 100644 index 0000000..73bf47d --- /dev/null +++ b/.nf-core-lint.yml @@ -0,0 +1,2 @@ +files_unchanged: + - Dockerfile diff --git a/nextflow_schema.json b/nextflow_schema.json new file mode 100644 index 0000000..3f2803d --- /dev/null +++ b/nextflow_schema.json @@ -0,0 +1,398 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "$id": "https://raw.githubusercontent.com/nf-core/coproid/master/nextflow_schema.json", + "title": "nf-core/coproid pipeline parameters", + "description": "Coprolite Identification", + "type": "object", + "definitions": { + "input_output_options": { + "title": "Input/output options", + "type": "object", + "fa_icon": "fas fa-terminal", + "description": "Define where the pipeline should find input data and save output data.", + "properties": { + "reads": { + "type": "string", + "description": "Path to fastq input files" + }, + "krakendb": { + "type": "string", + "description": "path/to/kraken2_db_dir" + }, + "sp_labels": { + "type": "string", + "default": "/Users/maxime/Documents/github/coproid/data/sourcepredict/modern_gut_microbiomes_labels.csv", + "description": "Path to sourcepredict labels file" + }, + "sp_sources": { + "type": "string", + "default": "/Users/maxime/Documents/github/coproid/data/sourcepredict/modern_gut_microbiomes_sources.csv", + "description": "Path to sourcepredict sources file" + }, + "outdir": { + "type": "string", + "description": "The output directory where the results will be saved.", + "default": "./results", + "fa_icon": "fas fa-folder-open" + }, + "email": { + "type": "string", + "description": "Email address for completion summary.", + "fa_icon": "fas fa-envelope", + "help_text": "Set this parameter to your e-mail address to get a summary e-mail with details of the run sent to you when the workflow exits. If set in your user config file (`~/.nextflow/config`) then you don't need to specify this on the command line for every run.", + "pattern": "^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$" + } + }, + "required": [ + "reads" + ] + }, + "reference_genome_options": { + "title": "Reference genome options", + "type": "object", + "fa_icon": "fas fa-dna", + "description": "Options for the reference genome indices used to align reads.", + "properties": { + "igenomes_base": { + "type": "string", + "description": "Directory / URL base for iGenomes references.", + "default": "s3://ngi-igenomes/igenomes", + "fa_icon": "fas fa-cloud-download-alt", + "hidden": true + }, + "igenomes_ignore": { + "type": "boolean", + "description": "Do not load the iGenomes reference config.", + "fa_icon": "fas fa-ban", + "hidden": true, + "help_text": "Do not load `igenomes.config` when running the pipeline. You may choose this option if you observe clashes between custom parameters and those supplied in `igenomes.config`." + }, + "name1": { + "type": "string", + "description": "Name of candidate species 1" + }, + "name2": { + "type": "string", + "description": "Name of candidate species 2" + }, + "name3": { + "type": "string", + "description": "Name of candidate species 3" + }, + "genome1": { + "type": "string", + "description": "iGenome name for target genome 1", + "help_text": "Must be provided if fasta1 is not provided" + }, + "genome2": { + "type": "string", + "description": "iGenome name for target genome 2", + "help_text": "Must be provided if fasta2 is not provided" + }, + "genome3": { + "type": "string", + "description": "iGenome name for target genome 3", + "help_text": "Must be provided if fasta3 is not provided" + }, + "index1": { + "type": "string", + "description": "Path to Bowtie2 pre-indexed genome candidate 1" + }, + "index2": { + "type": "string", + "description": "Path to Bowtie2 pre-indexed genome candidate 2" + }, + "index3": { + "type": "string", + "description": "Path to Bowtie2 pre-indexed genome candidate 3" + }, + "fasta1": { + "type": "string", + "description": "Fasta reference of genome candidate 1", + "help_text": "Must be provided if genome1 is not provided" + }, + "fasta2": { + "type": "string", + "description": "Fasta reference of genome candidate 2", + "help_text": "Must be provided if genome2 is not provided" + }, + "fasta3": { + "type": "string", + "description": "Fasta reference of genome candidate 3", + "help_text": "Must be provided if genome3 is not provided" + } + } + }, + "generic_options": { + "title": "Generic options", + "type": "object", + "fa_icon": "fas fa-file-import", + "description": "Less common options for the pipeline, typically set in a config file.", + "help_text": "These options are common to all nf-core pipelines and allow you to customise some of the core preferences for how the pipeline runs.\n\nTypically these options would be set in a Nextflow config file loaded for all pipeline runs, such as `~/.nextflow/config`.", + "properties": { + "help": { + "type": "boolean", + "description": "Display help text.", + "hidden": true, + "fa_icon": "fas fa-question-circle" + }, + "email_on_fail": { + "type": "string", + "description": "Email address for completion summary, only when pipeline fails.", + "fa_icon": "fas fa-exclamation-triangle", + "pattern": "^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$", + "hidden": true, + "help_text": "This works exactly as with `--email`, except emails are only sent if the workflow is not successful." + }, + "plaintext_email": { + "type": "boolean", + "description": "Send plain-text email instead of HTML.", + "fa_icon": "fas fa-remove-format", + "hidden": true, + "help_text": "Set to receive plain-text e-mails instead of HTML formatted." + }, + "max_multiqc_email_size": { + "type": "string", + "description": "File size limit when attaching MultiQC reports to summary emails.", + "default": "25.MB", + "fa_icon": "fas fa-file-upload", + "hidden": true, + "help_text": "If file generated by pipeline exceeds the threshold, it will not be attached." + }, + "monochrome_logs": { + "type": "boolean", + "description": "Do not use coloured log outputs.", + "fa_icon": "fas fa-palette", + "hidden": true, + "help_text": "Set to disable colourful command line output and live life in monochrome." + }, + "multiqc_config": { + "type": "string", + "description": "Custom config file to supply to MultiQC.", + "fa_icon": "fas fa-cog", + "hidden": true + }, + "tracedir": { + "type": "string", + "description": "Directory to keep pipeline Nextflow logs and reports.", + "default": "${params.outdir}/pipeline_info", + "fa_icon": "fas fa-cogs", + "hidden": true + }, + "name": { + "type": "string", + "description": "Name of pipeline run" + } + } + }, + "max_job_request_options": { + "title": "Max job request options", + "type": "object", + "fa_icon": "fab fa-acquisitions-incorporated", + "description": "Set the top limit for requested resources for any single job.", + "help_text": "If you are running on a smaller system, a pipeline step requesting more resources than are available may cause the Nextflow to stop the run with an error. These options allow you to cap the maximum resources requested by any single job so that the pipeline will run on your system.\n\nNote that you can not _increase_ the resources requested by any job using these options. For that you will need your own configuration file. See [the nf-core website](https://nf-co.re/usage/configuration) for details.", + "properties": { + "max_cpus": { + "type": "integer", + "description": "Maximum number of CPUs that can be requested for any single job.", + "default": 16, + "fa_icon": "fas fa-microchip", + "hidden": true, + "help_text": "Use to set an upper-limit for the CPU requirement for each process. Should be an integer e.g. `--max_cpus 1`" + }, + "max_memory": { + "type": "string", + "description": "Maximum amount of memory that can be requested for any single job.", + "default": "128.GB", + "fa_icon": "fas fa-memory", + "pattern": "^\\d+(\\.\\d+)?\\.?\\s*(K|M|G|T)?B$", + "hidden": true, + "help_text": "Use to set an upper-limit for the memory requirement for each process. Should be a string in the format integer-unit e.g. `--max_memory '8.GB'`" + }, + "max_time": { + "type": "string", + "description": "Maximum amount of time that can be requested for any single job.", + "default": "240.h", + "fa_icon": "far fa-clock", + "pattern": "^(\\d+\\.?\\s*(s|m|h|day)\\s*)+$", + "hidden": true, + "help_text": "Use to set an upper-limit for the time requirement for each process. Should be a string in the format integer-unit e.g. `--max_time '2.h'`" + } + } + }, + "institutional_config_options": { + "title": "Institutional config options", + "type": "object", + "fa_icon": "fas fa-university", + "description": "Parameters used to describe centralised config profiles. These should not be edited.", + "help_text": "The centralised nf-core configuration profiles use a handful of pipeline parameters to describe themselves. This information is then printed to the Nextflow log when you run a pipeline. You should not need to change these values when you run a pipeline.", + "properties": { + "custom_config_version": { + "type": "string", + "description": "Git commit id for Institutional configs.", + "default": "master", + "hidden": true, + "fa_icon": "fas fa-users-cog", + "help_text": "Provide git commit id for custom Institutional configs hosted at `nf-core/configs`. This was implemented for reproducibility purposes. Default: `master`.\n\n```bash\n## Download and use config file with following git commit id\n--custom_config_version d52db660777c4bf36546ddb188ec530c3ada1b96\n```" + }, + "custom_config_base": { + "type": "string", + "description": "Base directory for Institutional configs.", + "default": "https://raw.githubusercontent.com/nf-core/configs/master", + "hidden": true, + "help_text": "If you're running offline, nextflow will not be able to fetch the institutional config files from the internet. If you don't need them, then this is not a problem. If you do need them, you should download the files from the repo and tell nextflow where to find them with the `custom_config_base` option. For example:\n\n```bash\n## Download and unzip the config files\ncd /path/to/my/configs\nwget https://github.com/nf-core/configs/archive/master.zip\nunzip master.zip\n\n## Run the pipeline\ncd /path/to/my/data\nnextflow run /path/to/pipeline/ --custom_config_base /path/to/my/configs/configs-master/\n```\n\n> Note that the nf-core/tools helper package has a `download` command to download all required pipeline files + singularity containers + institutional configs in one go for you, to make this process easier.", + "fa_icon": "fas fa-users-cog" + }, + "hostnames": { + "type": "string", + "description": "Institutional configs hostname.", + "hidden": true, + "fa_icon": "fas fa-users-cog" + }, + "config_profile_description": { + "type": "string", + "description": "Institutional config description.", + "hidden": true, + "fa_icon": "fas fa-users-cog" + }, + "config_profile_contact": { + "type": "string", + "description": "Institutional config contact information.", + "hidden": true, + "fa_icon": "fas fa-users-cog" + }, + "config_profile_url": { + "type": "string", + "description": "Institutional config URL link.", + "hidden": true, + "fa_icon": "fas fa-users-cog" + } + } + }, + "pipeline_parameters": { + "title": "Pipeline parameters", + "type": "object", + "description": "", + "default": "", + "properties": { + "single_end": { + "type": "boolean", + "description": "Specifies that the input is single-end reads.", + "fa_icon": "fas fa-align-center", + "help_text": "By default, the pipeline expects paired-end data. If you have single-end data, you need to specify `--single_end` on the command line when you launch the pipeline. A normal glob pattern, enclosed in quotation marks, can then be used for `--input`. For example:\n\n```bash\n--single_end --input '*.fastq'\n```\n\nIt is not possible to run a mixture of single-end and paired-end files in one run." + }, + "collapse": { + "type": "string", + "default": "true", + "description": "Specifies if AdapterRemoval should merge the paired-end sequences or not." + }, + "phred": { + "type": "integer", + "default": 33, + "description": "Phred quality encoding", + "enum": [ + 33, + 64 + ] + }, + "identity": { + "type": "number", + "default": 0.95, + "description": "Identity threshold to retain read alignment." + }, + "adna": { + "type": "string", + "default": "true", + "description": "Specifies if data is modern (false) or ancient DNA (true)." + }, + "pmdscore": { + "type": "integer", + "default": 3, + "description": "Minimum PMDscore to retain read alignment." + }, + "library": { + "type": "string", + "default": "classic", + "description": "DNA preparation library type", + "enum": [ + "classic", + "UDGhalf" + ] + }, + "bowtie": { + "type": "string", + "default": "very-sensitive", + "description": "Bowtie settings for sensivity", + "enum": [ + "very-fast", + "very-sensitive" + ] + }, + "minKraken": { + "type": "integer", + "default": 50, + "description": "Minimum number of Kraken hits per Taxonomy ID to report" + }, + "endo1": { + "type": "number", + "default": 0.01, + "description": "Proportion of Endogenous DNA in organism 1 target microbiome", + "minimum": 0, + "maximum": 1 + }, + "endo2": { + "type": "number", + "default": 0.01, + "description": "Proportion of Endogenous DNA in organism 2 target microbiome", + "minimum": 0, + "maximum": 1 + }, + "endo3": { + "type": "number", + "default": 0.01, + "description": "Proportion of Endogenous DNA in organism 3 target microbiome" + }, + "sp_norm": { + "type": "string", + "default": "gmpr", + "description": "Sourcepredict normalization method" + }, + "sp_dim": { + "type": "integer", + "default": 2, + "description": "Sourcepredict number of embedding dimenstions" + }, + "sp_embed": { + "type": "string", + "default": "mds", + "description": "Sourcepredict embedding method" + }, + "sp_neighbors": { + "type": "string", + "default": "all", + "description": "Sourcepredict number of neighbours" + } + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/input_output_options" + }, + { + "$ref": "#/definitions/reference_genome_options" + }, + { + "$ref": "#/definitions/generic_options" + }, + { + "$ref": "#/definitions/max_job_request_options" + }, + { + "$ref": "#/definitions/institutional_config_options" + }, + { + "$ref": "#/definitions/pipeline_parameters" + } + ] +} \ No newline at end of file