Biopython motifs对象
序列主题是一种核苷酸或氨基酸序列模式。序列图案是由可能不相邻的氨基酸的三维排列形成的。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 – 动点的家族,如’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实例。现在,让我们从上述实例中创建一个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
>>>