Skip to content

Commit

Permalink
Merge pull request #288 from mvfki/newObj
Browse files Browse the repository at this point in the history
GitHub Actions Workflows
  • Loading branch information
mvfki authored Mar 30, 2023
2 parents 28d3e59 + 185112b commit 8551398
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 74 deletions.
37 changes: 32 additions & 5 deletions .github/workflows/r.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
38 changes: 19 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
<img src="img/liger_cropped.png" width="150">
<img src="https://github.com/mvfki/liger/raw/newObj/inst/extdata/logo.png" width="120">

[![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:

Expand All @@ -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)

Expand Down Expand Up @@ -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:
```
Expand All @@ -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
Expand All @@ -122,25 +122,25 @@ 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/.

### 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:
```
Expand All @@ -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:
```
Expand All @@ -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`.
Expand Down
50 changes: 0 additions & 50 deletions appveyor.yml

This file was deleted.

Binary file added inst/extdata/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 8551398

Please sign in to comment.