GithubHelp home page GithubHelp logo

bioturing / signac Goto Github PK

View Code? Open in Web Editor NEW
20.0 6.0 6.0 23.99 MB

An analytics package for single cell data

Home Page: https://signac.bioturing.com

License: Other

R 31.15% C++ 68.59% Shell 0.06% C 0.21%
single-cell single-cell-rna-seq single-cell-analysis

signac's Introduction

CI

Signac - A versatile package for Single-cell RNA-Seq analysis

We introduce Signac, a versatile R package to facilitate the analysis workflow for single-cell data. It helps to find marker genes faster and more accurate, search for cells with similar expression profiles, integrate multiple datasets in the BioTuring Browser database (know more about BioTuring Browser), etc. For users with a limited computational resource, we provide the helper functions to exercise all analyses for the large-scale datasets from disk. Because of its speed and flexibility, it can be adapted to any existing R analysis pipeline to help explore single-cell data more efficient.

This package can also be used as the reference for the computational methods used in BioTuring Browser software.

24/06/2019

Please visit this blog to read about Venice, a fast and accurate method for finding marker genes, which is incorporated into Signac. Venice function can be accessed via Signac::VeniceMarker

You can also read the manuscript about Venice here.

Below is the benchmark when finding 4 types of DE genes in a simulated dataset (using scDD R package). Total 15 methods included Venice are tested. The dataset has 2000 DE genes that are even divided into 4 groups (DE, DP, DB, DM), and 18000 non-DE genes (EP and EE).

Installation

devtools::install_github("bioturing/signac")

Usage

Find marker genes with Signac::VeniceMarker

### The pbmc object created by following the tutorial: https://satijalab.org/seurat/v3.1/pbmc3k_tutorial.html
> pbmc
An object of class Seurat
13714 features across 2638 samples within 1 assay
Active assay: RNA (13714 features, 2000 variable features)
 1 dimensional reduction calculated: pca
> head(Seurat::Idents(pbmc))
AAACATACAACCAC-1 AAACATTGAGCTAC-1 AAACATTGATCAGC-1 AAACCGTGCTTCCG-1
               1                3                1                2
AAACCGTGTATGCG-1 AAACGCACTGGTAC-1
               6                1
Levels: 0 1 2 3 4 5 6 7 8

> ### Find markers for NK cells (cluster 6)
> VeniceMarker(pbmc@assays$RNA@counts, cluster=Idents(pbmc) == 6) %>% head
  Gene.ID Gene.Name Dissimilarity Bin.count Log10.p.value Perm.p.value
1    1804      GNLY     0.8129016         3    -102.95623          NaN
2   13002      NKG7     0.8186809         4    -102.32274          NaN
3    9294      GZMB     0.8004017         3    -101.14819          NaN
4    7153      PRF1     0.7359742         3     -93.08173          NaN
5   11880      CST7     0.6679871         3     -84.52626          NaN
6    3202    FGFBP2     0.6670391         3     -84.37497          NaN
  Log10.adjusted.p.value Up.Down.score Log2.fold.change      pct1      pct2
1              -98.81906             1         4.016472  96.12903 13.129279
2              -98.48661             1         3.424045 100.00000 25.493355
3              -97.48815             1         3.174406  96.12903  6.806283
4              -89.54662             1         2.502070  94.83871 10.672573
5              -81.08807             1         2.038486  94.83871 14.941603
6              -81.01596             1         2.362991  87.74194  6.202175

signac's People

Contributors

bioturing avatar ginnyaquarius avatar jatc1024 avatar linuxpham avatar ptdtan avatar trile965 avatar tungtp99 avatar vuonghy2442 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

signac's Issues

VeniceFindMarkers() returning error

Hello,

I am trying to run VeniceFindMarkers on a Seurat v3.1.5 integrated object with the default assay as SCT. Below is the line I'm trying to run.

VeniceFindMarkers(object = integrated, assay = "SCT", ident.1 = patient.neur.1, ident.2 = control.neur.1, logfc.threshold = 0)

The above line gives me the following error.

Error in as.character(x = ide5nt.2) %in% colnames(x = data.use) : object 'ide5nt.2' not found

TRACEBACK:

3. as.character(x = iden5nt.2) %in% colnames(x = data.use)
2. GetCellsIndices(data.use, object, ident.1, ident.2)
1. VeniceFindMarkers(object = integrated, assay = "SCT", ident.1 = patient.neur.1, ident.2 = control.neur.1, logfc.threshold = 0)

Can you please suggest a solution?
Thank you

clang error when installing on R4 macos 10.15.7

Hi, thanks for the very interesting package, I wanted to try it but when installing with devtools i get a bunch of warnings at the compilation stage. the last one is this

clang++ -mmacosx-version-min=10.13 -std=gnu++11 -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -o Signac.so CommonUtil.o Hdf5Util.o MatrixUtil.o RcppExports.o SparseMatrixUtil.o Venice.o -L/Library/Frameworks/R.framework/Resources/lib -lRlapack -L/Library/Frameworks/R.framework/Resources/lib -lRblas -L/usr/local/gfortran/lib/gcc/x86_64-apple-darwin18/8.2.0 -L/usr/local/gfortran/lib -lgfortran -lquadmath -lm /Users/fc7/Library/R/4.0/library/Rhdf5lib/lib/libhdf5_cpp.a /Users/fc7/Library/R/4.0/library/Rhdf5lib/lib/libhdf5.a /Users/fc7/Library/R/4.0/library/Rhdf5lib/lib/libsz.a -lz -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
ld: warning: directory not found for option '-L/usr/local/gfortran/lib/gcc/x86_64-apple-darwin18/8.2.0'
ld: warning: directory not found for option '-L/usr/local/gfortran/lib'
ld: library not found for -lgfortran
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [Signac.so] Error 1
ERROR: compilation failed for package ‘Signac’
* removing ‘/Users/fc7/Library/R/4.0/library/Signac’
Warning message:
In i.p(...) : 
installation of package ‘/var/folders/6f/r101x9pj4bj3grn96jv0725h000m5j/T//RtmpnOqaCZ/file16b7573eaa188/Signac_0.0.9.tar.gz’ had non-zero exit status 

my gfrortran and clang are:

$ gfortran --version
GNU Fortran (Homebrew GCC 10.2.0_4) 10.2.0
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ clang --version
Apple clang version 12.0.0 (clang-1200.0.32.29)
Target: x86_64-apple-darwin19.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

any help much appreciated!
thanks!

CoveragePlot

CoveragePlot(
object = pbmc,
region = rownames(da_peaks)[c(1,5)],
sep = c(":", "-"),
annotation = EnsDb.Hsapiens.v75,
extend.upstream = 20000,
extend.downstream = 20000,
ncol = 1
)
This function has error when I tested the tutorial of signac. Could you please help me address this issue?

Installation error

Hi,

I was trying to install your package but got the following error message. Is there a fix for that? Thanks!

Lei

R> devtools::install_github("bioturing/signac")
......
Error : (converted from warning) /private/var/folders/k0/9pl_mjpn6wd669_r6z7r93_h0000gp/T/RtmpMW7T6d/R.INSTALL1180b5babfd66/Signac/man/Colourise.Rd:28: unexpected macro '\dontrun'
ERROR: installing Rd objects failed for package ‘Signac’

  • removing ‘/Library/Frameworks/R.framework/Versions/3.6/Resources/library/Signac’
    Error: Failed to install 'Signac' from GitHub:
    (converted from warning) installation of package ‘/var/folders/k0/9pl_mjpn6wd669_r6z7r93_h0000gp/T//Rtmp3w9Rgp/filed56a69c6e6e6/Signac_0.0.0.9000.tar.gz’ had non-zero exit status

R> sessionInfo()
R version 3.6.1 (2019-07-05)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Mojave 10.14.5

Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats graphics grDevices utils datasets methods base

loaded via a namespace (and not attached):
[1] Rcpp_1.0.1 ps_1.3.0 prettyunits_1.0.2 rprojroot_1.3-2
[5] digest_0.6.20 crayon_1.3.4 withr_2.1.2 assertthat_0.2.1
[9] R6_2.4.0 backports_1.1.4 git2r_0.26.1 magrittr_1.5
[13] rlang_0.4.0 cli_1.1.0 curl_3.3 fs_1.3.1
[17] remotes_2.1.0 testthat_2.1.1 callr_3.3.0 devtools_2.1.0
[21] desc_1.2.0 tools_3.6.1 glue_1.3.1 pkgload_1.0.2
[25] compiler_3.6.1 processx_3.4.0 pkgbuild_1.0.3 sessioninfo_1.1.1
[29] memoise_1.1.0.9000 usethis_1.5.1

Control for covariates

Is it possible to control for covariates/latent variables (categorical and continuous variables) during DE?

VeniceFindMarkers only.pos parameter not working?

Hello,

I am trying to find the marker genes of a certain cluster with respect to all other clusters in my Seurat v3 object. In order to do this, I would have to set the only.pos parameter to TRUE or else I would get also markers of the rest of the clusters. However, when I do this, I still see negative logfc values.

Thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.