Plugin error from feature-classifier: pop from empty list

Hello

I have been making my own classifier without problems until today. I believe that the problem is not the classifier but the representative file, but I don't understand why.

Anyway, when I run this command:

training-feature-classifiers francescademartini$ qiime feature-classifier classify-sklearn --i-classifier /Users/francescademartini/Desktop/Projects/Illumina_library_prep/Illumina_run_July_17/DATA/saperate_projects/C_gestroi/qiime2_analisis/training-feature-classifiers/classifier.qza  --i-reads rep-seqs.qza --o-classification taxonomy.qza

This error comes out:

Plugin error from feature-classifier:

  pop from empty list

Debug info has been saved to /var/folders/vp/82ql4ngd04bgbdmvxcmb7rb80000gq/T/qiime2-q2cli-err-u_6k_2us.log

Attached you find the log file generated.
If I use the same classifier for another rep-seqs.qza it works just fine, which makes me believe that the problem is with this rep-seqs.qza, but I opened it and to me, it looks absolutely identical to the others that I generated before.

What do you think? thank you so much for your help

Francesca

qiime2-q2cli-err-u_6k_2us.txt (3.3 KB)

Hello Francesca,
Thank you for reporting this issue. Could you please provide us with a copy of your rep-seqs.qza file to help us debug this issue?

Yes sure!

Thank you so much for your help,

Francescarep-seqs.qza (22.2 KB)

Thanks @Nicholas_Bokulich, @ranocchia.

@ranocchia, could you please also post your classifier.qza, or, better, the steps that you used to generate it?

I have tried to reproduce your error using

qiime feature-classifier classify-sklearn --i-reads rep-seqs.qza --i-classifier gg-13-8-99-nb-classifier.qza --o-classification result.qza

with a standard classifier, but it runs to completion without error (although the resulting classifications are not so good).

@Nicholas_Bokulich and @BenKaehler, thank you so much for looking into this.

These data are 18S, so that would explain why the classification results are bad using green genes.
This is what I have done so far:
First of all, I imported my custom taxonomy and reference files, then I used these steps to make the classifier.qza:

qiime feature-classifier extract-reads --i-sequences Para_Oxy.qza --p-f-primer GCYGCGGTAATWCCAGCTCT --p-r-primer TGCNCTTCCGTCAATTYCTT --o-reads ref-seqs.qza

I have quite a bit of variability in my read length so I tried with and without putting the --p-trunc-len option, in both cases, I get the same error.

The funny thing is that when I use this same classifier with another set of data it works. But also when I use this ref-seqs.qza file for any other task works.
I really don't know what is going on and what I am doing wrong.
Attached the classifier.

Thank you so so much for helping me!
Francesca
classifier.qza (422.4 KB)

Hi @ranocchia,

The problem appears to be an incomplete taxonomy.

We assume that every taxonomy is complete to the same level, but yours appears to have one that is specified as

k_Eukaryota; p_Parabasalia; c_Hypotrichomonadea; o_Hypotrichomonadida; f_Hypotrichomonadidae; g_Trichomitus sp.

without a species level classification. I can’t check your taxonomy file directly, but that is what it looks like from the classifier.

So, you could either edit your taxonomy file to add a species for g_Trichomitus (I note that there is another entry for g_Trichomitus with s_unclassified, if that is helpful) or use the following command:

qiime feature-classifier classify-sklearn --i-reads rep-seqs.qza --i-classifier classifier.qza --o-classification result.qza --p-confidence -1 --p-read-orientation same

The second option skips the part where we need the species-level classification for g_Trichomitus, but forgoes confidence estimation and filtering.

Please don’t hesitate to follow up if you have any more questions.

3 Likes

Bug report is being tracked here:

2 Likes

Thank you very much!

I will fix it and re-run them. I really appreciate the help

3 Likes

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.