/merlot

Reconstruct the lineage topology of a scRNA-seq differentiation dataset.

Primary LanguageHTMLGNU General Public License v3.0GPL-3.0

MERLot: A MEthod for Reconstructing Lineage tree Topologies using scRNA-seq data

MERLot is a tool that can reconstruct the lineage tree topology that explains the emergence of different cell types from a progenitor population. MERLot is an R package than can reconstruct complex lineage tree topologies using coordinates for cells in a given manifold(like diffusion maps) as input.

Get ready

1) Python Dependencies:

MERLoT consists of 1 part written in Python, which is distributed with the R package for which the following packages need to be installed. Take into account that MERLoT uses python 3.

  • scipy
  • pandas
  • python3-tk
  • numpy
  • cython

In case you install packages via pip you can simply do: sudo pip3 install scipy pandas python3-tk numpy cython

NOTE: In case you don’t have a standard python3 installation, e.g you installed it using anaconda, when using the package you will need to set the location of your working python3 binary in the python_url variable in the ScaffoldTree() function. By default it is set to “/usr/bin/python3” (See the Vignette Section, ScaffoldTree() function, for more information).

2) R Dependencies:

MERLoT depends on certain R packages in order to work properly. Most of the packages can be installed either via CRAN (with the install.packages() function) or via Bioconductor.

  • car
  • rgl
  • rpgraph
  • igraph
  • fields

with cran: install.packages(c("car", "rgl", "igraph", "fields"))

The Destiny package for creating diffusion maps was one of the dinmensionality reduction techniques we used in order to reconstruct lineage tree topologies in a low dimensional manifold.

The destiny package as well as how to install it and use it can be found here

Optional packages:

  • energy (needed for finding differentially expressed genes)
  • VGAM

Rpgraph can be installed following the instructions from the developer's site.

The steps can be summarized in: install.packages(pkgs = "rJava", repos="http://rforge.net", type = 'source')

For rJava you have to have Java installed in your system. You can install default-jre, open jdk

install.packages("devtools") library(devtools) install.packages(c("bigpca", "irlba", "nsprcomp", "plotly","fields", "igraph", "rgl", "tictoc"))

You might be required to installed the following system libraries: libudunits2-dev, mesa-common-dev, libglu1-mesa-dev, and zlib1g-dev.

3) Download The Rpackage files

Download an archive from github (for example the zip file) and unpack it, or pull the repository directly.

4) Install MERLoT

Install from source:

install.packages("/path/to/merlot/directory/", types="source", repos = NULL)

Install from github:

library(devtools)

install_github("soedinglab/merlot")