Very long runtime (>20 hours) for feature-classifier extract-reads with SILVA 138.2 in QIIME 2 2026.4

Hello,

I am experiencing an unusually long runtime when running qiime feature-classifier extract-reads with SILVA 138.2 on QIIME 2 2026.4.

My command is:

qiime feature-classifier extract-reads \
  --i-sequences silva-138.2-dna-seqs.qza \
  --p-f-primer CCTACGGGNGGCWGCAG \
  --p-r-primer GACTACHVGGGTATCTAATCC \
  --p-max-length 600 \
  --o-reads silva-138.2-99-V3V4.qza

Environment

  • QIIME 2: 2026.4
  • Python: 3.12.13
  • OS: Ubuntu on WSL2
  • CPU: Intel Core i9
  • RAM: 80 GB

Input data

The reference sequences were generated using RESCRIPt:

qiime rescript reverse-transcribe \
  --i-rna-sequences silva-138.2-seqs.qza \
  --o-dna-sequences silva-138.2-dna-seqs.qza

The input artifact contains approximately 510,495 sequences.

What I observed

  • Running the same command on a test dataset containing only 100 sequences finishes within a few seconds.
  • On the full dataset, the process continues for more than 20 hours.
  • During execution:
    • CPU usage stays around 100–103%
    • Memory usage remains stable at about 1.2 GB
    • I/O wait is 0%
    • No output artifact (silva-138.2-99-V3V4.qza) is created while the process is running.
  • Using --verbose does not produce any progress messages.

Current process status:

ELAPSED   21:53:02
%CPU      102
TIME      22:26:53
RSS       1244088 KB

Disk space and memory are sufficient.

Question

Is this runtime expected for approximately 510k SILVA sequences, or could this indicate a performance issue in feature-classifier extract-reads in QIIME 2 2026.4?

Has anyone observed similar behavior?

Thank you for any suggestions.

Additional information:
I tested the exact same input artifact and command on a Mac (QIIME 2 2026.4), and feature-classifier extract-reads completed successfully in a reasonable amount of time. The issue only occurs on my Ubuntu WSL2 environment, where the process runs for over 20 hours with ~100% CPU utilization and no output produced.

If you want to post the artifacts to the forum publicly, we can take a look at the history and see what could have caused this.

I also have run Qiime2 using WSL2 and using a Mac, and I find the mac to be much faster!


Oh, there's a function of rescript that does this with vsearch and it's much faster! It's even multi-threaded, so make sure to use that too!

Try that and report back:

Hi Colin,

Thank you for your suggestion.

I prepared a zip file containing the input artifacts and environment information:

  • command.txt
  • conda-list.txt
  • cpu-info.txt
  • md5sum.txt
  • qiime-info.txt
  • silva-138.2-dna-seqs.qza
  • silva-138.2-seqs.qza

The file is available here:

The download link will be available for one week.

Could you please take a look at the artifacts and let me know if you can identify what might be causing the issue on my WSL2 environment?

Thank you very much for your help.

Thank you for this detailed information!

I was able to get this working on my laptop. Full writeup on GitHub:

Remarkably, the vsearch accelerated rescript extract-seq-segments takes just as long as the built-in feature-classifier extract-reads feature, at about 5 minutes each.

EDIT: I'm not sure I really answered your question as this also works on your mac. I don't have access to my WSL2 machine, right now! I'll have to check later or wait for someone else to test this on WSL2

Hi Colin,

I tried the rescript extract-seq-segments approach, and it worked perfectly.

In the end, I wasn't able to get feature-classifier extract-reads to work, so I'll use the RESCRIPt approach instead.

Thanks so much for your helpful suggestion!