Biopython - 主题对象

序列基序是核苷酸或氨基酸序列模式.序列基序通过可能不相邻的氨基酸的三维排列形成. 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


Sequence Logo

创建图像后,现在运行以下命令 :

 
>>> 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

这里,数据从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
>>>