Load DistanceMatrix Artifact to DataFrame

Hi all,

I am trying to load DistanceMatrix Artifact to Pandas DataFrame:
Artifact.load(“jaccarddistancematrix.qza”).view(pd.DataFrame)

Exception: No transformation from <class ‘qiime2.plugin.model.directory_format.DistanceMatrixDirectoryFormat’> to <class ‘pandas.core.frame.DataFrame’>

Any suggestion on how to do it?

Thanks,
Marija

Hi @Marija_Durdevic,

Welcome to the forum!

You need to convert the distance matrix into a scikit-bio distance matrix object, and then you can convert to a dataframe from there:

import pandas as pd
from skbio import DistanceMatrix
from qiime2 import Artifact

jaccard_dm = Artifact.load(“jaccarddistancematrix.qza”).view(DistanceMatrix)
jaccard_df = jaccard_dm.to_data_frame()

Best,
Justine

1 Like

Hi jwdebelius,

Thanks for quick response!
Best,
Marija