এই পথে আলো জ্বেলে, এই পথেই পৃথিবীর ক্রমমুক্তি হবে
পাইথনে আমি নবিশ। এর আগে কক্ষোনো প্রোগ্রামিঙের আশেপাশ দিয়েও যাই নি। মোটামুটি মাস-দেড়েক হলো, পাইথন নিয়ে ঘাটাঘাটি করছি।
এখন পর্যন্ত অগ্রগতি বেশি না। মাত্র ফাংশনের আশেপাশ দিয়ে যাচ্ছি।
আর স্ট্রিং এর বিভিন্ন ফাংশন নিয়ে ঘাটাঘাটি করছি। মাঝে মাঝে মাথাটা শূণ্য হয়ে যায়। বিভিন্ন ই-বুক যোগাড় করেছি। ইন্টারনেটে কয়েকটা জায়গায় ঘোরাঘুরি করি। এসব জায়গায় দেয়া উদাহরণ, সমস্যা সমাধান করার চেষ্টা করি।
একেক সময় একেক জায়গায় পড়ি। আর যা শিখছি, তা নিয়ে সামান্য কয়েক লাইন লেখার চেষ্টা করি ওয়ার্ডপ্রেস ব্লগে।
একেকটা সমস্যা সমাধান করা বেশ মজা। যতক্ষণ সমাধান না হয়, চোখে অন্ধকার। সমাধান হয়ে গেলে যে মজাটা লাগে তা অসাধারণ!!
আজ দুপুরে লেখাপড়ার সময় একটা সমস্যা মাথায় এলো।
ডিএনএ হচ্ছে জীবদেহের এনসাইক্লোপিডিয়া, যেখানে যাবতীয় নির্দেশ দেয়া থাকে। এই নির্দেশ দেয়া হয় একটা কোডের মাধ্যমে, বায়োলজিতে বলে জেনেটিক কোড। জেনেটিক কোড কোষের মধ্যে লেখা হয় চারধরনের বেসের মাধ্যমে, A, T, G, C। একটা প্রোগ্রাম তৈরি করতে হবে যা বিভিন্ন আকারের জেনেটিক কোড তৈরি করবে। নিজে নিজে, অর্থাং ড়্যান্ডমলি।
প্রোগ্রামটি ATGC এই চারটি একককে ইচ্ছামতো সাজাবে। তাই একটা টাপল তৈরি করতে হবে। (টাপল হলো একটা লিস্ট, যেটাকে পরিবর্তন করা যায় না। ) নাম দিলাম base
base = ('A','T','G','C')
নতুন জেনেটিক কোড হবে একটা স্ট্রিং। তাই প্রথমে একটি খালি স্ট্রিং ঘোষণা করতে হবে।
code = ''
জেনেটিক কোড কতটুকু লম্বা হবে? মানে কয়টি বেস সেখানে থাকবে? এটা হবে ইন্টিগার, length
আর, পুরো প্রোগ্রামটা হবে একটা ছোট ফাংশন। সুতরাং ফাংশন ডিফাইন করতে হবে।
ফাংশনের নাম দিলাম new_code
সুতরাং,
def new_code(length=4):
base = ('A','T','G','C')
code = ''
#এখানে এমন একটি কোড বসাতে হবে
#যেটা কিনা ড়্যান্ডমলি base থেকে বেস নিয়ে নতুন
#জেনেটিক কোড তৈরি করতে পারবে
যেহেতু ড়্যান্ডমলি হবে, সুতরাং ড়্যান্ডম মডিউল এই প্রোগ্রামে আমদানী করা লাগবে। এবং এই ড়্যান্ডম মডিউলের ফাংশন ব্যবহার করে আমরা জেনেটিক কোড তৈরি করবো।
তাই
def new_code(length=4):
base = ('A','T','G','C')
code = ''
import random
for i in length:
code = code + random.choice(base)
return code
এখানে নতুন কি হলো? বেস থেকে random.choice(base) ফাংশন ড়্যান্ডমলি বেস নিয়ে স্ট্রিং code এর সাথে যুক্ত করা হলো।
এই প্রোগ্রাম চালু করে new_code(100) দিলে length এর মান হবে 100। এবং 100 বেসের একটি সিকুয়েন্স তৈরি হবে। আর যদি কেবল new_code() দেয়া হয়, তাহলে তৈরি হবে 4 বেসের একটি সিকুয়েন্স।
এ পোস্ট দেখে হাসা নিষেধ। পোস্টটি যুগপৎ ভাবে প্রজন্মফোরাম এবং নবীন পাইথনিয়ারে প্রকাশ করা হইলো।
।
অনলাইনে ছড়িয়ে ছিটিয়ে থাকা কথা গুলোকেই সহজে জানবার সুবিধার জন্য একত্রিত করে আমাদের কথা । এখানে সংগৃহিত কথা গুলোর সত্ব (copyright) সম্পূর্ণভাবে সোর্স সাইটের লেখকের এবং আমাদের কথাতে প্রতিটা কথাতেই সোর্স সাইটের রেফারেন্স লিংক উধৃত আছে ।