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

58

Version

1.2.4

License

MIT + file LICENSE

Maintainer

John Reid

Last Published

October 5th, 2016

Functions in DeLorean (1.2.4)

aov.dl

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

Average across a parameters samples.
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.
anders.huber.cell.sizes

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

Centralises a periodic position into [period/2, period) by shifting by n*period, where n is an integer
alpha.for.rug

Calculate a suitable value for a rug plot given the number of points
calc.inducing.pseudotimes

Calculate inducing pseudotimes for sparse approximation
calc.roughness

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

Analyse variance of expression between and within capture times.
adjust.by.cell.sizes

Adjust the expression by the estimated cell sizes.
cov.calc.dl.dists

Calculate distances over estimated pseudotimes and test inputs.
cov.matern.32

Matern 3/2 covariance function
compile.model

Compile the model and cache the DSO to avoid unnecessary recompilation.
cmp.profiles.plot

Plot a comparison of the profiles from several de.lorean objects
cov.calc.dists

Calculate distances between vectors of time points
cov.periodise

Makes a distance periodic
cov.all.genes.conditioned

Calculate covariances for all genes when conditioned on data at estimated pseudotimes.
create.ordering.ll.fn

Calculate the covariance structure of evenly spread tau and create a function that calculates the log likelihood of orderings.
cov.calc.gene.conditioned

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

Calculate covariance structure for gene over pseudotimes and test inputs.
DeLorean

DeLorean.
dim.de.lorean

Dimensions of DeLorean object
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.
de.lorean.stylesheet

The filename of the R markdown stylesheet
estimate.hyper

Estimate hyperparameters for model using empirical Bayes.
estimate.cell.sizes

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

Initialise DeLorean object
default.num.cores

Default number of cores to use.
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
fit.model

Fit the model using specified method (sampling or variational Bayes).
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
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
fit.model.sample

Fit the model using Stan sampler
gaussian.condition

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

Filter genes
filter.cells

Filter cells
get.posterior.mean

Get posterior mean of samples
gene.covariances

Calculate the covariance structure of the tau
knit.report

Knit a report, the file inst/Rmd/<report.name>.Rmd must exist in the package directory.
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.
gp.log.marg.like

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

Use Magda's code to find good orderings
make.init.fn

Returns a function that constructs parameter settings with good tau.
make.fit.valid

Make a fit valid by running one iteration of the sampler.
held.out.posterior.by.variation

Order the genes by the variation of their posterior mean
make.predictions

Make predictions
held.out.posterior.filter

Filter the genes
held.out.select.genes

Select held out genes by those with highest variance
inducing.covariance

Calculate the covariance structure of the inducing points
mutate.profile.data

Mutate the profile data into shape compatible with GP plot function
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.
optimise.best.sample

Optimise the best sample and update the best.sample index.
pseudotimes.from.orderings

Convert best orderings into initialisations
pseudotime.plot

Plot pseudotime (tau) against observed capture time.
permuted.roughness

Permute cells and test roughness of expression.
report.file

The filename of the R markdown report.
pseudotimes.pair.plot

Plot two sets of pseudotimes against each other.
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.
ordering.invert

Invert the ordering
init.orderings.vs.pseudotimes.plot

Plot the orderings for initialisation against the estimated pseudotime.
gp.predictions.df

Convert the output of gp.predict() into a data.frame.
ordering.random.move

Randomly move one item in an ordering to another location
ordering.is.valid

Check that it is a valid ordering
is.de.lorean

Is a DeLorean object?
ordering.test.score

Test ordering score: sum every time consecutive items are in order.
plot.held.out.posterior

Plot the posterior of held out genes
plot.de.lorean

Various DeLorean object plots
roughness.of.sample

Calculate the roughness of the held out genes given the sample.
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.
roughness.test

Calculate roughnesses under fit samples and also under random permutations
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.random.block.move

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

Move one item in an ordering and shift the other items.
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.
tau.offsets.plot

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

Plot best sample predicted expression.
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.
test.fit

Test fit for log normal and gamma
find.good.ordering

Run a find good ordering method and append results to existing orderings
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.
held.out.posterior.join

Join with another data frame. Useful for adding gene names etc..
held.out.posterior

Calculate posterior covariance and estimate parameters for held out genes given pseudotimes estimated by DeLorean model.
marg.like.plot

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

Melt held out genes
ordering.maximise

Find a good ordering in the sense that some function is locally maximised.
melt.expr

Melt an expression matrix.
orderings.plot

Plot likelihoods of orderings against elapsed times taken to generate them
roughnesses.plot

Plot results of roughness test
plot.add.mean.and.variance

Add posterior representation to a plot.
partition.de.lorean

Partition de.lorean object by cells
plot.add.expr

Add expression data to a plot
print.de.lorean

Print details of DeLorean object
ordering.metropolis.hastings

Metropolis-Hastings on orderings.
prepare.for.stan

Prepare for Stan
seriation.find.orderings

Use seriation package to find good orderings
Rhat.plot

Plot the Rhat convergence statistics. examine.convergence must be called before this plot can be made.
roughness.of.permutations

Apply permutation based roughness test to held out genes
test.mh

Test ordering Metropolis-Hastings sampler.
test.robustness.de.lorean

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