Plug-in error with feature-table filter-seqs & QIIME2 version variability?

Is it possible that your Feature IDs in your FeatureTable[Frequency] don't match the Feature IDs in your FeatureData[Sequence]? You can check this by running summarize on the FeatureTable[Frequency] and tabulate-seqs on the FeatureData[Sequence] and comparing the Feature IDs listed in the two locations.

Alternatively, you can perform this check using the QIIME 2 Artifact API in python:

import qiime2
import pandas as pd

table_fp = 'my_path/table-nonchimeric-wo-borderline.qza'
seqs_fp = 'my_path/rep-seqs-nonchimeric-wo-borderline.qza'

table_artifact = qiime2.Artifact.load(table_fp)
seqs_artifact = qiime2.Artifact.load(seqs_fp)

table_df = table_artifact.view(pd.DataFrame)
seqs_srs = seqs_artifact.view(pd.Series)

table_ids = set(table_df.columns)
seqs_ids = set(seqs_srs.index)

print(len(table_ids & seqs_ids))

The final statement should show you some IDs in that intersection. If not, now you know where the problem is.

EDIT - I forgot to mention, you'll also want to double-check this on the filtered table, as well as the unfiltered one.

4 Likes