Coming from R

Coming from R#

Every public biotapy function names its R equivalent in its docstring. This table is generated from those lines each time the docs are built, plus a short list of phyloseq accessors that are plain AnnData/TreeData code (docs/_data/r_idioms.toml). Rows marked “not in 0.2” have no biotapy equivalent yet.

biotapy keeps samples as rows, so tdata.X is phyloseq’s otu_table with taxa_are_rows = FALSE. Functions return new objects instead of changing yours; tl functions store their result in the object only with inplace=True.

R

biotapy

ALDEx2::aldex

bt.da.aldex2

ANCOMBC::ancombc2

bt.da.ancombc2

ape::pcoa

bt.tl.pcoa

base::load

bt.io.read_phyloseq

base::readRDS

bt.io.read_phyloseq

biomformat::write_biom

bt.io.write_biom

maaslin3::maaslin3

bt.da.maaslin3

mia::agglomerateByRank

bt.pp.tax_glom

mia::importHUMAnN

bt.io.read_humann

mia::importMetaPhlAn

bt.io.read_metaphlan

mia::transformAssay

bt.pp.clr, bt.pp.philr, bt.pp.relative

MicrobiomeStat::linda

bt.da.linda

philr::philr

bt.pp.philr

phyloseq::distance

bt.tl.beta

phyloseq::estimate_richness

bt.tl.alpha

phyloseq::filter_taxa

bt.pp.filter_features

phyloseq::get_taxa_unique

tdata.var[rank].unique()

phyloseq::get_variable

tdata.obs[column]

phyloseq::import_biom

bt.io.read_biom

phyloseq::merge_samples

not in 0.2

phyloseq::nsamples

tdata.n_obs

phyloseq::ntaxa

tdata.n_vars

phyloseq::ordinate

bt.tl.nmds, bt.tl.pcoa

phyloseq::otu_table

tdata.X (samples x features)

phyloseq::phy_tree

tdata.vart["phylo"]

phyloseq::phyloseq

bt.io.read_dada2

phyloseq::plot_bar

bt.pl.bar

phyloseq::plot_heatmap

bt.pl.heatmap

phyloseq::plot_net

not in 0.2

phyloseq::plot_ordination

bt.pl.ordination

phyloseq::plot_richness

bt.pl.richness

phyloseq::plot_scree

bt.pl.scree

phyloseq::plot_tree

not in 0.2

phyloseq::prune_samples

tdata[keep].copy()

phyloseq::prune_taxa

tdata[:, keep].copy()

phyloseq::psmelt

not in 0.2

phyloseq::rank_names

tdata.var.columns

phyloseq::rarefy_even_depth

bt.pp.rarefy

phyloseq::refseq

tdata.var["sequence"], which only bt.io.read_dada2 fills

phyloseq::sample_data

tdata.obs

phyloseq::sample_names

tdata.obs_names

phyloseq::sample_sums

tdata.X.sum(axis=1)

phyloseq::sample_variables

tdata.obs.columns

phyloseq::subset_samples

tdata[tdata.obs["SampleType"] == "Feces"].copy()

phyloseq::subset_taxa

tdata[:, tdata.var["phylum"] == "Chlamydiae"].copy()

phyloseq::tax_glom

bt.pp.tax_glom

phyloseq::tax_table

tdata.var, one column per rank

phyloseq::taxa_names

tdata.var_names

phyloseq::taxa_sums

tdata.X.sum(axis=0)

phyloseq::tip_glom

not in 0.2

phyloseq::transform_sample_counts

bt.pp.relative

phyloseq::UniFrac

bt.tl.unifrac

picante::pd

bt.tl.alpha

qiime2R::qza_to_phyloseq

bt.io.read_qiime2

utils::data

bt.datasets.enterotype, bt.datasets.esophagus, bt.datasets.global_patterns

vegan::adonis2

bt.tl.permanova

vegan::decostand

bt.pp.clr

vegan::metaMDS

bt.tl.nmds