Tracks
/
Rust
Rust
/
Übungen
/
RNA-Transkription
RNA-Transkription

RNA-Transkription

Mittel

Einführung

Du arbeitest für ein Bioengineering-Unternehmen, das sich auf die Entwicklung therapeutischer Lösungen spezialisiert hat.

Dein Team hat gerade ein neues Projekt bekommen: eine gezielte Therapie für eine seltene Krebsart entwickeln.

Note

Das Ganze ist sehr kompliziert, aber die Grundidee ist, dass der Körper manchmal zu viel von einem bestimmten Protein produziert. Das kann jede Menge Schaden anrichten.

Aber wenn du ein ganz bestimmtes Molekül erzeugst (eine sogenannte micro-RNA), kann es verhindern, dass das Protein überhaupt entsteht.

Diese Technik heißt RNA-Interferenz.

Anleitung

Deine Aufgabe ist es, das RNA-Komplement einer gegebenen DNA-Sequenz zu bestimmen.

Sowohl DNA- als auch RNA-Stränge sind eine Abfolge von Nukleotiden.

Die vier Nukleotide in der DNA sind Adenin (A), Cytosin (C), Guanin (G) und Thymin (T).

Die vier Nukleotide in der RNA sind Adenin (A), Cytosin (C), Guanin (G) und Uracil (U).

Aus einem DNA-Strang entsteht der transkribierte RNA-Strang, indem jedes Nukleotid durch sein Komplement ersetzt wird:

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

Wenn du sehen möchtest, wie die Ein- und Ausgaben aufgebaut sind, wirf einen Blick auf die Beispiele in der Testsuite.

Hinweise zur Rust-Implementierung

Indem wir in Structs private Felder verwenden und öffentliche new-Funktionen anbieten, die Option oder Result zurückgeben (wie hier bei DNA::new und RNA::new), können wir garantieren, dass die interne Darstellung von DNA korrekt ist. Da jeder gültige DNA-String einen gültigen RNA-String hat, müssen wir aus into_rna kein Result/Option zurückgeben.

Das erklärt die Typsignaturen, die du in den Tests siehst.

Die Rückgabetypen von DNA::new() und RNA::new() sind beide Result<Self, usize>, wobei der Fehlertyp usize den Index des ersten ungültigen Zeichens angibt (Zeichenindex, nicht utf8).


Quelle

HyperphysicsDer Link öffnet sich in einem neuen Fenster oder Tab
Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
Rust Exercism

Bereit, mit RNA-Transkription zu starten?

Melde dich bei Exercism an, um Rust mit 99 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.