bokulich-lab / q2-fondue

Functions for reproducibly Obtaining and Normalizing Data re-Used from Elsewhere
BSD 3-Clause "New" or "Revised" License
20 stars 6 forks source link

Temporary plugin error with no response #154

Open adamovanja opened 1 year ago

adamovanja commented 1 year ago

When trying to fetch the metadata of any accession ID (see command below), q2-fondue was constantly returning an error (see error below) for a fixed period of time (2 hrs in afternoon of 2023/02/22 14:00 - 16:00 CET). After the 2 hrs had passed, the error was not reproducible anymore. The assumption is that it had something to do with NCBI - but it would need to be investigated further if the error ever occurs again.

Command with any BioProject ID accession in id.qza in our case it was (PRJEB39420):

qiime fondue get-metadata \
              --i-accession-ids id.qza \
              --p-n-jobs 1 \
              --p-email my@email.com \
              --output-dir id_metadata --verbose

Error:

Traceback (most recent call last):
  File "home/opt/anaconda3/envs/conda_env/lib/python3.8/site-packages/q2cli/commands.py", line 352, in __call__
    results = action(**arguments)
  File "<decorator-gen-24>", line 2, in get_metadata
  File "home/opt/anaconda3/envs/conda_env/lib/python3.8/site-packages/qiime2/sdk/action.py", line 234, in bound_callable
    outputs = self._callable_executor_(scope, callable_args,
  File "home/opt/anaconda3/envs/conda_env/lib/python3.8/site-packages/qiime2/sdk/action.py", line 381, in _callable_executor_
    output_views = self._callable(**view_args)
  File "home/opt/anaconda3/envs/conda_env/lib/python3.8/site-packages/q2_fondue/metadata.py", line 196, in get_metadata
    meta, missing_ids = _get_other_meta(
  File "home/opt/anaconda3/envs/conda_env/lib/python3.8/site-packages/q2_fondue/metadata.py", line 114, in _get_other_meta
    run_ids = _get_run_ids(
  File "home/opt/anaconda3/envs/conda_env/lib/python3.8/site-packages/q2_fondue/entrezpy_clients/_pipelines.py", line 90, in _get_run_ids
    for _ids in _chunker(esearch_response.result.uids, BATCH_SIZE):
AttributeError: 'NoneType' object has no attribute 'uids'

Plugin error from fondue:

  'NoneType' object has no attribute 'uids'

See above for debug info.

thanks @Sixsmallriver for noticing this issue.