Giriş
RNA, DNA'nın daha az ünlü kuzenidir. Temel amacı, çeviri adı verilen bir süreçle hücrelerdeki protein üretimini kontrol etmektir . Bu zorlukta göreviniz, RNA'nın kodonlara bölündüğü bu sürecin bir kısmını uygulamaktır .
Bu zorluk tematik olarak ilişkilidir, ancak çeviri sürecinin başka bir bölümüne odaklanır.
kodonları
RNA'yı baz çiftlerinin alfabesi üzerinde uzun bir dizi olarak düşüneceğiz AUCG
. Çeviride RNA, kodon adı verilen üç baz çiftinin örtüşmeyen parçalarına ayrılır. Süreç başlar başlama kodonu , AUG
bir de, ve uçları durdurma kodonu , biri UAA
, UAG
ya da UGA
. Her kodon (durdurma kodonları hariç) bir amino aside karşılık gelir ve ortaya çıkan amino asit dizisi proteini oluşturur.
Giriş
Girişiniz boş olmayan bir RNA dizisidir.
Çıktı
Çıktınız, herhangi bir makul formatta RNA'nın bölündüğü kodonların listesidir. Bu basitleştirilmiş modelde, işlem çıktıya dahil edilen en sol başlangıç kodonunda başlar AUG
. Bir durdurma kodonu ile karşılaşıldığında veya RNA bittiğinde sona erer. Girişte başlangıç kodonu yoksa çıkış boş bir liste olmalıdır.
Örnekler
Giriş sırasını göz önünde bulundurun
ACAUGGAUGGACUGUAACCCCAUGC
Ayrıştırma AUG
, dizin 2'de en soldaki olayda başlar. Aşağıdaki gibi devam eder:
AC AUG GAU GGA CUG UAA CCCCAUGC
* ^ ^ ^ +
İle işaretlenmiş kodon *
başlangıç kodonudur ve ile işaretlenmiş olanlar ^
da çıktının bir parçasıdır. Durdurma kodonu ile işaretlenmiştir +
. Doğru çıktı
AUG,GAU,GGA,CUG
Daha kısa giriş için
ACAUGGAUGGACUGU
süreç devam ediyor
AC AUG GAU GGA CUG U
* ^ ^ ^
Bu kez bir durdurma kodonu ile karşılaşılmaz, bu nedenle taban çiftleri bittiğinde süreç durur. Çıktı yukarıdaki ile aynıdır.
Kurallar ve puanlama
Bir fonksiyonun tam programını yazabilirsiniz. En düşük bayt sayısı kazanır ve standart boşluklara izin verilmez.
Test senaryoları
GGUACGGAUU ->
GGCGAAAUCGAUGCC -> AUG
ACAUGGAUGGACUGU -> AUG,GAU,GGA,CUG
AUGACGUGAUGCUUGA -> AUG,ACG
UGGUUAGAAUAAUGAGCUAG -> AUG,AGC
ACAUGGAUGGACUGUAACCCCAUGC -> AUG,GAU,GGA,CUG
CUAAGAUGGCAUGAGUAAUGAAUGGAG -> AUG,GCA
AAUGGUUUAAUAAAUGUGAUAUGAUGAUA -> AUG,GUU
UGUCACCAUGUAAGGCAUGCCCAAAAUCAG -> AUG
UAUAGAUGGUGAUGAUGCCAUGAGAUGCAUGUUAAU -> AUG,GUG,AUG,AUG,CCA
AUGCUUAUGAAUGGCAUGUACUAAUAGACUCACUUAAGCGGUGAUGAA -> AUG,CUU,AUG,AAU,GGC,AUG,UAC
UGAUAGAUGUAUGGAUGGGAUGCUCAUAGCUAUAAAUGUUAAAGUUAGUCUAAUGAUGAGUAGCCGAUGGCCUAUGAUGCUGAC -> AUG,UAU,GGA,UGG,GAU,GCU,CAU,AGC,UAU,AAA,UGU