Parcours
/
Rust
Rust
/
Exercices
/
Transcription d'ARN
Transcription d'ARN

Transcription d'ARN

Moyen

Introduction

Tu travailles pour une entreprise de bio-ingénierie spécialisée dans le développement de solutions thérapeutiques.

Ton équipe vient de se voir confier un nouveau projet : développer une thérapie ciblée contre un type rare de cancer.

Note

Tout cela est très compliqué, mais l'idée de base est que, parfois, le corps des gens produit trop d'une protéine donnée. Cela peut semer la pagaille en tout genre.

Mais si tu parviens à créer une molécule très spécifique (appelée micro-ARN), elle peut empêcher la production de cette protéine.

Cette technique s'appelle l'interférence par ARN.

Instructions

Ton objectif est de déterminer le complément ARN d'une séquence d'ADN donnée.

Les brins d'ADN et d'ARN sont tous deux constitués d'une séquence de nucléotides.

Les quatre nucléotides présents dans l'ADN sont l'adénine (A), la cytosine (C), la guanine (G) et la thymine (T).

Les quatre nucléotides présents dans l'ARN sont l'adénine (A), la cytosine (C), la guanine (G) et l'uracile (U).

À partir d'un brin d'ADN, le brin d'ARN transcrit se forme en remplaçant chaque nucléotide par son complément :

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

Si tu veux voir comment les entrées et les sorties sont structurées, jette un œil aux exemples dans la suite de tests.

Notes sur l'implémentation en Rust

En utilisant des champs privés dans des structures dotées de fonctions new publiques qui renvoient Option ou Result (comme ici avec DNA::new et RNA::new), on peut garantir que la représentation interne de DNA est correcte. Comme toute chaîne d'ADN valide possède une chaîne d'ARN valide, on n'a pas besoin de renvoyer un Result/Option depuis into_rna.

C'est ce qui explique les signatures de types que tu verras dans les tests.

Les types de retour de DNA::new() et de RNA::new() sont Result<Self, usize>, où le type d'erreur usize représente l'indice du premier caractère invalide (indice de caractère, pas utf8).


Source

HyperphysicsLe lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Rust Exercism

Prêt à commencer Transcription d'ARN ?

Inscris-toi sur Exercism pour apprendre et maîtriser Rust avec 99 exercices, et un vrai mentorat humain, le tout gratuitement.