基因组作图软件GenomeDiagram
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第17章Graphics模块中的基
因组可视化包
—GenomeDiagram
Bio.Graphics模块基于Python的第三方扩展库ReportLab,ReportLab主要生成PDF文件,同时也能生成EPS(Encapsulated Postscript)文件和SVG文件。ReportLa可以导出矢量图,如果安装依赖关系(Dependencies),比如PIL(Python Imaging Library),ReportLab也可以导出JPEG, PNG, GIF, BMP和PICT格式的位图(Bitmap image)。
17.1 基因组可视化包—GenomeDiagram
17.1.1 GenomeDiagram简介
Bio.Graphics.GenomeDiagram包被整合到Biopython 1.50版之前,就已经是Biopython 的独立模块。GenomeDiagram包首次出现在2006年Pritchard等人在Bioinformatics杂志的一篇文章[:ref:`2
册/DIST/docs/GenomeDiagram/userguide.pdf。正如“GenomeDiagram”名称所指,它主要用于可视化全基因组(特别是原核生物基因组),即可绘制线型图也可绘制环形图,Toth等人在2006年发表的文章[:ref:`3
如果存储基因组信息的是从GenBank文件中下载的SeqRecord话,它会包含许
多SeqFeature,那么用这个模块处理就很简单(详见第:ref:`4
17.1.2 图形,轨迹, 特征集和特征
GenomeDiagram使用一组嵌套的对象,图层中沿着水平轴或圆圈的图形对象(diagram object)表示一个序列(sequence)或序列区域(sequence region)。一个图形可以包含多个轨迹(track),呈现为横向排列或者环形放射图。这些轨迹的长度通常相等,代表相同的序列区域。可用一个轨迹表示基因的位置,另一个轨迹表示调节区域,第三个轨迹表示GC含量。可将最常用轨迹的特征打包为一个特征集(feature-sets)。CDS的特征可以用一个特征集,而tRNA的特征可以用另外一个特征集。这不是强制性的要求,你可以在diagram中用同样的特征集。如果diagram中用不同的特征集,修改一个特征会很容易,比如把所有tRNA的特征都变为红色,你只需选择tRNA的特征就行。
新建图形主要有两种方式。第一种是自上而下的方法(Top-Down),首先新建diagram对象,然后用diagram的方法来添加track(s),最后用track的方法添加特征。第二种是自下而上的方法(Bottom-Up),首先单独新建对象,然后再将其进行组合。
17.1.3 自上而下的实例
我们用一个从GenBank文件中读取出来的SeqRecord来绘制全基因组(详见
第:ref:`5
的tests目录下,NC_005816.gb也可下载
这里用自上而下的方法,导入目标序列后,新建一个diagram,然后新建一个track,最后新建一个特征集(feature set):
接下来的部分最有趣,提取SeqRecord中每个基因的SeqFeature对象,就会为diagram 生成一个相应的特征(feature),将其颜色设置为蓝色,分别用深蓝和浅蓝表示。
创建导出文件需要两步,首先是draw方法,它用ReportLab对象生成全部图形。然后是write方法,将图形存储到格式文件。注意:输出文件格式不止一种。
如果安装了依赖关系(Dependencies),也可以生成位图(Bitmap image),代码如下:
注意,我们将代码中的fragments变量设置为“4”,基因组就会被分为“4”个片段。如果想要环形图,可以试试以下的代码:
示例图不是非常精彩,但这仅仅是精彩的开始。
17.1.4 自下而上的实例
现在,用“自下而上”的方法来创建相同的图形。首先新建不同的对象(可以是任何顺序),然后将其组合。
同样,利用draw和write方法来创建线形图或者环形图,结果应该完全相同(“draw”和“write”部分的代码见17.1.3)。
17.1.5 简单的Feature
以上示例中,创建diagram使用的SeqRecord的SeqFeature对象(详见:ref:`4.3
对于序列来说,+1代表正向,-1代表反向,None代表两者都有,下面举个简单的示例:
图形示例结果请见下一节图中的第一个图,缺省的feature为浅绿色。
注意,这里用name参数作为feature的“说明文本”(caption text)。下文将会讲述更多细节。
17.1.6 Feature说明