Tracks
/
Rust
Rust
/
Ejercicios
/
Transcripción de ARN
Transcripción de ARN

Transcripción de ARN

Intermedia

Introducción

Trabajas para una empresa de bioingeniería que se especializa en desarrollar soluciones terapéuticas.

A tu equipo acaban de asignarle un nuevo proyecto para desarrollar una terapia dirigida contra un tipo poco común de cáncer.

Note

Todo es muy complicado, pero la idea básica es que a veces el cuerpo de las personas produce demasiada cantidad de una proteína determinada. Eso puede causar todo tipo de estragos.

Pero si logras crear una molécula muy específica (llamada microARN), esta puede evitar que la proteína se produzca.

Esta técnica se llama interferencia de ARN.

Instrucciones

Tu tarea es determinar el complemento de ARN de una secuencia de ADN dada.

Tanto las cadenas de ADN como las de ARN son una secuencia de nucleótidos.

Los cuatro nucleótidos que se encuentran en el ADN son la adenina (A), la citosina (C), la guanina (G) y la timina (T).

Los cuatro nucleótidos que se encuentran en el ARN son la adenina (A), la citosina (C), la guanina (G) y el uracilo (U).

Dada una cadena de ADN, su cadena de ARN transcrita se forma reemplazando cada nucleótido por su complemento:

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

Si quieres ver cómo están estructuradas las entradas y las salidas, echa un vistazo a los ejemplos del conjunto de pruebas.

Notas sobre la implementación en Rust

Al usar campos privados en structs con funciones new públicas que devuelven Option o Result (como aquí con DNA::new y RNA::new), podemos garantizar que la representación interna de DNA sea correcta. Como todo string de DNA válido tiene un string de RNA válido, no necesitamos devolver un Result/Option desde into_rna.

Esto explica las firmas de tipo que verás en los tests.

Los tipos de retorno de DNA::new() y RNA::new() son Result<Self, usize>, donde el tipo de error usize representa el índice del primer carácter no válido (índice de carácter, no utf8).


Fuente

HyperphysicsEl enlace se abre en una ventana o pestaña nueva
Editar en GitHub El enlace se abre en una ventana o una pestaña nuevas
Rust Exercism

¿Todo listo para empezar Transcripción de ARN?

Regístrate en Exercism para aprender y dominar Rust con 99 ejercicios y mentoría humana real, todo gratis.