inst/doc/BUMHMM.R

## ----style-knitr, eval=TRUE, echo=FALSE, results="asis"--------------------
BiocStyle::latex()

## --------------------------------------------------------------------------
suppressPackageStartupMessages({
    library(BUMHMM)
    library(Biostrings)
    library(SummarizedExperiment)
})
se

## --------------------------------------------------------------------------
controls <- se[, se$replicate == "control"]
head(assay(controls, 'coverage'))

## --------------------------------------------------------------------------
rowData(controls)[1:4,]

## --------------------------------------------------------------------------
colData(controls)

## --------------------------------------------------------------------------
pos <- 300
assay(controls, 'coverage')[pos, 1]
assay(controls, 'dropoff_count')[pos, 1]
assay(controls, 'dropoff_rate')[pos, 1]

## --------------------------------------------------------------------------
treatments <- se[, se$replicate == "treatment"]
assay(treatments, 'coverage')[pos, 1]
assay(treatments, 'dropoff_count')[pos, 1]
assay(treatments, 'dropoff_rate')[pos, 1]

## --------------------------------------------------------------------------
Nc <- Nt <- 3
t <- 1
nuclSelection <- selectNuclPos(se, Nc, Nt, t)
List(nuclSelection)

## --------------------------------------------------------------------------
t(combn(Nc, 2))

## --------------------------------------------------------------------------
length(nuclSelection$analysedC[[1]])
length(nuclSelection$analysedCT[[1]])

## --------------------------------------------------------------------------
## Medians of original drop-off rates in each replicate
apply(assay(se, 'dropoff_rate'), 2, median)

## Scale drop-off rates
assay(se, "dropoff_rate") <- scaleDOR(se, nuclSelection, Nc, Nt)

## Medians of scaled drop-off rates in each replicate
apply(assay(se, 'dropoff_rate'), 2, median)

## --------------------------------------------------------------------------
stretches <- computeStretches(se, t)

## --------------------------------------------------------------------------
head(stretches)
assay(se, 'dropoff_count')[1748,]

## --------------------------------------------------------------------------
varStab <- stabiliseVariance(se, nuclSelection, Nc, Nt)
LDR_C <- varStab$LDR_C
LDR_CT <- varStab$LDR_CT

hist(LDR_C, breaks = 30, main = 'Null distribution of LDRs')

## --------------------------------------------------------------------------
nuclNum <- 3
patterns <- nuclPerm(nuclNum)
patterns

## --------------------------------------------------------------------------
## Extract the DNA sequence
sequence <- subject(rowData(se)$nucl)
sequence
nuclPosition <- findPatternPos(patterns, sequence, '+')
patterns[[1]]
head(nuclPosition[[1]])

## --------------------------------------------------------------------------
nuclPosition <- list()
nuclPosition[[1]] <- 1:nchar(sequence)

## Start of the stretch
nuclPosition[[1]][1]
## End of the stretch
nuclPosition[[1]][length(nuclPosition[[1]])]

## --------------------------------------------------------------------------
posteriors <- computeProbs(LDR_C, LDR_CT, Nc, Nt, '+', nuclPosition,
                             nuclSelection$analysedC, nuclSelection$analysedCT,
                             stretches)

## --------------------------------------------------------------------------
head(posteriors)

## --------------------------------------------------------------------------
shifted_posteriors <- matrix(, nrow=dim(posteriors)[1], ncol=1)
shifted_posteriors[1:(length(shifted_posteriors) - 1)] <-
  posteriors[2:dim(posteriors)[1], 2]

## --------------------------------------------------------------------------
plot(shifted_posteriors, xlab = 'Nucleotide position',
     ylab = 'Probability of modification',
     main = 'BUMHMM output for 18S DMS data set')

## ----eval=FALSE------------------------------------------------------------
#  ## Call the function with the additonal tolerance parameter
#  posteriors <- computeProbs(LDR_C, LDR_CT, Nc, Nt, '+', nuclPosition,
#                             nuclSelection$analysedC, nuclSelection$analysedCT,
#                             stretches, 0.001)

## --------------------------------------------------------------------------
sessionInfo()

Try the BUMHMM package in your browser

Any scripts or data that you put into this service are public.

BUMHMM documentation built on Nov. 8, 2020, 5:13 p.m.