Biopython - Objetos Motif

Un motivo de secuencia es un patrón de secuencia de nucleótidos o aminoácidos. Los motivos de secuencia están formados por una disposición tridimensional de aminoácidos que pueden no ser adyacentes. Biopython proporciona un módulo separado, Bio.motifs para acceder a las funcionalidades del motivo de secuencia como se especifica a continuación:

from Bio import motifs

Creación de un motivo de ADN simple

Creemos una secuencia de motivos de ADN simple usando el siguiente comando:

>>> 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 los valores de la secuencia, use el siguiente comando:

>>> 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 el siguiente código para contar 'A' en la secuencia:

>>> seq.counts["A", :] 
(2, 1, 0, 1)

Si desea acceder a las columnas de conteos, use el siguiente comando:

>>> seq.counts[:, 3] 
{'A': 1, 'C': 0, 'T': 2, 'G': 0}

Crear un logotipo de secuencia

Ahora discutiremos cómo crear un logotipo de secuencia.

Considere la siguiente secuencia:

AGCTTACG 
ATCGTACC 
TTCCGAAT 
GGTACGTA 
AAGCTTGG

Puedes crear tu propio logo usando el siguiente enlace - http://weblogo.berkeley.edu/

Agregue la secuencia anterior y cree un nuevo logotipo y guarde la imagen llamada seq.png en su carpeta biopython.

seq.png

Después de crear la imagen, ahora ejecute el siguiente comando:

>>> seq.weblogo("seq.png")

Este motivo de secuencia de ADN se representa como un logotipo de secuencia para el motivo de unión a LexA.

Base de datos JASPAR

JASPAR es una de las bases de datos más populares. Proporciona funciones de cualquiera de los formatos de motivos para leer, escribir y escanear secuencias. Almacena metainformación para cada motivo.The module Bio.motifs contains a specialized class jaspar.Motif to represent meta-information attributes.

Tiene los siguientes tipos de atributos notables:

  • matrix_id - ID de motivo JASPAR único
  • name: el nombre del motivo
  • tf_family: la familia de motivos, por ejemplo, 'Helix-Loop-Helix'
  • data_type: el tipo de datos utilizados en motivo.

Creemos un formato de sitios JASPAR nombrado en sample.sites en la carpeta biopython. Se define a continuación:

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

En el archivo anterior, hemos creado instancias de motivos. Ahora, creemos un objeto motivo a partir de las instancias anteriores:

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

Aquí, los datos leen todas las instancias de motivo del archivo sample.sites.

Para imprimir todas las instancias a partir de datos, use el siguiente comando:

>>> for instance in data.instances: 
...    print(instance) 
... 
AACGTG 
CAGGTG 
TACGTA 
AACGTG 
CACGTG 
CGCGTG

Utilice el siguiente comando para contar todos los 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
>>>