Biopython - objetos de motivo
Um motivo de sequência é um padrão de sequência de nucleotídeos ou aminoácidos. Os motivos da sequência são formados por arranjos tridimensionais de aminoácidos que podem não ser adjacentes. Biopython fornece um módulo separado, Bio.motifs para acessar as funcionalidades do motivo de sequência conforme especificado abaixo -
from Bio import motifs
Criando um motivo simples de DNA
Vamos criar uma sequência simples de motivos de DNA usando o comando abaixo -
>>> 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
Para contar os valores da sequência, use o comando abaixo -
>>> 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
Use o seguinte código para contar 'A' na sequência -
>>> seq.counts["A", :]
(2, 1, 0, 1)
Se você deseja acessar as colunas de contagens, use o comando abaixo -
>>> seq.counts[:, 3]
{'A': 1, 'C': 0, 'T': 2, 'G': 0}
Criação de um logotipo de sequência
Vamos agora discutir como criar um logotipo de sequência.
Considere a sequência abaixo -
AGCTTACG
ATCGTACC
TTCCGAAT
GGTACGTA
AAGCTTGG
Você pode criar seu próprio logotipo usando o seguinte link - http://weblogo.berkeley.edu/
Adicione a sequência acima e crie um novo logotipo e salve a imagem chamada seq.png em sua pasta biopython.
seq.png
Depois de criar a imagem, execute o seguinte comando -
>>> seq.weblogo("seq.png")
Este motivo de sequência de DNA é representado como um logotipo de sequência para o motivo de ligação a LexA.
Banco de dados JASPAR
JASPAR é um dos bancos de dados mais populares. Ele fornece recursos de qualquer um dos formatos de motivo para ler, escrever e escanear sequências. Ele armazena meta-informação para cada motivo.The module Bio.motifs contains a specialized class jaspar.Motif to represent meta-information attributes.
Possui os seguintes tipos de atributos notáveis -
- matrix_id - ID exclusivo do motivo JASPAR
- nome - o nome do motivo
- tf_family - A família do motivo, por exemplo, 'Helix-Loop-Helix'
- data_type - o tipo de dados usados no motivo.
Vamos criar um formato de sites JASPAR nomeado em sample.sites na pasta biopython. É definido abaixo -
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
No arquivo acima, criamos instâncias de motivos. Agora, vamos criar um objeto motivo a partir das instâncias acima -
>>> 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
Aqui, os dados lêem todas as instâncias do motivo do arquivo sample.sites.
Para imprimir todas as instâncias de dados, use o comando abaixo -
>>> for instance in data.instances:
... print(instance)
...
AACGTG
CAGGTG
TACGTA
AACGTG
CACGTG
CGCGTG
Use o comando abaixo para contar todos os valores -
>>> 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
>>>