Git Product home page Git Product logo

liger's Introduction

R codecov cran

LIGER (Linked Inference of Genomic Experimental Relationships)

Now we have a comprehensive documentation site for the latest version of rliger (2.0)!

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 for a more complete description of the methods and analyses. To access data used in our SN and BNST analyses, visit our study "SCP466" on the Single Cell Portal.

LIGER can be used to compare and contrast experimental datasets in a variety of contexts, for instance:

  • Across experimental batches
  • Across individuals
  • Across sex
  • Across tissues
  • 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, analysis, and visualization. Users can:

  • 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 Seurat.

Citation

If you use LIGER in your research please cite our paper correspondingly:

  • Generally the Cell paper should be cited:

Joshua D. Welch and et al., Single-Cell Multi-omic Integration Compares and Contrasts Features of Brain Cell Identity, Cell, VOLUME 177, ISSUE 7, P1873-1887.E17 (2019), https://doi.org/10.1016/j.cell.2019.05.006

  • For the rliger package:

Liu, J., Gao, C., Sodicoff, J. et al. Jointly defining cell types from multiple single-cell datasets using LIGER. Nat Protoc 15, 3632–3662 (2020), https://doi.org/10.1038/s41596-020-0391-8

  • For online iNMF integration method:

Gao, C., Liu, J., Kriebel, A.R. et al. Iterative single-cell multi-omic integration using online learning. Nat Biotechnol 39, 1000–1007 (2021), https://doi.org/10.1038/s41587-021-00867-x

  • For UINMF integration method:

Kriebel, A.R., Welch, J.D. UINMF performs mosaic integration of single-cell multi-omic datasets using nonnegative matrix factorization. Nat Commun 13, 780 (2022), https://doi.org/10.1038/s41467-022-28431-4

Feedback

If you have any questions, comments, or suggestions, you are welcomed to open an Issue!

Usage

For usage examples and guided walkthroughs, check the vignettes directory of the repo.

Meanwhile, since version 2.0.0, LIGER is massively updated for usability and interoperability with other packages. Below are links to the introduction of new features.

If you need to refer to the tutorials for the old version of rliger, please check the GitHub archive v1.0.1, download the desired rendered HTML files and open them in your browser.

Sample Datasets

The rliger package provides different types of small toy dataset for basic demos of the functions. After attaching the package in an R session, you can load them with:

data("pbmc")
data("pbmcPlot")
data("bmmc")

We also provide a set of datasets for real-world style demos, including scRNAseq, scATACseq, spatial transcriptomics and DNA methylation data. They are described in detail in the articles that make use of them. Please check them out from the links above.

liger's People

Contributors

akriebs avatar cgao90 avatar jsodicoff avatar jw156605 avatar kant avatar mojaveazure avatar mvfki avatar nathanskene avatar samuel-marsh avatar skpalan avatar theaeon avatar vkozareva avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

liger's Issues

Problems with suggestK() and quantileAlignSNF()

Hello,

I'm following the exact code in the "Walkthrough – Aligning PBMC Data" with the PBMC data your team provided. However,

  1. When I tried to run:

k.suggest <- suggestK(a.pbmc, num.cores = 4, gen.new = T, plot.log2 = F)

It shows following:

[1] "This operation may take several minutes depending on number of values being tested"
[1] "Preprocessing for rep 1: optimizing initial factorization with largest test k=50"
Converged in 4.707674 mins, 19 iterations.
Best results with seed 1.
[1] "Progress now represents completed factorizations (out of total number of k values)"

I think it means K value is larger than 50, but it should be 22 as said in Walkthrough, right?

  1. Then when I tried to run:

a.pbmc <- quantileAlignSNF(a.pbmc, resolution = 0.4, small.clust.thresh = 20)

It shows following:

[1] "Recomputing shared nearest factor space"
[1] "Isolating small clusters with fewer than 20 members"
[1] "making edge file."
[1] "Starting SLM"
Error in SLMCluster(edge = snf$out.summary, nstart = nstart, R = resolution,  :   
    127 exit status from java -jar C:/Users/GY/Documents/R/winlibrary/3.6/liger/java/ModularityOptimizer.jar edge3543701.txt 
C:\Users\GY\AppData\Local\Temp\RtmpuqY1e4\louvain.out299461877b56.txt 1 0.4 1 10 10 1 0

Then the function stops and I cannot go further.

Could you please help me on these issues? thanks.

Best regards,

Zun Wang
Email: [email protected]

error running RunQuantileAlignSNF on Seurat object

Hi,

I tried some liger functions on my Seurat object using the following instruction.
https://htmlpreview.github.io/?https://github.com/satijalab/seurat.wrappers/blob/master/docs/liger.html

Below is the code I used.

cd11b.merged <- NormalizeData(cd11b.merged)
cd11b.merged <- FindVariableFeatures(cd11b.merged, selection.method = "vst", nfeatures = 3000)
cd11b.merged <- ScaleData(cd11b.merged, features = VariableFeatures(cd11b.merged), do.center = FALSE,
split.by = "Strain", vars.to.regress = c("batch", "percent.mt", "nFeature_RNA"))
cd11b.merged <- RunOptimizeALS(cd11b.merged, k = 20, lambda = 5, split.by = "Strain")
cd11b.merged <- RunQuantileAlignSNF(cd11b.merged, split.by = "Strain")

However, after running RunQuantileAlignSNF, I have got the error message:
Error in FUN(X[[i]], ...) :
Unable to normalize loadings for all cells; some cells loading on no selected factors.

Could you please give me some clue of fixing this? Below is my sessionInfo. Please let me know if you need more information. Thank you so much!

R version 3.6.0 (2019-04-26)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)

Matrix products: default
BLAS/LAPACK: /usr/lib64/libopenblas-r0.3.3.so

locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

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

other attached packages:
[1] SeuratWrappers_0.1.0 SeuratData_0.1.0 liger_0.4.2 patchwork_0.0.1 Matrix_1.2-17
[6] Seurat_3.0.2 cowplot_1.0.0 forcats_0.4.0 stringr_1.4.0 dplyr_0.8.3
[11] purrr_0.3.2 readr_1.3.1 tidyr_0.8.3 tibble_2.1.3 ggplot2_3.2.1
[16] tidyverse_1.2.1 loomR_0.2.1.9000 hdf5r_1.2.0 R6_2.4.0

loaded via a namespace (and not attached):
[1] readxl_1.3.1 snow_0.4-3 backports_1.1.4 plyr_1.8.4 igraph_1.2.4.1
[6] lazyeval_0.2.2 splines_3.6.0 listenv_0.7.0 usethis_1.5.1 digest_0.6.20
[11] foreach_1.4.4 htmltools_0.3.6 gdata_2.18.0 fansi_0.4.0 magrittr_1.5
[16] memoise_1.1.0 cluster_2.0.8 ROCR_1.0-7 remotes_2.1.0 globals_0.12.4
[21] modelr_0.1.4 R.utils_2.9.0 prettyunits_1.0.2 colorspace_1.4-1 rvest_0.3.4
[26] ggrepel_0.8.1 haven_2.1.0 callr_3.3.0 crayon_1.3.4 jsonlite_1.6
[31] zeallot_0.1.0 survival_2.44-1.1 zoo_1.8-6 iterators_1.0.12 ape_5.3
[36] glue_1.3.1 gtable_0.3.0 pkgbuild_1.0.3 future.apply_1.3.0 scales_1.0.0
[41] bibtex_0.4.2 Rcpp_1.0.2 metap_1.1 riverplot_0.6 viridisLite_0.3.0
[46] RANN.L1_2.5.2 reticulate_1.13 bit_1.1-14 rsvd_1.0.1 mclust_5.4.5
[51] SDMTools_1.1-221.1 tsne_0.1-3 htmlwidgets_1.3 httr_1.4.1 FNN_1.1.3
[56] gplots_3.0.1.1 RColorBrewer_1.1-2 ica_1.0-2 pkgconfig_2.0.2 R.methodsS3_1.7.1
[61] utf8_1.1.4 tidyselect_0.2.5 labeling_0.3 rlang_0.4.0 reshape2_1.4.3
[66] munsell_0.5.0 cellranger_1.1.0 tools_3.6.0 cli_1.1.0 generics_0.0.2
[71] devtools_2.0.2 broom_0.5.2 ggridges_0.5.1 yaml_2.2.0 npsurv_0.4-0
[76] processx_3.4.0 bit64_0.9-7 fs_1.3.1 fitdistrplus_1.0-14 caTools_1.17.1.2
[81] RANN_2.6.1 pbapply_1.4-1 future_1.14.0 nlme_3.1-139 R.oo_1.22.0
[86] xml2_1.2.0 compiler_3.6.0 rstudioapi_0.10 plotly_4.9.0 curl_4.0
[91] png_0.1-7 testthat_2.1.1 lsei_1.2-0 stringi_1.4.3 ps_1.3.0
[96] desc_1.2.0 lattice_0.20-38 vctrs_0.2.0 pillar_1.4.2 BiocManager_1.30.4
[101] Rdpack_0.11-0 lmtest_0.9-37 data.table_1.12.2 bitops_1.0-6 irlba_2.3.3
[106] gbRd_0.4-11 KernSmooth_2.23-15 gridExtra_2.3 sessioninfo_1.1.1 codetools_0.2-16
[111] MASS_7.3-51.4 gtools_3.8.1 assertthat_0.2.1 pkgload_1.0.2 rprojroot_1.3-2
[116] withr_2.1.2 sctransform_0.2.0 parallel_3.6.0 hms_0.4.2 doSNOW_1.0.18
[121] grid_3.6.0 Rtsne_0.15 lubridate_1.7.4

Installation error

I cannot install the package even when Rcpp Armadillo is working.

I get the following error

Error: Failed to install 'liger' from GitHub: System command error, exit status: 1, stdout + stderr (last 10 lines): E> In file included from /usr/local/clang6/include/c++/v1/cmath:305: E> /usr/local/clang6/include/c++/v1/math.h:301:15: fatal error: 'math.h' file not found E> #include_next <math.h>

Thank you for your help.

Comparing more than two datasets

Good day!

I like this package. I would like to know if there is a way to compare more than two samples sharing genes using, for instance plorWordClouds, getFactorsMarkers or plotGeneLoadings. I am analyzing healthy and tumor tissues and create one liger object with raw counts from each sample. I have only one dataset of normal cells and three from malignant ones. I want to get specific genes that are only in the healthy sample vs. tumor but I can only compare each sample one by one. I want to take the three tumor samples and make a comparison against the healthy control. Is this possible?

Thanks in advance!

How to determine the k value

Hello, I am trying to use liger to analyze 10X data, and I followed the walkthrough_pbmc documentation, but in the step of determining the k value, you suggest using the suggestK function to find the appropriate number of factors, and I used the function of suggestK, the result as follows:
image
The data comes from walkthrough_pbmc, the recommended K value you give was 22, and I want to know how to find the best K value from this figure, thank you

color scale in plotGene()

Dear liger team,

I noticed by default the plotGene() function returns graphs colored with "plasma", but the scales for each plot, and in the same set of plots between original datasets are variable. I wonder if there is an easy fix to make it consistent at least between datasets?

example below from your tutorial, noting the scale bar to the right:
image

ATACseq + scRNAseq merge vignette needed

Hi there!

I'm eager to use liger in my analysis. However, I've noticed that there isn't a vignette for using it in order to merge scATACseq and scRNAseq data. Is there any vignette planned, or any further instructions regarding functions to call and the general workflow?

Error when input datasets are a mix of normal matrices and dgCMatrix

Hi,

Firstly, this package is great, thanks for developing it!

I just ran it on a set of datasets, most of which were formatted as sparse matrices using Matrix::Matrix, but one had accidently been left as a conventional matrix. This went through initially processing fine, but threw a somewhat cryptic error during scaleNotCenter().

> a.pbmc <- scaleNotCenter(a.pbmc)
Error in intI(i, n = x@Dim[1], dn[[1]], give.dn = FALSE) : 
  invalid character indexing

Might be worth adding a check to ensure that all datasets are formatted as sparse matrices.

Thanks

LIGER removes genes and no object created

My dataset consists of four treatments and two replicates. When I try create liger object, it removes around 3000 genes from each sample and does not create an integrated object.

Seuratwrappers error

Hello,

I was following the Seurat wrapper vignette for my data, but when I was running RunOptimizeALS I got this error:

Error: 'optimizeALS' is not an exported object from 'namespace:liger
Any ideas why I am getting this error?

Thanks

Name conflicts with CRAN liger

Hi Macosco Lab team,

There's another package called liger on CRAN which is causing some issues for us with dependencies. If any other package has liger as a dependency, installation will force an overwrite of your version of liger with the CRAN version.

We ran into this problem because we were using your version of liger to run integration analysis, and installed a different package with CRAN liger as a dependency. This crashed the analysis pretty hard, and messed up a whole chain of dependencies.

It may be too late to change the name of this package, but it would be great to have some way to distinguish this package from the CRAN liger. Does your team (or any other reader) know of a way to pull these apart?

Thanks!
-Lucas

Memory issue with scaleNotCenter

I'm trying to merge 5 datasets.

All have 22351 genes (rows) and 10,000 to 200,000 cells.

I've got 500GB of memory and am getting this error:

Error in asMethod(object) : 
  Cholmod error 'problem too large' at file ../Core/cholmod_dense.c, line 105

Is there anything I can do the work around this?

suggestK issue

Hi there,
I'm following the tutorial and use suggestK function for my single cell methylation and RNA integration. When I use the command
k.suggest <- suggestK(data, num.cores = 5, gen.new = T, return.data = T, plot.log2 = F,nrep = 5)
It shows
[1] "This operation may take several minutes depending on number of values being tested" [1] "Preprocessing for rep 1: optimizing initial factorization with largest test k=50" Error in optimizeALS.list(object = [email protected], k = k, lambda = lambda, : Select k lower than the number of cells in smallest dataset: 0

Any suggestion?

Dev install fails on R 3.6.0

In earlier versions of R, devtools::install_github("liger") throws warnings,

Warning: /tmp/RtmpQQenn7/Rbuild3338f90697/liger/man/liger-package.Rd:26: All text must be in a section
Warning: /tmp/RtmpQQenn7/Rbuild3338f90697/liger/man/liger-package.Rd:27: All text must be in a section

but the install succeeds. Now in 3.6.0 the warning gets upgraded to an error,

Error : (converted from warning) /tmp/RtmpUvcD5m/Rbuild325d7f4ef7/liger/man/liger-package.Rd:26: All text must be in a section
ERROR: installing Rd objects failed for package ‘liger’

and thus the install fails. I can workaround by setting R_REMOTES_NO_ERRORS_FROM_WARNINGS to true, but it would be nice to fix the issue at the source.

error in suggestLambda

When i run the function suggestLambda(sp.lobj,k=25,num.cores = 4), i met an error. It said as below:

[1] "This operation may take several minutes depending on number of values being tested"
[1] "Preprocessing for rep 1: optimizing initial factorization with smallest test lambda=0.25"
|======================================================================| 100%
Converged in 33.36085 mins, 37 iterations.
Best results with seed 1.
[1] "Progress now represents completed factorizations (out of total number of lambda values)"
|======================================================================| 100%
Error in {: task 13 failed - "missing value where TRUE/FALSE needed"
Traceback:

  1. suggestLambda(sp.lobj, k = 25, num.cores = 4)
  2. foreach(i = 1:length(lambda.test), .combine = "rbind", .options.snow = opts,
    . .packages = "liger") %dopar% {
    . if (i != 1) {
    . if (gen.new) {
    . ob.test <- optimizeALS(object, k = k, lambda = lambda.test[i],
    . thresh = thresh, max.iters = max.iters, rand.seed = (rand.seed +
    . r - 1))
    . }
    . else {
    . ob.test <- optimizeNewLambda(object, new.lambda = lambda.test[i],
    . thresh = thresh, max.iters = max.iters, rand.seed = (rand.seed +
    . r - 1))
    . }
    . }
    . else {
    . ob.test <- object
    . }
    . ob.test <- quantileAlignSNF(ob.test, knn_k = knn_k, k2 = k2,
    . resolution = resolution, ref_dataset = ref_dataset, id.number = i)
    . calcAlignment(ob.test)
    . }
  3. e$fun(obj, substitute(ex), parent.frame(), e$data)

So, i wander how to solve it? Thanks in advance.

Problem with subsetLiger

Dear MacosKolab,

Thanks for the amazing tool that you have developed.

When I run subsetLiger I get the error "Error in .rowNamesDF<-(x, value = value) : invalid 'row.names' length"

The problem is that when I try to subset my liger object, one of the samples only have one cell. This means that it will be not a "dgCMatrix" object anymore but a vector.
I see that you eliminate samples that have not cells with
missing <- sapply(raw.data, is.null)
raw.data <- raw.data[!missing]

I think that it will better to also eliminate elements that are not a dgCMatrix object

Best,
Jose

makeRiverplot Error: Cluster Format?

Hi!

I'm trying to draw a river plot of neurons from p2 and p11 mice cerebellum with annotated cluster assignment. However, this error comes up:
Error in edge_list[[nodes1[i]]] <- temp : attempt to select less than one element in OneIndex

Is it possible that this is due to the incorrect data format of the cluster labels? Can you upload the tenx_seqwell_clusters.RDS file from PBMC walkthrough so I can look at your data format? Currently, my cluster labels file is a list with two columns: cell number and string annotation. The cell numbers in the labels are exact match with liger@H[[1]] and liger@H[[2]]. However, p2_cluster[rownames(liger@H[[1]])] gives Error in '[.data.frame'(p2_cluster, rownames(liger@H[[1]])) : undefined columns selected

Thank you!

Screen Shot 2019-08-21 at 17 32 28

can't install the package

ERROR: lazy loading failed for package 'liger'

  • removing 'C:/Users/ztss/Documents/R/win-library/3.6/liger'
    Error: Failed to install 'liger' from GitHub:
    (converted from warning) installation of package ‘C:/Users/ztss/AppData/Local/Temp/RtmpQX6DR0/file782e462d26/liger_0.4.2.tar.gz’ had non-zero exit status

analysis of multiple time points * 2 replicates of scRNA-seq

Dear all,

'd appreciate having your suggestions on the following case of scRNAseq analysis with LIGER /Seurat 3.1. ; the question is : what analysis strategy would you recommend (described below) ?

shall we have 4 batches of scRNA-seq data of these experiments :

WT_batch1, WT_batch2, A_batch1, A_batch2

WT_batch3, WT_batch4, B_batch3, B_batch4

what is the optimal way to analyze the data-sets ? Several analysis strategies are possible :

STRATEGY A.

  1. to use CELLRANGER AGGR (with NORMALIZATION = TRUE) on :

WT_batch1, WT_batch2 : to produce WT_batch_1_2

A_batch1, A_batch2 : to produce A_batch_1_2

WT_batch3, WT_batch4 : to produce WT_batch_3_4

B_batch3, B_batch4 : to produce B_batch_3_4

  1. and to follow the descriptions of SEURAT pipelines with LIGER, on WT_batch_1_2, WT_batch_3_4, A_batch_1_2, B_batch_3_4 :

https://htmlpreview.github.io/?https://github.com/satijalab/seurat.wrappers/blob/master/docs/liger.html

STRATEGY B.

  1. to use SEURAT MERGE function in order to have all the raw data (WT_batch1, WT_batch2, A_batch1, A_batch2, WT_batch3, WT_batch4, B_batch3, B_batch4) in a large MATRIX

  2. could I apply LIGER on all the experiments with those 2 replicates, and afterwards, how could I call the function FindMarkers in SEURAT (FindMarkers(object, ident.1, ident.2), in order to specify the REPLICATES in ident.1 and in ident.2 ?

Any other analysis strategy ? Any suggestions, comments would be very welcome ! Thanks a lot !

bogdan

Java sources are not included

Hi,

I was just about to package liger for GNU Guix and noticed that there is no source code for the installed Jar. Could you please point me to the Java sources or, better yet, include them in this repository?

In Guix we build everything completely from source and in a reproducible fashion, so I can't just include a pre-built archive.

Thanks!

RANN.L1 dependency no longer on CRAN

When trying to install liger, there is a missing dependency RANN.L1
On its CRAN page:

Package ‘RANN.L1’ was removed from the CRAN repository.

Formerly available versions can be obtained from the archive.

Archived on 2020-01-15 as nothing depends on it.

You'll want to either get this unarchived, or advise users to install RANN.L1 separately with:
install_github("jefferis/RANN@master-L1")

Problems with seuratToLiger()

Very cool and useful package!

I am trying run LIGER on a fully processed combined Seurat object (after co-embedding, dim. reduction, etc.). I use seuratToLiger() to convert the combined Seurat object into a LIGER object. I split the combined object on "tech" (either ATAC or RNA). I renormalize and but use the variable features found by Seurat.

pbmc <- seuratToLiger(coembed, combined.seurat = T, meta.var = 'tech', renormalize = T, use.seurat.genes = T)

However, when I scale but not center, it seems to remove quite a few genes between these two assays:

pbmc <- scaleNotCenter(pbmc) [1] "Removing 9432 genes not expressing in rna." [1] "Removing 7866 genes not expressing in atac."

And when I call optimizeALS(), it seems that my LIGER object has no cells.

pbmc <- optimizeALS(pbmc, k=10,lambda = 5.0) Error in optimizeALS.list(object = [email protected], k = k, lambda = lambda, : Select k lower than the number of cells in smallest dataset: 0

What could be the issue here? I am using seuratToLiger() properly?

problem with install

hello, developer
i have some problem when i install the R package.
when i use the command:
library(devtools)
install_github('MacoskoLab/liger')
the Rtudio show such message:
Downloading GitHub repo MacoskoLab/liger@master
These packages have more recent versions available.
Which would you like to update?

1: All
2: CRAN packages only
3: None
4: rlang (0.4.0 -> 0.4.1 ) [CRAN]
5: data.table (1.12.4 -> 1.12.6) [CRAN]

however whenever which number i choose, it still give me such error message:
package ‘digest’ successfully unpacked and MD5 sums checked
Error: Failed to install 'liger' from GitHub:
Failed to install 'patchwork' from GitHub:
(converted from warning) cannot remove prior installation of package ‘digest’

i am really do not know why? would you please give me some suggestion?

makeFeatureMatrix is not in the package

Hi, I am trying to preprocess scATAC data to gene level features as described in the scATAC + scRNA-seq vignette, but the function makeFeatureMatrix is not exported from the NAMESPACE.

Problem using seuratToLiger

Good day,

I have been using your tools to analyze my scRNA data. Now, I would also like to use the Seurat object I have and run Liger on it and compare the results. However, I am having problems using seuratToLiger. Once I want to run the function ligerex = seuratToLiger(seurat.obj, combined.seurat = T, assays.use = 'RNA') the next error appears:

Error in createLiger(raw.data = raw.data, remove.missing = remove.missing): At least one cell name is repeated across datasets; please make sure all cell names
         are unique.
Traceback:

1. seuratToLiger(GBM, combined.seurat = T, assays.use = "RNA")
2. createLiger(raw.data = raw.data, remove.missing = remove.missing)
3. stop("At least one cell name is repeated across datasets; please make sure all cell names\n         are unique.")

I have checked the colnames in my Seurat object any(duplicated(colnames(seurat.obj))) and haven't found any duplicates. I am using Seurat v3 (according to the vignette this version is supported). Where do you think the problem is?

Thanks in advance for your help!

scRNAseq + scDNAme integration vignette

Thanks for generating this helpful tool! After reading the paper and its methods (specifically related to Fig. 6 and 7), I was hoping to find a vignette for defining cell types using both single cell RNAseq and DNA methylation. Are there plans to make such a vignette or code from the sections related to paper's Fig. 6-7 available?

Error when perform selectGenes()

Hi,
There is a prolem about selectGenes.
I just run the code of Walkthrough using your PBMC data, selectGenes error as:

Error in .Call("_liger_rowMeansFast", PACKAGE = "liger", x) :
"_liger_rowMeansFast" not available for .Call() for package "liger"

image
how to fix it?

suggestK

Hi When I run suggestK, I ran into this error
"no applicable method for 'optimizeALS' applied to an object of class "c('double', 'numeric')""

please advise

Install error

Hi,

I am getting the following error when trying to install liger. I am using macOS Mojave.

image

Is there a way to overcome this?

Best wishes,
Lucy

MarkerGenes with Cell types

Dear Developer,

I have several (11) samples ( 10X Data) and i already figure out how to pass them to Liger. My question is if there is anyway to also give as annotation a list with marker genes with their corresponding cell cluster type (e.g
CBLN2 | Ex1
ENC1 | Ex1
AC011288.2 | Ex1
PDZD2 | OPC
PDZRN4 | OPC
)

and then plot them in the same map

Thanks

About the inter-operability with Seurat

Dear all,

although I am following the instructions found on the website (below) about the inter-operability between Seurat and Liger :

https://htmlpreview.github.io/?https://github.com/satijalab/seurat.wrappers/blob/master/docs/liger.html

I am getting the following errors ; would you please help to fix these errors ? thanks a lot !

pbmcsca <- RunOptimizeALS(pbmcsca, k = 20, lambda = 5, split.by = "Method")
Error: 'optimizeALS' is not an exported object from 'namespace:liger'

pbmcsca <- RunQuantileAlignSNF(pbmcsca, split.by = "Method")
Error in `[[.Seurat`(object, reduction) : 
  Cannot find 'iNMF_raw' in this Seurat object

pbmcsca <- RunUMAP(pbmcsca, dims = 1:ncol(pbmcsca[["iNMF"]]), reduction = "iNMF")
Error in `[[.Seurat`(pbmcsca, "iNMF") : 
  Cannot find 'iNMF' in this Seurat object

DimPlot(pbmcsca, group.by = c("Method", "ident", "CellType"), ncol = 3)
Error: Unable to find a DimReduc matching one of 'umap', 'tsne', or 'pca', please specify a dimensional reduction to use

thank you !

-- bogdan

Error in Seurat/Liger integration

I am using the Liger docker on a cluster node, and whenever I try to use the function GetAssayData on a Liger or Seurat object (or any function that utilizes GetAssayData such as seuratToLiger) I get the error:

Error in GetAssayData(nbm, slot = "counts") :
object 'to.return' not found

I'm wondering if there may be an error with returning the object?

installation of v0.5

Hi Josh and LIGER team,

Thanks for updating the algorithms. I tried installing the latest version (v0.5)

library(devtools)
install_github('MacoskoLab/liger', force = T)

After running this, the package version is still 0.4.2. Is there something else I should be doing? Thank you- Orr

Cluster name F3 in the walkthrough

Hi
I am wondering is the Cluster name start with F something anything different from the rest of numbered cluster? In the walkthrough there is a F3, and in my analysis sometimes there is F49 or F15 etc. Can you give me some hint or where to check?

Thanks!

STARmap data imputation code missing

Hi,
I'm currently working on data integration between scRNAseq and spatial data, I want to test the performance of Liger to impute spatial genes. In the paper you mentioned how you did the imputation but I couldn't find the code for that. "We developed a simple method for predicting the spatial distributions of genes not measured in STARmap data. To do this, we simply compute a cross-dataset k-nearest neighbor graph in the aligned factor space. Then we set the value of each missing gene to the unweighted arithmetic mean of its k nearest neighbors in the other dataset. We used k = 50 for all analyses in the paper."

Can you share the code for this imputation? Thank you.

Whether the data after integration could be used for DE analysis

Dear Developer,
I attempt to integrated several single-cell datasets which came from different timepoints and different people.
I tried Seurat 3.0 to integrated them and it didn't work well in my datasets, meanwhile the official tutorial of Seurat doesn't recommend users to do differential expression analysis by using the integrated expression matrix. They recommend running differential expression tests on the “unintegrated” data because "The integration procedure inherently introduces dependencies between data points. This violates the assumptions of the statistical tests used for differential expression."
My question is whether LIGER allows or recommends users doing DE tests on the integrated data.
Thanks.

Regress out unwanted factors?

Hello,
Using LIGER, I found some factors contributed by cycle cycle related genes and treatment, and I would like to regress out these unwanted factors. Does LIGER provide any functions to do that?

Thank you very much~

issues re-analyzing subpopulations

I have 3 datasets from 3 glioblastoma patients in an object that's been through the entire pipeline. From correlating genes loaded on factors with the cluster assignments, it looks like tumor cells and immune cells have separated out nicely. I'd like to subset these subpopulations and re-run the factorization, but when I use optimizeSubset I get:

optimizeSubset(gbm.liger.filter, cluster.subset = c(2,3,5,6,7,8,9,10,11,12,13))
Error in xj[i] : invalid subscript type 'list'

If I first use subsetLiger to isolate each population, I can rescale, perform factorization and run a dimension reduction. plotByDatasetandCluster returns an interesting plot. However, when I call plotGeneLoadings, I get:

plotGeneLoadings(gbm.tumor.lambda50)
Error in intI(i, n = d[1], dn[[1]], give.dn = FALSE) :
invalid character indexing

Any advice on how to debug is greatly appreciated!

Create a bioconda/conda package

Hi, I think it'd be great to have a build recipe for Liger included in bioconda or conda-forge. It'll make distributing it through packages way easier.

scHi-C

Can I use Liger to analyze scHi-C data?
best,

Error in RunOptimizeALS function

Hi, I get this error message when running this command ::
ifnb <- RunOptimizeALS(ifnb, k = 20, lambda = 5, split.by = "stim")
Erreur : 'optimizeALS' is not an exported object from 'namespace:liger'

error in function 'normalize'

Error in (function (classes, fdef, mtable) : unable to find an inherited method for function ‘normalize’ for signature ‘"liger"’

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.