和R语言一起探索单细胞基因表达!

和R语言一起探索单细胞基因表达!

当我们拿到一组单细胞数据的矩阵时,如何在处理之前观察细胞和基因表达之间的关系呢?今天小果就带大家一起来看一下!

  • 生成数据矩阵

今天我们用到的数据仍然来自于scRNAseq包中的细胞集哦!数据矩阵的生成方法小果已经给大家准备好啦!一起来看一下吧!

library(scRNAseq)
data(fluidigm)
fluidigm<-ReprocessedFluidigmData()
ct <- floor(assays(fluidigm)$rsem_counts) #生成数据矩阵
ct[1:4,1:4]
sample_ann <- as.data.frame(colData(fluidigm))
DT::datatable(sample_ann)

表格

描述已自动生成 使用R语言中的View()函数可以直接查看我们生成的数据矩阵哦,我们一起来看一下。

  • 探索基因表达情况

在探索基因表达情况,具体时从哪些角度来看呢?小果在这里给大家体共两种思路:

1.统计某个基因在多少个细胞中得到表达;

2.统计一个细胞中表达了多少个基因;

那么要从这两个角度去探索,分别要如何去统计呢?快调动你聪明的小脑袋!如果想不到也没关系,今天小果手把手教你完成!

    • 统计所有基因表达成功的细胞个数

对于基因表达成功的细胞个数,我们需要用apply函数统计数据矩阵中每一行元素中对应值大于0的个数,接下来我们进行统计并绘制箱线图观察整体表达情况。和小果一起来看看吧!

fivenum(apply(counts,1,function(x) sum(x>0) ))#统计所有基因表达成功细胞个数中的五个指标
boxplot(apply(counts,1,function(x) sum(x>0) ))#绘制箱线图

得到以上的箱线图后,小果来给大家做一个简单的解读吧!由箱线图的中位线可以看出,基因表达成功的细胞数的中位数值大概在3个左右,表达细胞数的阈值大概在35左右,即说明如果基因在35个细胞内不表达就可以直接过滤掉哦。

    • 统计所有细胞表达了的基因个数

有了上面的基础,你是否学会举一反三了呢?对于细胞表达了的基因个数,我们同样使用apply函数统计数据矩阵中的每一列元素中对应值大于0的个数即可,接下来我们用直方分布图来和大家展示一下整体的表达情况。和小果一起看看吧!

fivenum(apply(counts,2,function(x) sum(x>0) ))#统计所有细胞表达了基因个数中的五个指标
hist(apply(counts,2,function(x) sum(x>0) )) #绘制直方分布图

在分析了箱线图的统计结果后,你能否独立分析直方图的统计结果呢?我们还是和小果一起来看一下!

由直方分布图的统计结果可以看出,表达基因个数在3000~4000之间的细胞占最多数量,表达基因个数在8000以上的细胞仅有2~3个,占最少的数量。

通过以上两组统计图的分析,我们就对基因在细胞中的表达情况游客整体的把握,怎么样,今天的小技巧你学废了嘛?更多生信技巧请继续关注小果哦!