CellChat 包源码随附的本地教程 + Rd 转换的函数文档 + R 源码 HTML - 完整覆盖173个文件
Comprehensive assistance with CellChat package for cell-cell communication analysis, generated from official documentation and source code.
This skill should be triggered when:
Data Preparation & Object Creation:
Cell-Cell Communication Analysis:
Network Analysis & Visualization:
Advanced Applications:
Troubleshooting & Optimization:
Example 1: Create CellChat object from Seurat
library(CellChat)
cellchat <- createCellChat(object = seurat.obj, group.by = "ident", assay = "RNA")
Example 2: Create from expression matrix
cellchat <- createCellChat(object = data.input, meta = meta, group.by = "labels")
Example 3: Set up database and preprocess
cellchat@DB <- CellChatDB.human
cellchat <- subsetData(cellchat)
cellchat <- identifyOverExpressedGenes(cellchat)
cellchat <- identifyOverExpressedInteractions(cellchat)
Example 4: Infer communication network
cellchat <- computeCommunProb(cellchat)
cellchat <- computeCommunProbPathway(cellchat)
cellchat <- aggregateNet(cellchat)
Example 5: Extract communications
# All communications
df.net <- subsetCommunication(cellchat)
# Specific pathways
df.net <- subsetCommunication(cellchat, signaling = c("WNT", "TGFb"))
# Specific cell groups
df.net <- subsetCommunication(cellchat, sources.use = c(1,2), targets.use = c(4,5))
Example 6: Visualize signaling network
netVisual(cellchat, signaling = "TGFb", layout = "hierarchy")
Example 7: Network centrality analysis
cellchat <- netAnalysis_computeCentrality(cellchat, slot.name = "netP")
netAnalysis_signalingRole_network(cellchat, signaling = "TGFb")
Example 8: Spatial data setup
cellchat <- createCellChat(object = data.input, meta = meta, group.by = "labels",
coordinates = coordinates, spatial.factors = spatial.factors)
Example 9: Data conversion from AnnData
library(anndata)
ad <- read_h5ad("scanpy_object.h5ad")
counts <- t(as.matrix(ad$X))
library.size <- Matrix::colSums(counts)
data.input <- as(log1p(Matrix::t(Matrix::t(counts)/library.size) * 10000), "dgCMatrix")
meta <- ad$obs
Example 10: Rank signaling pathways
rankNet(cellchat, mode = "single", measure = "weight")
Core CellChat Objects:
cellchat@data: Normalized expression datacellchat@meta: Cell metadata and group informationcellchat@net: Ligand-receptor level communication networkcellchat@netP: Pathway level communication networkcellchat@idents: Cell group identitiesData Requirements:
Communication Inference:
Network Analysis Types:
This skill includes comprehensive documentation in references/:
Complete API documentation for all CellChat functions:
subsetCommunication: Extract specific cell-cell communicationscomputeAveExpr: Calculate average expression per cell groupnetVisual_embedding: 2D visualization of signaling manifoldsrankNet: Rank signaling networks by information flownetAnalysis_computeCentrality: Network centrality analysiscomputeExpr_antagonist: Model antagonist effectsC++ source code for performance-critical operations:
ComputeSNN: Shared nearest neighbor computationR source code for core functionality:
visualization: Network visualization functions and themesComprehensive tutorials covering:
type parameters in computeAveExprOrganized documentation extracted from official sources:
Add helper scripts here for common automation tasks:
Store templates and examples:
# 1. Create object
cellchat <- createCellChat(object = data.input, meta = meta, group.by = "labels")
# 2. Set database and preprocess
cellchat@DB <- CellChatDB.human
cellchat <- subsetData(cellchat)
cellchat <- normalizeData(cellchat)
# 3. Identify over-expressed genes/interactions
cellchat <- identifyOverExpressedGenes(cellchat)
cellchat <- identifyOverExpressedInteractions(cellchat)
# 4. Infer communication
cellchat <- computeCommunProb(cellchat)
cellchat <- computeCommunProbPathway(cellchat)
cellchat <- aggregateNet(cellchat)
# 5. Visualize
netVisual(cellchat, signaling = "TGFb")
# 1. Create with spatial information
cellchat <- createCellChat(object = data.input, meta = meta, group.by = "labels",
coordinates = coordinates, spatial.factors = spatial.factors)
# 2. Spatial communication inference
cellchat <- computeCommunProb(cellchat, contact.dependent = FALSE,
interaction.range = 250, scale.distance = 1)
# 3. Spatial visualization
netVisual_spatial(cellchat, signaling = "WNT")
# 1. Create separate objects for each condition
cellchat1 <- createCellChat(object = data.input1, meta = meta1, group.by = "labels")
cellchat2 <- createCellChat(object = data.input2, meta = meta2, group.by = "labels")
# 2. Process each object
# ... (preprocessing steps for each)
# 3. Merge for comparison
cellchat <- mergeCellChat(cellchat1, cellchat2, add.names = c("LS", "NL"))
# 4. Compare signaling
rankNet(cellchat, mode = "comparison", comparison = c(1, 2))
To refresh this skill with updated documentation: