% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/module1_preqc.R
\name{calc_z_factor}
\alias{calc_z_factor}
\title{Z-factor per plate (sample-aware)}
\usage{
calc_z_factor(
  hts_raw,
  signal_col = "signal",
  nc_label = "NC",
  sample_label = "compound",
  z_factor_min = 0.5
)
}
\arguments{
\item{hts_raw}{An \code{hts_raw} object.}

\item{signal_col}{Name of the signal column. Default \code{"signal"}.}

\item{nc_label, sample_label}{Well-type labels for the negative control and
the test wells. Defaults \code{"NC"} and \code{"compound"}.}

\item{z_factor_min}{Acceptance threshold. Default \code{0.5}.}
}
\value{
A data frame with one row per plate: \code{plate_id}, \code{mean_sample},
\code{mean_nc}, \code{sd_sample}, \code{sd_nc}, \code{z_factor} and a logical \code{pass}.
}
\description{
The screening-window quality factor computed from the \strong{test-compound}
population against the negative control. \strong{What it is for:} unlike the
Z'-factor (controls only), the Z-factor tells you whether the assay window is
large enough relative to the spread of the actual library wells. Values above
\code{0.5} indicate an excellent screen and \code{0}--\code{0.5} a marginal one; it is
routinely low or negative in a single-point primary screen, because most
library compounds are inactive and therefore sit at the negative-control
level — that is expected, not a failure.
}
\examples{
calc_z_factor(read_hts_plate(hts_primary_raw))

}
\seealso{
\code{\link[=calc_z_prime]{calc_z_prime()}}, \code{\link[=calc_plate_qc]{calc_plate_qc()}}
}
