Biopython – Alineación por pares

La alineación de secuencias por pares es un proceso en el que se comparan dos secuencias a la vez y se proporciona la mejor alineación de secuencias posible. La alineación de secuencias por pares utiliza un algoritmo de programación dinámica. Biopython tiene un módulo especial Bio.pairwise2 que identifica la secuencia de alineación utilizando el método por pares. Biopython proporciona el mejor algoritmo para encontrar la secuencia de alineación en comparación con otro software.

Tomemos dos secuencias simples e hipotéticas como ejemplo para usar el módulo por pares.

Python3

# Import libraries
from Bio import pairwise2
from Bio.Seq import Seq
  
# Creating sample sequences
seq1 = Seq("TGTGACTA")
seq2 = Seq("CATGGTCA")
  
# Finding similarities
alignments = pairwise2.align.globalxx(seq1, seq2)
  
# Showing results
for match in alignments:
    print(match)

Producción:
 

Aquí, el método globalxx hace el trabajo principal, sigue la convención <tipo de alineación>XX donde XX es un código que tiene dos caracteres que indican los parámetros que toma. El primer carácter indica la puntuación de coincidencia y desajuste, mientras que el segundo indica el parámetro para la penalización por brecha.

Parámetros de coincidencia:

Carácter de código Descripción
X Sin parámetros. El carácter idéntico tiene una puntuación de 1, de lo contrario 0.
metro puntuación de coincidencia de caracteres idénticos; de lo contrario, puntuación de discrepancia.
d diccionario que devuelve puntuaciones de cualquier par de caracteres.
C Una función de devolución de llamada devuelve puntuaciones.

Parámetros de penalización por brecha:

Carácter de código Descripción
X Sin penalizaciones por hueco.
s ambas secuencias tienen la misma penalización de espacio abierto y extendido.
d Secuencias que tienen diferente penalización de espacio abierto y extendido.
C Una función de devolución de llamada devuelve las penalizaciones de brecha.

Para una buena impresión , Bio.pairwise2 proporciona el método format_alignment() :

Python3

# Import libraries
from Bio import pairwise2
from Bio.Seq import Seq
from Bio.pairwise2 import format_alignment
  
# Creating sqmple sequences
seq1 = Seq("TGTGACTA")
seq2 = Seq("CATGGTCA")
  
# Finding similarities
alignments = pairwise2.align.globalxx(seq1, seq2)
  
# Showing results
for alignment in alignments:
    print(format_alignment(*alignment))

Producción:
 

Hay otro módulo proporcionado por Biopython para realizar la alineación de secuencias por pares. El módulo Align tiene un PairwiseAligner() para este propósito. Tiene varias API para establecer parámetros como modo, puntuación de coincidencia, algoritmo, penalización por brecha, etc. A continuación se muestra una implementación simple del método:

Python3

# Import libraries
from Bio import Align
from Bio.Seq import Seq
  
# Creating sample sequences
seq1 = Seq("TGTGACTA")
seq2 = Seq("CATGGTCA")
  
# Calling method
aligner = Align.PairwiseAligner()
  
# Showing method attributes
print(aligner)
  
# Finding similarities
alignments = aligner.align(seq1, seq2)
  
# Showing results
for alignment in alignments:
    print(alignment)

Producción:

Publicación traducida automáticamente

Artículo escrito por jeeteshgavande30 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *