Η δουλειά σου είναι να μεταφράσεις αλληλουχίες RNA σε πρωτεΐνες.
Τα μόρια RNA αποτελούνται από αλληλουχίες τριών νουκλεοτιδίων που ονομάζονται κωδικόνια. Κάθε κωδικόνιο μεταφράζεται σε ένα αμινοξύ. Όταν ενωθούν μεταξύ τους, αυτά τα αμινοξέα σχηματίζουν μια πρωτεΐνη.
Στον πραγματικό κόσμο υπάρχουν 64 κωδικόνια, τα οποία με τη σειρά τους αντιστοιχούν σε 20 αμινοξέα. Ωστόσο, σε αυτή την άσκηση θα χρησιμοποιήσεις μόνο λίγα από τα 64 πιθανά. Αναφέρονται παρακάτω:
| Κωδικόνιο | Αμινοξύ |
|---|---|
| AUG | Methionine |
| UUU, UUC | Phenylalanine |
| UUA, UUG | Leucine |
| UCU, UCC, UCA, UCG | Serine |
| UAU, UAC | Tyrosine |
| UGU, UGC | Cysteine |
| UGG | Tryptophan |
| UAA, UAG, UGA | STOP |
Για παράδειγμα, η αλληλουχία RNA "AUGUUUUCU" έχει τρία κωδικόνια: "AUG", "UUU" και "UCU". Αυτά αντιστοιχούν σε Methionine, Phenylalanine και Serine.
Θα παρατηρήσεις από τον παραπάνω πίνακα ότι υπάρχουν τρία κωδικόνια "STOP". Αν συναντήσεις κάποιο από αυτά τα κωδικόνια, αγνόησε την υπόλοιπη αλληλουχία: η πρωτεΐνη είναι πλήρης.
Για παράδειγμα, η αλληλουχία "AUGUUUUCUUAAAUG" περιέχει ένα κωδικόνιο STOP ("UAA"). Μόλις φτάσουμε σε εκείνο το σημείο, σταματάμε την επεξεργασία. Επομένως λαμβάνουμε υπόψη μόνο το τμήμα πριν από αυτό (δηλαδή "AUGUUUUCU") και όχι τα επόμενα κωδικόνια μετά από αυτό (δηλαδή "AUG").
Μάθε περισσότερα για τη μετάφραση πρωτεϊνών στη Wikipedia.
Γράψου στο Exercism για να μάθεις και να κατακτήσεις Ruby με 21 έννοιες121 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.
Εξερεύνησε 11 διαφορετικούς τρόπους να λύσεις αυτή την άσκηση, όπως προστακτικές προσεγγίσεις, συναρτησιακές ιδέες όπως η αντιστοίχιση προτύπων, η αναδρομή και οι συναρτήσεις υψηλότερης τάξης, καθώς και λίγο προγραμματισμό χαμηλού επιπέδου σε C++ και Assembly.