inferCNV与Copykat使用的基本流程指导

InferCNV

  # 第一个文件count矩阵
  dfcount = as.data.frame(sce@assays$RNA@counts)
  # 第二个文件样本信息矩阵
  groupinfo= data.frame(cellId = colnames(dfcount))
  identical(groupinfo[,1],sce@meta.data$cell_id)
  groupinfo$cellType = sce@meta.data$cell_annotion # 记录细胞分组信息
  
  # 第三文件
  library(AnnoProbe)
  geneInfor=annoGene(rownames(dfcount),"SYMBOL",'human')
  geneInfor=geneInfor[with(geneInfor, order(chr, start)),c(1,4:6)]
  geneInfor=geneInfor[!duplicated(geneInfor[,1]),]
  
  ## 这里可以去除性染色体
  # 也可以把染色体排序方式改变
  dfcount =dfcount [rownames(dfcount ) %in% geneInfor[,1],]
  dfcount =dfcount [match( geneInfor[,1], rownames(dfcount) ),] 
  # 输出
  expFile='./processfile/23479_samples_expFile.txt'
  write.table(dfcount ,file = expFile,sep = '\t',quote = F)
  groupFiles='./processfile/23479_samples_groupFiles.txt'
  write.table(groupinfo,file = groupFiles,sep = '\t',quote = F,col.names = F,row.names = F)
  geneFile='./processfile/23479_samples_geneFile.txt'
  write.table(geneInfor,file = geneFile,sep = '\t',quote = F,col.names = F,row.names = F)

# 标准运行流程
  rm(list=ls())
  options(stringsAsFactors = F)
  library(Seurat)
  library(ggplot2)
  library(infercnv)
  expFile='./processfile/23479_samples_expFile.txt' 
  groupFiles='./processfile/23479_samples_groupFiles.txt'  
  geneFile='./processfile/23479_samples_geneFile.txt'
  library(infercnv)
  gc()
  infercnv_obj = CreateInfercnvObject(raw_counts_matrix=expFile,
                                      annotations_file=groupFiles,
                                      delim="\t",
                                      gene_order_file= geneFile,
                                      ref_group_names=c('Normal')) # 如果有正常细胞的话,把正常细胞的分组填进去
  # Run infer CNV
  infercnv_all = infercnv::run(infercnv_obj,
                               cutoff=1,  # use 1 for smart-seq, 0.1 for 10x-genomics
                               out_dir= "./processfile/23479_samples_inferCNV",  # dir is auto-created for storing outputs
                               cluster_by_groups=T,   # cluster
                               num_threads=32,
                               denoise=F,
                               HMM=F)
                               # denose和HMM选上的话运行时间会非常久

# 修改图片样式
library(RColorBrewer)
infercnv::plot_cnv(infercnv_obj, #上两步得到的infercnv对象
                   plot_chr_scale = T, #画染色体全长,默认只画出(分析用到的)基因
                   output_filename = "better_plot",output_format = "pdf", #保存为pdf文件
                   custom_color_pal =  color.palette(c("#8DD3C7","white","#BC80BD"), c(2, 2))) #改颜色

CopyKat

  sce = raw
  library(copykat)
  exp.rawdata = sce@assays$RNA@counts
  start = Sys.time()
  print(start)
  copykat.test <- copykat(rawmat=exp.rawdata, 
                          id.type="S", 
                          cell.line="no", 
                          ngene.chr=5, 
                          win.size=25, 
                          KS.cut=0.15, 
                          sam.name="TNBC1", 
                          distance="euclidean", 
                          n.cores=16)
  finish= Sys.time()
  pred.test <- data.frame(copykat.test$prediction)
  # CNA.test <- data.frame(copykat.test$CNAmat)
  sce = AddMetaData(sce,metadata = pred.test,col.name = 'pred.test')
  save(pred.test,sce, file='processfile/copykat.Rdata')
  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值