Trilha 4 · Listas, dicionários, strings

Estruturas de dados na biologia

O ambiente Python é preparado na primeira vez que você executa uma célula.

Passo 1 · Strings: a sequência como texto

Rascunho a revisar: este conteúdo foi escrito com ajuda de IA e ainda precisa ser revisado pelo professor antes de ser usado em aula. Os dados e as sequências são fictícios.

Uma sequência de DNA pode ser tratada como texto (string). Dá para pegar pedaços com [início:fim] (o fim não entra), mudar maiúsculas com upper() e trocar letras com replace(). Índices negativos contam do fim.

Saída


    

Desafio

Guarde em rna a versão em RNA (T vira U) da sequência ATGAAATAG.

Saída


    

Passo 2 · Listas de sequências

Listas guardam várias sequências. Com append você acrescenta, com sorted(..., key=len) ordena pelo tamanho e uma compreensão de lista [len(s) for s in lista] cria outra lista a partir da primeira.

Saída


    

Desafio

Crie a lista maiores só com as sequências de 6 ou mais bases.

Saída


    

Passo 3 · Dicionários: contar bases

Um dicionário liga uma chave a um valor. É ótimo para contar: cada base é uma chave e o valor é a quantidade. contagem.get(base, 0) devolve 0 se a base ainda não apareceu.

Saída


    

Desafio

Conte quantas vezes cada códon (trinca de bases) aparece em ATGATGAAA e guarde no dicionário codons.

Saída


    

Passo 4 · Tuplas e conjuntos

Uma tupla é como uma lista que não muda, boa para dados fixos (ex.: nome, início e fim de um gene). Um conjunto (set) guarda itens sem repetição. Como a ordem de um conjunto não é garantida, use sorted() para mostrá-lo.

Saída


    

Desafio

Guarde em variedade quantas bases diferentes aparecem na sequência ATATGGAT.

Saída


    

Passo 5 · Desafio da trilha: complemento reverso

A outra fita do DNA é o complemento reverso: troca-se A↔T e G↔C e lê-se ao contrário. Um dicionário faz a troca e [::-1] inverte o texto.

Saída


    

Desafio

Escreva a função complemento_reverso(seq).

Saída


    

O Python roda só no seu navegador (Pyodide). A verificação dos desafios é um feedback para aprender, não uma nota: o código da verificação fica visível no navegador.