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