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.
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
- csgraph_mod (modified version of csgraph) which you can install from here: https://github.com/soedinglab/csgraph_mod
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).
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.
Download an archive from github (for example the zip file) and unpack it, or pull the repository directly.
Install from source:
install.packages("/path/to/merlot/directory/", types="source", repos = NULL)
Install from github:
library(devtools)
install_github("soedinglab/merlot")