Passing list of archives as input to plugin

Hi,

I am not sure whether or not this is the correct forum. If not, my apologies.

But I am developing a plugin and I would like to pass a list of archives as an input to a method. I can't seem to do that at the commandline. Writing --i-input-list for the commandline key and 1.qza, 2.qza for example input archives, I have tried
--i-input-list 1.qza, 2.qza
and
--i-input-list 1.qza --i-input-list 2.qza
and
--i-input-list 1.qza,2.qza
and
--i-input-list 1.qza 2.qza.

All of which fail. The error for --i-input-list 1.qza --i-input-list 2.qza
is
" issubclass() arg 1 must be a class "

I am quite lost as I need to process a list of archive inputs in my plugin. Are you able to help?

Thank you!

Hey @mroper,

Could you please share how you define the Python function that is linked to the action you mentioned above? More specifically, how do you annotate the function input types? Your input for the input_list argument should not be annotated as a list of whatever you expect the user to provide but rather you should annotate it directly with the type of a single artifact.

Cheers,
Michal

3 Likes

Hi Michal,

Thanks for your reply. Are there any examples of this available online?

Thank you,
Michael

Hi @mroper,
qiime feature-table merge-seqs is an example of this being done.

You can find the action registration here and the underlying Python function here. You can then see how this is used here. Let us know if you need more help after seeing this example.

2 Likes