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