Biopython 基因组分析
基因组是一套完整的DNA,包括其所有的基因。基因组分析是指对单个基因及其在遗传中的作用的研究。
基因组图
基因组图以图表的形式表示遗传信息。Biopython使用Bio.Graphics.GenomeDiagram模块来表示GenomeDiagram。GenomeDiagram模块需要安装ReportLab。
创建图表的步骤
创建图表的过程一般遵循以下简单模式 −
- 为你想显示的每一个独立的特征集创建一个FeatureSet,并向它们添加Bio.SeqFeature对象。
-
为每一个你想显示的图创建一个GraphSet,并向它们添加图的数据。
-
为图表中的每个轨迹创建一个轨迹,并将GraphSets和FeatureSets添加到你需要的轨迹中。
-
创建一个图表,并向其添加轨迹。
-
告诉 “图表 “绘制图像。
-
将图像写到一个文件中。
让我们举个例子,输入GenBank文件 —
https://raw.githubusercontent.com/biopython/biopython/master/Doc/examples/ls_orchid.gbk ,并从SeqRecord对象中读取记录,最后画出一个基因组图。下面解释一下。
我们将首先导入所有的模块,如下图所示
>>> from reportlab.lib import colors
>>> from reportlab.lib.units import cm
>>> from Bio.Graphics import GenomeDiagram
现在,导入SeqIO模块来读取数据 —
>>> from Bio import SeqIO
record = SeqIO.read("example.gb", "genbank")
这里,记录从基因库文件中读取序列。
现在,创建一个空图来添加轨迹和特征集-
>>> diagram = GenomeDiagram.Diagram(
"Yersinia pestis biovar Microtus plasmid pPCP1")
>>> track = diagram.new_track(1, name="Annotated Features")
>>> feature = track.new_set()
现在,我们可以使用从绿色到灰色的替代颜色来应用颜色主题的变化,定义如下-
>>> for feature in record.features:
>>> if feature.type != "gene":
>>> continue
>>> if len(feature) % 2 == 0:
>>> color = colors.blue
>>> else:
>>> color = colors.red
>>>
>>> feature.add_feature(feature, color=color, label=True)
现在你可以在你的屏幕上看到下面的反应 –
<Bio.Graphics.GenomeDiagram._Feature.Feature object at 0x105d3dc90>
<Bio.Graphics.GenomeDiagram._Feature.Feature object at 0x105d3dfd0>
<Bio.Graphics.GenomeDiagram._Feature.Feature object at 0x1007627d0>
<Bio.Graphics.GenomeDiagram._Feature.Feature object at 0x105d57290>
<Bio.Graphics.GenomeDiagram._Feature.Feature object at 0x105d57050>
<Bio.Graphics.GenomeDiagram._Feature.Feature object at 0x105d57390>
<Bio.Graphics.GenomeDiagram._Feature.Feature object at 0x105d57590>
<Bio.Graphics.GenomeDiagram._Feature.Feature object at 0x105d57410>
<Bio.Graphics.GenomeDiagram._Feature.Feature object at 0x105d57490>
<Bio.Graphics.GenomeDiagram._Feature.Feature object at 0x105d574d0>
让我们为上述输入记录画一个图–
>>> diagram.draw(
format = "linear", orientation = "landscape", pagesize = 'A4',
... fragments = 4, start = 0, end = len(record))
>>> diagram.write("orchid.pdf", "PDF")
>>> diagram.write("orchid.eps", "EPS")
>>> diagram.write("orchid.svg", "SVG")
>>> diagram.write("orchid.png", "PNG")
执行上述命令后,你可以看到以下图片保存在你的Biopython目录中。
**Result **
genome.png
你也可以通过以下的改变来绘制圆形的图像-
>>> diagram.draw(
format = "circular", circular = True, pagesize = (20*cm,20*cm),
... start = 0, end = len(record), circle_core = 0.7)
>>> diagram.write("circular.pdf", "PDF")
染色体概述
DNA分子被包装成线状结构,称为染色体。每条染色体都是由DNA紧密地多次盘绕在被称为组蛋白的蛋白质周围组成的,组蛋白支持其结构。
当细胞没有分裂时,染色体在细胞核中是看不到的–甚至在显微镜下也看不到。然而,构成染色体的DNA在细胞分裂期间变得更加紧密,然后在显微镜下可见。
在人类,每个细胞通常包含23对染色体,共计46条。其中的22对,称为常染色体,在男性和女性中看起来都一样。第23对,即性染色体,在男性和女性之间有所不同。女性有两个X染色体副本,而男性有一个X染色体和一个Y染色体。