Biopython - Criando um aplicativo simples
Vamos criar um aplicativo Biopython simples para analisar um arquivo de bioinformática e imprimir o conteúdo. Isso nos ajudará a entender o conceito geral do Biopython e como ele ajuda no campo da bioinformática.
Step 1 - Primeiro, crie um arquivo de sequência de amostra, “example.fasta” e coloque o conteúdo abaixo nele.
>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
A extensão, fasta se refere ao formato de arquivo do arquivo de sequência. O FASTA origina-se do software de bioinformática FASTA e daí seu nome. O formato FASTA tem várias sequências organizadas uma a uma e cada sequência terá seu próprio id, nome, descrição e os dados da sequência real.
Step 2 - Crie um novo script Python, * simple_example.py ", insira o código abaixo e salve-o.
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)
Vamos dar uma olhada um pouco mais profunda no código -
Line 1importa a classe de análise disponível no módulo Bio.SeqIO. O módulo Bio.SeqIO é usado para ler e escrever o arquivo de sequência em formato diferente e a classe `parse 'é usada para analisar o conteúdo do arquivo de sequência.
Line 2importa a classe SeqRecord disponível no módulo Bio.SeqRecord. Este módulo é usado para manipular registros de sequência e a classe SeqRecord é usada para representar uma determinada sequência disponível no arquivo de sequência.
*Line 3"importa a classe Seq disponível no módulo Bio.Seq. Este módulo é usado para manipular dados de sequência e a classe Seq é usada para representar os dados de sequência de um determinado registro de sequência disponível no arquivo de sequência.
Line 5 abre o arquivo “example.fasta” usando a função regular do Python, abra.
Line 7 analisa o conteúdo do arquivo de sequência e retorna o conteúdo como a lista do objeto SeqRecord.
Line 9-15 faz um loop sobre os registros usando python for loop e imprime os atributos do registro de sequência (SqlRecord), como id, nome, descrição, dados de sequência, etc.
Line 15 imprime o tipo da sequência usando a classe Alphabet.
Step 3 - Abra um prompt de comando e vá para a pasta que contém o arquivo de sequência, “exemplo.fasta” e execute o comando abaixo -
> python simple_example.py
Step 4- Python executa o script e imprime todos os dados de sequência disponíveis no arquivo de amostra, “example.fasta”. A saída será semelhante ao seguinte conteúdo.
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()
Vimos três classes, parse, SeqRecord e Seq neste exemplo. Essas três classes fornecem a maior parte da funcionalidade e vamos aprender essas classes na próxima seção.