El alineamiento de secuencias es un proceso en el que se ordenan dos o más secuencias de ADN, ARN o proteínas para identificar específicamente la región de similitud entre ellas. La identificación de similares proporciona mucha información sobre qué rasgos se conservan entre las especies, qué tan cerca están las diferentes especies genéticamente, cómo evolucionan las especies, etc. Biopython tiene una amplia gama de funcionalidades para la alineación de secuencias.
Lectura de alineación de secuencias: Bio.AlignIo proporcionado por Biopython se usa para leer y escribir alineaciones de secuencias. Hay muchos formatos disponibles en bioinformática para especificar que los datos de alineación de secuencias son similares a los datos de secuencias. Bio.AlignIO tiene una API similar a Bio.SeqIO , la única diferencia es que Bio.SeqIO funciona con datos de secuencia mientras que Bio.AlignIO funciona con la alineación de datos de secuencia. A continuación se muestran algunos pasos para descargar un archivo de alineación de secuencia de muestra:
- Primero abra el navegador y visite http://pfam.xfam.org/family/browse , donde puede ver todas las familias de Pfam en orden alfabético.
- Ahora elija cualquier familia que tenga un número menor de valor semilla, ya que contiene datos mínimos y es fácil de trabajar. Movamos uno con PF18225 ( http://pfam.xfam.org/family/PF18225 ).
- Haga clic en la sección de alineación y descargue el archivo de alineación de secuencia requerido en formato de Estocolmo.
Ejemplo:
Python3
# Import libraries from Bio import AlignIO # Creating Sequence Alignment alignment = AlignIO.read(open("PF18225_seed.txt"), "stockholm") # Print alignment object print(alignment) # Show alignment sequence record print("Showing Alignment Sequence Record") for align in alignment: print(align.seq)
Producción:
SingleLetterAlphabet() alignment with 5 rows and 65 columns
AINRNTQQLTQDLRAMPNWSLRFVYIVDRNNQDLLKRPLPPGIM…NRK B3PFT7_CELJU/62-126
AVNATEREFTERIRTLPHWARRNVFVLDSQGFEIFDRELPSPVA…NRT K4KEM7_SIMAS/61-125
MQNTPAERLPAIIEKAKSKHDINVWLLDRQGRDLLEQRVPAKVA…EGP B7RZ31_9GAMM/59-123
ARRHGQEYFQQWLERQPKKVKEQVFAVDQFGRELLGRPLPEDMA…KKP A0A143HL37_9GAMM/57-121
TRRHGPESFRFWLERQPVEARDRIYAIDRSGAEILDRPIPRGMA…NKP A0A0X3UC67_9GAMM/57-121Showing Alignment Sequence Record
AINRNTQQLTQDLRAMPNWSLRFVYIVDRNNQDLLKRPLPPGIMVLAPRLTAKHPYDKVQDRNRK
AVNATEREFTERIRTLPHWARRNVFVLDSQGFEIFDRELPSPVADLMRKLDLDRPFKKLERKNRT
MQNTPAERLPAIIEKAKSKHDINVWLLDRQGRDLLEQRVPAKVATVANQLRGRKRRAFARHREGP
ARRHGQEYFQQWLERQPKKVKEQVFAVDQFGRELLGRPLPEDMAPMLIALNYRNRESHAQVDKKP
TRRHGPESFRFWLERQPVEARDRIYAIDRSGAEILDRPIPRGMAPLFKVLSFRNREDQGLVNNKP
Lectura de múltiples alineaciones: en general, la mayoría de los archivos de alineación de secuencias contienen datos de alineación única, donde el método read() es suficiente para analizarlos. En el caso de múltiples alineaciones de secuencias, se comparan más de dos secuencias para encontrar la mejor coincidencia de secuencias entre ellas y el resultado es un solo archivo que tiene múltiples alineaciones de secuencias. Si el formato de alineación de secuencia tiene más de una alineación de secuencia, se utiliza el método parse() en lugar de read(), que devuelve un objeto iterable que se puede iterar para obtener las alineaciones reales. Un ejemplo básico se da a continuación:
Python3
# Import libraries from Bio import AlignIO # Parsing Sequence Alignment alignment = AlignIO.parse(open("PF18225_seed.txt"), "stockholm") # Show alignment generator print(alignment) # Printing alignment for alignment in alignments: print(alignment)
Producción:
<análisis del objeto generador en 0x00000214C9FDB990>
SingleLetterAlphabet() alignment with 5 rows and 65 columns
AINRNTQQLTQDLRAMPNWSLRFVYIVDRNNQDLLKRPLPPGIM…NRK B3PFT7_CELJU/62-126
AVNATEREFTERIRTLPHWARRNVFVLDSQGFEIFDRELPSPVA…NRT K4KEM7_SIMAS/61-125
MQNTPAERLPAIIEKAKSKHDINVWLLDRQGRDLLEQRVPAKVA…EGP B7RZ31_9GAMM/59-123
ARRHGQEYFQQWLERQPKKVKEQVFAVDQFGRELLGRPLPEDMA…KKP A0A143HL37_9GAMM/57-121
TRRHGPESFRFWLERQPVEARDRIYAIDRSGAEILDRPIPRGMA…NKP A0A0X3UC67_9GAMM/57-121
Publicación traducida automáticamente
Artículo escrito por jeeteshgavande30 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA