Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Cytosol API

cdk.instruments.platereader, cdk.analysis.cytosol — plate reader

Overview

Loading, transforming and fitting plate reader data.

from cdk.instruments.platereader import load_platereader_data

The plate reader half of the CDK uses an immutable object API. Loading gives you an object that carries its own metadata, and each transform returns a new object, leaving the original unchanged. The transform history travels with the data, so a plot can label its own axes from the transforms that produced it.

ModuleRole
loader / loadersFile → PlateReaderResult. Loaders self-register by extension; BioTek is currently the only one.
resultPlateReaderResult and PlateReaderData — the core objects.
transformsThe pure reference-application core behind blank and normalize.
kineticsKinetics — per-group curve fits and their plots.
standardcurveStandardCurve — a fitted, invertible calibration curve.
legacyThe pre-refactor function-based pipeline, preserved verbatim.

Loading

load_platereader_data(data_file, platemap_file=None, platereader=None)

The data objects

PlateReaderResult — a sequence of read blocks.

PlateReaderResult.take(which=None, *, modality=None)

PlateReaderData — one read block: a long-form frame, a format, and a lineage.

Transforms

PlateReaderData.blank(blank_name="Blank", *, window=...)

PlateReaderData.normalize(standard_name, *, window=..., group_by=())

PlateReaderData.ratio(numerator_read, denominator_read, *, name=None)

PlateReaderData.standardize(curve)

Selecting rows

PlateReaderData.select(*, well=None, read=None, read_name=None, modality=None, name=None, type=None)

Fitting

PlateReaderData.fit_kinetics(data_column=None, fit_function_name="sigmoid_drift", group_by=..., completion_threshold=0.95)

PlateReaderData.fit_standard_curve(*, known, standard_name="Standard", model="linear", data_column=None)

Kinetics results

Kinetics.plot(...), Kinetics.plot_data(...), Kinetics.plot_summary(...), Kinetics.plot_response(x, y, ...)

Plotting data

PlateReaderData.plot(...), PlateReaderData.plot_plate(...)

Platemaps

load_platemap(path, sep=","), validate_platemap(df), merge_platemap(data, platemap)

Legacy API

cdk.instruments.platereader.legacy — DataFrame-in / DataFrame-out. Reach for it when you need the rolling-window steady-state analysis or the wider instrument set (Envision, Glomax) that the object API does not cover yet.