Hey @cmartino I wonder if you could make a python implementation that starts from a plain table instead of a biomformat? Would this be possible.
Sure, I don't think that would be much work. It will very likely slow things down though in I/O though, so be aware of that if you have a big dataset. Are you thinking just the API or is the CLI helpful too?
I would like the API mostly though. I would like to have pandas dataframe or numpy array and get the RPCA from there.
FWIW, you can currently pass a pandas dataframe into qiime2 via the Artifact.import_data function, pass that through DEICODE, and provide the skbio OrdinationResults object on the other side. (This is frequently my workflow). Although it still requires the QIIME 2 architecture underneath.
The python pass through between pandas and biom isn't super awful either (although I'm waiting for the biom.from_pandas kinda function.