Biopython: creación de una aplicación sencilla
Creemos una aplicación Biopython simple para analizar un archivo bioinformático e imprimir el contenido. Esto nos ayudará a comprender el concepto general de Biopython y cómo ayuda en el campo de la bioinformática.
Step 1 - Primero, cree un archivo de secuencia de muestra, "ejemplo.fasta" y coloque el contenido a continuación en él.
>sp|P25730|FMS1_ECOLI CS1 fimbrial subunit A precursor (CS1 pilin)
MKLKKTIGAMALATLFATMGASAVEKTISVTASVDPTVDLLQSDGSALPNSVALTYSPAV
NNFEAHTINTVVHTNDSDKGVVVKLSADPVLSNVLNPTLQIPVSVNFAGKPLSTTGITID
SNDLNFASSGVNKVSSTQKLSIHADATRVTGGALTAGQYQGLVSIILTKSTTTTTTTKGT
>sp|P15488|FMS3_ECOLI CS3 fimbrial subunit A precursor (CS3 pilin)
MLKIKYLLIGLSLSAMSSYSLAAAGPTLTKELALNVLSPAALDATWAPQDNLTLSNTGVS
NTLVGVLTLSNTSIDTVSIASTNVSDTSKNGTVTFAHETNNSASFATTISTDNANITLDK
NAGNTIVKTTNGSQLPTNLPLKFITTEGNEHLVSGNYRANITITSTIKGGGTKKGTTDKK
La extensión, fasta se refiere al formato de archivo del archivo de secuencia. FASTA se origina en el software de bioinformática, FASTA, y de ahí su nombre. El formato FASTA tiene múltiples secuencias organizadas una por una y cada secuencia tendrá su propia identificación, nombre, descripción y los datos de la secuencia real.
Step 2 - Cree un nuevo script de Python, * simple_example.py "e ingrese el código siguiente y guárdelo.
from Bio.SeqIO import parse
from Bio.SeqRecord import SeqRecord
from Bio.Seq import Seq
file = open("example.fasta")
records = parse(file, "fasta") for record in records:
print("Id: %s" % record.id)
print("Name: %s" % record.name)
print("Description: %s" % record.description)
print("Annotations: %s" % record.annotations)
print("Sequence Data: %s" % record.seq)
print("Sequence Alphabet: %s" % record.seq.alphabet)
Echemos un vistazo más profundo al código:
Line 1importa la clase de análisis disponible en el módulo Bio.SeqIO. El módulo Bio.SeqIO se usa para leer y escribir el archivo de secuencia en diferentes formatos y la clase 'parse' se usa para analizar el contenido del archivo de secuencia.
Line 2importa la clase SeqRecord disponible en el módulo Bio.SeqRecord. Este módulo se usa para manipular registros de secuencia y la clase SeqRecord se usa para representar una secuencia particular disponible en el archivo de secuencia.
*Line 3"importa la clase Seq disponible en el módulo Bio.Seq. Este módulo se usa para manipular datos de secuencia y la clase Seq se usa para representar los datos de secuencia de un registro de secuencia particular disponible en el archivo de secuencia.
Line 5 abre el archivo "example.fasta" usando la función normal de Python, abre.
Line 7 analiza el contenido del archivo de secuencia y devuelve el contenido como la lista del objeto SeqRecord.
Line 9-15 recorre los registros usando python para bucle e imprime los atributos del registro de secuencia (SqlRecord) como id, nombre, descripción, datos de secuencia, etc.
Line 15 imprime el tipo de secuencia usando la clase Alphabet.
Step 3 - Abra un símbolo del sistema y vaya a la carpeta que contiene el archivo de secuencia, "ejemplo.fasta" y ejecute el siguiente comando:
> python simple_example.py
Step 4- Python ejecuta el script e imprime todos los datos de secuencia disponibles en el archivo de muestra, “ejemplo.fasta”. El resultado será similar al siguiente contenido.
Id: sp|P25730|FMS1_ECOLI
Name: sp|P25730|FMS1_ECOLI
Decription: sp|P25730|FMS1_ECOLI CS1 fimbrial subunit A precursor (CS1 pilin)
Annotations: {}
Sequence Data: MKLKKTIGAMALATLFATMGASAVEKTISVTASVDPTVDLLQSDGSALPNSVALTYSPAVNNFEAHTINTVVHTNDSD
KGVVVKLSADPVLSNVLNPTLQIPVSVNFAGKPLSTTGITIDSNDLNFASSGVNKVSSTQKLSIHADATRVTGGALTA
GQYQGLVSIILTKSTTTTTTTKGT
Sequence Alphabet: SingleLetterAlphabet()
Id: sp|P15488|FMS3_ECOLI
Name: sp|P15488|FMS3_ECOLI
Decription: sp|P15488|FMS3_ECOLI CS3 fimbrial subunit A precursor (CS3 pilin)
Annotations: {}
Sequence Data: MLKIKYLLIGLSLSAMSSYSLAAAGPTLTKELALNVLSPAALDATWAPQDNLTLSNTGVSNTLVGVLTLSNTSIDTVS
IASTNVSDTSKNGTVTFAHETNNSASFATTISTDNANITLDKNAGNTIVKTTNGSQLPTNLPLKFITTEGNEHLVSGN
YRANITITSTIKGGGTKKGTTDKK
Sequence Alphabet: SingleLetterAlphabet()
Hemos visto tres clases, parse, SeqRecord y Seq en este ejemplo. Estas tres clases proporcionan la mayor parte de la funcionalidad y las aprenderemos en la próxima sección.