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.