nf-core / ampliseq

Amplicon sequencing analysis workflow using DADA2 and QIIME2
https://nf-co.re/ampliseq
MIT License
184 stars 115 forks source link

Error executing process > 'NFCORE_AMPLISEQ:AMPLISEQ:QIIME2_DIVERSITY:QIIME2_DIVERSITY_ALPHA (evenness_vector) #356

Closed hanfan1803 closed 2 years ago

hanfan1803 commented 2 years ago

Check Documentation

I have checked the following places for your error:

Description of the bug

I run ampliseq with a big data and qiime2 diversity alpha was not completed. The error exist is an error exit status (1)

Steps to reproduce

Steps to reproduce the behaviour:

  1. Command line: sudo nextflow run nf-core/ampliseq -profile docker -r 2.1.1 --input /media/ntt-7/DDD/Khoa-Do/Indo/RawDataEpiphyteParasite/teak/manifest.tsv --FW_primer CCTACGGGNGGCWGCAC --RV_primer GACTACHVGGGTATCTAATCC --metadata /media/ntt-7/DDD/Khoa-Do/Indo/RawDataEpiphyteParasite/teak/metadata.tsv -c custom.conf --trunclenf 250 --trunclenr 250
  2. See error: Execution cancelled -- Finishing pending tasks before exit -[nf-core/ampliseq] Pipeline completed with errors- WARN: To render the execution DAG in the required format it is required to install Graphviz -- See http://www.graphviz.org for more info. Error executing process > 'NFCORE_AMPLISEQ:AMPLISEQ:QIIME2_DIVERSITY:QIIME2_DIVERSITY_ALPHA (evenness_vector)'

Caused by: Process NFCORE_AMPLISEQ:AMPLISEQ:QIIME2_DIVERSITY:QIIME2_DIVERSITY_ALPHA (evenness_vector) terminated with an error exit status (1)

Command executed:

export XDG_CONFIG_HOME="${PWD}/HOME"

qiime diversity alpha-group-significance --i-alpha-diversity evenness_vector.qza --m-metadata-file metadata.tsv --o-visualization evenness_vector-vis.qzv qiime tools export --input-path evenness_vector-vis.qzv --output-path "alpha_diversity/evenness_vector"

echo $(qiime --version | sed -e "s/q2cli version //g" | tr -d '`' | sed -e "s/Run qiime info for more version details.//g") > qiime2.version.txt

Command exit status: 1

Command output: (empty)

Command error: WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. QIIME is caching your current deployment for improved performance. This may take a few moments and should only happen once per deployment. Plugin error from diversity:

All numbers are identical in kruskal

Debug info has been saved to /tmp/qiime2-q2cli-err-f9vdi666.log

Work dir: /media/ntt-7/DDD/Khoa-Do/Indo/RawDataEpiphyteParasite/fra-nf-core-V2/work/6c/f4fec59666093f2407fb6e440d5f23

Tip: view the complete command output by changing to the process work dir and entering the command cat .command.out

Expected behaviour

qiime2 diversity alpha, beta, and betaord should be completed

Log files

Have you provided the following extra information/files: diversity-alpha.txt

custom.conf.txt

System

Nextflow Installation

Container engine

Additional context

d4straub commented 2 years ago

Hi, thanks for supplying so much details!

"All numbers are identical in kruskal" indicated that two compared groups are identical when transformed into rank metrics, here is a more detailed explanation how the test works.

So here are solutions for you:

  1. use different metadata to make different groups
  2. ignore the error

(1) isnt a good solution for you I guess, (2) would be better for you I think, add a errorStrategy = 'ignore' (e.g. right behind process {) to your custom.conf. Please be aware that this will make all failing processes be ignored. You should not do this usually, just for this case.

I also want to say that we seem to have a different understanding of "big data". For me, "big data" are many hundreds or thousands of samples, a few samples (you have 16?!) is a very small data set to me.

Let me know if that solves your problem.

Edit: just to make clear: the pipeline fails because the input data makes the statistical test fail. This is extremely rare when using typical data and proper metadata. So its rather a data problem than a pipeline problem. But I could imagine that it would be better to catch that issue (test isnt appropriate to the data) earlier and give an error message that is easier to understand.

hanfan1803 commented 2 years ago

Hi, thanks you for the suggestion.

The ignore error can help the pipeline complete. Regarding failed tasks I will not obtain any result, however, if I run it by qiime2, there is no failed task. Is it strange?

d4straub commented 2 years ago

The ignore error can help the pipeline complete.

Right, that was the intention, to execute all processes that do not result in an error.

Regarding failed tasks I will not obtain any result,

Sure thing, processes fail because of reasons, they cannot produce any results because the process was interrupted. You can however look into the work directory where the process was executed to look for any intermediate files. Those will not appear in the results folder. Most likely those intermediate files wont help you.

however, if I run it by qiime2, there is no failed task. Is it strange?

That part I do not understand, could you elaborate?

hanfan1803 commented 2 years ago

Hi,

I mean, when I do not use the pipeline, but qiime2 installed through conda, there is no error with the same data set.

d4straub commented 2 years ago

Interesting, but to actually explain or troubleshoot the difference, I'd need the QIIME2 commands you did run and the input you used (if not raw data). But I would not be surprised that you experience differences in case the input to non-pipeline QIIME2 is not the exact same as the input for the respective process of the pipeline. A really tiny difference in the input table to the statistical test will alter the outcome!

hanfan1803 commented 2 years ago

Hi

I turned out that the qiime2 ignored these errors and I did not obtain results from evenness_vector calculation. There is nothing wrong about the pipeline.

Thank you

d4straub commented 2 years ago

I see, thanks for the feedback!

I close the issue now because it appears we have sorted out your problem.