Plugin error from dada2: ... is not a(n) BIOMV210Format file

Dear All,

due to a crash in our bioinfo cluster - it was rebuilt from zero... - I had to reinstall miniconda and qiime2-2022.2.

While showing mouse_tutorial to a young collaborator, I run in this dada2 error:

~/mouse_tutorial$ qiime dada2 denoise-single
--i-demultiplexed-seqs ./demux_seqs.qza
--p-trunc-len 150
--o-table ./dada2_table.qza
--o-representative-sequences ./dada2_rep_set.qza
--o-denoising-stats ./dada2_stats.qza
Plugin error from dada2:

  /scratch/tmp/q2-BIOMV210Format-9vjedzhu is not a(n) BIOMV210Format file

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

and the last lines in the .log are:

File "/home/myhome/miniconda3/envs/qiime2-2022.2/lib/python3.8/site-packages/qiime2/plugin/model/file_format.py", line 35, in validate
    raise ValidationError("%s is not a(n) %s file"
qiime2.core.exceptions.ValidationError: /scratch/tmp/q2-BIOMV210Format-9vjedzhu is not a(n) BIOMV210Format file

I did load qiime2-2021.11 - same error. No error when dada2 runs on my own MacPowerBookPro

I did search on the forum, found several topics on 'wrong' BIOMV210Format, but most related to errors in importing own data.

Any suggestion? Thank you all in advance for help/comments

Fulvio

Hi @fulbag,

Welcome back to the :qiime2: forum!

From what you've described, it sounds like the issue is coming from the installation of QIIME 2 on your bioinfo cluster (since you mentioned you were able to run this command without issue on your personal machine).

Can you please copy/paste the outputs for the following commands in your response:

conda env list
echo $PATH

This will give us a better idea of where the issue is coming from. Thanks! :lizard:

Liz, thank for your reply.

here the details you are requested:

@login01:~$ conda env list

conda environments:

qiime2-2022.2            /home/myhome/.conda/envs/qiime2-2022.2
base                  *  /home/myhome/anaconda3

and

@login01:~$ echo $PATH

/home/myhome/anaconda3/bin:/home/myhome/anaconda3/condabin:/usr/local/Modules/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

I do hope that the above info could confirm that the installation was OK.

Regards

Fulvio

Hi @fulbag,

Thanks for providing those details! It looks like the QIIME 2 environment you created exists under a path that isn't in your $PATH (environment variable). I'd recommend deleting that environment and creating a new one following the instructions below:

First, to delete the qiime2-2022.2 conda environment, you'll type in the following to your command line:

conda env remove -n qiime2-2022.2

From there, please follow these install instructions exactly (I'd recommend just copy/pasting) for the OS that's appropriate for your bioinfo cluster:

https://docs.qiime2.org/2022.2/install/native/#install-qiime-2-within-a-conda-environment

Once that's been completed, go ahead and activate that environment and try running the dada2 command once more. If you are still running into the same error, can you share the results of conda env list once more? Thanks! :lizard:

Dear Liz,

thanks for the suggestions.
old qiime environment deleted, new qiime2 created, still the same error (at the end of my reply).

I did recheck:
~$ conda env list
conda environments:

base * /home/myhome/anaconda3
qiime2-2022.2 /home/myhome/anaconda3/envs/qiime2-2022.2

and

~$ echo $PATH
/home/myhome/anaconda3/bin:/home/myhome/anaconda3/condabin:/usr/local/Modules/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

I did then realize that echo $PATH should be done after "conda activate qiime2-2022.2"
Here it is the 'proper' $PATH

~$ echo $PATH
/home/myhome/anaconda3/envs/qiime2-2022.2/bin:/home/myhome/anaconda3/condabin:/usr/local/Modules/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Please note that I deleted the miniconda3 and installed anaconda3 - no differences.

Here is the error:

~/mouse_tutorial$ qiime dada2 denoise-single \

--i-demultiplexed-seqs ./demux_seqs.qza
--p-trunc-len 150
--o-table ./dada2_table.qza
--o-representative-sequences ./dada2_rep_set.qza
--o-denoising-stats ./dada2_stats.qza
--verbose
Running external command line application(s). This may print messages to stdout and/or stderr.
The command(s) being run are below. These commands cannot be manually re-run as they will depend on temporary files that no longer exist.

Command: run_dada_single.R /scratch/tmp/qiime2-archive-c1k6nkuk/51c94fcf-3cb6-4bda-bba6-c49ddd5e04d1/data /scratch/tmp/tmpvyz_e135/output.tsv.biom /scratch/tmp/tmpvyz_e135/track.tsv /scratch/tmp/tmpvyz_e135 150 0 2.0 2 Inf independent consensus 1.0 1 1000000 NULL 16

R version 4.1.3 (2022-03-10)
Loading required package: Rcpp
DADA2: 1.22.0 / Rcpp: 1.0.8.3 / RcppParallel: 5.1.5

  1. Filtering ................................................
  2. Learning Error Rates
    35926200 total bases in 239508 reads from 48 samples will be used for learning the error rates.
  3. Denoise samples ................................................
  4. Remove chimeras (method = consensus)
  5. Report read numbers through the pipeline
  6. Write output
    Traceback (most recent call last):
    File "/home/myhome/anaconda3/envs/qiime2-2022.2/lib/python3.8/site-packages/q2cli/commands.py", line 339, in call
    results = action(**arguments)
    File "", line 2, in denoise_single
    File "/home/myhome/anaconda3/envs/qiime2-2022.2/lib/python3.8/site-packages/qiime2/sdk/action.py", line 245, in bound_callable
    outputs = self.callable_executor(scope, callable_args,
    File "/home/myhome/anaconda3/envs/qiime2-2022.2/lib/python3.8/site-packages/qiime2/sdk/action.py", line 418, in callable_executor
    artifact = qiime2.sdk.Artifact._from_view(
    File "/home/myhome/anaconda3/envs/qiime2-2022.2/lib/python3.8/site-packages/qiime2/sdk/result.py", line 305, in _from_view
    result = transformation(view, validate_level)
    File "/home/myhome/anaconda3/envs/qiime2-2022.2/lib/python3.8/site-packages/qiime2/core/transform.py", line 70, in transformation
    new_view = transformer(view)
    File "/home/myhome/anaconda3/envs/qiime2-2022.2/lib/python3.8/site-packages/qiime2/core/transform.py", line 224, in wrapped
    new_view.file.write_data(file_view, self._wrapped_view_type)
    File "/home/myhome/anaconda3/envs/qiime2-2022.2/lib/python3.8/site-packages/qiime2/plugin/model/directory_format.py", line 88, in write_data
    result = transformation(view)
    File "/home/myhome/anaconda3/envs/qiime2-2022.2/lib/python3.8/site-packages/qiime2/core/transform.py", line 68, in transformation
    self.validate(view, level=validate_level)
    File "/home/myhome/anaconda3/envs/qiime2-2022.2/lib/python3.8/site-packages/qiime2/core/transform.py", line 143, in validate
    view.validate(level)
    File "/home/myhome/anaconda3/envs/qiime2-2022.2/lib/python3.8/site-packages/qiime2/plugin/model/file_format.py", line 35, in validate
    raise ValidationError("%s is not a(n) %s file"
    qiime2.core.exceptions.ValidationError: /scratch/tmp/q2-BIOMV210Format-zt6hnr_6 is not a(n) BIOMV210Format file

Plugin error from dada2:

/scratch/tmp/q2-BIOMV210Format-zt6hnr_6 is not a(n) BIOMV210Format file

See above for debug info.

Many thanks for your help!

Regards

Hi @fulbag,

Thanks for providing all of those details! This might actually be a result of some updates to q2-dada2 since our last QIIME 2 release. Could you try installing a QIIME 2 development environment (post-2022.2 release) and try running this command once more? Here's where you'll find instructions on the latest dev install:

https://dev.qiime2.org/latest/quickstart/

This should resolve the issue, but please let us know if you're still running into the same error message! Cheers :lizard:

Hi Liz,

sorry for my late reply, I was on summer vacation.
IT people here worked on this issue, and did fix it. This was due to GlusterFS software that locked the file access by other threads, as far as I have understood. If needed, I will ask for more details.
However, thanks for your time.

Fulvio

1 Like