今天推文的内容重点是画图用到的输入文件的准备,推文内容来自 读者投稿。这位读者提到了关于本期推文的内容可以添加 她 的微信一起讨论。如果想要加微信可以直接在文末留言!

image.png

图一

基因家族分析的论文中通常会把基因家族成员的进化树、基因结构、motif分析放在一张图里。效果如图一。准备这个图 除了把各部分画出来再使用ps将图片拼接起来以外,还可以用TBtools直接绘制这种效果的图片。其实绘制方法并不难,对于小白来说不友好的是准备绘图所需要的文件,本文旨在帮助像我一样刚入门的生信小白解决如何准备绘图文件的问题以及说明绘图过程中的一些注意点,希望对你有所帮助。

作图所需要的文件(本文重点)

作图前,有一点要注意的是:三个文件中序列的ID要修改统一。不统一的话会报错,导致绘图失败。然后继续说重点,如何准备绘图所需的三个文件。

1 准备nwk格式的进化树文件

MEGA构建进化树的结果文件:nwk文件,提供进化信息。这个文件准备比较容易。把蛋白质全长序列的fastA文件放入MEGA中中进行多序列比对,比对完成后保存为MEG类型文件。用MEG文件构建进化树,构建进化树结果保存为nwk类型即可。

2 MEME分析结果文件meme.xml

提供对应基因蛋白序列的motif结构信息。在Linux中安装MEME后,运行以下命令(如图二),我把命令的各部分解释给标记上了,可以根据需要灵活修改。这个命令的结果文件有好多个,找到xml文件(如图三)。

图二

图三

3 gff格式或者gtf格式的注释文件

这个文件的准备对我个人而言最具难度。所面临的问题是:如何从全基因组gff注释文件中把相关基因的注释文件提取出来保存并且保存为gff格式呢?

我在脑子里想了好多办法。

1.Notepad++中打开逐一筛选复制并保存。这个办法让我成功保存了一个txt格式的注释文件,可我要的是 gff类型的文件啊。

2.删除全基因组gff注释文件里的非目标基因的注释文件再保存…这办法,算了吧,我大学生应该还有办法。

3.自暴自弃,这图我不做了。

最后,我在之前学的一个基因家族相关课程里找到了一个perl脚本正符合我的需求!这个课程很不错,我自己跟着捣鼓了几遍后,对基因家族分析以及一些生信知识上有了基本的把握。由于我自己还没学过Perl脚本,只有一点python基础,以下运行命令(如图四)和脚本,只是根据课中老师的讲解和观察,知道了运行规律(如图四),总结分享给大家来解决自己的问题。懂Perl的同学可以灵活修改反复使用,不懂的可以像我一样,暂时先知道怎么用就行了。记住你每一个手动处理数据的痛苦时刻,然后变成学习复杂工具(python、perl等)的动力!

image.png

图四

image.png

图五

一定要注意的是:运行这个脚本一定要仔细观察你的物种注释文件中的ID,接下来我要以拟南芥的全基因组注释文件以及石榴的全基因组注释文件为例着重说明这一点,因为这关乎你是否能得到你想要的结果文件。请一定一定仔细看这一点!!!

石榴的gff注释文件(如图六)。再强调一下:**图五红框内的每一个geneID和要和图六中对应gene的所有红框中的ID以及ParentID保持一致,对于我的石榴物种而已,也就是全把图六红框中的ID以及Parent全替换成绿框内的ID。**因为脚本运行的规律就是:**如果gff文件中的ID存在于图五红框内,就把该基因的mRNA、cds、UTR等序列信息行提取出来,**提取出来的文件如图七。有些物种下载出来geneID就是保持一致的,比如拟南芥的(如图八、图九)。但是我研究的物种石榴就需要自己修改,这个你可以在Notepad++中搜索替换一下,这一步稍微麻烦点。

image.png

图六

图七

图八

image.png

图九

绘图方法

方法我是参考了组学大讲堂社区的文章来作图的,绘图过程并不是很难。具体可以点击以下链接参考学习。https://www.omicsclass.com/article/1269。值得注意的是:我自己在作图过程中发现,文章中老师点击的位置(图十)和我下载的最新版本的TBtools的位置完全不一样,甚至名字都不一样,找了好半天,我估计应该是下载版本的问题。如果你也有这样的问题,可以参考下我这个版本的位置(如图十一),如果都不是的话,你就自己都点点看,点进去的界面(如图十二)即可。

图十

image.png

图十一

图十二

最后,如果你需要自定义最后呈现的图中进化树的序列ID(如图十三),那么TBtools支持你提交一个

image.png

图十三

原始的ID是基于进化树nwk文件提取获得,tbtools本身接收进行ID的批量修改,位于界面下方(图十四):

image.png

图十四

在红框栏提交一个文件,文件只需要保持TAB分隔的文本文件,第一列是原始ID,第二列是新ID,不需要表头,即可完成批量修改。

推文中提到的脚本也可以留言获取

本期推文的内容是读者来稿

由小明进行编辑整理

欢迎大家关注我的公众号

小明的数据分析笔记本

python绘制基因结构图_使用TBtools绘制进化树+motif分析+基因结构~三图合一相关推荐

  1. 【佳学基因人工智能】RNA测序数据的信息分析——基因解码信息源的准备

    [佳学基因人工智能]RNA测序数据的信息分析--基因解码信息源的准备 人的基因信息解码策略 人的基因信息解码有两种策略,一是数据库比对策略,二是基因解码策略.数据库比对策略只能用数据库中记录过的案例. ...

  2. python绘制基因结构图_从 gff 到 gggenes 绘制基因结构图

    gffutils 是一个用来解析 gff 文件的 Python 包,可以十分方便地获取 gff 文件中的相关信息.gggenes 是 ggplot2 的扩展包,用于绘制基因结构图.多物种基因比较图的很 ...

  3. python画三维坐标_使用PyOpenGL绘制三维坐标系实例

    我就废话不多说了,直接上代码吧! def drawCoordinate(): ''' 绘制三维的坐标系,并绘制由坐标轴构成的平面的网格,各个坐标轴的颜色以及由坐标轴所引出的网格线的颜色为: x: (1 ...

  4. python绘制基因结构图_使用Python绘制GWAS分析中的曼哈顿图和QQ图

    [前言]其实这篇文章是为了简单介绍一下geneview的用法,它是一个Python高级库,建立在matplotlib的基础之上,专门用于基因组数据的可视化,目的是为了使创建高大上(精致)的基因组数据图 ...

  5. 使用gsds绘制基因结构图_使用SnapGene viewer绘制比较基因簇结构图

    点击关注我 小编前期介绍了如何使用SnapGene viewer寻找酶切位点和设计引物, 你们学会了吗?(点击回顾前文) SnapGene viewer是一款专业的质粒图谱绘制软件,也可以绘制比较基因 ...

  6. python绘制基因结构图_Python调用graphviz绘制结构化图形网络示例

    安装完成后将安装目录的bin 路径加到系统路径中,有时候需要重启电脑. 然后: pip install graphviz import graphviz as gz 有向图 dot = gz.Digr ...

  7. python怎么画长方体_将长方体绘制为图像

    我正在将一个重要的应用程序从PHP迁移到Python.一切都很好,除了一个我似乎无法弄清的问题.在 旧的应用程序使用PHP库Image_3D将一些长方体绘制成图像(SVG,尽管这并不重要),并将它们显 ...

  8. python画图心形_通过matplotlib绘制心形

    相关工具库很多,都是科学计算的东西:numpy.scipy.pandas.matplotlib.sympy.mayavi2 SciPy官网的介绍 NumPy's array type augments ...

  9. python绘制气象等值线图_用Matplotlib绘制Python等值线图

    我试图用Python的Matplotlib包绘制等高线图.我试图得到与在this其他堆栈溢出帖子中看到的结果相似的结果.但是,我遇到了一个问题,它说有一个类型错误,它告诉我TypeError: Inv ...

  10. 如何用python画数学图案_使用Matplotlib 绘制精美的数学图形例子

    一个最最简单的例子: 绘制一个从 0 到 360 度完整的 SIN 函数图形 import numpy as np import matplotlib.pyplot as pt x = np.aran ...

最新文章

  1. FileUpload生成图片水印,文字水印(转载)
  2. android怎么长按一张图片保存到相册_instagram怎么保存图片?
  3. VTK:图片之ResizeImage
  4. 转]SQLServerDBA十大必备工具
  5. 设计模式(C++实现)--一句话总结
  6. JSP作业1--5!
  7. ADO.NET- 基础总结及实例
  8. Promise学习——解决回调地狱问题
  9. 树莓派装系统,配置,换源,远程操控
  10. 最优化学习笔记(十四)——共轭梯度法
  11. Python验证和可视化冰雹猜想、角谷猜想、考拉兹猜想
  12. 深入理解linux网络技术内幕读书笔记(十)--帧的接收
  13. Android Graphic 架构
  14. Action类为何要继承ActionSupport
  15. paip.提升性能----SQL优化总结
  16. 需求文档(PRD文档)
  17. 基于pytorch+Resnet101加GPT搭建AI玩王者荣耀
  18. iOS数据持久化设计探讨(NSCache,PINCache,YYCache,CoreData,FMDB,WCDB,Realm)
  19. 自动化脚本开发,真香.....
  20. 40几岁读研究生计算机,年近四十岁,还有必要去考研和继续考博吗?不建议考全日制研究生...

热门文章

  1. mapper [pos] of different type, current_type [geo_point], merged_type [ObjectMapper]
  2. Axure热区的使用
  3. 第三届“马栏山杯” 国际音视频算法大赛
  4. 安卓客户端代码中修改服务器ip,安卓客户端代码中修改服务器ip
  5. Windows电脑微信多开方法
  6. 更新:电脑微信多开v3.5
  7. 生活中笔记本内存的主要作用
  8. (算法)C语言得到两个升序序列的中位数
  9. 监听php队列,执行一个队列监听
  10. 怎么选最快dns服务器,dns设置(dns设置哪个最好最快)