However when I use it directly in feature-classifier, I got this error:
(1/2) Invalid value for "--i-classifier": 'silva-132-99-515-806-nb-classifier.qza' is not a QIIME 2 Artifact (.qza)
(2/2) Invalid value for "--i-reads": 'rep-seqs.qza' is not a QIIME 2 Artifact (.qza)
Here is the command:
qiime feature-classifier classify-sklearn --i-classifier silva-132-99-515-806-nb-classifier.qza --i-reads rep-seqs.qza --o-classification taxonomy.qza --verbose
I have obtained rep-seqs.qza file from dada2 and I was able to obtain taxonomy.qza file when I used Greengenes classifier (downloaded from the same link above) with the same rep-seq.qza file.
I could not figure out what the problem is. I am working on workstation, so dont have memory problem. I have also checked the scikit-learn version as 0.20.2 since I am using qiime2-2019.04 version.
I am attaching my rep-seqs.qza file as well: rep-seqs.qza (94.1 KB)
What I notice is that the MD5 written in the paranthesis in SILVA pre-trained classifier (9f50514214ffb6fee9d2f87a47a51076) is not listed in the checksums.md5 file. I dont know if this is the problem though.
I will be really happy if you could help me to resolve this problem..
After a couple restarts and editing /etc/fstab I was able to track down the issue:
When /tmp doesn’t have enough room to extract the artifact, we end up with an out-of-space error. Unfortunately the handler in charge of loading artifacts doesn’t differentiate between that and any other kind of error when loading the artifact, so it presumes that the file must not be an artifact. It turns out I can make this same error with or without the verbose flag, so that looks to be a red herring (fortunately, as it’s code runs quite a ways after these handlers finish, so it shouldn’t have anything to do with this).
In short, an out-of-space error is hiding as a not-an-artifact error, which is a bummer.
Thanks again for reporting and having the steps to reproduce! I’ll make sure this gets fixed for the next release.
I have a similar problem when I am using my own SILVA classifier (which I know works perfectly fine) with my rep-seqs.qza file (which I know is a qiime2 artifact indeed). I’m running it on a LINUX sever at our institute, which should also work with the code I provide.
I’m now using the latest version of qiime (2019.4) and at first I thought the error I get was due to the fact that I made the rep-seqs using an older version of qiime2, or because I’m using it on the sever and had to rsync it over and somehow it messed with the history/provenance of the qza file.
So the error is this:
(1/2) Invalid value for “–i-classifier”: ‘…/…/classifier_silva97.qza’ is
not a QIIME 2 Artifact (.qza)
(2/2) Invalid value for “–i-reads”: ‘…/16S-rep-seqs.qza’ is not a QIIME 2
And sorry if I’m repeating @UGG’s question but I was just wondering if the 2019.4. version which just came out was supposed to fix this? Is there another way to go around that problem?
I’d really appreciate any help, I’m a bit out of ideas here and would really like to run my classification sooner rather than later
Sorry for the inconvenience here, I think your classifier is almost certainly fine, rather the filepath is incorrect in some way (this error message is a bit of a regression in 2019.4, it’s already been fixed for the next release).
Looking closely, I see that you have provided .../ to move up a directory instead of ../ (3 dots vs 2). I bet if you change those paths to use 2 dots instead q2cli will suddenly find your files and be completely fine with them!