Plugin error from fondue: Samples missing BioProjectID

Samples missing BioProjectID: fondue error

Dear QIIME2 Team,

I am trying to download fecal samples from fondue using the folowing commands and get the following error. I am using qiime2-amplicon-2024.10 version.

Thanks for your help in advance!

Meghna

qiime fondue get-ids-from-query
--p-query '("Homo sapiens"[Organism] OR human[All Fields]) AND 16S[All Fields] AND healthy[All Fields] AND (feces[All Fields] OR fecal[All Fields]) NOT child[All Fields]'
--p-email meghnasw.96@gmail.com
--p-n-jobs 28
--o-ids ids_human_amplicon_fecal.qza
--verbose

qiime fondue get-metadata
--i-accession-ids ids_human_amplicon_fecal.qza
--p-n-jobs 24
--p-email ‘myemail.com
--output-dir human_fecal_metadata
--verbose 2>&1
| tee fondue_get-metadata_fecal.log

ERROR:

2025-11-17 15:07:35,991 [MainThread] [INFO] [q2_fondue.metadata]: Fetching metadata for 1884 run IDs.

/home/ubuntu/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/q2_fondue/entrezpy_clients/_efetch.py:69: FutureWarning: DataFrame.groupby with axis=1 is deprecated. Do `frame.T.groupby(...)` without axis instead.

df = df.groupby(level=0, axis=1).first()

Traceback (most recent call last):

File "/home/ubuntu/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/qiime2/plugin/model/file_format.py", line 26, in validate

self.\_validate\_(level)

File "/home/ubuntu/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/q2_fondue/types/_format.py", line 51, in _validate_

self.\_validate()

File "/home/ubuntu/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/q2_fondue/types/_format.py", line 45, in _validate

raise ValidationError(

qiime2.core.exceptions.ValidationError: Some samples are missing IDs in the following fields: Bioproject ID.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):

File "/home/ubuntu/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/q2cli/commands.py", line 530, in _call_

results = self.\_execute_action(

File "/home/ubuntu/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 get_metadata

File "/home/ubuntu/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/qiime2/sdk/action.py", line 299, in bound_callable

outputs = self.\_callable_executor\_(

File "/home/ubuntu/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/qiime2/sdk/action.py", line 587, in _callable_executor_

self.signature.coerce_given_outputs(output_views, output_types,

File "/home/ubuntu/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/qiime2/core/type/signature.py", line 498, in coerce_given_outputs

output = self.\_create_output_artifact(

File "/home/ubuntu/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/qiime2/core/type/signature.py", line 520, in _create_output_artifact

artifact = qiime2.sdk.Artifact.\_from_view(

File "/home/ubuntu/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/qiime2/sdk/result.py", line 374, in _from_view

result = transformation(view, validate_level)

File "/home/ubuntu/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/ubuntu/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/qiime2/core/transform.py", line 224, in wrapped

new_view.file.write_data(file_view, self.\_wrapped_view_type)

File "/home/ubuntu/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/qiime2/plugin/model/directory_format.py", line 92, in write_data

result = transformation(view)

File "/home/ubuntu/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/qiime2/core/transform.py", line 68, in transformation

self.validate(view, level=validate_level)

File "/home/ubuntu/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/qiime2/core/transform.py", line 143, in validate

view.validate(level)

File "/home/ubuntu/miniconda3/envs/qiime2-amplicon-2024.10/lib/python3.10/site-packages/qiime2/plugin/model/file_format.py", line 28, in validate

raise ValidationError(

qiime2.core.exceptions.ValidationError: /tmp/qiime2/ubuntu/processes/135235-1763392044.93@ubuntu/tmp/q2-OutPath-dpe_h1kq is not a(n) SRAMetadataFormat file:

Some samples are missing IDs in the following fields: Bioproject ID.

Plugin error from fondue:

/tmp/qiime2/ubuntu/processes/135235-1763392044.93@ubuntu/tmp/q2-OutPath-dpe_h1kq is not a(n) SRAMetadataFormat file:

Some samples are missing IDs in the following fields: Bioproject ID.

Hey @meghna_swayambhu,

I'm not super well versed with q2-fondue, but offhand this error message seems like it's being caused by some samples (pulled from get-ids-from-query) missing values under the Bioproject ID field (when they are being looked up from get-metadata).

In any case, I'll try and replicate this to see if I can find a solution. One question for you though- you mentioned you're using the 2024.10 amplicon release, but q2-fondue wasn't added into the amplicon distribution until 2025.10. Just to confirm, did you install q2-fondue on top of a 2024.10 amplicon environment? Or are you using the 2025.10 amplicon environment that already contains q2-fondue?

Hi @lizgehret,

Thank you for your prompt response! I am certain that I am using the 2024.10 amplicon because I run the following command and run the fondue commands in my previous message.
$ conda activate qiime2-amplicon-2024.10

I am actually not sure how fondue is working in this distribution if it was not added, because this is what I get when I list my envs and there is no fondue separately:

$ conda info --envs

Unexpected error writing token file:

path: /home/ubuntu/.conda/aau_token_host

exception: write() argument must be str, not None

# conda environments:

#

# * -> active

# + -> frozen

base /home/ubuntu/miniconda3

qiime2-amplicon-2024.10 * /home/ubuntu/miniconda3/envs/qiime2-amplicon-2024.10

qiime2-amplicon-2025.7 /home/ubuntu/miniconda3/envs/qiime2-amplicon-2025.7

Thank you very much for your help!
Meghna

Hey @meghna_swayambhu,

Thanks for that clarification! While in your 2024.10 amplicon environment would you mind running the following command and sharing the output?

qiime info

Thanks!

Hi @lizgehret,

Of course, here is the output of qiime info:

qiime info

System versions

Python version: 3.10.14

QIIME 2 release: 2024.10

QIIME 2 version: 2024.10.1

q2cli version: 2024.10.1

Installed plugins

alignment: 2024.10.0

composition: 2024.10.0

cutadapt: 2024.10.0

dada2: 2024.10.0

deblur: 2024.10.0

demux: 2024.10.0

diversity: 2024.10.0

diversity-lib: 2024.10.0

emperor: 2024.10.0

feature-classifier: 2024.10.0

feature-table: 2024.10.0

fondue: 2024.10.0

fragment-insertion: 2024.10.0

longitudinal: 2024.10.0

metadata: 2024.10.0

phylogeny: 2024.10.0

quality-control: 2024.10.0

quality-filter: 2024.10.0

rescript: 2024.10.0

sample-classifier: 2024.10.0

stats: 0+unknown

taxa: 2024.10.0

types: 2024.10.0

vizard: 0.0.1.dev0

vsearch: 2024.10.0

Application config directory

/home/ubuntu/miniconda3/envs/qiime2-amplicon-2024.10/var/q2cli

Config

Config Source: /home/ubuntu/miniconda3/envs/qiime2-amplicon-2024.10/etc/qiime2_config.toml

Getting help

To get help with QIIME 2, visit https://qiime2.org

To get help with configuring and/or understanding QIIME 2 parallelization, visit Parallel Pipeline configuration - Using QIIME 2

Meghna

Hey @meghna_swayambhu,

Thanks for providing that output!

I played around with this on my end and I couldn't find an easy way to pull the list of IDs that caused this failure (ie the ones that seem to be missing the Bioproject ID field during the metadata lookup step). I'm going to loop in the primary developer for q2-fondue to 'qiime' in on this (pun intended)!

Hey @misialq do you have any suggestions on this one? I also tried using the --o-failed-runs param but this validation error stops the operation before this happens. I could totally be missing some functionality here though so let me know if there's an obvious fix for this!

Hey @meghna_swayambhu,

sorry for getting back to you so late about that. @lizgehret is right - it seems like some entries (one entry, to be precise) are missing required fields (in this case BioProject ID). I can see that this is some quite old sample from 2012 and it is indeed missing this field on SRA.

Before we fix that, one way to go around it would be to export the IDs fetched by the first command, remove the offending ID (SRR526973), import the IDs back as "NCBIAccessionIDs" and try fetching the metadata with that. I tried fetching those (after removing the broken one) and it seems to work. Let me know if you need more help, though!

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.