আপনার কাজ হলো RNA সিকোয়েন্স অনুবাদ করে প্রোটিন তৈরি করা।
RNA স্ট্র্যান্ডগুলো তিনটি নিউক্লিওটাইডের সিকোয়েন্স দিয়ে গঠিত, যাদের বলা হয় কোডন। প্রতিটি কোডন একটি অ্যামিনো অ্যাসিড-এ অনূদিত হয়। এগুলো একসাথে যুক্ত হলে একটি প্রোটিন তৈরি হয়।
বাস্তব জগতে ৬৪টি কোডন আছে, যেগুলো ফলস্বরূপ ২০টি অ্যামিনো অ্যাসিডের সাথে মিলে যায়। তবে এই অনুশীলনীর জন্য আপনি সম্ভাব্য ৬৪টির মধ্যে মাত্র কয়েকটি ব্যবহার করবেন। সেগুলো নিচে তালিকাভুক্ত করা হলো:
| কোডন | অ্যামিনো অ্যাসিড |
|---|---|
| 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 |
উদাহরণস্বরূপ, “AUGUUUUCU” RNA স্ট্রিংটির তিনটি কোডন আছে: “AUG”, “UUU” এবং “UCU”। এগুলো Methionine, Phenylalanine এবং Serine নির্দেশ করে।
উপরের টেবিল থেকে আপনি লক্ষ্য করবেন যে এখানে তিনটি “STOP” কোডন আছে। এই কোডনগুলোর যেকোনোটির সম্মুখীন হলে সিকোয়েন্সের বাকি অংশ উপেক্ষা করুন, কারণ প্রোটিনটি সম্পূর্ণ হয়ে গেছে।
উদাহরণস্বরূপ, “AUGUUUUCUUAAAUG”-এ একটি STOP কোডন (“UAA”) আছে। আমরা সেই বিন্দুতে পৌঁছালেই প্রক্রিয়াকরণ বন্ধ করে দিই। তাই আমরা কেবল তার আগের অংশটুকু (যেমন “AUGUUUUCU”) বিবেচনা করি, তার পরে আরও কোডন (যেমন “AUG”) নয়।
উইকিপিডিয়ায় প্রোটিন অনুবাদ সম্পর্কে আরও জানুন।
প্রোটিন সিকোয়েন্সটি একটি নাল-টার্মিনেটেড স্ট্রিং হিসেবে আউটপুট করুন, যেখানে প্রতিটি প্রোটিনের পরে একটি নিউলাইন ক্যারেক্টার থাকবে।
একটি উদাহরণ আউটপুট হবে "Methionine\nPhenylalanine\nSerine\n"
ইনপুটটি অবৈধ হলে একটি খালি স্ট্রিং আউটপুট করুন।
| রেজিস্টার | ব্যবহার | টাইপ | বিবরণ |
|---|---|---|---|
$a0 |
ইনপুট | অ্যাড্রেস | নাল-টার্মিনেটেড ইনপুট স্ট্রিং |
$a1 |
ইনপুট/আউটপুট | অ্যাড্রেস | নাল-টার্মিনেটেড আউটপুট স্ট্রিং |
$t0-9 |
টেম্পোরারি | যেকোনো | সাময়িক স্টোরেজের জন্য ব্যবহৃত |
Exercism-এ সাইন আপ করুন, MIPS Assembly ট্র্যাকের 70টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।
এই অনুশীলনীটি সমাধানের ১১টি ভিন্ন উপায় ঘুরে দেখুন, যার মধ্যে আছে ইম্পারেটিভ পদ্ধতি, প্যাটার্ন ম্যাচিং, রিকার্সন ও হায়ার-অর্ডার ফাংশনের মতো ফাংশনাল ধারণা, এবং C++ ও Assembly-এ করা কিছু লো-লেভেল কোডিং।