Hi everyone,
I’m writing a QIIME2 plugin for MetaPhlAn2, but when I do qiime dev refresh-cache
I got the following error:
QIIME is caching your current deployment for improved performance. This may take a few moments and should only happen once per deployment.
Traceback (most recent call last):
File "/home/qiime2/miniconda/envs/qiime2-2017.6/bin/qiime", line 6, in <module>
sys.exit(q2cli.__main__.qiime())
File "/home/qiime2/miniconda/envs/qiime2-2017.6/lib/python3.5/site-packages/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/home/qiime2/miniconda/envs/qiime2-2017.6/lib/python3.5/site-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/home/qiime2/miniconda/envs/qiime2-2017.6/lib/python3.5/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/qiime2/miniconda/envs/qiime2-2017.6/lib/python3.5/site-packages/click/core.py", line 1066, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/qiime2/miniconda/envs/qiime2-2017.6/lib/python3.5/site-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/qiime2/miniconda/envs/qiime2-2017.6/lib/python3.5/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/home/qiime2/miniconda/envs/qiime2-2017.6/lib/python3.5/site-packages/q2cli/dev.py", line 27, in refresh_cache
import q2cli.cache
File "/home/qiime2/miniconda/envs/qiime2-2017.6/lib/python3.5/site-packages/q2cli/cache.py", line 305, in <module>
CACHE = DeploymentCache()
File "/home/qiime2/miniconda/envs/qiime2-2017.6/lib/python3.5/site-packages/q2cli/cache.py", line 61, in __init__
self._state = self._get_cached_state(refresh=refresh)
File "/home/qiime2/miniconda/envs/qiime2-2017.6/lib/python3.5/site-packages/q2cli/cache.py", line 107, in _get_cached_state
self._cache_current_state(current_requirements)
File "/home/qiime2/miniconda/envs/qiime2-2017.6/lib/python3.5/site-packages/q2cli/cache.py", line 200, in _cache_current_state
state = self._get_current_state()
File "/home/qiime2/miniconda/envs/qiime2-2017.6/lib/python3.5/site-packages/q2cli/cache.py", line 238, in _get_current_state
plugin_manager = qiime2.sdk.PluginManager()
File "/home/qiime2/miniconda/envs/qiime2-2017.6/lib/python3.5/site-packages/qiime2/sdk/plugin_manager.py", line 44, in __new__
self._init()
File "/home/qiime2/miniconda/envs/qiime2-2017.6/lib/python3.5/site-packages/qiime2/sdk/plugin_manager.py", line 58, in _init
plugin = entry_point.load()
File "/home/qiime2/miniconda/envs/qiime2-2017.6/lib/python3.5/site-packages/setuptools-27.2.0-py3.5.egg/pkg_resources/__init__.py", line 2258, in load
File "/home/qiime2/miniconda/envs/qiime2-2017.6/lib/python3.5/site-packages/setuptools-27.2.0-py3.5.egg/pkg_resources/__init__.py", line 2264, in resolve
File "/home/qiime2/Desktop/metaphlan2_test_plugin/lib/python3.5/site-packages/metaphlan2-2.6.0-py3.5.egg/metaphlan2/plugin_setup.py", line 52, in <module>
description=('MetaPhlAn is a computational tool for profiling the composition of microbial communities (Bacteria, Archaea, Eukaryotes, and Viruses) from metagenomic shotgun sequencing data with species level resolution')
File "/home/qiime2/miniconda/envs/qiime2-2017.6/lib/python3.5/site-packages/qiime2/plugin/plugin.py", line 209, in register_function
output_descriptions)
File "/home/qiime2/miniconda/envs/qiime2-2017.6/lib/python3.5/site-packages/qiime2/sdk/action.py", line 344, in _init
output_descriptions)
File "/home/qiime2/miniconda/envs/qiime2-2017.6/lib/python3.5/site-packages/qiime2/core/type/signature.py", line 98, in __init__
parameter_descriptions, output_descriptions)
File "/home/qiime2/miniconda/envs/qiime2-2017.6/lib/python3.5/site-packages/qiime2/core/type/signature.py", line 183, in _parse_signature
% (list(inputs) + list(parameters)))
TypeError: Callable does not have parameter(s): ['raw-data']
This is the code of the plugin:
from qiime2.plugin import Plugin
from q2_types.per_sample_sequences import SequencesWithQuality
from q2_types.feature_table import FeatureTable, Frequency
import metaphlan2
plugin = Plugin(
name='metaphlan2',
version=metaphlan2.__version__,
website='http://segatalab.cibio.unitn.it/tools/metaphlan2/',
user_support_text='[email protected]',
package='metaphlan2',
citation_text=('Truong DT, Franzosa EA, Tickle TL, Scholz M, Weingart G, Pasolli E, Tett A, Huttenhower C, Segata N. MetaPhlAn2 for enhanced metagenomic taxonomic profiling. Nature Methods. 2015 Oct 1;12(10):902-3'),
description=('MetaPhlAn is a computational tool for profiling the composition of microbial communities (Bacteria, Archaea, Eukaryotes, and Viruses) from metagenomic shotgun sequencing data with species level resolution'),
short_description='MetaPhlAn2 for enhanced metagenomic taxonomic profiling'
)
plugin.methods.register_function(
function=metaphlan2.metaphlan2_function,
inputs={'raw-data': SequencesWithQuality },
input_descriptions={'raw-data': ('metagenomic shotgun sequencing data')},
parameters={},
parameter_descriptions={},
outputs=[('tsv-table', FeatureTable[Frequency])],
output_descriptions={'tsv-table': 'TAB-separated text file containing relative abundances of the species found in the input'},
name='MetaPhlAn2 taxonomic profiling',
description=('MetaPhlAn is a computational tool for profiling the composition of microbial communities (Bacteria, Archaea, Eukaryotes, and Viruses) from metagenomic shotgun sequencing data with species level resolution')
)
I searched and I couldn’t find anyone reporting the same issue, but I apologize in advance if this is a trivial question.
I’m not sure what I’m doing wrong here and any help will be much appreciated.
Many thanks,
Francesco