% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/linf.R
\name{asv.to.linf.csts}
\alias{asv.to.linf.csts}
\title{From counts to filtered, normalized, truncated dCSTs}
\usage{
asv.to.linf.csts(S.counts, ..., backend = c("auto", "dense", "sparse"))
}
\arguments{
\item{S.counts}{Numeric matrix of counts (samples x features).}

\item{...}{Arguments passed to \code{filter.asv()} (e.g., \code{min.lib},
\code{prev.prop}, \code{min.count}, \code{min.rel}).}

\item{backend}{Character. Matrix backend to use: \code{"auto"},
\code{"dense"}, or \code{"sparse"}.}
}
\value{
A list with:
\itemize{
\item \code{filter}: the full result from \code{filter.asv()}.
\item \code{linf.rel}: L-infinity-normalized matrix on filtered counts.
\item \code{csts}: result from \code{linf.csts()} on \code{linf.rel}.
}
}
\description{
Convenience pipeline: runs \code{filter.asv()} on counts, computes
L-infinity-normalized relatives on the filtered counts, and assigns
truncated dCSTs.
}
\examples{
set.seed(1)
S <- matrix(rpois(100, lambda = 5), nrow = 20, ncol = 5)
res <- asv.to.linf.csts(S, min.lib = 10, prev.prop = 0.1, min.count = 1)
names(res)
apply(res$linf.rel, 1, max)  # should be 1 (or 0 for all-zero rows)

}
