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)
epiMat = as.data.frame( GetAssayData( subset( sce, cells = epi.cells)) )
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 ,
out_dir = out_dir,
cluster_by_groups = TRUE,
denoise = TRUE,
HMM = TRUE)
3、提取恶性细胞
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)
malignant_cells < - cell_groupings[ cell_groupings$cell_group_name %in% cnv_regions$cell_group , ]
malignant_cells_need < - malignant_cells$cell
malignant_cells_need