For version 1 (as published in Wu et al., 2024), see the archived tag.
CellScopes.jl
is a toolkit built using the Julia programming language, designed for the analysis of single-cell and spatial transcriptomic data. Version 1 provides core functionalities including data normalization, dimensionality reduction, cell clustering, and visualization, tailored to diverse data types generated by platforms such as scRNA-seq, scATAC-seq, Visium, Xenium, Slide-seq, MERFISH, seqFISH, STARmap, and Cartana.
In version 2, CellScopes expands its capabilities to support joint analysis of spatial datasets generated by different technologies, such as Xenium and VisiumHD, and introduces methods for integrating adjacent tissue sections as well as performing same-slide multimodal analysis. With these additions, CellScopes.jl
can help researchers analyze spatial datasets with complex experimental designs and interpret biological signals more effectively. The current version of CellScopes.jl
is structured as follows:
To install CellScopes.jl
, you will need to have Julia 1.6 or higher installed. It is recommended to use Julia 1.10.4 or higher to avoid issues with dependencies. Here we will show how to install Julia in the Linux server.
Here is how to install Julia 1.10.4
.
cd /path/to/your/home/dir/
wget https://julialang-s3.julialang.org/bin/linux/x64/1.10/julia-1.10.4-linux-x86_64.tar.gz
tar xvf julia-1.10.4-linux-x86_64.tar.gz
Then add Julia to PATH by appending the following code to the end of the ~/.bashrc
file.
export PATH=/path/to/your/home/dir/julia-1.10.4/bin:$PATH
To implement your changes, either open a new login session or reload the .bashrc via
source ~/.bashrc
To install all of the necessary dependencies, run the following command line in Julia
. Note that this will not install the unregisterd package Leiden.jl
, which you may need to install manually from the GitHub repository first.
using Pkg;
Pkg.add(url="https://github.com/bicycle1885/Leiden.jl") # Install the unregistered dependency Leiden.jl
Pkg.add(url="https://github.com/HaojiaWu/CellScopes.jl") # Install CellScopes.jl
CellScopes
supports analysis for single-cell RNA sequencing (scRNA-seq), single-cell ATAC-seq (scATAC-seq), Visium, Slide-seq, Cartana, MERFISH, seqFISH, STARmap and Xenium datasets. For more information, please refer to the tutorials provided below.
a. Joint analysis of multimodal datasets within same slide: Coming soon!
b. Joint analysis of multimodal datasets between adjacent slides: Coming soon!
c. Joint analysis of multimodal datasets across different slides: Coming soon!
a. dRNA HybISS by Cartana: https://github.com/HaojiaWu/CellScopes.jl/tree/main/docs/cartana_tutorial
b. scRNA-seq: https://github.com/HaojiaWu/CellScopes.jl/tree/main/docs/scRNA_tutorial
c. scATAC-seq: https://github.com/HaojiaWu/CellScopes.jl/tree/main/docs/scATAC_tutorial
d. 10x Visium: https://github.com/HaojiaWu/CellScopes.jl/tree/main/docs/visium_tutorial
e. 10x Xenium: https://github.com/HaojiaWu/CellScopes.jl/tree/main/docs/xenium_tutorial
f. MERFISH: https://github.com/HaojiaWu/CellScopes.jl/tree/main/docs/MERFISH_tutorial
g. Slide-seq: https://github.com/HaojiaWu/CellScopes.jl/tree/main/docs/SlideSeq_tutorial
h. seqFISH: https://github.com/HaojiaWu/CellScopes.jl/tree/main/docs/seqfish_tutorial
i. STARmap: https://github.com/HaojiaWu/CellScopes.jl/tree/main/docs/starmap_tutorial
j. Visium HD: https://github.com/HaojiaWu/CellScopes.jl/blob/main/docs/VisiumHD_tutorial
In addition to these standalone CellScopes analyses, we also provide tutorials how CellScopes can interact with other popular tools such as Seurat, Scanpy and tools for gene imputation and spot deconvolution.
a. Conversion of Scanpy AnnData to CellScopes Objects: https://github.com/HaojiaWu/CellScopes.jl/tree/main/docs/scanpy_conversion
b. Conversion of Seurat Objects to CellScopes Objects: https://github.com/HaojiaWu/CellScopes.jl/tree/main/docs/seurat_conversion
c. Gene imputation using SpaGE: https://github.com/HaojiaWu/CellScopes.jl/tree/main/docs/gene_imputation
We also provide tutorials for incorporating high-resolution H&E and nuclei staining images for Visium and Xenium data visualization.
a. Visium data visualization with a high-resolution H&E image: https://github.com/HaojiaWu/CellScopes.jl/tree/main/docs/Visium_more_viz
b. Xenium data visualization with a high-resolution H&E/DAPI image: https://github.com/HaojiaWu/CellScopes.jl/tree/main/docs/Xenium_more_viz
If the tool is helpful to your study, please consider citing our papers:
TBD
https://www.nature.com/articles/s41467-024-45752-8
Nature Communications. 2024 Feb 15;15(1):1396.
Wu H, Dixon EE, Xuanyuan Q, Guo J, Yoshimura Y, Debashish C, Niesnerova A, Xu H, Rouault M, Humphreys BD.
High resolution spatial profiling of kidney injury and repair using RNA hybridization-based in situ sequencing.
For more information, please contact The Humphreys Lab or follow our Twitter account @HumphreysLab