Uses the results of analyzeRLFS to predict whether a sample is "POS" (robust R-loop mapping) or "NEG" (poor R-loop mapping). See details.
predictCondition(object, rlfsRes = NULL, ...)
An RLRanges object with analyzeRLFS already run.
Ignored if rlfsRes
is provided.
If object not supplied, provide the rlfsRes list which is
obtained from rlresult(object, "rlfsRes")
.
Internal use only.
An RLRanges object with predictions accessible via
rlresult(object, "predictRes")
.
The results object is a named list
of the structure:
Features
A tbl
with three columns that describe the engineered features used
for prediction:
feature
: the name of the feature (see details).
raw_value
: The raw value of that feature in the supplied object.
processed_value
: The normalized value of that feature after
preprocessing (see details).
Criteria
The four criteria which must all be TRUE
to render a
prediction of "POS" (see details).
prediction
The final prediction. "POS" indicates robust R-loop mapping, "NEG" indicates poor R-loop mapping.
Following R-loop forming sequences (RLFS) analysis, the quality model (see RLHub::models) is implemented for predicting the sample condition in coordination with other results from analyzeRLFS. A prediction of “POS” indicates robust R-loop mapping, whereas “NEG” indicates poor R-loop mapping. The succeeding sections describe this process in greater detail.
First, the binary classifier is applied, yielding a preliminary prediction of quality. This is accomplished via the following steps:
Calculate the Fourier transform of the Z-score distribution (see analyzeRLFS).
Reduce the dimensions to the engineered feature set (see table below).
Apply the preprocessing model (see RLHub::models) to normalize these features
Apply the classifier (see RLHub::models) to render a quality prediction.
Abbreviations: Z, Z-score distribution; ACF, autocorrelation function; FT, Fourier Transform.
feature | description |
Z1 | mean of Z |
Z2 | variance of Z |
Zacf1 | mean of Z ACF |
Zacf2 | variance of Z ACF |
ReW1 | mean of FT of Z (real part) |
ReW2 | variance of FT of Z (real part) |
ImW1 | mean of FT of Z (imaginary part) |
ImW2 | variance of FT of Z (imaginary part) |
ReWacf1 | mean of FT of Z ACF (real part) |
ReWacf2 | variance of FT of Z ACF (real part) |
ImWacf1 | mean of FT of Z ACF (imaginary part) |
ImWacf2 | variance of FT of Z ACF (imaginary part) |
The results from the binary classifier are combined with other results from
analyzeRLFS to yield a final prediction. To yield a prediction of “POS”
all the following must be TRUE
:
The RLFS Permutation test P value is significant (p < .05). Stored as
PVal Significant
in the results object.
The Z-score distribution at 0bp is > 0. Stored as ZApex > 0
in
the results object.
The Z-score distribution at 0bp is > the start and the end. Sored as
ZApex > ZEdges
in the results object.
binary The classifier predicts a label of “POS”. Stored as
Predicted 'POS'
in the results object.
# Example data with analyzeRLFS already run
rlr <- readRDS(system.file("extdata", "rlrsmall.rds", package = "RLSeq"))
# predict condition
rlr <- predictCondition(rlr)
#> see ?RLHub and browseVignettes('RLHub') for documentation
#> see ?RLHub and browseVignettes('RLHub') for documentation
# With rlfsRes
predRes <- predictCondition(rlfsRes = rlresult(rlr, "rlfsRes"))
#> see ?RLHub and browseVignettes('RLHub') for documentation
#> see ?RLHub and browseVignettes('RLHub') for documentation