Biopython - Motif 对象
序列基序是一种核苷酸或氨基酸序列模式。 序列基序由可能不相邻的氨基酸的三维排列形成。 Biopython 提供了一个单独的模块 Bio.motifs 来访问下面指定的序列基序的功能 −
from Bio import motifs
创建简单的 DNA 基序
让我们使用以下命令创建一个简单的 DNA 基序序列 −
>>> from Bio import motifs >>> from Bio.Seq import Seq >>> DNA_motif = [ Seq("AGCT"), ... Seq("TCGA"), ... Seq("AACT"), ... ] >>> seq = motifs.create(DNA_motif) >>> print(seq) AGCT TCGA AACT
要计算序列值,请使用以下命令 −
>>> print(seq.counts) 0 1 2 3 A: 2.00 1.00 0.00 1.00 C: 0.00 1.00 2.00 0.00 G: 0.00 1.00 1.00 0.00 T: 1.00 0.00 0.00 2.00
使用下面的代码来计算序列中的'A' −
>>> seq.counts["A", :] (2, 1, 0, 1)
如果要访问计数列,请使用以下命令 −
>>> seq.counts[:, 3] {'A': 1, 'C': 0, 'T': 2, 'G': 0}
创建一个序列标志
我们现在将讨论如何创建序列徽标。
考虑以下序列 −
AGCTTACG ATCGTACC TTCCGAAT GGTACGTA AAGCTTGG
您可以使用以下链接创建自己的徽标 − http://weblogo.berkeley.edu/
添加上述序列并创建一个新徽标并将名为 seq.png 的图像保存在您的 biopython 文件夹中。
seq.png
创建图像后,现在运行以下命令 −
>>> seq.weblogo("seq.png")
此 DNA 序列基序表示为 LexA 结合基序的序列标识。
JASPAR 数据库
JASPAR 是最受欢迎的数据库之一。 它为阅读、写作和扫描序列提供了任何主题格式的便利。 它为每个主题存储元信息。 模块 Bio.motifs 包含一个专门的类 jaspar.Motif 来表示元信息属性。
它有以下值得注意的属性类型 −
- matrix_id − 独特的 JASPAR 基序 ID
- name − 主题名称
- tf_family − motif 系列,例如 ’Helix-Loop-Helix’
- data_type − motif 中使用的数据类型。
让我们在 biopython 文件夹中创建一个名为 sample.sites 的 JASPAR 站点格式。 定义如下 −
sample.sites >MA0001 ARNT 1 AACGTGatgtccta >MA0001 ARNT 2 CAGGTGggatgtac >MA0001 ARNT 3 TACGTAgctcatgc >MA0001 ARNT 4 AACGTGacagcgct >MA0001 ARNT 5 CACGTGcacgtcgt >MA0001 ARNT 6 cggcctCGCGTGc
在上面的文件中,我们创建了 motif 实例。 现在,让我们根据上述实例创建一个主题对象 −
>>> from Bio import motifs >>> with open("sample.sites") as handle: ... data = motifs.read(handle,"sites") ... >>> print(data) TF name None Matrix ID None Matrix: 0 1 2 3 4 5 A: 2.00 5.00 0.00 0.00 0.00 1.00 C: 3.00 0.00 5.00 0.00 0.00 0.00 G: 0.00 1.00 1.00 6.00 0.00 5.00 T: 1.00 0.00 0.00 0.00 6.00 0.00
这里,data 从 sample.sites 文件中读取所有的 motif 实例。
要打印数据中的所有实例,请使用以下命令 −
>>> for instance in data.instances: ... print(instance) ... AACGTG CAGGTG TACGTA AACGTG CACGTG CGCGTG
使用下面的命令统计所有的值 −
>>> print(data.counts) 0 1 2 3 4 5 A: 2.00 5.00 0.00 0.00 0.00 1.00 C: 3.00 0.00 5.00 0.00 0.00 0.00 G: 0.00 1.00 1.00 6.00 0.00 5.00 T: 1.00 0.00 0.00 0.00 6.00 0.00 >>>