Python生物信息学⑥绘制热图及火山图
Python生物信息学⑥绘制热图及火山图
Python生物信息学③提取差异基因
通过上Python生物信息学③提取差异基因得到了该数据集的差异分析的两个关键参数,1.差异倍数(foldchange)以及2.差异的P值。本篇目的是得到满足差异倍数和差异P值的基因,同时进行可视化(包括差异分析常见的火山图和热图)。
绘制火山图
(1)第一步制作差异分析结果数据框
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
result['sig'] = 'normal'result['size'] =np.abs(result['FoldChange'])/10result.loc[(result.FoldChange> 1 )&(result.pvalue < 0.05),'sig'] = 'up'
result.loc[(result.FoldChange< -1 )&(result.pvalue < 0.05),'sig'] = 'down'
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')
筛选差异基因
fold_cutoff = 1
pvalue_cutoff = 0.05filtered_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)呈现多样本或多基因表达量的聚类关系。热图一般使用颜色(例如红绿的深浅)来展示多个样本多个基因的表达量高低,既直观又美观。同时可以对样本聚类或者对基因聚类。
sns.clustermap(filtered, cmap='RdYlGn_r', standard_scale = 0)
(1)每一行为一个基因,每一列为一个sample。 (2)绿色代表相对低表达,红色代表相对高表达。 (3)相对接近的样本或者基因会聚类在一起,比如探针名为101695_at的基因在GSM130370相对高表达,而在GSM130366低表达。
参考:
https://www.jianshu.com/p/3d810f41e76d
Python生物信息学⑥绘制热图及火山图相关推荐
- 宏基因组扩增子3统计绘图:中文首发,最详系,零基础(箱线图、散点图、热图、曼哈顿图、火山图、韦恩图、三元图、网络图)
本网内容首发"宏基因组"公众号,更佳阅读体验.更多相关文章,欢迎点我跳转至公众号阅读 注:文为蓝色字均为文章链接,可点击直达 写在前面 优秀的作品都有三部分曲,如骇客帝国.教父.指 ...
- python+matplotlib绘制南丁格尔玫瑰图
实验:绘制南丁格尔玫瑰图 本实验有一定难度,有人说matplotlib绘图和matlab大同小异,我看除了一些函数名相同之外,其他的像参数和使用方法很不一样.另外我不知道是不是在matlab中画玫 ...
- Python Matplotlib绘制漂亮的K线图,利用Tushare绘制K线图
1 引言 做量化分析,难免要将自己的某些指标等绘制在K线图上,或者对某些指标进行改造观察K线图和指标对应的走势关系.那么用Python如何绘制和炒股软件类似的效果呢. 2 准备工具 (1)数据源:Tu ...
- python matplotlib 绘制热图(极简)
代码 import matplotlib.pyplot as plt from matplotlib import cmdef Hotmap():datas=[[1,2,3],[4,5,6],[7,8 ...
- python三维图怎么显示_如何在python中绘制多个回归3D图
我不是科学家,所以请假设我不知道有经验的程序员的行话,或者科学绘图技术的复杂性. Python是我所知道的唯一语言(初学者,也许是中级). 任务:将多元回归的结果(z = f(x,y))绘制为3D图形 ...
- 再肝一个R包!一行代码绘制精美火山图!
一行代码绘制火山图的R包诞生了!在过去的一年中,师兄先后生信绘图系列和高分SCI复现系列中更新了多种不同的火山图的绘制方法,包括普通的火山图.渐变火山图.以及包含GO通路信息的火山图!但是很多小伙伴反 ...
- Volcano plot | 别再问我这为什么是火山图 (在线轻松绘制)
封面来源于:Pixabay+易生信 生物信息学习的正确姿势 NGS系列文章包括NGS基础.高颜值在线绘图和分析.转录组分析 (Nature重磅综述|关于RNA-seq你想知道的全在这).ChIP-se ...
- 【R语言】——火山图绘制
本期介绍利用R语言筛选差异表达基因及绘制火山图. 一.什么是火山图? 火山图(volcano plot)是散点图的一种,它将统计测试中的统计显著性量度(如p-value.FDR)和变化幅度相结合,从而 ...
- 增强火山图,要不要试一下?
包作者:Kevin Blighe 撰文:协和医学院 苑晓梅 编辑:生信宝典 前言 最近道听途说EnhancedVolcano绘制火山图的方便性,所以本人就根据其说明文档进行操作.但在操作过程中发现,其 ...
最新文章
- jemeter监听器的使用
- [js] 代码中如果遇到未定义的变量,会抛出异常吗?程序还会不会继续往下走?
- Lync2013 升级错误总结8 Lync2013 日志总是提示进程 RtcHost(5724) 收到了一个无效的客户端证书...
- tar解压出错tar: Child returned status 1
- android studio 弹出式对话框设置时间_如何设置当单击某个对象时运行指定的应用程序?...
- Android OpenGL ES 开发教程(16):Viewing和Modeling(MODELVIEW) 变换
- c语言调用python变量_在c中读取python的全局变量
- 读书感受 之《活着》
- 网吧游戏服务器制作教程,网吧服务器系统环境部署
- windows删除桌面右键“英特尔@显卡设置”
- 考研英语 - word-list-17
- 【Kind2(基于SMT的自动模型检查器)学习笔记】基本语法
- C语言实现(小米面试题)给定一个句子(只包含字母,空格,逗号和句号), 将句子中的单词位置反转,符号不变。(使用指针)
- 金融远期合约与金融期货合约
- 「Computer keyboard」- 在键盘中,手指的摆放位置 @20210331
- PacBio相关知识
- 欧拉定理及扩展(附证明)
- 用Python学习吴恩达机器学习——梯度下降算法理论篇
- 蓝翔开设电竞专业,从《英雄联盟》学起;360将借壳江南嘉捷登陆A股;苹果iPhone X首拆丨价值早报
- 计蒜客 2018ICPC徐州邀请赛D Persona5(组合计数 + 分块打表)