The NTRs of each sample might be systematically too small (or large). This function identifies such systematic deviations and computes labeling durations without systematic deviations.
CalibrateEffectiveLabelingTimeKineticFit(
data,
slot = DefaultSlot(data),
time = Design$dur.4sU,
time.name = "calibrated_time",
time.conf.name = "calibrated_time_conf",
CI.size = 0.95,
compute.confidence = FALSE,
n.estimate = 1000,
n.iter = 10000,
verbose = FALSE,
...
)
A new grandR object containing the calibrated durations in the column data annotation
A grandR object
The data slot to take expression values from
The column in the column annotation table representing the labeling duration
The name in the column annotation table to put the calibrated labeling durations
The name in the column annotation table to put the confidence values for the labeling durations (half-size of the confidence interval)
The level for confidence intervals
should CIs be computed or not?
the times are calibrated with the top n expressed genes
the maximal number of iterations for the numerical optimization
verbose output
forwarded to FitKinetics
There are many reasons why the nominal (wall-clock) time of 4sU labeling might be distinct from the effective labeling time. Most importantly, 4sU needs some time to enter the cells and get activated to be ready for transcription. Therefore, the 4sU concentration (relative to the U concentration) rises, based on observations, over the timeframe of 1-2h. GRAND-SLAM assumes a constant 4sU incorporation rate, i.e. specifically new RNA made early during the labeling is underestimated. This, especially for short labeling (<2h), the effective labeling duration might be significantly less than the nominal labeling duration.
It is impossible to obtain a perfect absolute calibration, i.e. all durations might be off by a factor.
FitKinetics