Giới thiệu
RNA là anh em họ ít nổi tiếng của DNA. Mục đích chính của nó là kiểm soát việc sản xuất protein trong các tế bào thông qua một quá trình gọi là dịch mã . Trong thử thách này, nhiệm vụ của bạn là thực hiện một phần của quá trình này, nơi RNA được tách thành các codon .
Thách thức này liên quan theo chủ đề, nhưng tập trung vào một phần khác của quá trình dịch thuật.
Codons
Chúng ta sẽ nghĩ về RNA như một chuỗi dài trên bảng chữ cái của các cặp cơ sở , AUCG
. Trong dịch thuật, RNA được chia thành các phần không chồng chéo của ba cặp cơ sở, được gọi là codon. Quá trình này bắt đầu từ một start codon , AUG
, và kết thúc tại một codon stop , một trong những UAA
, UAG
hoặc UGA
. Mỗi codon (trừ codon dừng) tương ứng với một axit amin và chuỗi axit amin tạo thành protein.
Đầu vào
Đầu vào của bạn là một chuỗi RNA không trống.
Đầu ra
Đầu ra của bạn là danh sách các codon trong đó RNA được phân tách, ở bất kỳ định dạng hợp lý nào. Trong mô hình đơn giản hóa này, quá trình bắt đầu ở codon bắt đầu ngoài cùng bên tráiAUG
, được bao gồm trong đầu ra. Nó kết thúc khi gặp một codon dừng hoặc khi chúng ta hết RNA. Nếu đầu vào không chứa codon bắt đầu, đầu ra sẽ là một danh sách trống.
Ví dụ
Xem xét chuỗi đầu vào
ACAUGGAUGGACUGUAACCCCAUGC
Việc phân tích cú pháp bắt đầu ở lần xuất hiện ngoài cùng bên trái của AUG
, tại chỉ mục 2. Nó tiếp tục như sau:
AC AUG GAU GGA CUG UAA CCCCAUGC
* ^ ^ ^ +
Các codon được đánh dấu *
là codon bắt đầu và những codon được đánh dấu ^
cũng là một phần của đầu ra. Các codon dừng được đánh dấu bằng +
. Đầu ra đúng là
AUG,GAU,GGA,CUG
Đối với đầu vào ngắn hơn
ACAUGGAUGGACUGU
quá trình đi
AC AUG GAU GGA CUG U
* ^ ^ ^
Lần này, một codon dừng không gặp phải, vì vậy quá trình dừng lại khi chúng ta hết cặp cơ sở. Đầu ra giống như trên.
Quy tắc và tính điểm
Bạn có thể viết một chương trình đầy đủ của một chức năng. Số byte thấp nhất sẽ thắng và các sơ hở tiêu chuẩn không được phép.
Các trường hợp thử nghiệm
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