inferCNV鉴定肿瘤中的恶性细胞流程

1、准备相关文件

sce <- readRDS("path_to_seurat/seurat.rds")
#鉴定内皮细胞中的恶性细胞
epi.cells  <- row.names(sce@meta.data)[which(sce$free_annotation=='Epithelial cells')]
epi_sce <- subset(sce, cells = epi.cells)
epi_sce@meta.data
length(epi.cells)
#Raw Counts Matrix for Genes x Cells
epiMat=as.data.frame(GetAssayData(subset(sce, cells=epi.cells)))
#细胞的注释文件 共两列,一列CB,一列细胞来源,tab分割,无列名
groupinfo=data.frame(v1=colnames(epiMat),
                     v2=epi_sce@meta.data$type)
#基因排序文件
geneInfor=annoGene(rownames(epiMat),"SYMBOL",'human')
colnames(geneInfor)
geneInfor=geneInfor[with(geneInfor, order(chr, start)),c(1,4:6)]
geneInfor=geneInfor[!duplicated(geneInfor[,1]),]
length(unique(geneInfor[,1]))
head(geneInfor)

## 这里可以去除性染色体
# 也可以把染色体排序方式改变
dat=epiMat[rownames(epiMat) %in% geneInfor[,1],]
dat=dat[match( geneInfor[,1], rownames(dat) ),] 
dim(dat)
expFile='path_to_save/expFile.txt'
write.table(dat,file = expFile,sep = '\t',quote = F)
groupFiles='path_to_save/groupFiles.txt'
head(groupinfo)
write.table(groupinfo,file = groupFiles,sep = '\t',quote = F,col.names = F,row.names = F)
head(geneInfor)
geneFile='path_to_save/geneFile.txt'
write.table(geneInfor,file = geneFile,sep = '\t',quote = F,col.names = F,row.names = F)

2、运行inferCNV

infercnv_obj = CreateInfercnvObject(raw_counts_matrix=expFile,
                                    annotations_file=groupFiles,
                                    delim="\t",
                                    gene_order_file= geneFile,
                                    ref_group_names=c("normal"))  ## 这个取决于自己的分组信息里面的
# 手动指定输出目录
out_dir <- "path_to_save_inferCNV_result"
infercnv_obj = infercnv::run(infercnv_obj,
                             cutoff=0.1, # cutoff=1 works well for Smart-seq2, and cutoff=0.1 works well for 10x Genomics
                             out_dir=out_dir, 
                             cluster_by_groups=TRUE, 
                             denoise=TRUE,
                             HMM=TRUE)

3、提取恶性细胞

# 读取预测的CNV区域和基因文件
cnv_regions <- read.table("path_to_save_inferCNV_result/17_HMM_predHMMi6.hmm_mode-samples.pred_cnv_regions.dat", header = TRUE)
cnv_genes <- read.table("path_to_save_inferCNV_result/17_HMM_predHMMi6.hmm_mode-samples.pred_cnv_genes.dat", header = TRUE)

# 读取细胞分组信息
cell_groupings <- read.table("path_to_save_inferCNV_result/17_HMM_predHMMi6.hmm_mode-samples.cell_groupings", header = TRUE)

# 识别具有显著CNV的细胞
malignant_cells <- cell_groupings[cell_groupings$cell_group_name %in% cnv_regions$cell_group, ]

# 查看恶性细胞
malignant_cells_need <- malignant_cells$cell
malignant_cells_need
### inferCNV 生物信息学工具使用方法 inferCNV 是一种用于从单细胞 RNA 测序 (scRNA-seq) 数据中推断拷贝数变异 (Copy Number Variation, CNV) 的强大工具[^2]。该工具不仅支持多种数据格式和预处理步骤,还提供了丰富的可视化选项来辅助数据分析。 #### 主要功能特点 - **多格式兼容**:inferCNV 支持常见的 scRNA-seq 文件格式,如 10X Genomics 输出文件、CSV 和 TSV 等。 - **全面的数据处理流程**:内置完整的数据读取、过滤、标准化等功能模块。 - **高级可视化能力**:通过热图、散点图等多种图表形式展示 CNV 结果,便于研究人员更直观地解读实验数据。 #### 安装指南 为了安装并配置好 inferCNV,在命令行环境中执行如下指令: ```bash pip install --upgrade pip setuptools wheel git clone https://github.com/broadinstitute/infercnv.git cd infercnv python setup.py install ``` #### 基本使用示例 下面是一个简单的 Python 脚本例子,演示如何加载样本数据集并对其中的基因表达矩阵进行初步探索: ```python import pandas as pd from infercnv import InferCNV # 加载输入文件路径 input_file_path = 'path/to/your/scRNAseq_data.h5ad' # 初始化对象实例 cnv_analysis = InferCNV(input_file=input_file_path) # 执行默认参数下的分析过程 result_df = cnv_analysis.run() print(result_df.head()) ``` 上述代码片段展示了如何创建 `InferCNV` 类的对象,并调用其成员函数来进行基本的操作。实际应用场景下可能还需要调整更多参数设置以满足特定需求。 #### 可视化结果解释 完成计算之后,可以借助 inferCNV 提供的各种绘图接口生成易于理解的结果图形。例如绘制染色体水平上的平均 log2 折叠变化曲线可以帮助识别潜在的扩增子区域或者缺失事件。 ```r library(ggplot2) ggplot(data=results_summary,aes(x=chromosome,y=log2FoldChange))+ geom_line() + theme_minimal() ``` 此 R 语言脚本段落说明了怎样利用 ggplot2 库制作折线图表示不同染色体上发生的 CNVs 幅度大小关系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值