บทนำ
RNA เป็นลูกพี่ลูกน้องที่มีชื่อเสียงน้อยกว่าของ DNA วัตถุประสงค์หลักคือการควบคุมการผลิตโปรตีนในเซลล์ผ่านกระบวนการที่เรียกว่าการแปล ในความท้าทายนี้งานของคุณคือการดำเนินการเป็นส่วนหนึ่งของกระบวนการนี้ที่อาร์เอ็นเอที่มีการแบ่งเป็นcodons
ความท้าทายนี้เกี่ยวข้องกับหัวเรื่อง แต่มุ่งเน้นที่ส่วนอื่นของกระบวนการแปล
codons
เราจะคิดว่า RNA เป็นสายยาวกว่าตัวอักษรของคู่ฐาน, AUCG
. ในการแปล RNA ถูกแบ่งออกเป็นกลุ่มที่ไม่ทับซ้อนกันของคู่ฐานสามคู่ที่เรียกว่า codons กระบวนการเริ่มต้นที่codon เริ่มต้น , AUG
และสิ้นสุดที่หยุด codon , หนึ่งUAA
, หรือUAG
UGA
โคดอนแต่ละตัว (ยกเว้นสต็อปแบบหยุด) ตรงกับกรดอะมิโนและสตริงที่เกิดจากกรดอะมิโนจะเป็นโปรตีน
อินพุต
ข้อมูลที่คุณป้อนเป็นสตริงที่ไม่ว่างของ RNA
เอาท์พุต
เอาต์พุตของคุณคือรายการของ codons ที่ RNA ถูกแบ่งในรูปแบบที่เหมาะสม ในรูปแบบที่เรียบง่ายนี้กระบวนการเริ่มต้นที่codon เริ่มซ้ายสุดAUG
ซึ่งรวมอยู่ในผลลัพธ์ มันจะสิ้นสุดลงเมื่อพบกับการหยุด codon หรือเมื่อเราไม่มี RNA หากอินพุตไม่มีโค้ดเริ่มต้นเอาต์พุตจะเป็นรายการว่างเปล่า
ตัวอย่าง
พิจารณาลำดับการป้อนข้อมูล
ACAUGGAUGGACUGUAACCCCAUGC
การแยกวิเคราะห์เริ่มต้นที่การเกิดขึ้นซ้ายสุดAUG
ที่ดัชนี 2 ซึ่งจะดำเนินการดังนี้:
AC AUG GAU GGA CUG UAA CCCCAUGC
* ^ ^ ^ +
codon ที่ถูกทำเครื่องหมายด้วย*
คือ codon เริ่มต้นและที่ถูกทำเครื่องหมายด้วย^
นั้นก็เป็นส่วนหนึ่งของผลลัพธ์เช่นกัน หยุด codon +
ถูกทำเครื่องหมายด้วย ผลลัพธ์ที่ถูกต้องคือ
AUG,GAU,GGA,CUG
สำหรับอินพุตที่สั้นกว่า
ACAUGGAUGGACUGU
กระบวนการไป
AC AUG GAU GGA CUG U
* ^ ^ ^
เวลานี้ไม่พบรหัสหยุดดังนั้นกระบวนการหยุดเมื่อเราหมดคู่ฐาน เอาต์พุตเหมือนกับด้านบน
กฎและการให้คะแนน
คุณสามารถเขียนโปรแกรมทั้งหมดของฟังก์ชั่น จำนวนไบต์ต่ำสุดที่ชนะและช่องโหว่มาตรฐานไม่ได้รับอนุญาต
กรณีทดสอบ
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