The classify-consensus-vsearch
method actually has very good accuracy, similar to classify-sklearn
. It uses vsearch for global alignment to a reference database (the same one used for training a naive bayes classifier), followed by an LCA consensus assignment in QIIME2 — so it isn't just a basic global alignment classifier.
Honestly, it is probably better to stick with vsearch for your case, where there are two issues to overcome for the sklearn classifier:
- reads in mixed orientations
- a mixture of primers. It sounds like these effectively cover most of the 16S rRNA gene, so the pre-trained full-length 16S classifier would be your best best. You will not be able to capture the slight accuracy boost that comes from training to the specific primer sites.
I hope that helps!