mirror of
https://github.com/MillironX/taxprofiler.git
synced 2024-11-26 03:09:56 +00:00
Merge pull request #181 from nf-core/sep-krakenuniq-test
Filter out Nanopore reads from Bracken
This commit is contained in:
commit
7992edd181
5 changed files with 67 additions and 8 deletions
33
.github/workflows/ci.yml
vendored
33
.github/workflows/ci.yml
vendored
|
@ -134,3 +134,36 @@ jobs:
|
||||||
with:
|
with:
|
||||||
command: nextflow run ${GITHUB_WORKSPACE} -profile test_krakenuniq,docker --outdir ./results
|
command: nextflow run ${GITHUB_WORKSPACE} -profile test_krakenuniq,docker --outdir ./results
|
||||||
attempt_limit: 3
|
attempt_limit: 3
|
||||||
|
|
||||||
|
malt:
|
||||||
|
name: Test MALT 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_nothing,docker --run_malt --outdir ./results
|
||||||
|
attempt_limit: 3
|
||||||
|
|
|
@ -35,7 +35,7 @@ params {
|
||||||
run_kaiju = true
|
run_kaiju = true
|
||||||
run_kraken2 = true
|
run_kraken2 = true
|
||||||
run_bracken = true
|
run_bracken = true
|
||||||
run_malt = true
|
run_malt = false
|
||||||
run_metaphlan3 = true
|
run_metaphlan3 = true
|
||||||
run_centrifuge = true
|
run_centrifuge = true
|
||||||
run_diamond = true
|
run_diamond = true
|
||||||
|
|
|
@ -248,9 +248,31 @@ You can optionally save the FASTQ output of the run merging with the `--save_run
|
||||||
|
|
||||||
##### Profiling
|
##### Profiling
|
||||||
|
|
||||||
|
###### Bracken
|
||||||
|
|
||||||
|
It is unclear whether Bracken is suitable for running long reads, as it makes certain assumptions about read lengths. Furthemore, during testing we found issues where Bracken would fail on the long-read test data. Therefore nf-core/taxprofiler does not run Bracken on data specified as being sequenced with `OXFORD_NANOPORE` in the input samplesheet. If you believe this to be wrong, please contact us on the nf-core slack and we can discuss this.
|
||||||
|
|
||||||
|
###### Centrifuge
|
||||||
|
|
||||||
|
Centrifuge currently does not accept FASTA files as input, therefore no output will be produced for these input files.
|
||||||
|
|
||||||
|
###### DIAMOND
|
||||||
|
|
||||||
|
DIAMOND only allows output of a single format at a time, therefore parameters such --diamond_save_reads supplied will result in only aligned reads in SAM format will be produced, no taxonomic profiles will be available. Be aware of this when setting up your pipeline runs, depending n your particular use case.
|
||||||
|
|
||||||
###### MALT
|
###### MALT
|
||||||
|
|
||||||
nf-core/taxprofiler uses MALT 0.4.1, which is a compatively old version. However it has been found that the most recent version of MALT (0.5.\*), at the time of writing, is broken. [The LCA step appears not to be executed](http://megan.informatik.uni-tuebingen.de/t/lca-placement-failure-with-malt-v-0-5-2-and-0-5-3/1996/3), pushing all hits to the leaves of the taxonomy. However, if you need to use a more recent taxonomy map file with your databases, the output of `malt-build` from MALT 0.5.3 should be still be compatible with `malt-run` of 0.4.1.
|
MALT does not support paired-end reads alignment (unlike other tools), therefore nf-core/taxprofiler aligns these as indepenent files if read-merging is skipped. If you skip merging, you can sum or average the results of the counts of the pairs.
|
||||||
|
|
||||||
|
Krona can only be run on MALT output if path to Krona taxonomy database supplied to `--krona_taxonomy_directory`. Therefore if you do not supply the a KRona directory, Krona plots will not be produced for MALT.
|
||||||
|
|
||||||
|
###### MetaPhlAn3
|
||||||
|
|
||||||
|
MetaPhlAn3 currently does not accept FASTA files as input, therefore no output will be produced for these input files.
|
||||||
|
|
||||||
|
###### mOTUs
|
||||||
|
|
||||||
|
mOTUs currently does not accept FASTA files as input, therefore no output will be produced for these input files.
|
||||||
|
|
||||||
### Updating the pipeline
|
### Updating the pipeline
|
||||||
|
|
||||||
|
|
|
@ -145,7 +145,11 @@ workflow PROFILING {
|
||||||
if ( params.run_kraken2 && params.run_bracken ) {
|
if ( params.run_kraken2 && params.run_bracken ) {
|
||||||
// Remove files from 'pure' kraken2 runs, so only those aligned against Bracken & kraken2 database are used.
|
// Remove files from 'pure' kraken2 runs, so only those aligned against Bracken & kraken2 database are used.
|
||||||
def ch_kraken2_output = KRAKEN2_KRAKEN2.out.report
|
def ch_kraken2_output = KRAKEN2_KRAKEN2.out.report
|
||||||
.filter { meta, report -> meta['tool'] == 'bracken' }
|
.filter {
|
||||||
|
meta, report ->
|
||||||
|
if ( meta['instrument_platform'] == 'OXFORD_NANOPORE' ) log.warn "[nf-core/taxprofiler] Bracken has not been evaluated for Nanopore data. Skipping Bracken for sample ${meta.id}."
|
||||||
|
meta['tool'] == 'bracken' && meta['instrument_platform'] != 'OXFORD_NANOPORE'
|
||||||
|
}
|
||||||
|
|
||||||
// If necessary, convert the eight column output to six column output.
|
// If necessary, convert the eight column output to six column output.
|
||||||
if (params.kraken2_save_minimizers) {
|
if (params.kraken2_save_minimizers) {
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
//
|
//
|
||||||
|
|
||||||
include { KAIJU_KAIJU2TABLE } from '../../modules/nf-core/kaiju/kaiju2table/main'
|
include { KAIJU_KAIJU2TABLE } from '../../modules/nf-core/kaiju/kaiju2table/main'
|
||||||
include { KRAKENTOOLS_COMBINEKREPORTS } from '../../modules/nf-core/krakentools/combinekreports/main'
|
include { KRAKENTOOLS_COMBINEKREPORTS as KRAKENTOOLS_COMBINEKREPORTS_KRAKEN } from '../../modules/nf-core/krakentools/combinekreports/main'
|
||||||
include { KRAKENTOOLS_COMBINEKREPORTS as KRAKENTOOLS_COMBINEKREPORTS_CENTRIFUGE } from '../../modules/nf-core/krakentools/combinekreports/main'
|
include { KRAKENTOOLS_COMBINEKREPORTS as KRAKENTOOLS_COMBINEKREPORTS_CENTRIFUGE } from '../../modules/nf-core/krakentools/combinekreports/main'
|
||||||
include { METAPHLAN3_MERGEMETAPHLANTABLES } from '../../modules/nf-core/metaphlan3/mergemetaphlantables/main'
|
include { METAPHLAN3_MERGEMETAPHLANTABLES } from '../../modules/nf-core/metaphlan3/mergemetaphlantables/main'
|
||||||
include { MOTUS_MERGE } from '../../modules/nf-core/motus/merge/main'
|
include { MOTUS_MERGE } from '../../modules/nf-core/motus/merge/main'
|
||||||
|
@ -93,10 +93,10 @@ workflow STANDARDISATION_PROFILES {
|
||||||
[[id:it[0]], it[1]]
|
[[id:it[0]], it[1]]
|
||||||
}
|
}
|
||||||
|
|
||||||
KRAKENTOOLS_COMBINEKREPORTS ( ch_profiles_for_kraken2 )
|
KRAKENTOOLS_COMBINEKREPORTS_KRAKEN ( ch_profiles_for_kraken2 )
|
||||||
ch_standardised_tables = ch_standardised_tables.mix( KRAKENTOOLS_COMBINEKREPORTS.out.txt )
|
ch_standardised_tables = ch_standardised_tables.mix( KRAKENTOOLS_COMBINEKREPORTS_KRAKEN.out.txt )
|
||||||
ch_multiqc_files = ch_multiqc_files.mix( KRAKENTOOLS_COMBINEKREPORTS.out.txt )
|
ch_multiqc_files = ch_multiqc_files.mix( KRAKENTOOLS_COMBINEKREPORTS_KRAKEN.out.txt )
|
||||||
ch_versions = ch_versions.mix( KRAKENTOOLS_COMBINEKREPORTS.out.versions )
|
ch_versions = ch_versions.mix( KRAKENTOOLS_COMBINEKREPORTS_KRAKEN.out.versions )
|
||||||
|
|
||||||
// MetaPhlAn3
|
// MetaPhlAn3
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue