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:
- Linux / Ubuntu version: Download here
- Windows version: Download here
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.