Nucleotídeos presentes em sequências de DNA podem ser representados pelos caracteres A, T, C e G, ou seja, adenina, timina, citosina e guanina, respectivamente. Para sequências de RNA, o caractere T é substituído por U, que representa o nucleotídeo uracila. Entretanto, existem ainda caracteres utilizados para representar grupos de nucleotídeos, como por exemplo, o caractere R que representa purinas (nucleotídeos adenina ou guanina).
Proteínas são compostas por aminoácidos interligados por ligações peptídicas. Aminoácidos podem ser representados por códigos de três letras ou por códigos de uma letra. O código de uma letra, mais utilizado em sequências de aminoácidos, é composto por 22 letras: 20 representando os aminoácidos, além dos caracteres B, que pode ser Asparagina ou Aspartato, e Z, que pode ser Glutamina ou Glutamato.
Para se obter o tamanho de uma sequência com BioPerl podemos utilizar o módulo Bio::Seq e o método length. Você aprendeu anteriormente sobre sub-rotinas (ou funções), entretanto em orientação a objetos elas são conhecidas como “métodos”. Observe:
Observe que no campo id podemos inserir um nome para a sequência (no exemplo chamada de seq1). Aplicando o método length ao objeto $seq, BioPerl executa uma sub-rotina que calcula a quantidade de caracteres da sequência.
Podemos ainda inserir outros campos para descrever uma sequência, como por exemplo, “-desc” para descrição. Esses campos são conhecidos como “argumentos”.
Uma função básica do BioPerl é obtenção de sequências reversas complementares. Define-se como sequência reversa complementar a sequência formada por bases que pareiam com bases de outra fita de DNA, ou seja, bases que realizam ligações de hidrogênio na formação da dupla hélice do DNA. Logo, A pareia com T, pois adenina realiza ligações de hidrogênio com timina, assim como C pareia com G, devido as ligações entre citosina e guanina. Ela é reversa pois a outra fita transcreve em sentido oposto.
Para obter o reverso complementar utilizamos o método revcom, que recebe a sequência presente em seq. Observe que o reverso complementar da sequência “ATCGGT” é “ACCGAT”.
O processo de transcrição permite a formação do RNA mensageiro com base na região codificante do DNA. Computacionalmente falando, podemos analisar a transcrição como um processo de modificações em strings.
Observe que na declaração da sequência inserimos um novo campo: alphabet (alfabeto). O argumento alphabet permite indicar ao BioPerl que tipo de sequências se está trabalhando, no caso sequências de DNA. O campo alphabet pode receber os valores “dna”, “rna” ou “protein”. Se esse campo não for passado, BioPerl tenta predizer o tipo de sequências.
No processo de tradução, a sequência de RNA mensageiro será utilizada como molde para a junção dos aminoácidos, e assim, a formação da proteína.
O método translate permite converter uma sequência de DNA ou RNA mensageiro em uma sequência de aminoácidos. A função traduz uma sequência de três nucleotídeos (codon) em um aminoácido.
Codons são sequências de três bases de nucleotídeos que, ao serem lidas durante o processo de tradução, representam um determinado aminoácido. O start codon representa uma sequência que indica o início da transcrição, e o stop codon, uma sequência que avisa a maquinaria celular que a tradução chegou ao fim.
BioPerl fornece o módulo Bio::SeqIO (IO: input e output) para leitura e gravação de sequências. SeqIO suporta uma série de formatos, como por exemplo FASTA, GenBank, pir, embl, raw, ace, bsml e swiss. O argumento “-format” é utilizado para determinar o formato do arquivo.
Sequências em geral são gravadas em arquivos no formato FASTA (extensões “.fasta”, “.fas”, “.fa”, dentre outras). O formato FASTA é composto por um cabeçalho, indicado pelo caractere “>”, seguido por uma sequência de nucleotídeos ou aminoácidos. Cada arquivo pode conter uma ou mais sequências (arquivo Multi-FASTA).
O formato GenBank, além de possuir sequências de nucleotídeos, armazena também informações de anotações. Ele ainda pode armazenar sequências de aminoácidos obtidas pela tradução das regiões codificantes.
Observe que o comando new do módulo Bio::SeqIO abre um arquivo. O argumento “-file” indica o nome do arquivo que será aberto ou criado. Para criar um novo arquivo o comando é semelhante, sendo necessário apenas inserir o símbolo “>” antes do nome.
Um laço é utilizado para percorrer o arquivo GenBank. Por fim, o comando write_seq pode ser utilizado para gravar as sequências no arquivo. A seguir veremos melhor como percorrer arquivos FASTA.