analyze
analyze runs analyses with documented methods: chromatographic peaks, chromatograms, NMR peaks, patch-clamp features, extracellular spikes, qPCR, plate assays and flow-cytometry gating.
openreadout analyze <SUBCOMMAND> [OPTIONS] <FILE>...| subcommand | what it returns | guide |
|---|---|---|
peaks |
detected and integrated peaks; bands and regions of spectra | Quantitation |
chromatogram |
TIC, BPC, XIC, SRM/MRM and stored detector traces | Quantitation |
nmr-peaks |
NMR peak list and integrals | NMR |
ephys-features |
action potentials, rheobase, f–I curve, passive properties | Electrophysiology |
spikes |
extracellular spike counts, rates and times | Electrophysiology |
qpcr |
Cq, Tm, ΔΔCq, standard curves | qPCR formats |
assay |
plate-reader wells, curves, dose-response, kinetics, growth, QC | Plate analysis |
gate |
FlowJo or Gating-ML gate hierarchy and population counts | FlowJo workspaces |
Every subcommand takes --json. The guides describe the methods and how they were validated. To run any of these over many files as one table, use batch.
peaks and chromatogram
openreadout analyze peaks [OPTIONS] <FILE>...openreadout analyze chromatogram [OPTIONS] <FILE>...Both take the flags in Several inputs.
Which signal (both)
--tic: total-ion chromatogram. The default for mass-spectrometry files.--bpc: base-peak chromatogram.--mz MZ: extracted-ion chromatogram at this m/z. Repeatable or comma-separated.--ppm PPM: XIC half-width in ppm. Default 10.--da DA: XIC half-width in m/z units instead.--transition Q1>Q3: SRM/MRM transition. Repeatable.--transition-tol DA: Q1 and Q3 tolerance. Default 0.5.--trace N: a stored chromatogram or detector signal (UV/DAD, FID, TCD), bytraces[]index. Repeatable. The default for files with traces and no spectra.--channel C: channel of--trace, such as one wavelength of a DAD.--sweep N: sweep of--trace. Default 0.--run N: spectra run index. Default 0.--ms-level N: MS level of the scans. Default 1.--polarity positive|negative: only scans of this polarity.--scan-filter TEXT: only scans whose filter contains this text.--precursor MZ: only MS/MS scans of this precursor (a product-ion XIC with--mz).--precursor-tol DA: precursor tolerance. Default 0.5.--rt-range A-B: retention-time range in minutes.--mz-range A-B: TIC or BPC over this m/z range only.--profile: use profile data where a scan stores both profile and centroids.--aggregate sum|max: how points inside an XIC window are combined. Defaultsum.
chromatogram only
--max-points N: at most this many points per chromatogram. Default: all.-o,--output FILE: write.csv,.parquet,.arrowor a.png/.jpgplot. One input only.--width N: plot width in pixels. Default 1200.--overwrite: replace an existing output file.
peaks only
--smooth N: Savitzky–Golay window in points. Default: half the typical peak width.--min-snr S/N: detection threshold as height over noise. Default 3.--min-height H: detection threshold in signal units.--min-width MIN: smallest width at half height, in minutes.--min-points N: fewest samples from peak start to end. Default 3.--baseline auto|drop|valley|tangent|linear|none: baseline under detected peaks (defaultauto), or under--x-range/--integratewindows (defaultlinear).--skim-ratio R: with--baseline tangent, skim a peak when its height is below this fraction of its neighbour’s. Default 0.1.--noise SIGMA: noise level in signal units, instead of the estimate.--baseline-window MIN: window of the running baseline that decides where peaks end.--area-seconds: report areas in signal × seconds instead of signal × minutes.--rt MIN: report the peak at this expected retention time.--window MIN: half-width of the--rtwindow, and of--targetscompounds without their own. Default 0.5 min.--pick largest|nearest: which peak in the window to report. Defaultlargest.--integrate A-B: integrate between two retention times with a straight baseline. Repeatable.--x-range A:B: integrate a window of the trace’s own axis (cm⁻¹, nm, ppm; minutes on a chromatogram). Repeatable.--targets FILE: compound list (CSV, TSV or JSON) withnameandmz,q1+q3ortrace, and optionallyrt,windowand tolerances. One row per compound per file.-o,--output FILE: write the rows of every input to one.csv,.tsvor.jsonlfile.--plot FILE|DIR: plot the chromatograms with the integrated peaks shaded.--width N: plot width in pixels. Default 1200.--overwrite: replace existing output files.
openreadout analyze chromatogram run.raw --mz 195.0877 --ppm 5 -o xic.csvopenreadout analyze peaks run.D --rt 3.1 --window 0.2 --plot peaks.pngopenreadout analyze peaks spectrum.0 --x-range 980:1060 --x-range 1350:1525nmr-peaks
openreadout analyze nmr-peaks [OPTIONS] <FILE>The input is a Bruker experiment directory, a Varian .fid directory, a JEOL .jdf or a JCAMP-DX NMR spectrum.
--from auto|fid|processed: use the vendor’s processed spectrum, or process the FID here.autoprefers the stored spectrum.--trace N: trace index. Default: chosen by--from.--sweep N: row of aseror arrayed FID to process. Default 0.--phase MODE:default,stored,auto,magnitude,none, orP0,P1in degrees.--lb HZ: exponential line broadening. Default: stored, else 0.3 Hz for 1H and 1 Hz otherwise.--gb HZ: Gaussian line width instead.--size N: transform size in complex points (a power of two).--baseline MODE:default,noneorpoly:N.--no-group-delay: keep the digital-filter group delay.--min-snr X: minimum peak height in noise SDs. Default 10.--min-prominence X: minimum prominence in noise SDs. Default 5.--min-height-fraction F: minimum height as a fraction of the tallest point. Default 0.--negative: also report negative peaks (DEPT, APT).--range A:B: only pick peaks between two shifts, in ppm.--max-peaks N: keep at most this many peaks. Default 1000.--integrate A:B: integrate a region in ppm. Repeatable.--integral-reference I=V: normalize integrals so that region I equals V. Default0=1.
The --process-* flags of trace, export and preview take the same values as --phase, --lb, --size and --baseline.
openreadout analyze nmr-peaks sample/1 --integrate 7.5:7.0 --integrate 3.8:3.6ephys-features
openreadout analyze ephys-features [OPTIONS] <FILE>--trace N: trace index. Default 0.--channel N: channel index. Default: the first voltage channel, else the first current channel.--sweeps LIST: sweeps to analyse, such as0,3,5-9. Default: all.--peak-threshold MV: voltage a spike must cross upward. Default −20 mV.--dvdt-threshold V_PER_S: dV/dt that defines spike onset. Default 10 V/s.--max-spikes N: rows in the per-spike table. Default 25 with--json, every spike with--csv.--csv sweeps|spikes|fi: print one tidy table as CSV instead.
openreadout analyze ephys-features cell.abf --csv fi > fi.csvspikes
openreadout analyze spikes [OPTIONS] <FILE>--trace N: trace index; pick the broadband stream. Default 0.--channels LIST: channels, such as0-3,7. Default: all.--sweeps LIST: sweeps or segments. Default: all.--band LOW:HIGH: band-pass in Hz (zero-phase Butterworth). Default300:6000.--order N: Butterworth order. Default 5.--threshold K: threshold in noise units (noise = median(|x|)/0.6745). Default 5.--sign neg|pos|both: spike polarity. Defaultneg.--exclude-ms MS: a spike must be the extreme within this many ms on either side. Default 0.1.--max-seconds S: analyse only the first S seconds of each sweep.--max-times N: spike times listed per channel. Default 1000.
qpcr
openreadout analyze qpcr [OPTIONS] <FILE>The input is an RDML file (also a LightCycler 96 .lc96p), an Applied Biosystems .eds, a Rotor-Gene .rex or a LightCycler 480 .ixo.
--well WELL,--target TARGET,--sample SAMPLE,--run RUN: only these records.--cq: also compute a threshold Cq for every curve and compare it with the vendor’s.--threshold T: with--cq, the threshold in baseline-corrected units.--baseline START-END: with--cq, the baseline window in cycles.--ddcq: relative quantification (2^−ΔΔCq) per sample and target.--reference TARGET: ΔΔCq reference target. Repeatable. Default: the file’s.--control SAMPLE: ΔΔCq calibrator sample. Default: the file’s.--standard-curve: fit a standard curve per target (slope, R², efficiency).--max-records N: return at most this many records.--undetermined-as CQ: count wells without a Cq at this value in means and ΔΔCq. Default: leave them out and count them.
openreadout analyze qpcr plate.eds --ddcq --reference GAPDH --control untreatedassay
openreadout analyze assay <wells|curve|dose-response|kinetics|growth|qc> [OPTIONS] <FILE>wells: per-well values with roles, blank subtraction, replicate statistics and outlier flags.curve: fit a standard curve and back-calculate every well’s concentration.dose-response: fit a 4PL or 5PL per compound: IC50/EC50 with confidence interval, Hill slope, top, bottom.kinetics: per-well max slope, lag time, time to max, mean slope and AUC.growth: per-well growth rate, doubling time, lag time and a logistic fit.qc: Z′, signal/background, signal/noise, SSMD and CVs from the control wells.
The input is a plate-reader export or a long CSV with well and value columns.
Flags of every assay subcommand
--layout CSV: plate layout: a plate-map grid or a long table with awellcolumn.--no-embedded-layout: ignore the layout the export embeds.--blank WELLS,--positive WELLS,--negative WELLS,--empty WELLS: mark wells (H1,H2orH1:H12).--role NAME=ROLE: role of the wells a layout names NAME, such as--role DMSO=negative. Repeatable.--table N: plate index. Default 0.--read READ: read to analyse, by 1-based number or label. Default: the first measured read.--wavelength NM: the wavelength of a spectral read.--blank-subtraction auto|mean|median|none: defaultauto.--outliers grubbs|mad|none: outlier test within replicate groups. Defaultgrubbs.--outlier-threshold X: alpha (Grubbs) or modified z-score (MAD).--exclude-outliers: leave flagged outliers out of means, fits and controls.--csv PREFIX: write tidy CSV tables toPREFIX.wells.csv,PREFIX.samples.csvand so on.--overwrite: replace existing output files.
Flags of some assay subcommands
--reduce first|last|max|min|mean|max-slope|mean-slope|auc:wells,curve,dose-response,qc: how a kinetic read becomes one value per well.--window N: points per window, for--reduce max-slopeor forkineticsandgrowth.--normalize none|controls:wells,dose-response,qc: percent effect between the negative (0 %) and positive (100 %) controls.--model linear|4pl|5pl:curve,dose-response. Default4pl.--weighting none|1/y|1/y2|1/x|1/x2:curve,dose-response. Defaultnone.--confidence C:curve,dose-response: confidence level. Default 0.95.--preview PNG:curve,dose-response: draw the points and the fit.--standard WELLS=CONC:curve: standard wells and their concentration. Repeatable.--fit-on replicates|means:curve. Defaultreplicates.--lloq X,--uloq X:curve: limits of quantification. Default: from the standards’ recovery.--wells WELLS:kinetics,growth: only these wells.--threshold OD:growth: values at or below this are left out of the log-scale fit.
$ openreadout analyze assay curve assay-synth-elisa-5pl.csv --layout assay-synth-elisa-5pl-layout.csv --model 5plassay-synth-elisa-5pl.csv — curve of read 1 `OD450`layout: assay-synth-elisa-5pl-layout.csv (blank 2, sample 80, standard 14)blank: mean of 2 wells = 0.0647
standard curve: 5pl [y = d + (a - d) / (1 + (x/c)^b)^g], fit on replicates, weighting none… R² 0.99992, n 14, levels 7, range 15.625–1000, LLOQ 15.625, ULOQ 1000gate
openreadout analyze gate [OPTIONS] [FILE]...Without an FCS file, the gating file is described (samples, compensation, transforms, the gate tree) without counts.
--workspace WSP: FlowJo 10 workspace (.wsp).--gatingml XML: Gating-ML 2.0 document.--sample NAME: workspace sample. Default: the sample whose name or file matches FILE.--population PATH: report only this population and its descendants. Repeatable.--median PARAMETER: report each population’s median of this parameter (Comp-NAMEfor compensated values). Repeatable or comma-separated.--table N: FCS data set index. Default 0.
Several FCS files, a directory or a glob give one table with a row per file and population. gate takes the flags in Several inputs and the batch table flags.
openreadout analyze gate sample.fcs --workspace analysis.wspopenreadout analyze gate fcs/ --workspace analysis.wsp --median Comp-FITC-A -o populations.csvJSON
peaks, chromatogram, nmr-peaks, ephys-features, spikes, qpcr, assay, gate.
Run openreadout analyze <subcommand> --help for the full help of your installed version.