Attribute error while attempting to use cull-seqs function in Rescript

Hi, I keep getting the following error when I attempt to use the cull-seqs rescript function in Qiime2-Amplicon-2024.2. I'm operating on my universities Linux server.

qiime rescript cull-seqs --i-sequences silva-138.1-ssu-nr99-seqs.qza --o-clean-sequences silva-138.1-ssu-nr99-seqs-cleaned.qza

/anaconda3/envs/qiime2-amplicon-2024.2/lib/python3.8/site-packages/q2cli/util.py:423: UserWarning: The directory silva-138.1-ssu-nr99-seqs.qza does not contain a .order file. The files will be read into the collection in the order the filesystem provides them in.
warnings.warn(f'The directory {fp} does not contain a .order file. '
Traceback (most recent call last):
File "/users/anaconda3/envs/qiime2-amplicon-2024.2/bin/qiime", line 11, in
sys.exit(qiime())
File "/users/anaconda3/envs/qiime2-amplicon-2024.2/lib/python3.8/site-packages/click/core.py", line 1157, in call
return self.main(*args, **kwargs)
File "/users/anaconda3/envs/qiime2-amplicon-2024.2/lib/python3.8/site-packages/click/core.py", line 1078, in main
rv = self.invoke(ctx)
File "/users/anaconda3/envs/qiime2-amplicon-2024.2/lib/python3.8/site-packages/click/core.py", line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/users/anaconda3/envs/qiime2-amplicon-2024.2/lib/python3.8/site-packages/click/core.py", line 1686, in invoke
sub_ctx = cmd.make_context(cmd_name, args, parent=ctx)
File "/users/anaconda3/envs/qiime2-amplicon-2024.2/lib/python3.8/site-packages/click/core.py", line 943, in make_context
self.parse_args(ctx, args)
File "/users/anaconda3/envs/qiime2-amplicon-2024.2/lib/python3.8/site-packages/q2cli/click/command.py", line 60, in parse_args
value, args = param.handle_parse_result(ctx, opts, args)
File "/users/anaconda3/envs/qiime2-amplicon-2024.2/lib/python3.8/site-packages/click/core.py", line 2400, in handle_parse_result
value = self.process_value(ctx, value)
File "/users/anaconda3/envs/qiime2-amplicon-2024.2/lib/python3.8/site-packages/q2cli/click/option.py", line 181, in process_value
return super().process_value(ctx, value)
File "/users/anaconda3/envs/qiime2-amplicon-2024.2/lib/python3.8/site-packages/click/core.py", line 2356, in process_value
value = self.type_cast_value(ctx, value)
File "/users/anaconda3/envs/qiime2-amplicon-2024.2/lib/python3.8/site-packages/q2cli/click/option.py", line 297, in type_cast_value
value = super().type_cast_value(ctx, value)
File "/users/anaconda3/envs/qiime2-amplicon-2024.2/lib/python3.8/site-packages/click/core.py", line 2344, in type_cast_value
return convert(value)
File "/users/anaconda3/envs/qiime2-amplicon-2024.2/lib/python3.8/site-packages/click/core.py", line 2316, in convert
return self.type(value, param=self, ctx=ctx)
File "/users/anaconda3/envs/qiime2-amplicon-2024.2/lib/python3.8/site-packages/click/types.py", line 83, in call
return self.convert(value, param, ctx)
File "/users/anaconda3/envs/qiime2-amplicon-2024.2/lib/python3.8/site-packages/q2cli/click/type.py", line 76, in convert
return self._convert_input(value, param, ctx)
File "/users/anaconda3/envs/qiime2-amplicon-2024.2/lib/python3.8/site-packages/q2cli/click/type.py", line 145, in _convert_input
% (self.type_expr, result_value.type), param, ctx)
AttributeError: 'dict' object has no attribute 'type'

I've tried re-installing the Rescript plugin and runing qiime dev refresh-cache command, neither has worked.

Hi @Dnewman,

I've never seen this type of error before. I am wondering if QIIME 2 did not install cleanly? Or there is something else that was installed into the environment that caused it to be corrupted?

Did you try removing and re-installing the QIIME2 environment? RESCRIPt is now part of the qiime2-amplicon-2024.2 and qiime2-shotgun-2024.2 releases.

I just ran this command, within 2024.2 on both my institute's Linux HPC, and my M1 mac laptop, without issue.

Perhaps print out and send us the conda environment list for the environment, and the full exact commands used?

Do any of the other moderators have any ideas?

1 Like

Hi @SoilRotifer,

I completely un-installed and re-installed Qiime2 and re-ran the commands, this still yeilded the same error.

I wasn't quite sure what you ment by conda environments so what I've done is attached the following which contains the full list of comands I in Qiime2 I was running for that error to occur along with the contents of serveral of the directories within conda/the Qiime2 environment. Please let me know if there is anything specific you need to know/see.
error.txt (60.6 KB)

I have now obtained a copy of the desired output file from a colleague running the commands on their personal machine, so I'm no longer concerend with getting the error fixed for now. But I am still happy to help so others don't experience the error in the future.

Yours,

Duncan Newman

Thank you @Dnewman!

Once you are in your conda environment you can run conda list and it'll print out all of the software within your environment, with their associated versions.

Hi @SoilRotifer,

Here then is the output you requested.

Conda_env.txt (51.2 KB)

Hi @Dnewman,

I compared your output to that of a freshly installed version of 2024.2 on my linux hpc. Ran the unix diff command to quickly spot any differences. Which resulted in only these differences:

#  Dnewman                                                      |       # SoilRotifer
libwebp-base              1.3.2                hd590300_0       |       libwebp-base              1.3.2                hd590300_1
mpfr                      4.2.1                h9458935_0       |       mpfr                      4.2.1                h9458935_1
ncbi-vdb                  3.1.0                hdbdd923_0       |       ncbi-vdb                  3.1.0                h4ac6f70_1
ply                       3.11                       py_1       |       ply                       3.11               pyhd8ed1ab_2

Based on what I'm seeing, these are not really differences. Unless there is actually something different about the files that anaconda references compared to miniconda. :man_shrugging:

Otherwise everything in your conda environment appears fine. The only other thing I can think of, is that there may be another system setting that is overriding the conda environment settings for the command you're running. :thinking:

Hi @SoilRotifer,

I have now tried re-running the command and it now works. I have no idea what went wrong and what has now been fixed. But thanks for your help anyway.

1 Like

Not a problem. I'm glad it worked itself out!

The computer gremlins must have been haunting your computer for a bit! :imp:

1 Like