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


DrugAI

Python生物信息学⑥绘制热图及火山图相关推荐

  1. 宏基因组扩增子3统计绘图:中文首发,最详系,零基础(箱线图、散点图、热图、曼哈顿图、火山图、韦恩图、三元图、网络图)

    本网内容首发"宏基因组"公众号,更佳阅读体验.更多相关文章,欢迎点我跳转至公众号阅读 注:文为蓝色字均为文章链接,可点击直达 写在前面 优秀的作品都有三部分曲,如骇客帝国.教父.指 ...

  2. python+matplotlib绘制南丁格尔玫瑰图

    实验:绘制南丁格尔玫瑰图   本实验有一定难度,有人说matplotlib绘图和matlab大同小异,我看除了一些函数名相同之外,其他的像参数和使用方法很不一样.另外我不知道是不是在matlab中画玫 ...

  3. Python Matplotlib绘制漂亮的K线图,利用Tushare绘制K线图

    1 引言 做量化分析,难免要将自己的某些指标等绘制在K线图上,或者对某些指标进行改造观察K线图和指标对应的走势关系.那么用Python如何绘制和炒股软件类似的效果呢. 2 准备工具 (1)数据源:Tu ...

  4. python matplotlib 绘制热图(极简)

    代码 import matplotlib.pyplot as plt from matplotlib import cmdef Hotmap():datas=[[1,2,3],[4,5,6],[7,8 ...

  5. python三维图怎么显示_如何在python中绘制多个回归3D图

    我不是科学家,所以请假设我不知道有经验的程序员的行话,或者科学绘图技术的复杂性. Python是我所知道的唯一语言(初学者,也许是中级). 任务:将多元回归的结果(z = f(x,y))绘制为3D图形 ...

  6. 再肝一个R包!一行代码绘制精美火山图!

    一行代码绘制火山图的R包诞生了!在过去的一年中,师兄先后生信绘图系列和高分SCI复现系列中更新了多种不同的火山图的绘制方法,包括普通的火山图.渐变火山图.以及包含GO通路信息的火山图!但是很多小伙伴反 ...

  7. Volcano plot | 别再问我这为什么是火山图 (在线轻松绘制)

    封面来源于:Pixabay+易生信 生物信息学习的正确姿势 NGS系列文章包括NGS基础.高颜值在线绘图和分析.转录组分析 (Nature重磅综述|关于RNA-seq你想知道的全在这).ChIP-se ...

  8. 【R语言】——火山图绘制

    本期介绍利用R语言筛选差异表达基因及绘制火山图. 一.什么是火山图? 火山图(volcano plot)是散点图的一种,它将统计测试中的统计显著性量度(如p-value.FDR)和变化幅度相结合,从而 ...

  9. 增强火山图,要不要试一下?

    包作者:Kevin Blighe 撰文:协和医学院 苑晓梅 编辑:生信宝典 前言 最近道听途说EnhancedVolcano绘制火山图的方便性,所以本人就根据其说明文档进行操作.但在操作过程中发现,其 ...

最新文章

  1. jemeter监听器的使用
  2. [js] 代码中如果遇到未定义的变量,会抛出异常吗?程序还会不会继续往下走?
  3. Lync2013 升级错误总结8 Lync2013 日志总是提示进程 RtcHost(5724) 收到了一个无效的客户端证书...
  4. tar解压出错tar: Child returned status 1
  5. android studio 弹出式对话框设置时间_如何设置当单击某个对象时运行指定的应用程序?...
  6. Android OpenGL ES 开发教程(16):Viewing和Modeling(MODELVIEW) 变换
  7. c语言调用python变量_在c中读取python的全局变量
  8. 读书感受 之《活着》
  9. 网吧游戏服务器制作教程,网吧服务器系统环境部署
  10. windows删除桌面右键“英特尔@显卡设置”
  11. 考研英语 - word-list-17
  12. 【Kind2(基于SMT的自动模型检查器)学习笔记】基本语法
  13. C语言实现(小米面试题)给定一个句子(只包含字母,空格,逗号和句号), 将句子中的单词位置反转,符号不变。(使用指针)
  14. 金融远期合约与金融期货合约
  15. 「Computer keyboard」- 在键盘中,手指的摆放位置 @20210331
  16. PacBio相关知识
  17. 欧拉定理及扩展(附证明)
  18. 用Python学习吴恩达机器学习——梯度下降算法理论篇
  19. 蓝翔开设电竞专业,从《英雄联盟》学起;360将借壳江南嘉捷登陆A股;苹果iPhone X首拆丨价值早报
  20. 计蒜客 2018ICPC徐州邀请赛D Persona5(组合计数 + 分块打表)

热门文章

  1. 东汉末年,他们把「服务雪崩」玩到了极致
  2. 面试官:连框架都没用熟练,就这还来面试?
  3. 埃森哲是如何系统化做好数据分析?
  4. 2018,送给大家一份提升技术的宝典
  5. 何为OKR?为何使用OKR?
  6. 用看板工具leangoo做需求管理,公开看板分享
  7. 一笔画 (25 分)
  8. TX2---ORB_SLAM2
  9. c++ 标准库格式化时间戳(既将时间戳转字符串,字符串转时间戳)
  10. HTML的标签描述24