Biopython Motif对象
序列基序是核苷酸或氨基酸序列模式。序列基序是由可能不相邻的氨基酸的三维排列形成的。Biopython提供了一个单独的模块Bio.motifs
来访问序列基序的功能,如下所示-
from Bio import motifs
1. 创建简单的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}
2. 创建序列徽标
现在我们来看看如何创建序列徽标。考虑以下顺序-
AGCTTACG ATCGTACC TTCCGAAT GGTACGTA AAGCTTGG
可以使用以下链接创建自己的徽标 - http://weblogo.berkeley.edu/ ,添加以上序列并创建一个新徽标,并将名为seq.png
的图像保存在biopython文件夹中。
创建图像后,现在运行以下命令 -
>>> seq.weblogo("seq.png")
该DNA序列基序被表示为LexA
结合基序的序列标志。
3. JASPAR数据库
JASPAR是最受欢迎的数据库之一。它提供用于读取,写入和扫描序列的任何motif
格式的工具。它存储每个motif
的元信息。Bio.motifs
模块包含一个专门的类jaspar.Motif
,用于表示元信息属性。
它具有以下属性类型 -
matrix_id
− 唯一的JASPAR motif ID。name
− motif的名称。tf_family
− motif族,例如’Helix-Loop-Helix’。data_type
− motif使用的数据类型。
在biopython文件夹中创建一个JASPAR网站格式:sample.sites
。它定义如下-
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
实例。从上述实例创建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
在这里,从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 >>>
上一篇:Biopython PDB模块
扫描二维码
程序员编程王