R应用分析qPCR数据
因为前天更新了macOS Mojave导致系统里的Office崩了。很多笔记要重新画时间整理,而正好呢。最近刚做完了一大波qPCR,也算有一点经验。分析部分当然主要用到R,所以拿出来和大家聊一聊
背景
Raw细胞被感染后会发生分化。我想看看这种情况下分化细胞一些基因变化如何。
实验部分
qPCR要注意的事情有很多。如实验设计,引物设计,RNA提取,反转等。很多细节大家应该比较了解,在这里就不老生常谈了。稍微分享一下一个细节吧,在很多公司的反转试剂盒中反转之前都包含一步DNaseI处理。但是做完之后其实会造成很多mRNA丢失,这里就很容易引入误差。那不做这一步又要防止残留基因组被扩增,可以跨内含子设计引物。我一般都会先去ensemble数据库找到cDNA序列。Ensemble上很人性化用颜色将不同内含子区分开来,所以一般尽量跨设计一段就OK了。
数据分析部分
一般qPCR做完都可以做成一个这样子的表
可以直接用Excel将2-ΔΔα计算出来。接下来我们的分析也用2-ΔΔα展开
将数据做成一个Excel表格,用xlsx读入就可以了
原始数据大概长这样,用我们之前清理数据的方法清理一下。得到一个可以分析的新数据
我将感染时间作为X轴,H2D基因的相对变化值作为y轴,用ggplot2绘图
ggplot(qd1,aes(x=dd,y=df,fill=state_of_infection))+
geom_bar(stat="identity",position="dodge")+
xlab(label="The Date of Post-Infection")+
ylab(label="The Fold Differences Of H2D Gene Expression")+ #在x,y轴上添加标签
theme_set(theme_bw())+#背景调成白色
theme(panel.grid=element_blank(),panel.border=element_blank(),axis.line=element_line(size=1,colour="black"))+ #去掉网格线
这时候可以得到这个图
乍一看好像没什么问题,但是仔细一看。D2,D3明明只高出一倍的表达量。可是却高了这么多,给人视觉上的冲击,会带来偏差。
为了做些修正,我将y轴伸长,这样子直方图就会按比例调整
+scale_y_continuous(limits=c(0, 6))
得到新图,然后再用t检验做一下比较,然后标注出显著性就可以。但是这部分有点复杂,以后有机会给大家讲统计再说吧。这里为了节约篇幅,就先不说了。
这样子是不是就正常一些了。然后再对同样的数据做一下折线图
ne
qd2%filter(state_of_infection=="Infected")%>%bind_rows(ne)%>%mutate(df=log2(df))
ggplot(qd2,aes(x=dd,y=df,group=1))+
geom_line()+
xlab(label="The Date Of Post-Infection")+
ylab(label="The Fold Differences Of H2D Gene Expression")+
scale_y_continuous(limits=c(0, 6))
theme_set(theme_bw())+
theme(panel.grid=element_blank(),panel.border=element_blank(),axis.line=element_line(size=1,colour="black"))
可以看到相比于直方图代码有一个部分我做了改动
就是我把2-ΔΔα求了log2值,然后用新的值来画图
qd2%filter(state_of_infection=="Infected")%>%bind_rows(ne)%>%mutate(df=log2(df))
为什么要这样子呢?有什么好处
我们分别来看看不求log2和求log2图的区别
不求
求了
可以看到。对于H2D基因上调的组D2/D1约等于2.几倍而对于H2D下调的组D1/D5也是约近两倍。但是由于下调距离1绝对值只有0.5,而上调距离1绝对值有1.所以上调的会给人视觉上一种更高的感觉。所以我们要求log值修正这种误差。
那为什么直方图不修正呢?明明D5也是极显著,但在直方图中似乎也比较弱。那是因为我实验时候设计的时候,每天对照组都会重复取不感染的。所以他们标准化之后都是一,如果对log值都是零,在图上就无法显示,也无法做显著性标记了。
最后两张图放一起我们就可以得到一个nice的数据分析图了
领取专属 10元无门槛券
私享最新 技术干货