diff --git a/.github/workflows/r.yml b/.github/workflows/r.yml
index 5eef6cf4..65d982ff 100644
--- a/.github/workflows/r.yml
+++ b/.github/workflows/r.yml
@@ -19,26 +19,53 @@ permissions:
jobs:
build:
- runs-on: macos-latest
+ runs-on: ${{ matrix.config.os }}
+
+ name: ${{ matrix.config.os }} (${{ matrix.config.r }})
+
strategy:
+ fail-fast: false
matrix:
- r-version: ['4.1.1']
+ config:
+ - {os: macOS-latest, r: 'release'}
+ - {os: windows-latest, r: 'release'}
+ - {os: ubuntu-latest, r: 'release'}
+
env:
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
+
steps:
- uses: actions/checkout@v3
- - name: Set up R ${{ matrix.r-version }}
- uses: r-lib/actions/setup-r@f57f1301a053485946083d7a45022b278929a78a
+
+ - name: Set up R ${{ matrix.r }}
+ uses: r-lib/actions/setup-r@v2
with:
- r-version: ${{ matrix.r-version }}
+ r-version: ${{ matrix.config.r }}
+ http-user-agent: ${{ matrix.config.http-user-agent }}
+ use-public-rspm: true
+
+ - name: Install library on Linux
+ if: runner.os == 'Linux'
+ run: |
+ sudo apt-get install libhdf5-dev
+ sudo apt-get install libglpk-dev
+
- name: Install dependencies
run: |
install.packages(c("remotes", "rcmdcheck"))
remotes::install_deps(dependencies = TRUE)
shell: Rscript {0}
+
- name: Check
run: rcmdcheck::rcmdcheck(args = "--no-manual", error_on = "warning")
shell: Rscript {0}
+
+ - name: Run codecov
+ run: |
+ install.packages("covr")
+ covr::codecov()
+ shell: Rscript {0}
+
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v3
diff --git a/README.md b/README.md
index 5f145676..1e9a3eea 100644
--- a/README.md
+++ b/README.md
@@ -1,13 +1,13 @@
-
+
-[![Build Status](https://api.travis-ci.com/welch-lab/liger.svg?branch=master)](https://api.travis-ci.com/welch-lab/liger.svg?branch=master)
+[![R](https://github.com/mvfki/liger/actions/workflows/r.yml/badge.svg?branch=newObj)](https://github.com/mvfki/liger/actions/workflows/r.yml)[![codecov](https://codecov.io/gh/mvfki/liger/branch/newObj/graph/badge.svg?token=77TTU4GY8A)](https://codecov.io/gh/mvfki/liger)
# LIGER (Linked Inference of Genomic Experimental Relationships)
-LIGER (installed as `rliger` ) is a package for integrating and analyzing multiple single-cell datasets, developed by the Macosko lab and maintained/extended by the Welch lab. It relies on integrative non-negative matrix factorization to identify shared and dataset-specific factors.
+LIGER (installed as `rliger` ) is a package for integrating and analyzing multiple single-cell datasets, developed by the Macosko lab and maintained/extended by the Welch lab. It relies on integrative non-negative matrix factorization to identify shared and dataset-specific factors.
Check out our [Cell paper](https://www.cell.com/cell/fulltext/S0092-8674%2819%2930504-5) for a more complete description of the methods and analyses. To access data used in our SN and BNST analyses, visit our [study](https://portals.broadinstitute.org/single_cell/study/SCP466) on the
-Single Cell Portal.
+Single Cell Portal.
LIGER can be used to compare and contrast experimental datasets in a variety of contexts, for instance:
@@ -18,28 +18,28 @@ LIGER can be used to compare and contrast experimental datasets in a variety of
* Across species (e.g., mouse and human)
* Across modalities (e.g., scRNAseq and spatial transcriptomics data, scMethylation, or scATAC-seq)
-Once multiple datasets are integrated, the package provides functionality for further data exploration,
+Once multiple datasets are integrated, the package provides functionality for further data exploration,
analysis, and visualization. Users can:
-* Identify clusters
+* Identify clusters
* Find significant shared (and dataset-specific) gene markers
* Compare clusters with previously identified cell types
* Visualize clusters and gene expression using t-SNE and UMAP
-We have also designed LIGER to interface with existing single-cell analysis packages, including
+We have also designed LIGER to interface with existing single-cell analysis packages, including
[Seurat](https://satijalab.org/seurat/).
## Feedback
Consider filling out our [feedback form](https://forms.gle/bhvp3K6tiHwf976r8) to help us improve the functionality and accessibility of LIGER.
## Usage
-For usage examples and guided walkthroughs, check the `vignettes` directory of the repo.
+For usage examples and guided walkthroughs, check the `vignettes` directory of the repo.
* [Iterative Single-Cell Multi-Omic Integration Using Online iNMF](http://htmlpreview.github.io/?https://github.com/welch-lab/liger/blob/master/vignettes/online_iNMF_tutorial.html)
* [Integrating unshared features with UINMF](http://htmlpreview.github.io/?https://github.com/welch-lab/liger/blob/master/vignettes/UINMF_vignette.html)
* [scATAC and scRNA Integration using unshared features (UINMF)](http://htmlpreview.github.io/?https://github.com/welch-lab/liger/blob/master/vignettes/SNAREseq_walkthrough.html)
* [Cross-species Analysis with UINMF](http://htmlpreview.github.io/?https://github.com/welch-lab/liger/blob/master/vignettes/cross_species_vig.html)
-* [Performing Parameter Selection](http://htmlpreview.github.io/?https://github.com/welch-lab/liger/blob/master/vignettes/Parameter_selection.html)
+* [Performing Parameter Selection](http://htmlpreview.github.io/?https://github.com/welch-lab/liger/blob/master/vignettes/Parameter_selection.html)
* [Integrating spatial transcriptomic and transcriptomic datasets using UINMF](https://www.dropbox.com/s/ho62az1kshj59d2/STARmap_dropviz_vig.html?dl=0) (Click to Download)
* [Integrating Multiple Single-Cell RNA-seq Datasets](http://htmlpreview.github.io/?https://github.com/welch-lab/liger/blob/master/vignettes/Integrating_multi_scRNA_data.html)
@@ -92,9 +92,9 @@ Installation from CRAN is easy because pre-compiled binaries are available for W
1. Install gfortran as suggested [here](https://gcc.gnu.org/wiki/GFortranBinaries)
2. Download clang4 from this [page](https://mac.R-project.org/libs/clang-4.0.0-darwin15.6-Release.tar.gz)
-3. Uncompress the resulting zip file and type into Terminal (`sudo` if needed):
+3. Uncompress the resulting zip file and type into Terminal (`sudo` if needed):
```
-mv /path/to/clang4/ /usr/local/
+mv /path/to/clang4/ /usr/local/
```
4. Create `.R/Makevars` file containing following:
```
@@ -111,9 +111,9 @@ For example, use the following Terminal commands:
```
cd ~
mkdir .R
-cd .R
+cd .R
nano Makevars
-```
+```
Paste in the required text above and save with `Ctrl-X`.
### Additional Installation Steps for Online Learning using LIGER
@@ -122,7 +122,7 @@ The HDF5 library is required for implementing online learning in LIGER on data f
| System | Command
|:------------------------------------------|:---------------------------------|
|**OS X (using Homebrew or Conda)** | `brew install hdf5` or `conda install -c anaconda hdf5`
-|**Debian-based systems (including Ubuntu)**| `sudo apt-get install libhdf5-dev`
+|**Debian-based systems (including Ubuntu)**| `sudo apt-get install libhdf5-dev`
|**Systems supporting yum and RPMs** | `sudo yum install hdf5-devel`
For Windows, the latest HDF5 1.12.0 is available at https://www.hdfgroup.org/downloads/hdf5/.
@@ -130,17 +130,17 @@ For Windows, the latest HDF5 1.12.0 is available at https://www.hdfgroup.org/dow
### Detailed Instructions for FIt-SNE Installation
Note that the runUMAP function (which calls the `uwot` package) also scales to large datasets and does not require additional installation steps.
However, using FIt-SNE is recommended for computational efficiency if you want to perform t-SNE on very large datasets.
-Installing and compiling the necessary software requires the use of git, FIt-SNE, and FFTW. For a
+Installing and compiling the necessary software requires the use of git, FIt-SNE, and FFTW. For a
basic overview of installation, visit this [page](https://github.com/KlugerLab/FIt-SNE).
-Basic installation for most Unix machines can be achieved with the following commands after downloading
+Basic installation for most Unix machines can be achieved with the following commands after downloading
the latest version of FFTW from [here](http://www.fftw.org/). In the fftw directory, run:
```
./configure
make
make install
```
-(Additional [instructions](http://www.fftw.org/fftw3_doc/Installation-and-Customization.html) if
+(Additional [instructions](http://www.fftw.org/fftw3_doc/Installation-and-Customization.html) if
necessary).
Then in desired directory:
```
@@ -149,7 +149,7 @@ 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.
+Use the output of `pwd` as the `fitsne.path` parameter in runTSNE.
Note that the above instructions require root access. To install into a specified folder (such as your home directory) on a server, use the `--prefix` option:
```
@@ -172,7 +172,7 @@ The expected run time is 1 - 4 hours depending on dataset size and downstream an
The `rliger` package provides a small sample dataset for basic demos of the functions. You can find it in folder `liger/tests/testdata/small_pbmc_data.RDS`.
We also provide a set of scRNA-seq and scATAC-seq datasets for real-world style demos. These datasets are as follows:
-
+
* scRNA data from control and interferon-stimulated PBMCs. Raw data provided by [Kang, et.al., 2017](https://www.nature.com/articles/nbt.4042); The datasets were downsampled by applying the sample function without replacement yield 3000 cells for each matrix. You can download downsampled data from [here](https://www.dropbox.com/sh/u94ib3dkf9pb6nd/AABemvnxDgKDGRs8Ek5QGlXWa?dl=0):
+ `PBMC_control.RDS`;
+ `PBMC_interferon-stimulated.RDS`.
diff --git a/appveyor.yml b/appveyor.yml
deleted file mode 100644
index 81686c4b..00000000
--- a/appveyor.yml
+++ /dev/null
@@ -1,50 +0,0 @@
-# DO NOT CHANGE the "init" and "install" sections below
-
-# Download script file from GitHub
-init:
- ps: |
- $ErrorActionPreference = "Stop"
- Invoke-WebRequest http://raw.github.com/krlmlr/r-appveyor/master/scripts/appveyor-tool.ps1 -OutFile "..\appveyor-tool.ps1"
- Import-Module '..\appveyor-tool.ps1'
-install:
- - ps: Bootstrap
-
-# Adapt as necessary starting from here
-
-environment:
- global:
- R_ARCH: x64
- USE_RTOOLS: true
- BIOC_USE_DEVEL: "FALSE"
- _R_CHECK_FORCE_SUGGESTS_: false
- CRAN: "https://cloud.r-project.org"
-
-build_script:
- - travis-tool.sh install_deps
- - travis-tool.sh bioc_install S4Vectors
-
-test_script:
- - travis-tool.sh run_tests
-
-on_failure:
- - 7z a failure.zip *.Rcheck\*
- - appveyor PushArtifact failure.zip
-
-artifacts:
- - path: '*.Rcheck\**\*.log'
- name: Logs
-
- - path: '*.Rcheck\**\*.out'
- name: Logs
-
- - path: '*.Rcheck\**\*.fail'
- name: Logs
-
- - path: '*.Rcheck\**\*.Rout'
- name: Logs
-
- - path: '\*_*.tar.gz'
- name: Bits
-
- - path: '\*_*.zip'
- name: Bits
diff --git a/inst/extdata/logo.png b/inst/extdata/logo.png
new file mode 100755
index 00000000..5e78868c
Binary files /dev/null and b/inst/extdata/logo.png differ