Expand description
Two-colour within-array normalization. Port of limma’s MA.RG
(RGList -> MAList), RG.MA (the inverse), and normalizeWithinArrays
for the deterministic intensity-dependent methods none/median/loess/
printtiploess. The composite/control methods (which call R’s stats::loess
restricted to control spots) and robustspline (normalizeRobustSpline) are
out of scope for this pure-Rust statistical port.
Structs§
- Printer
Layout - Print-tip layout:
ngrid_r * ngrid_ctip groups, each printingnspot_r * nspot_cspots. Spots are laid out as contiguous row blocks, one block per tip, so blocktoccupies rows[t*nspots, (t+1)*nspots).
Enums§
- Within
Array Method - Intensity-dependent within-array normalization method. Mirrors the
deterministic subset of limma’s
normalizeWithinArraysmethodchoices.
Functions§
- ma_
from_ rg MA.RG: convert foreground/background red–green intensities to an(M, A)pair. Each channel is background-corrected withmethod/offset(delegating tobackground_correct_matrix; therb/gbbackground matrices may be absent), non-positive corrected intensities becomeNaN, and thenM = log2 R - log2 G,A = (log2 R + log2 G) / 2.- normalize_
within_ arrays normalizeWithinArrayson the(M, A)matrix path; returns the normalizedMmatrix (Ais unchanged).weightsis an optional fulln_probes x n_arraysweight matrix — expand a vector beforehand withcrate::weights::as_matrix_weightsto match limma’sasMatrixWeights.layoutis required forWithinArrayMethod::PrintTipLoess.spananditerationsfollow limma’s defaults of0.3and4.- rg_
from_ ma RG.MA: inverse ofma_from_rgon already-(M, A)data, withR = 2^(A + M/2)andG = 2^(A - M/2).