=========================================================================
PRECAST: a probabilistic embedding and clustering with alignment for spatial transcriptomics data integration.
PRECAST is a package for integrating and analyzing multiple spatially resolved transcriptomics (SRT) datasets, developed by the Jin Liu’s lab. It unifies spatial factor analysis simultaneously with spatial clustering and embedding alignment, requiring only partially shared cell/domain clusters across datasets.
Check out our Nature Communications paper and our Package Website for a more complete description of the methods and analyses.
PRECAST 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:
“PRECAST” depends on the ‘Rcpp’ and ‘RcppArmadillo’ package, which requires appropriate setup of computer. For the users that have set up system properly for compiling C++ files, the following installation command will work.
# Method 1: install PRECAST from CRAN
install.packages('PRECAST')
# For the newest version of PRECAST, users can use method 2 for installation.
# Method 2: Install PRECAST from Github
if (!require("remotes", quietly = TRUE))
install.packages("remotes")
remotes::install_github("feiyoung/PRECAST")
# If some dependent packages (such as `scater`) on Bioconductor can not be installed nomrally, use following commands, then run abouve command.
if (!require("BiocManager", quietly = TRUE)) ## install BiocManager
install.packages("BiocManager")
# install the package on Bioconducter
BiocManager::install(c("scater"))
For usage examples and guided walkthroughs, check the
vignettes
directory of the repo.
For the users that don’t have set up system properly, the following setup on different systems can be referred. ## Setup on Windows system First, download Rtools; second, add the Rtools directory to the environment variable.
First, install Xcode. Installation about Xcode can be referred here.
Second, install “gfortran” for compiling C++ and Fortran at here.
For parallel computation on Linux, users must use the following
system command to set the C_stack unlimited in case of the error
R Error: C stack usage is too close to the limit
.
ulimit -s unlimited
If you use conda environment on Linux system and some dependent
packages (such as scater
) can not normally installed, you
can search R package at anaconda.org website. We take the
scater
package as example, and its search result is
https://anaconda.org/bioconda/bioconductor-scater. Then you can install
it in conda environment by following command.
conda install -c bioconda bioconductor-scater
For the user not using conda environment, if dependent packages (such
as scater
) not normally installed are in Bioconductor, then
use the following command to install the dependent packages.
# install BiocManager
if (!require("BiocManager", quietly = TRUE))
install.packages("BiocManager")
# install the package on Bioconducter
BiocManager::install(c("scater"))
If dependent packages (such as DR.SC
) not normally
installed are in CRAN, then use the following command to install the
dependent packages.
# install the package on CRAN
install.packages("DR.SC")
For an example of typical PRECAST usage, please see our Package Website for a demonstration and overview of the functions included in PRECAST.
PRECAST version 1.6.5 (2024-03-19) * Update the email adress of maintainer.
PRECAST version 1.6.4 (2024-01-24) * Update
IntegrateSpaData()
to make it able to remove unwanted
variations for all genes rather than only variable genes.
PRECAST version 1.6.2 (2023-08-02) * Update the code to ensure compatibility with Seurat V5.
PRECAST version 1.6.1 (2023-05-06) * Fix the bug, reported by
agelber-ucsd
, in IntegrateSpaData()
when
adusting additional covariates.
PRECAST version 1.6 (2023-04-18)
Fix the bug in PRECAST:::filter_gene()
.
Revise the function name selectModel()
to
SelectModel()
, to avoid the mask when loading DR.SC
package.
Update the tutorials.
PRECAST version 1.5 (2023-03-05)
Fix the issue reported
by anvaly. Specifically, the assay name “RNA” used in functions
IntegrateSpaData()
is replaced by the default assay using
DefaultAssay
function in Seurat. Fix the typo
human = {intersect((genelist),Mouse_HK_genes$Gene)}
with
replacement of
human = {intersect(toupper(genelist), PRECAST::Human_HK_genes$Gene)}
。
Add two functions for visualization: chooseColors()
and drawFigs()
.
PRECAST version 1.3 (2022-10-05)
Fix the issue
reported by Boyi Guo. Specifically, the assay name “RNA” used in
functions CreatePRECASTObject()
and PRECAST()
is replaced by the default assay using DefaultAssay
function in Seurat.
Provide more detailed help file for
CreatePRECASTObject()
function. Users can use
?CreatePRECASTObject
in Rstudio to access the help file. In
detail, seuList is a list with Seurat object as component, and each
Seurat object at least includes the raw expression count matrix, and
spatial coordinates in metadata for each data batch, where the spatial
coordinates information must be saved in the metadata of Seurat, named
“row” and “col” for each data batch. See the help file for more
details.
Add the data used in Package Website.
Add the wrapper functions for different common-used R objects in
the spatial transcriptomics, such as spatialExperiment, etc; see the
functions spe2seurat
,
spe2seuratList
,seu2seuList
and their help file
in our developed SRTtools
R package. This R package is designed to provide auxiliary functions
for the serirs of our developed methods, such as SC-MEB, DR-SC and PRECAST.