Getting qiime2 to recognize a plugin


#1

I’m trying to follow the instructions here,

https://docs.qiime2.org/2018.4/plugins/developing/#overview

I copied the feature-classifier code to feature-classifer-mjm and changed
most of the literals. It looks like it built or at least I could not find an error in
the output of “python setup.py build”
It did not show up in the help list after this,

2420 qiime dev refresh-cache
2421 qiime --help

and in the build/lib dir I’m pretty sure it did not copy my shared object.
Are there a few samples on testing? I looked at the test dir for the plugin and
I hope to make a good test comparing the assignments to the test data but it
was not immediately clear how to run any of that stuff …

I did not want to plow into the semantic data types too much but need to
turn sequences into organism name probabilities and it looks like the code will drop in here
if I can make the parameters work out. Thanks.


#2

I’m trying to copy the feature classifer to call my code and make a plugin
related to the existing one. It seems to call my shared object ok but
won’t integrate with qiime2. I’ve commented out everything that looks like
a definition for this and still puzzled wty it cares at this point - aren’t these
things defined somewhere commoon? Now that I think about it I have
done some python before and remember why I went back to c++ :slight_smile:

Thanks.
Also for people not all that familiar wth pyton, I would just mention you need to do the “install step” although I guess it would be obvious. Also not obvious was how bad the differences are between 2.7 and 3.5 but once I get the outline worked out and understand the framework I should be able to call arbitrary c++ code
and get the benefits of that until I want to compare to others. It looks like the qiime invocations only do one thing at a time with either source or destination as a
proprietary binary file type ( or maybe there is a standard ). So far I’ve been doing everything as text including the svg outputs and the overhead is quite minimal.

Thanks.


#3

Apparently the caching refresh does not always eliminate old files. I had to go
through a lot of directories and hunt down the duplicates but my plugin
does appear to be displayed now as a plugin that qiime recognizes.
It does not do anything yet but I presume that is largely mechanics.
During the cache update, it did display my “help” text
so it looks like that much is working although I’m still not sure how
much of the code actually executes during cache refresh.


(Nicholas Bokulich) #4

(Nicholas Bokulich) #5

Based on this post it sounds like you were able to resolve this question (getting QIIME2 to recognize a plugin) without our support. Very glad to hear! :slight_smile:

For future reference, we have some brand new developer docs, and another user created this neat tutorial for developing a QIIME 2 plugin.

I am closing this topic as it appears to be resolved. If you have additional questions, please post these as a new topic.


(Nicholas Bokulich) #6

(Nicholas Bokulich) #7