Skip to content

HaojiaWu/CellScopes.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CellScopes.jl (version 2)

For version 1 (as published in Wu et al., 2024), see the archived tag.

Version Modality

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:


1. Installation

1.1. Install Julia 1.10.4

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

1.2. Install CellScopes and dependencies

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

2. Tutorials

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.

2.1. Multimodal analysis

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!

2.2. Standalone analysis


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

2.3. Interaction with other tools

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

2.4. Incorporation of custom high-res images

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

3. Citation

If the tool is helpful to your study, please consider citing our papers:

Citing CellScopes V2

TBD

Citing CellScopes V1

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.

4. Contact

For more information, please contact The Humphreys Lab or follow our Twitter account @HumphreysLab