Carregando Seus Dados

Existe um enorme número de formatos de arquivos que armazenam dados de seqüências. O módulo Bio.SeqIO é o responsável por interpretar alguns desses formatos e tornar os dados disponíveis para o usuário.
Veja:

>>> from Bio import SeqIO
>>> dir(SeqIO)
['Alignment', 'ClustalIO', 'FastaIO', 'InsdcIO', 'Interfaces', 'NexusIO', 'PhylipIO', 'Seq', 'SeqRecord', 'StockholmIO', 'StringIO', 'SwissIO', '_FormatToIterator', '_FormatToWriter', '__builtins__', '__doc__', '__file__', '__name__', '__path__', 'generic_alphabet', 'generic_protein', 'os', 'parse', 'to_alignment', 'to_dict', 'write']

A classe "parse" é o que você precisa chamar para interpretar seu arquivo.

Exemplo 1: Para carregar os dados em um arquivo FASTA, você deve proceder da seguinte maneira:

>>> arquivo = open("luciferases.fas")
>>> sequencias =  list(SeqIO.parse(arquivo, "fasta"))Pyrocoelia
>>> sequencias[0]
SeqRecord(seq=Seq('MENMENDENIVVGPKPFYPIEEGSA.....', SingleLetterAlphabet()), id='Luciola', name='Luciola', description='Luciola cruciata', dbxrefs=[])

Veja que, como não foi especificado nenhuma alfabeto, o biopython usa seu alfabeto padrão SingleLetterAlphabet().

Outra maneira possível de ter seus dados disponíveis é em um dicionário:

>>> arquivo = open("luciferases.fas")
>>> sequencias_dict =  SeqIO.to_dict(SeqIO.parse(arquivo, "fasta"))
>>> sequencias_dict.keys()
['Cratomorphus', 'Luciola', 'Luciloa', 'Pyrocoelia', 'Photinus', 'Hotaria']
>>> sequencias_dict["Luciola"]
SeqRecord(seq=Seq('MENMENDENIVVGPKPFYPIEEGSA.....', SingleLetterAlphabet()), id='Luciola', name='Luciola', description='Luciola cruciata', dbxrefs=[])

Uma coisa interessante de se fazer é:

>>> dir(sequencias_dict["Luciola"])
['__doc__', '__init__', '__module__', '__repr__', '__str__', 'annotations', 'dbxrefs', 'description', 'features', 'id', 'name', 'seq']

Com esse comando você tem todos os atributos de sua seqüência e pode brincar de acessa-los. Por exemplo:

>>> sequencias_dict["Luciola"].description
'Luciola cruciata'
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License