前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python生物信息学⑥绘制热图及火山图

Python生物信息学⑥绘制热图及火山图

作者头像
DrugAI
发布2021-01-28 18:02:08
1.9K0
发布2021-01-28 18:02:08
举报
文章被收录于专栏:DrugAI

Python生物信息学③提取差异基因

通过Python生物信息学③提取差异基因得到了该数据集的差异分析的两个关键参数,1.差异倍数(foldchange)以及2.差异的P值。本篇目的是得到满足差异倍数和差异P值的基因,同时进行可视化(包括差异分析常见的火山图和热图)。

绘制火山图

(1)第一步制作差异分析结果数据框

代码语言:javascript
复制
genearray = np.asarray(pvalue)
result = pd.DataFrame({'pvalue':genearray,'FoldChange':fold})
result['log(pvalue)'] = -np.log10(result['pvalue'])

(2)第二步制作火山图的准备工作

选定的差异基因标准是 I.差异倍数的绝对值大于1,II. 差异分析的P值小于0.05

代码语言:javascript
复制
result['sig'] = 'normal'
result['size']  =np.abs(result['FoldChange'])/10
result.loc[(result.FoldChange> 1 )&(result.pvalue < 0.05),'sig'] = 'up'result.loc[(result.FoldChange< -1 )&(result.pvalue < 0.05),'sig'] = 'down'
代码语言:javascript
复制
ax = sns.scatterplot(x="FoldChange", y="log(pvalue)",                      hue='sig',                      hue_order = ('down','normal','up'),                      palette=("#377EB8","grey","#E41A1C"),                      data=result)ax.set_ylabel('-log(pvalue)',fontweight='bold')ax.set_xlabel('FoldChange',fontweight='bold')

筛选差异基因

代码语言:javascript
复制
fold_cutoff = 1pvalue_cutoff = 0.05
filtered_ids = []for i in range(0, number_of_genes):    if (abs(fold[i]) >= fold_cutoff) and (pvalue[i] <= pvalue_cutoff):        filtered_ids.append(i)
filtered = data2.iloc[filtered_ids,:]print("Number of DE genes: ")print(len(filtered.index))

绘制热图

热图(heatmap)是生物学文章里(尤其是RNA-seq相关论文)经常出现的图片。热图的用途一般有两个。以RNA-seq为例,热图可以:1)直观呈现多样本多个基因的全局表达量变化;2)呈现多样本或多基因表达量的聚类关系。热图一般使用颜色(例如红绿的深浅)来展示多个样本多个基因的表达量高低,既直观又美观。同时可以对样本聚类或者对基因聚类。

代码语言:javascript
复制
sns.clustermap(filtered, cmap='RdYlGn_r', standard_scale = 0)

(1)每一行为一个基因,每一列为一个sample。 (2)绿色代表相对低表达,红色代表相对高表达。 (3)相对接近的样本或者基因会聚类在一起,比如探针名为101695_at的基因在GSM130370相对高表达,而在GSM130366低表达。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DrugAI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 绘制火山图
  • 筛选差异基因
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档