Skip to contents

Reads the setup metadata (from assignReactions()) and produces per-student Excel files with simulated absorbance vs. time data. Each student receives both inhibited and uninhibited conditions in one sheet. The true inhibition type remains in the instructor metadata.

Usage

generateAssignments(
  run_timestamp,
  project_path = getOption("maudr.project_path", "."),
  verbose = TRUE,
  cuv_vol = 0.003,
  eps = 6220,
  enz_vol = 0.1,
  substr_conc = c(0, 10, 20, 40, 80, 160),
  time_vec = c(0.17, 0.33, 0.5, 0.66, 0.83, 1),
  use_jitter = TRUE,
  jitter_sd = 0.02
)

Arguments

run_timestamp

Timestamp string (YYYY-MM-DD_HHMM) from assignReactions().

project_path

Path to the top-level project folder (defaults to the path registered by initialiseProject(), falling back to ".").

verbose

Logical; show progress messages (default TRUE).

cuv_vol

Cuvette volume in litres (default 0.003).

eps

Extinction coefficient (default 6220).

enz_vol

Enzyme volume in millilitres (default 0.1).

substr_conc

Vector of substrate concentrations in mM.

time_vec

Vector of reaction time points in minutes.

use_jitter

Logical; add random noise to absorbances (default TRUE).

jitter_sd

Numeric; SD of additive noise if use_jitter = TRUE (default 0.02, i.e. ±2% variability).

Value

Invisibly returns TRUE after writing all student assignment files and updating metadata.

Details

Random measurement noise ("jitter") is optionally applied per student in a reproducible way based on the run seed and student ID.