Trilhas
/
Rust
Rust
/
Exercícios
/
Transcrição de RNA
Transcrição de RNA

Transcrição de RNA

Médio

Introdução

Você trabalha em uma empresa de bioengenharia especializada no desenvolvimento de soluções terapêuticas.

Sua equipe acaba de receber um novo projeto: desenvolver uma terapia direcionada para um tipo raro de câncer.

Note

É tudo muito complicado, mas a ideia básica é que, às vezes, o corpo das pessoas produz proteína demais de um determinado tipo. Isso pode causar todo tipo de problema.

Mas se você conseguir criar uma molécula bem específica (chamada de micro-RNA), ela pode impedir que essa proteína seja produzida.

Essa técnica se chama Interferência de RNA.

Instruções

Sua tarefa é determinar o complemento de RNA de uma sequência de DNA.

Tanto as fitas de DNA quanto as de RNA são uma sequência de nucleotídeos.

Os quatro nucleotídeos encontrados no DNA são adenina (A), citosina (C), guanina (G) e timina (T).

Os quatro nucleotídeos encontrados no RNA são adenina (A), citosina (C), guanina (G) e uracila (U).

Dada uma fita de DNA, sua fita de RNA transcrita é formada substituindo cada nucleotídeo pelo seu complemento:

  • G -> C
  • C -> G
  • T -> A
  • A -> U
Note

Se você quiser ver como as entradas e as saídas são estruturadas, dê uma olhada nos exemplos do conjunto de testes.

Notas sobre a implementação em Rust

Ao usar campos privados em structs com funções new públicas que retornam Option ou Result (como aqui com DNA::new e RNA::new), podemos garantir que a representação interna de DNA está correta. Como toda string de DNA válida tem uma string de RNA válida, não precisamos retornar um Result/Option de into_rna.

Isso explica as assinaturas de tipo que você vai ver nos testes.

Os tipos de retorno de DNA::new() e RNA::new() são Result<Self, usize>, em que o tipo de erro usize representa o índice do primeiro caractere inválido (índice de char, não utf8).


Fonte

HyperphysicsO link abre em uma nova janela ou aba
Editar via GitHub O link abre em uma nova janela ou aba
Rust Exercism

Tudo pronto para começar Transcrição de RNA?

Crie sua conta no Exercism para aprender e dominar Rust com 99 exercícios e mentoria humana de verdade, tudo de graça.