liger) is a package for integrating and analyzing multiple single-cell datasets, developed and maintained by the Macosko lab. It relies on integrative non-negative matrix factorization to identify shared and dataset-specific factors.
LIGER can be used to compare and contrast experimental datasets in a variety of contexts, for instance:
Once multiple datasets are integrated, the package provides functionality for further data exploration, analysis, and visualization. Users can:
We have also designed LIGER to interface with existing single-cell analysis packages, including Seurat.
Read our preprint for a more complete description of the methods and to see examples of other analyses.
For usage examples and guided walkthroughs, check the
vignettes directory of the repo.
liger is written in R and has a few other system requirements (Java) and recommended packages (umap in Python). To install the most recent development version, follow these instructions:
java -versioninto Terminal or CommandPrompt.
install.packages('devtools') library(devtools) install_github('MacoskoLab/liger')
Installing RcppArmadillo on R>=3.4 requires Clang >= 4 and gfortran-6.1. Follow the instructions below if you have R version 3.4.0-3.4.4. These instructions (using clang4) may also be sufficient for R>=3.5 but for newer versions of R, it’s recommended to follow the instructions in this post.
mv /path/to/clang4/ /usr/local/
.R/Makevarsfile containing following:
# The following statements are required to use the clang4 binary CC=/usr/local/clang4/bin/clang CXX=/usr/local/clang4/bin/clang++ CXX11=/usr/local/clang4/bin/clang++ CXX14=/usr/local/clang4/bin/clang++ CXX17=/usr/local/clang4/bin/clang++ CXX1X=/usr/local/clang4/bin/clang++ LDFLAGS=-L/usr/local/clang4/lib
For example, use the following Terminal commands:
cd ~ mkdir .R cd .R nano Makevars
Paste in the required text above and save with
If installing natively is difficult, you can run
liger through our Docker image (available
publically), which also comes with Rstudio and Seurat (v2) installed.
docker run -d -p 8787:8787 docker.io/vkozareva/sc-liger:latest
ligerand all of its dependencies are already installed in this environment.
If you wish to access local files in this container (mounting to
/data) modify the command as follows:
docker run -d -v /path/to/local/directory:/data -p 8787:8787 docker.io/vkozareva/sc-liger:latest
Note that you will have to stop the container if you wish to allocate port 8787 to another application later on. Further Docker documentation can be found here.
Using FIt-SNE is recommended for computational efficiency when using runTSNE on very large datasets. Installing and compiling the necessary software requires the use of git, FIt-SNE, and FFTW. For a basic overview of installation, visit this page.
Basic installation for most Unix machines can be achieved with the following commands after downloading the latest version of FFTW from here. In the fftw directory, run:
./configure make make install
(Additional instructions if necessary). Then in desired directory:
git clone https://github.com/KlugerLab/FIt-SNE.git cd FIt-SNE g++ -std=c++11 -O3 src/sptree.cpp src/tsne.cpp src/nbodyfft.cpp -o bin/fast_tsne -pthread -lfftw3 -lm pwd
Use the output of
pwd as the
fitsne.path parameter in runTSNE.