scRNA

scRNA---Day1(smartseq2)

2020-04-27  本文已影响0人  茶馆先生的马褂
Bulk思路理解SC
  1. 读取RNA-seq的 counts 定量结果,表达矩阵需要进行简单的过滤
    dat=a[apply(a,1, function(x) sum(x>1) > floor(ncol(a)/50)),]
    筛选表达量合格的行(基因), 列(细胞)数不变,筛选出符合条件的基因,即至少在2%的细胞中表达。
  2. 对 某基因在某样本中的表达量的统计计算
    log2(18*1000000/sum(dat[,3])+1)
    counts数为18(样本所在表达矩阵为第三列),
    dat=log2(edgeR::cpm(dat)+1)
    对所有表达数据进行log及归一化处理
  3. dist函数计算样本直接距离和cor函数计算样本直接相关性,是完全不同的概念。虽然我都没有调它们两个函数的默认的参数。
  1. 层次聚类
    hc=hclust(dist(t(dat))) 确实如教程所说,样本较多非常耗时
  2. scale函数 去中心化和标准化
x=1:10;plot((x))
    scale(x);plot(scale(x))

n[n>2]=2#矩阵n中归一化后,大于2的项,赋值使之等于2(相当于设置了一个上限)

  1. PCA
    dat.pca <- PCA(dat[,-ncol(dat)], graph = FALSE) 现在dat最后一列值为group_list,需要去掉最后一列赋值给dat.pca才能作图,其中ncol(dat)返回列值,dat[ ,-ncol(dat)]即把最后一列值删除。(就是删除分组信息)
  2. CV^2
mean_per_gene <- apply(exprSet, 1, mean, na.rm = TRUE) #对表达矩阵每行求均值
sd_per_gene <- apply(exprSet, 1, sd, na.rm = TRUE) #对表达矩阵每行求标准差
mad_per_gene <-   apply(exprSet, 1, mad, na.rm = TRUE) #对表达矩阵每行求绝对中位差
  1. with函数(之前学习R语言时见到过,无奈有忘记了)
    https://blog.csdn.net/Megajojo/article/details/81626919
    with() attatch-dettach()
上一篇下一篇

猜你喜欢

热点阅读