% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/module1_preqc.R
\name{calc_ssmd}
\alias{calc_ssmd}
\title{SSMD per plate (strictly standardised mean difference)}
\usage{
calc_ssmd(
  hts_raw,
  signal_col = "signal",
  nc_label = "NC",
  pc_label = "PC",
  ssmd_min = 2
)
}
\arguments{
\item{hts_raw}{An \code{hts_raw} object.}

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

\item{nc_label, pc_label}{Well-type labels for the negative and positive
controls. Defaults \code{"NC"} and \code{"PC"}.}

\item{ssmd_min}{Acceptance threshold applied to \code{abs(ssmd)}. Default \code{2}.}
}
\value{
A data frame with one row per plate: \code{plate_id}, \code{mean_nc},
\code{mean_pc}, \code{sd_nc}, \code{sd_pc}, \code{ssmd} and a logical \code{pass}. The sign of
\code{ssmd} follows \code{mean_nc - mean_pc}.
}
\description{
The mean control difference divided by the pooled control spread. \strong{What it
is for:} SSMD is the effect-size measure of control separation, and it is
the statistically principled companion to the Z'-factor for setting hit
cut-offs. Its magnitude grades the assay — roughly \verb{|SSMD|} \verb{>= 2} is
excellent, \code{1}--\code{2} good and \verb{< 1} weak — independent of the number of
control replicates.
}
\examples{
calc_ssmd(read_hts_plate(hts_primary_raw))

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