phymapnet

PhyMapNet: phylogeny-aware microbial network inference with optional hyperparameter-ensemble edge reliability.

Installation

install.packages("phymapnet")

# Development version, after the GitHub repository is available:
# install.packages("remotes")
remotes::install_github("USERNAME/PhyMapNet")

Quick start

library(phymapnet)
library(ape)

# otu: samples x taxa matrix (rownames=samples, colnames=taxa)
# tree: phylo object with tip labels = taxa, or a named phylogenetic distance matrix

fit <- phymapnet_fit(
  otu, tree,
  alpha = 0.05, k = 5,
  epsilon1 = 0.1, epsilon2 = 0.1,
  kernel = "gaussian",
  th_sparsity = 0.95,
  normalization = "log"
)

res <- phymapnet_reliability(
  otu, tree,
  th_fixed = 0.95,
  kernels = c("gaussian"),
  normalizations = c("log"),
  consensus_cut = 0.5
)

# Outputs:
# res$rel_mat, res$consensus_mat, res$edge_list

Notes

otu should be a samples x taxa matrix with sample row names and taxa column names. The second input may be an ape::phylo object with tip labels matching the taxa names, or a named symmetric phylogenetic distance matrix with zero diagonal.

# DIS: named taxa x taxa phylogenetic distance matrix
res_dis <- phymapnet_reliability(
  otu, DIS,
  kernels = c("gaussian"),
  normalizations = c("log"),
  progress = FALSE
)

The revised paper public normalization options are "log", "clr", and "tss"; GMPR is not part of this revised package interface.