From bc98f5b80f24b77d3168412e81e7e7feaf043bc0 Mon Sep 17 00:00:00 2001 From: James Fellows Yates Date: Thu, 1 Dec 2022 10:37:14 +0100 Subject: [PATCH 1/3] Separate KrakenUniq test run --- .github/workflows/ci.yml | 33 +++++++++++++++++ conf/test_krakenuniq.config | 72 +++++++++++++++++++++++++++++++++++++ conf/test_motus.config | 4 +++ nextflow.config | 1 + 4 files changed, 110 insertions(+) create mode 100644 conf/test_krakenuniq.config diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a2a1662..77440b7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -101,3 +101,36 @@ jobs: with: command: nextflow run ${GITHUB_WORKSPACE} -profile test_motus,docker --outdir ./results --databases ./database_motus.csv attempt_limit: 3 + + krakenuniq: + name: Test mOTUs with workflow parameters + if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/taxprofiler') }} + runs-on: ubuntu-latest + strategy: + matrix: + NXF_VER: + - "21.10.3" + - "latest-everything" + + steps: + - name: Check out pipeline code + uses: actions/checkout@v2 + + - name: Install Nextflow + uses: nf-core/setup-nextflow@v1 + with: + version: "${{ matrix.NXF_VER }}" + + - name: Show current locale + run: locale + + - name: Set UTF-8 enabled locale + run: | + sudo locale-gen en_US.UTF-8 + sudo update-locale LANG=en_US.UTF-8 + + - name: Run pipeline with test data + uses: Wandalen/wretry.action@v1.0.11 + with: + command: nextflow run ${GITHUB_WORKSPACE} -profile test_krakenuniq,docker --outdir ./results + attempt_limit: 3 diff --git a/conf/test_krakenuniq.config b/conf/test_krakenuniq.config new file mode 100644 index 0000000..c6e2548 --- /dev/null +++ b/conf/test_krakenuniq.config @@ -0,0 +1,72 @@ +/* +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Nextflow config file for running minimal tests +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + Defines input files and everything required to run a fast and simple pipeline test. + + Use as follows: + nextflow run nf-core/taxprofiler -profile test, --outdir + +---------------------------------------------------------------------------------------- +*/ + +// +// Separate test as KrakenUniq database can sometimes be too big for GHA +// + +params { + config_profile_name = 'Test profile' + config_profile_description = 'Minimal test to check mOTUs function' + + // Limit resources so that this can run on GitHub Actions + max_cpus = 2 + max_memory = '6.GB' + max_time = '6.h' + + // Input data + // TODO nf-core: Specify the paths to your test data on nf-core/test-datasets + // TODO nf-core: Give any required params for the test so that command line flags are not needed + input = 'https://raw.githubusercontent.com/nf-core/test-datasets/taxprofiler/samplesheet.csv' + databases = 'https://raw.githubusercontent.com/nf-core/test-datasets/taxprofiler/database_krakenuniq.csv' + perform_shortread_qc = true + perform_longread_qc = true + shortread_qc_mergepairs = true + perform_shortread_complexityfilter = true + perform_shortread_hostremoval = true + perform_longread_hostremoval = true + perform_runmerging = true + hostremoval_reference = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/homo_sapiens/genome/genome.fasta' + run_kaiju = false` + run_kraken2 = false` + run_bracken = false + run_malt = false + run_metaphlan3 = false + run_centrifuge = false + run_diamond = false + run_krakenuniq = true + run_motus = false + run_krona = true + krona_taxonomy_directory = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/sarscov2/metagenome/krona_taxonomy.tab' + malt_save_reads = true + kraken2_save_reads = true + centrifuge_save_reads = true + diamond_save_reads = true +} + +process { + withName: MALT_RUN { + maxForks = 1 + } + withName: MEGAN_RMA2INFO_TSV { + maxForks = 1 + } + withName: MEGAN_RMA2INFO_KRONA { + maxForks = 1 + } + withName: 'EIDO_VALIDATE' { + ext.args = '--st-index sample' + } + withName: 'EIDO_CONVERT' { + ext.args = '--st-index sample' + } +} diff --git a/conf/test_motus.config b/conf/test_motus.config index 2428a4c..a077dad 100644 --- a/conf/test_motus.config +++ b/conf/test_motus.config @@ -10,6 +10,10 @@ ---------------------------------------------------------------------------------------- */ +// +// Separate test as mOTUs database download can be flaky +// + params { config_profile_name = 'mOTUs Test profile' config_profile_description = 'Minimal test to check mOTUs function' diff --git a/nextflow.config b/nextflow.config index 9ad8def..721a21c 100644 --- a/nextflow.config +++ b/nextflow.config @@ -242,6 +242,7 @@ profiles { test_nopreprocessing { includeConfig 'conf/test_nopreprocessing.config' } test_nothing { includeConfig 'conf/test_nothing.config' } test_motus { includeConfig 'conf/test_motus.config' } + test_krakenuniq { includeConfig 'conf/test_krakenuniq.config' } test_pep { includeConfig 'conf/test_pep.config' } } From ef1d2da17917abd883d8937197fc92bb63ab372c Mon Sep 17 00:00:00 2001 From: "James A. Fellows Yates" Date: Thu, 1 Dec 2022 12:53:34 +0100 Subject: [PATCH 2/3] Apply suggestions from code review Co-authored-by: Moritz E. Beber --- .github/workflows/ci.yml | 2 +- conf/test_krakenuniq.config | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 77440b7..d179c6e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -103,7 +103,7 @@ jobs: attempt_limit: 3 krakenuniq: - name: Test mOTUs with workflow parameters + name: Test KrakenUniq with workflow parameters if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/taxprofiler') }} runs-on: ubuntu-latest strategy: diff --git a/conf/test_krakenuniq.config b/conf/test_krakenuniq.config index c6e2548..c504ec9 100644 --- a/conf/test_krakenuniq.config +++ b/conf/test_krakenuniq.config @@ -16,7 +16,7 @@ params { config_profile_name = 'Test profile' - config_profile_description = 'Minimal test to check mOTUs function' + config_profile_description = 'Minimal test to check KrakenUniq function' // Limit resources so that this can run on GitHub Actions max_cpus = 2 From f960c14caf6cf9625f336fbaecad7acfee806d37 Mon Sep 17 00:00:00 2001 From: James Fellows Yates Date: Thu, 1 Dec 2022 13:46:57 +0100 Subject: [PATCH 3/3] Fix typos --- conf/test_krakenuniq.config | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/test_krakenuniq.config b/conf/test_krakenuniq.config index c504ec9..67b559e 100644 --- a/conf/test_krakenuniq.config +++ b/conf/test_krakenuniq.config @@ -36,8 +36,8 @@ params { perform_longread_hostremoval = true perform_runmerging = true hostremoval_reference = 'https://raw.githubusercontent.com/nf-core/test-datasets/modules/data/genomics/homo_sapiens/genome/genome.fasta' - run_kaiju = false` - run_kraken2 = false` + run_kaiju = false + run_kraken2 = false run_bracken = false run_malt = false run_metaphlan3 = false