Plugin error from feature-classifier: unexpected end of data

Hi, I'm using qiime2 amplicon 2024.10, installed by miniconda on WSL2. I don't understand what happend and I'm looking for help, thank you.

I was running:

qiime feature-classifier classify-sklearn --i-classifier silva-138.2-ssu-nr99-515FmodF-806RmodR-classifier.qza --i-reads dada2-rep-seqs1.qza --o-cl
assification taxonomy.qza --verbose

Here is the error message:

Traceback (most recent call last):
File "/home/baishijie/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/q2cli/commands.py", line 530, in call
results = self._execute_action(
File "/home/baishijie/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/q2cli/commands.py", line 602, in _execute_action
results = action(**arguments)
File "", line 2, in classify_sklearn
File "/home/baishijie/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/qiime2/sdk/action.py", line 296, in bound_callable
self.signature.transform_and_add_callable_args_to_prov(
File "/home/baishijie/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/qiime2/core/type/signature.py", line 401, in transform_and_add_callable_args_to_prov
self._transform_and_add_input_to_prov(
File "/home/baishijie/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/qiime2/core/type/signature.py", line 434, in _transform_and_add_input_to_prov
transformed_input = _input._view(spec.view_type, recorder)
File "/home/baishijie/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/qiime2/sdk/result.py", line 420, in _view
result = transformation(self._archiver.data_dir)
File "/home/baishijie/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/qiime2/core/transform.py", line 70, in transformation
new_view = transformer(view)
File "/home/baishijie/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/q2_feature_classifier/_taxonomic_classifier.py", line 71, in _1
tar.extractall(dirname)
File "/home/baishijie/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/tarfile.py", line 2264, in extractall
self._extract_one(tarinfo, path, set_attrs=not tarinfo.isdir(),
File "/home/baishijie/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/tarfile.py", line 2327, in _extract_one
self._extract_member(tarinfo, os.path.join(path, tarinfo.name),
File "/home/baishijie/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/tarfile.py", line 2410, in _extract_member
self.makefile(tarinfo, targetpath)
File "/home/baishijie/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/tarfile.py", line 2463, in makefile
copyfileobj(source, target, tarinfo.size, ReadError, bufsize)
File "/home/baishijie/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/tarfile.py", line 254, in copyfileobj
raise exception("unexpected end of data")
tarfile.ReadError: unexpected end of data

Plugin error from feature-classifier:

unexpected end of data

See above for debug info.

And here are the steps before, no error messages appeared:

qiime tools import --type 'SampleData[SequencesWithQuality]' --input-path metadata.txt --output-path demux.qza --input-format SingleEndFastqManifestPhred33V2

qiime dada2 denoise-single --i-demultiplexed-seqs demux.qza --p-n-threads 12 --p-trunc-len 0 --o-table dada2-table1.qza --o-representative-sequences dada2-rep-seqs1.qza --o-denoising-stats denoising-stats1.qza

The classifier worked well on another data ( about 10 mb). Is this error possibly about the input data size(about 239mb)? I've check the demux-sum.qzv, the sequence counts are right.

Sincerely appreciate your help!

Hi @LiuSiyu,
Welcome to the QIIME 2 Forum!

The only thing that I can think of that could be causing this is that the silva-138.2-ssu-nr99-515FmodF-806RmodR-classifier.qza is corrupt. When you say that this classifier worked on a different data set, was it the same exact version of this file that you were using? I'm wondering if perhaps it was incompletely downloaded or copied before you ran this command.

To confirm that the silva-138.2-ssu-nr99-515FmodF-806RmodR-classifier.qza is ok, can you download this file (from the Moving Pictures tutorial) and try running the same command but providing this file as the --i-reads input.

  • If that fails with the same error, something is wrong with the classifier qza file that you're using. You should try to download or copy that file from it's source again, or recreate it if the source is no longer accessible.
  • If it works, we'll have to figure out what else could be going wrong.
1 Like

After reinstalling the software and rebuilding the classifier, the problem has been resolved. Unfortunately, I didn't know the exact cause of the error, but Iā€™m happy to report that everything is now working smoothly across all data.Thank you so much for your support and patience. I truly appreciate your help.

Ok, thanks for letting us know - glad it's working now!