CytoTalk Suite — Main Tabs

Browse all features using the left sidebar.

Upload Seurat Object (.rds)

Load any Seurat .rds object directly into CytoTalk Suite. Uploaded objects can be either preprocessed or raw—the app allows you to continue preprocessing, subset specific clusters, explore metadata, visualize cells, run DEGs, perform CellChat analysis, or apply any other downstream module.

Manage Seurat Objects

This panel allows you to organize and control all Seurat objects loaded into the app. You can add notes for tracking your workflow, remove objects you no longer need, and set the default assay (e.g., RNA, SCT, ADT/protein) when multiple assays are present. Changing the default assay updates how downstream analyses and visualizations interpret the data.

Create Seurat Object from 10X Files

Generate a Seurat object directly from standard 10X Genomics output files: matrix.mtx.gz, features.tsv.gz, and barcodes.tsv.gz. This is ideal for raw count matrices produced by CellRanger. Once created, the object can be processed, visualized, and analyzed across all modules in the app.

Create Seurat Object from 10X H5

Create a Seurat object from a 10X-formatted .h5 file, which contains the filtered count matrix and associated gene and barcode information.

Reorder Metadata Factor Levels

Select any categorical metadata column (e.g., clusters, conditions, batches) and manually reorder its factor levels. Reordering affects plot organization and aesthetics—for example, controlling the order of groups in Violin plots, UMAP colors, or DotPlots.

Merge Seurat Objects

Combine two or more loaded Seurat objects into a single object when working with multiple samples, batches, or conditions that share the same genes. The merged object can then be processed, visualized, and analyzed across all modules. If your datasets originate from different experiments or batches, you may optionally run Integration afterward to correct for batch effects.

Upload .h5ad File

Upload .h5ad files directly (including those downloaded from the CellxGene portal). Some files require preprocessing to match R/Seurat formatting. If your upload fails or if the resulting Seurat object is missing expected layers, you can clean and standardize the file using the CytoTalk h5ad Cleaning Tool:

This tool resolves common issues such as incompatible dtypes, sparse matrix format mismatches, and categorical encodings, producing a clean R-compatible .h5ad file. After cleaning, upload the file again to generate a fully functional Seurat object.

Note: If the uploaded file does not contain a raw counts layer, the resulting Seurat object may lack a counts slot. In this case, operations such as FindVariableFeatures() may not be available.

Upload & Add Metadata

Upload a CSV file containing metadata to attach to the active Seurat object. The CSV must use cell IDs as row names, and only matching cells will be annotated. You can choose which columns from the uploaded file to add to the object, enabling quick integration of external annotations or experimental information.

Delete Metadata Column

Remove any unwanted metadata column from the active Seurat object. This is useful for cleaning up imported annotations or removing temporary columns generated during analysis.

Rename Metadata Column

Rename an existing metadata column to a new name of your choice. This helps maintain consistent naming across samples, improve clarity, or prepare columns for downstream analyses.

Combine 2 Columns

Select any two metadata columns and concatenate their values using a custom separator. This is helpful when creating composite labels—for example, combining cell type + condition or cluster + treatment to compare DEGs or visualize groups across multiple conditions.

If Condition

Create a new metadata column dynamically based on conditional rules. You can define conditions using values from existing columns and apply AND or OR logic. The resulting value can be either a custom label or taken from another column. This feature is useful for generating grouped annotations, tagging specific cell subsets, or creating flags for downstream analysis.

Mutate Values

Modify values within any metadata column by replacing one value with another. This is especially useful for manual curation—for example, changing numeric cluster IDs to meaningful cell-type names or updating labels for downstream visualization and analysis.

Download Metadata

Download the metadata of the current active Seurat object.

Download Seurat Object

Download the current active Seurat object.

Single Metadata Column

View cell counts or proportions for any categorical metadata column (e.g., cluster, condition, batch). The results can be visualized as pie charts or bar plots, and the underlying summary table can be downloaded for reporting or downstream analysis.

Two Metadata Columns

Summarize and visualize the relationship between two categorical metadata columns—for example, plotting cell type composition per sample or condition distribution within clusters. Results can be exported as tables or visualized as grouped barplots for comparative analysis.

Calculate Mitochondrial Percentage

Automatically compute the percentage of mitochondrial gene expression for each cell. This metric is commonly used for quality control, helping identify stressed or dying cells before downstream analysis.

Subset Cells

Filter cells based on metadata or expression thresholds—for example, removing low-quality cells or isolating a specific group such as control vs treated. This is also useful for creating separate Seurat objects for downstream methods like CellChat.

Split Layers

Split the object’s counts layer into multiple layers based on any metadata column (e.g., sample ID or batch). After splitting, you can run integration methods such as MNN or Harmony to correct for batch effects across samples.

Normalization

Perform log-normalization using Seurat’s NormalizeData() function. This step scales gene expression to comparable levels across cells and prepares the data for feature selection and dimensional reduction.

Find Variable Features

Identify the most variable genes across cells using Seurat’s FindVariableFeatures(). This step requires raw counts, which may be missing in some .h5ad files downloaded from CellxGene. Variable features are essential for PCA and downstream analyses.

Scale Data

Standardize each gene to have mean = 0 and variance = 1 using Seurat’s ScaleData(). This ensures all genes contribute equally during PCA and prevents highly expressed genes from dominating the analysis.

PCA

Perform principal component analysis (PCA) on the scaled data to reduce dimensionality. PCA is the foundation for clustering, integration, and UMAP/tSNE visualization.

Integration

Integrate datasets using either Mutual Nearest Neighbors (MNN) via Seurat or Harmony. Integration helps correct batch effects between samples. Harmony parameters such as theta and sigma control the strength of correction—users should test multiple values to avoid over- or under-correction.

Find Neighbors

Construct a nearest-neighbor graph using PCA or integrated embeddings (Harmony or MNN). The number of dimensions used should match those selected during PCA/integration. This graph serves as the basis for clustering and UMAP/tSNE.

UMAP

Generate a UMAP embedding using the same number of dimensions used in Find Neighbors. UMAP offers a low-dimensional visualization of cell populations and preserves local structure.

tSNE

Compute a tSNE embedding using the same number of dimensions used in Find Neighbors. tSNE provides alternative visualization of cell relationships and can reveal fine-grained substructures.

Clustering

Run graph-based clustering using the dimensions selected in Find Neighbors. Increasing the resolution parameter yields more clusters. For cell type annotation, higher resolution can help detect rare cell types, which can later be merged once annotated.

Downsampling

Randomly select a subset of cells to create a smaller Seurat object for faster processing. You can either downsample globally from the entire dataset (ideal for abundance or quick exploratory analysis) or downsample equally across groups based on a chosen metadata column. In group-based mode, if a group has fewer cells than the requested number, all cells from that group are included.

SingleR

Automatically annotate cell types using reference expression datasets. SingleR compares each cell’s expression profile to known cell-type signatures and assigns the closest match, providing rapid and reproducible cell-type labeling without manual marker checking. Users can select from built-in human and mouse references or upload their own custom reference dataset.

Label Transfer (MNN)

Transfer cell-type labels from a well-annotated reference dataset to your query dataset using Mutual Nearest Neighbors (MNN)–based integration. This method aligns shared biological structure between datasets and propagates cell-type identities from the reference to matching cells in the query, enabling consistent annotation across samples, conditions, or batches. Both objects need to have valid PCA reductions.

AddModuleScore

Calculate gene-set activity scores using Seurat’s AddModuleScore(). This method computes an enrichment score for predefined gene sets (e.g., pathways, signatures, TF targets) on a per-cell basis, enabling visualization of functional states across clusters or conditions.

AUCell

Estimate gene-set activity using the AUCell algorithm, which ranks genes per cell and computes the Area Under the Curve (AUC) for each gene set’s recovery within the ranked list. AUCell is robust to normalization differences and is ideal for detecting active pathways or transcription factor programs in heterogeneous datasets.

Feature Stats

View basic statistics and distributions for any numerical metadata column or gene expression value. This tool displays histograms along with summary metrics such as mean, median, and quartiles. It also supports interactive filtering—allowing you to quickly assess how many cells exceed thresholds such as expression > 0 or above the mean.

DimPlot

Visualize cells on dimensionality reduction embeddings such as UMAP, tSNE, or PCA. DimPlot allows coloring cells by any metadata column (e.g., clusters, cell types, conditions) to explore population structure and grouping patterns in the dataset.

FeaturePlot

Display the expression of one or more genes across UMAP/tSNE/PCA embeddings. FeaturePlot uses a color gradient to highlight where genes are up- or down-regulated, helping identify marker genes, spatial patterns, or functional states.

VlnPlot

Plot gene expression or numerical metadata values across groups using violin plots. VlnPlot shows the full distribution of values per group—useful for comparing expression between clusters, cell types, or conditions.

DotPlot

Summarize gene expression across groups using a dot-based representation, where dot size reflects the proportion of expressing cells and color indicates expression level. DotPlot is especially useful for comparing marker genes across clusters or verifying cell-type signatures.

FindAllMarkers

Identify differentially expressed genes (DEGs) across all clusters or cell identities in the dataset. This function compares each cluster against all others to highlight unique marker genes for cell-type identification and downstream interpretation.

FindMarkers

Perform DE analysis between any two groups selected by the user—such as two clusters, two conditions, or two metadata-defined subsets. This enables focused comparison of specific populations of interest.

Multi-Run FindMarkers

Run batch DE comparisons automatically across multiple groups—for example, comparing each cell type between two conditions (e.g., treated vs control). The app runs DEGs for every group pair and provides results as a downloadable ZIP file containing one table per comparison.

Merge DEGs

Combine DEG results from multiple comparisons into a single table. Each row represents a gene, and each column represents a cell type or cluster, making it easy to compare fold changes across all groups and identify shared or unique signatures.

Read CellChat Object

Load a precomputed CellChat object to explore ligand–receptor interactions, signaling pathways, and communication networks without rebuilding the model.

Construct CellChat Object

Create a new CellChat object directly from a Seurat object. Users can optionally subset their dataset into separate conditions (e.g., control vs treated) beforehand using the Metadata or Preprocessing → Subset Cells tools. This enables building separate communication networks for each condition.

Compare Two CellChat Objects

Automatically compare two CellChat objects to identify differences in interaction counts, interaction strengths, and pathway-level activity. This is useful for contrasting conditions, treatments, or disease states.

Visualize Active CellChat Object

Visualize the ligand–receptor network or signaling pathways of the currently active CellChat object. Users can explore pathway activity, communication patterns, and sender/receiver roles across cell groups.

Reorder CellChat Groups

Adjust the order of cell groups in CellChat plots to improve readability and customize the layout. Useful for aligning conditions, developmental trajectories, or cell-type hierarchies.

Annotate CSV File

Define custom gene sets and annotate a CSV file by adding new columns based on gene membership. This is useful for marking genes involved in pathways, TF targets, or any user-defined gene list.

Merge 2 CSVs

Merge two CSV files by adding columns from one file into another based on matching gene names or identifiers. This is helpful for intersecting DEG results from multiple comparisons or adding external annotations (e.g., gene type or genomic features).

Case Studies — Full Workflows

A-to-Z analysis tutorials will be uploaded here.