Error in using Pre-trained SILVA classifier

(UGG) #1

Hi,

I have downloaded the pre-trained SILVA classifier ( Silva 132 99% OTUs from 515F/806R region of sequences (MD5: 9f50514214ffb6fee9d2f87a47a51076 ) available in: https://docs.qiime2.org/2019.4/data-resources/

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…
Regards

(UGG) #2

I have solved the issue, the problem was the --verbose flag, when I removed it it worked… But not sure why using this flag produced such error though…

1 Like
(Matthew Ryan Dillon) assigned ebolyen #3
(Evan Bolyen) #4

Hi @UGG,

Thank you for the report and providing the steps+data!

I can reproduce this locally as well, and this is super-not-supposed-to-happen. I’m going to spend a bit debugging it and I will report back shortly.

Thank you!

(Evan Bolyen) #5

Ok update on what’s going on:

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.

1 Like
(Evan Bolyen) unassigned ebolyen #6
(Evan Bolyen) #7

Issue to track this here:

(UGG) #8

Thank you very much for this detailed explanation… :slightly_smiling_face:

(Jana Greta) #9

Hi all,

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
Artifact (.qza)

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? :eyes:

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 :wink: :bar_chart:

Thanks a lot!!

(Nicholas Bokulich) assigned ebolyen #10
(Evan Bolyen) #11

Hi @Jana_Greta,

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!

1 Like
(Evan Bolyen) unassigned ebolyen #12
(Jana Greta) #13

Hello and sorry to keep bothering,

I think I’ll have to disappoint, I didn’t type a wrong path unfortunately, to confirm here is my history:

Plus, my colleague also got the same error message. But I agree, perhaps a problem for another time :wink:

(Evan Bolyen) assigned ebolyen #14
(Evan Bolyen) #15

Ah my mistake then, it appears our forum software automatically adds the ellipses.

Well, there’s a few more options as to what is going on, so that I have a bearing on where you are in your filesystem, could you (from the same position as before), run:

pwd

and then also

ls ../../

If we do see the classifiers there, what does qiime tools peek say on those files, and additionally does qiime tools validate report anything on those files?

Also as a final shot in the dark, what does:

df -lh

say?

(Evan Bolyen) unassigned ebolyen #16