Learn R Programming

⚠️There's a newer version (1.5.0) of this package.Take me there.

DeLorean

R package to model time series accounting for noise in the temporal dimension. Specifically designed for single cell transcriptome experiments.

Requirements

To render the vignettes you will need a working version (> 1.12.3) of pandoc on your machine with the pandoc-citeproc filter. On Ubuntu do:

sudo apt-get install pandoc pandoc-citeproc

Installation from CRAN

Just run the following in an R session:

install.packages('DeLorean')

Installation from source

If you prefer to have the very latest version you can install DeLorean from source. If you do not already have devtools installed, then install it by running:

install.packages('devtools')

Now you can install the development version of DeLorean with:

devtools::install_github('JohnReid/DeLorean')

Documentation

Read the vignette:

vignette('DeLorean')

Copy Link

Version

Install

install.packages('DeLorean')

Monthly Downloads

13

Version

1.2.5

License

MIT + file LICENSE

Maintainer

John Reid

Last Published

July 4th, 2017

Functions in DeLorean (1.2.5)

adjust.by.cell.sizes

Adjust the expression by the estimated cell sizes.
alpha.for.rug

Calculate a suitable value for a rug plot given the number of points
analyse.noise.levels

Analyse noise levels and assess which genes have the greatest ratio of temporal variance to noise. This are labelled as the 'gene.high.psi' genes.
analyse.variance

Analyse variance of expression between and within capture times.
avg.par.samples

Average across a parameters samples.
calc.inducing.pseudotimes

Calculate inducing pseudotimes for sparse approximation
anders.huber.cell.sizes

Estimate the cell sizes according to Anders & Huber Differential expression analysis for sequence count data
aov.dl

Perform an analysis of variance to select genes for the DeLorean model.
DeLorean

DeLorean.
Rhat.plot

Plot the Rhat convergence statistics. examine.convergence must be called before this plot can be made.
cov.calc.dl.dists

Calculate distances over estimated pseudotimes and test inputs.
cov.calc.gene

Calculate covariance structure for gene over pseudotimes and test inputs.
de.lorean

Initialise DeLorean object
cov.all.genes.conditioned

Calculate covariances for all genes when conditioned on data at estimated pseudotimes.
cov.calc.dists

Calculate distances between vectors of time points
estimate.cell.sizes

Estimate the cell sizes. We only consider genes that are expressed in a certain proportion of cells.
estimate.hyper

Estimate hyperparameters for model using empirical Bayes.
cov.calc.gene.conditioned

Calculate covariance for gene over test inputs when conditioned on data at estimated pseudotimes.
cov.matern.32

Matern 3/2 covariance function
examine.convergence

Analyse the samples and gather the convergence statistics. Note this only makes sense if a sampling method was used to fit the model as opposed to variational Bayes.
expected.sample.var

The expected within sample variance of a Gaussian with the given covariance.
expr.data.plot

Plot the expression data by the capture points
filter.cells

Filter cells
fit.model

Fit the model using specified method (sampling or variational Bayes).
fit.model.sample

Fit the model using Stan sampler
held.out.posterior.join

Join with another data frame. Useful for adding gene names etc..
calc.roughness

Calculate the roughness of the vector. The roughness is the RMS of the differences between consecutive points.
centralise

Centralises a periodic position into [period/2, period) by shifting by n*period, where n is an integer
default.num.cores

Default number of cores to use.
cmp.profiles.plot

Plot a comparison of the profiles from several de.lorean objects
compile.model

Compile the model and cache the DSO to avoid unnecessary recompilation.
cov.periodise

Makes a distance periodic
create.ordering.ll.fn

Calculate the covariance structure of evenly spread tau and create a function that calculates the log likelihood of orderings.
de.lorean.stylesheet

The filename of the R markdown stylesheet
filter.genes

Filter genes
filter_cells

Filter cells
gp.log.marg.like

The log marginal likelihood. See "2.3 Varying the Hyperparameters" on page 19 of Rasmumssen and Williams' book.
gp.predict

Predictive mean, variance and log marginal likelihood of a GP. See "2.3 Varying the Hyperparameters" on page 19 of Rasmumssen and Williams' book.
dim.de.lorean

Dimensions of DeLorean object
filter_genes

Filter genes
find.best.tau

Find best tau to initialise chains with by sampling tau from the prior and using empirical Bayes parameter estimates for the other parameters.
gene.covariances

Calculate the covariance structure of the tau
get.posterior.mean

Get posterior mean of samples
held.out.posterior.by.variation

Order the genes by the variation of their posterior mean
held.out.posterior.filter

Filter the genes
kouno.expr

Kouno et al. investigated the transcriptional network controlling how THP-1 human myeloid monocytic leukemia cells differentiate into macrophages. They provide expression values for 45 genes in 960 single cells captured across 8 distinct time points.
make.fit.valid

Make a fit valid by running one iteration of the sampler.
inducing.covariance

Calculate the covariance structure of the inducing points
init.orderings.vs.pseudotimes.plot

Plot the orderings for initialisation against the estimated pseudotime.
make.init.fn

Returns a function that constructs parameter settings with good tau.
find.good.ordering

Run a find good ordering method and append results to existing orderings
find.smooth.tau

Find best order of the samples assuming some smooth GP prior on the expression profiles over this ordering.
fit.model.vb

Fit the model using Stan variational Bayes
gaussian.condition

Condition a Guassian on another. See Eqn. A.6 on page 200 of Rasmumssen and Williams' book.
fit.dl

Perform all the steps necessary to fit the model. - prepare the data - compile the model - find suitable initialisations - fit the model using the specified method (sampling or variational Bayes) - process the posterior.
fit.held.out

Fit held out genes
gp.predictions.df

Convert the output of gp.predict() into a data.frame.
guo.expr

Single cell expression data and meta data from Guo et al. (2012). They investigated the expression of 48 genes in 500 mouse embryonic cells.
ordering.move

Move one item in an ordering and shift the other items.
ordering.random.block.move

Randomly move a block in an ordering to another location
permute.df

Permute a data frame, x. If group.col is given it should name an ordered factor that the order of the permutation should respect.
make.predictions

Make predictions
ordering.random.move

Randomly move one item in an ordering to another location
ordering.test.score

Test ordering score: sum every time consecutive items are in order.
process.posterior

Process the posterior, that is extract and reformat the samples from Stan. We also determine which sample has the highest likelihood, this is labelled as the 'best' sample.
held.out.select.genes

Select held out genes by those with highest variance
marg.like.plot

Plot posterior for marginal log likelihoods of individual gene's expression profiles
melt.expr

Melt an expression matrix.
ordering.maximise

Find a good ordering in the sense that some function is locally maximised.
is.de.lorean

Is a DeLorean object?
knit.report

Knit a report, the file inst/Rmd/<report.name>.Rmd must exist in the package directory.
mutate.profile.data

Mutate the profile data into shape compatible with GP plot function
ordering.metropolis.hastings

Metropolis-Hastings on orderings.
plot.de.lorean

Various DeLorean object plots
plot.held.out.posterior

Plot the posterior of held out genes
report.file

The filename of the R markdown report.
test.robustness.de.lorean

Test robustness of pseudotime estimation on subsets of de.lorean object
windram.expr

Windram et al. investigated the defense response in Arabidopsis thaliana to the necrotrophic fungal pathogen Botrytis cinerea. They collected data at 24 time points in two conditions for 30336 genes.
profiles.plot

Plot best sample predicted expression.
seriation.find.orderings

Use seriation package to find good orderings
tau.offsets.plot

Plot the tau offsets, that is how much the pseudotimes (tau) differ from their prior means over the full posterior.
optimise.best.sample

Optimise the best sample and update the best.sample index.
orderings.plot

Plot likelihoods of orderings against elapsed times taken to generate them
partition.de.lorean

Partition de.lorean object by cells
pseudotimes.pair.plot

Plot two sets of pseudotimes against each other.
held.out.melt

Melt held out genes
held.out.posterior

Calculate posterior covariance and estimate parameters for held out genes given pseudotimes estimated by DeLorean model.
ordering.block.move

Move a block in an ordering and shift the other items.
ordering.improve

Improve the ordering in the sense that some function is maximised.
ordering.invert

Invert the ordering
ordering.is.valid

Check that it is a valid ordering
prepare.for.stan

Prepare for Stan
print.de.lorean

Print details of DeLorean object
roughness.of.permutations

Apply permutation based roughness test to held out genes
roughness.of.sample

Calculate the roughness of the held out genes given the sample.
test.fit

Test fit for log normal and gamma
test.mh

Test ordering Metropolis-Hastings sampler.
permuted.roughness

Permute cells and test roughness of expression.
roughness.test

Calculate roughnesses under fit samples and also under random permutations
roughnesses.plot

Plot results of roughness test
plot.add.expr

Add expression data to a plot
plot.add.mean.and.variance

Add posterior representation to a plot.
pseudotime.plot

Plot pseudotime (tau) against observed capture time.
pseudotimes.from.orderings

Convert best orderings into initialisations