I’ve been trying to build a bowtie index and run q2-shogun plugin based on the directions in https://library.qiime2.org/plugins/q2-shogun/15/. But I was getting some errors and I tried to debug and found some issues. I think they’re bugs in the code.
At first, I created a bowtie index with some reference sequences and base name test_bt and when I run the following command:
qiime shogun nobunaga \
--i-query query_seq_v1.qza \
--i-reference-reads ref_seq.qza \
--i-reference-taxonomy ref_tax.qza \
--i-database test_bt.qza \
--o-taxa-table taxatable_v2.qza \
--verbose
I go this error -
Exception: Database /tmp/tmphrcjl3yb is not formatted correctly: Prefix not found: /tmp/tmphrcjl3yb/bowtie2/genomes.small not found
Apparently in the source code the base name for bowtie index is hard coded as genomes.small. So once I change the base name of bowtie index to genomes.small, that issue got resolved and I got another error.
Error: No such command "assign-taxonomy".
Traceback (most recent call last):
File "/home/sarath/anaconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/q2cli/commands.py", line 274, in __call__
results = action(**arguments)
File "</home/sarath/anaconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/decorator.py:decorator-gen-146>", line 2, in nobunaga
File "/home/sarath/anaconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/qiime2/sdk/action.py", line 231, in bound_callable
output_types, provenance)
File "/home/sarath/anaconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/qiime2/sdk/action.py", line 365, in _callable_executor_
output_views = self._callable(**view_args)
File "/home/sarath/anaconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/q2_shogun/_shogun.py", line 78, in nobunaga
_run_command(cmd)
File "/home/sarath/anaconda3/envs/qiime2-2019.1/lib/python3.6/site-packages/q2_shogun/_shogun.py", line 32, in _run_command
subprocess.run(cmd, check=True)
File "/home/sarath/anaconda3/envs/qiime2-2019.1/lib/python3.6/subprocess.py", line 418, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['shogun', 'assign-taxonomy', '-i', '/tmp/tmpwf6j8gx8/alignment.bowtie2.sam', '-d', '/tmp/tmpwf6j8gx8', '-o', '/tmp/tmpwf6j8gx8/taxatable.tsv', '-a', 'bowtie2']' returned non-zero exit status 2.
Plugin error from shogun:
Command '['shogun', 'assign-taxonomy', '-i', '/tmp/tmpwf6j8gx8/alignment.bowtie2.sam', '-d', '/tmp/tmpwf6j8gx8', '-o', '/tmp/tmpwf6j8gx8/taxatable.tsv', '-a', 'bowtie2']' returned non-zero exit status 2.
I checked the code and the function name is actually ‘assign_taxonomy’, but here its called as ‘assign-taxonomy’. And if I correct it, the code will work well.
It’d be nice if you can fix these issues.
Thanks,
Sarath