Sunday, March 4, 2012

বোকা কম্পিউটারের চালাকি – ৪ : “আয়োডিন সমস্যা”

সংবিধিবদ্ধ সতর্কীকরণঃ এই লেখা কম্পিউটারবোদ্ধাদের জন্য নহে।


আচ্ছা, আমি যে রাস্তায় হাঁটতে হাঁটতে সুন্দরী মেয়ে দেখতে গেলে কিংবা সুন্দরী মেয়ে দেখতে দেখতে রাস্তায় হাঁটতে গেলে প্রায়ই হোঁচট খাই, তা কি কেউ আপনাদের বলে দিয়েছে? এই আমার এক দোষ। একসাথে দুইটা কাজ ঠিকমতো করতে পারি না। সুন্দরী দেখা আর রাস্তায় হাঁটা – দুইটাতো আলাদা কাজ, তাই না? দুইটা কাজ কি একসাথে ঠিকভাবে করা যায় বলেন? অন্যরা পারলেও পারতে পারে, তবে ভাই, আমি পারি না। আমার এক বন্ধু একে কী বলে জানেন? বলে, “আয়োডিনের অভাব”।

জানলে হয়তো অবাক হবেন, কেবল আমার না, কম্পিউটারের মধ্যেও “আয়োডিনের অভাব” আছে। ভাবছেন কী বলতে চাচ্ছি? ঐ যে, আরে ঐ যে, কম্পিউটারের সব কাজ করে যে প্রসেসর, ঐরকম একটা বেসিক প্রসেসর একসাথে একটার বেশি কাজ করতে পারে না। একটার বেশি প্রোগ্রাম চালাতে পারে না। আমার মেয়ে দেখা আর রাস্তায় হাঁটা যদি “আয়োডিনের অভাব” হতে পারে, কম্পিউটারের এই বৈশিষ্ট্যও কি তবে তাই না? আপনি হয়তো এর মধ্যেই চিন্তা করা শুরু করছেন যে, “আমিতো দিব্যি ৮-১০ টা প্রোগ্রাম চালাই একসাথে”, তাই না? নিচের ছবিটাকে হয়তো প্রমাণ হিসেবেও দেখাতে চাইবেন।

একসাথে চলছে অনেকগুলো প্রোগ্রাম
একসাথে চলছে অনেকগুলো প্রোগ্রাম

আপনার মনে আছে কি – ০ আর ১ দিয়ে গড়া ইন্সট্রাকশনের মাধ্যমে কম্পিউটার প্রোগ্রাম কীভাবে কাজ করে? প্রতিটা প্রোগ্রামের (মাইক্রোসফ্‌ট্‌ ওয়ার্ড, মজিলা ফায়ারফক্স, মেসেঞ্জার ইত্যাদি) চলার পিছনে এক সেট ইন্সট্রাকশন থাকে। মাইক্রোসফ্‌ট ওয়ার্ড যখন চলে তখন আসলে তার ইন্সট্রাকশন একটার পর একটা চলতে থাকে, আবার যখন ফায়ারফক্স চলে তখন আসলে তার ইন্সট্রাকশন চলতে থাকে। একটা প্রোগ্রাম চালাতে হলে সেই প্রোগ্রামের ইন্সট্রাকশনগুলো প্রথমে মেমোরিতে নিতে হয়। মেমোরিতে নেয়া ইন্সট্রাকশনগুলো চালানোর জন্য প্রয়োজনীয় ডাটা সেভ করা থাকে কিছু রেজিস্টারে। এই প্রয়োজনীয় ডাটা কিরকম হতে পারে তার উদাহরণ দিচ্ছি - মেমোরির কোন্‌ জায়গা থেকে ইন্সট্রাকশন শুরু হয়েছে, এই মুহুর্তে কোন্‌ ইন্সট্রাকশন চলছে, যদি এই ইন্সট্রাকশনটা ‘যোগ’ হয় তবে কোন্‌ কোন্‌ সংখ্যা যোগ করা হচ্ছে আর যোগফলই বা কোথায় সেভ করা হবে, এর পরের ইন্সট্রাকশনটা কোথায় ইত্যাদি ইত্যাদি। যে কথা বলছিলাম, এই রেজিস্টারও এক ধরনের মেমোরি, তবে একটু বিশেষ ধরনের, আমরা র‍্যাম (RAM - Random Access Memory) বলে যা জানি তা থেকে ভিন্ন। রেজিস্টারে ডাটা সেভ করে রাখা যায় খুব দ্রুত, আবার খুব দ্রুত এখান থেকে ডাটা পড়ে নেয়াও যায়। এই দ্রুততার কারণেই মূলতঃ প্রসেসর (অন্য কথায় কম্পিউটার) এত দ্রুত কাজ করতে পারে। তবে এই দ্রুততা পাওয়ার জন্য একেকটা রেজিস্টারকে একেকটা বিশেষ কাজের জন্য বিশেষভাবে তৈরি করতে হয়। সেই সাথে রেজিস্টারের সংখ্যাও রাখতে হয় খুব সীমিত, না হলে কখন কোন্‌ রেজিস্টার থেকে ডাটা আনা-নেয়া করতে হবে সেটা বের করতেই সময় চলে যাবে। কম্পিউটারের সব কয়টা প্রোগ্রামকেই তাই একই রেজিস্টার ব্যবহার করতে হয়।

কিছু মনে করবেন না, একটা দুর্গন্ধময় উদাহরণের কথা মাথায় এসেছে। আপনার বাসায় যে পায়খানা আছে, সেটা মল-মূত্র ব্যবস্থাপনার জন্য বিশেষভাবে তৈরি, তাই না? নিশ্চয় খাওয়া-দাওয়া-ঘুমের জন্য তৈরি না। :P  আর এটা ব্যবহার করার জন্য – আপনার পরিবারের একেকজন যার যখন দরকার হয় তখন পায়াখানায় গিয়ে শান্তির কর্মটি সেরে আসেন, তাই না? বেয়াদবি মাফ করবেন, রেজিস্টারও একরকম পায়খানার মতো, এটি বিশেষ কাজের জন্য তৈরি এবং যখন সে প্রোগ্রামের দরকার হয় সেই প্রোগ্রাম রেজিস্টার ব্যবহার করে আসে। আপনারা যেমন দুইজন একসাথে সেই পায়খানা ব্যবহার করতে যান না, তেমনি একাধিক প্রোগ্রামও একইসাথে সেই রেজিস্টার ব্যবহার করতে পারে না। তাই একটা প্রসেসরে আসলে একই সময়ে একটার বেশি প্রোগ্রাম চলতে পারে না। আরো সঠিকভাবে বললে, প্রসেসরে একই সময়ে একটা ইন্সট্রাকশনের বেশি চলতে পারে না। “আয়োডিনের সমস্যা”-র মূল বিষয়টাই এখানে।

আপনি নিশ্চয় এখনো চিন্তা করছেন – “আমি তো দিব্যি দেখতে পাচ্ছি, কম্পিউটার একসাথে বহু প্রোগ্রাম চালাচ্ছে, এমন একটা উদাহরণ উপরে দিয়েছিও ছবির মাধ্যমে, তাহলে আয়োডিন সমস্যা থাকলো কোথায়?”। একটু দাঁড়ান, উত্তর দিচ্ছি। তার আগে মাইক্রোসফ্‌ট্‌ ওয়ার্ডে (অথবা ওপেন অফিস কিংবা অন্য কোন টেক্সট এডিটরে) লেখালেখির কথা একটু ভাবুনতো। আমিই যখন ওয়ার্ডে এই লেখাখানি লিখছি, তখন একটা লাইন লিখে আবার চিন্তা করছি পরের লাইনটা কীভাবে লিখলে আপনাকে সহজে আমার কথা বুঝাতে পারবো। চিন্তা করছি – আগের লাইনটা ঠিক হয়েছে তো? আমি যখন এইসব চিন্তা করছি, কিছুই লিখছি না, তখনতো আসলে মাইক্রোসফ্‌ট্‌ ওয়ার্ডের কোন কাজ করতে হচ্ছে না, মনিটরে প্রোগ্রামটা দেখা যাচ্ছে কেবল। এইসময় মনিটর আমার প্রোগ্রামের জন্য ব্যস্ত থাকলেও সেই রেজিস্টারগুলো কিন্তু এক্কেবারেই বেকার বসে আছে। এত এক্সপার্ট রেজিস্টারগুলোকে বসিয়ে রাখার কোন দরকার আছে বলুন? তার চেয়ে এই বেকার সময়টাতে অন্য কোন প্রোগ্রাম চালানো গেলে ভাল হতো না? ধরুন, হয়তো ইউটিউব থেকে ডাউনলোড চলতে থাকলো এই সময়ে, তাহলে ভাল হতো না? হ্যাঁ, কম্পিউটার আসলে এই কাজটাই করে। কিছু সময় একটা প্রোগ্রাম চালিয়ে আবার অন্য আরেকটা প্রোগ্রাম চালাতে যায়। আর এই ব্যাপারটাকে বলে টাস্ক-সুইচিং বা কনটেক্সট সুইচিং। টাস্ক সুইচিংয়েরর সময় অর্থাৎ এক প্রোগ্রাম থেকে অন্য প্রোগ্রামে যাওয়ার সময়, কম্পিউটার প্রথমে এখন যে প্রোগ্রামটা চলছে সেই প্রোগ্রামের জন্য রেজিস্টারে রাখা সব ডাটা মেমোরিতে সেভ করে, তারপর অন্য প্রোগ্রামটা চালিয়ে দেয়। আবার আগের প্রোগ্রামে ফিরে আসার সময় মেমোরিতে সেভ করে রাখা ডাটা আগে রেজিস্টারে রাখে, ও পরে সেই প্রোগ্রামটা চালিয়ে দেয়। এভাবে এক প্রোগ্রাম থেকে অন্য প্রোগ্রামে যাওয়া আসার কাজটা এত দ্রুত ঘটে যে, আপনি টেরই পাননা - আপনি যখন কোন একটা প্রোগ্রামে কাজ করছেন, কম্পিউটার তখন আপনার প্রোগ্রাম ছেড়ে অন্য প্রোগ্রাম থেকে ঘুরে আসছে! এভাবেই আসে কম্পিউটারের একসাথে একাধিক কাজ করার ক্ষমতা, যাকে বলে মাল্টিটাস্কিং

একজন প্রোগ্রামার যখন একটা প্রোগ্রাম তৈরি করেন, তখনতো আর তিনি জানেন না যে, ঐসময়ে আর কোন্‌ কোন্‌ প্রোগ্রাম চলবে। এক প্রোগ্রাম থেকে অন্য প্রোগ্রামে সুইচিংযের কাজটা করে কে তাহলে? এটা করে থাকে আমাদের অপারেটিং সিস্টেম (যেমনঃ উইন্ডোজ, লিনাক্স)। অপারেটিং সিস্টেমের কাছে কখন কোন্‌ প্রোগ্রাম চলছে সব তথ্য থাকে। সে বিভিন্ন প্রোগ্রাম ও থ্রেড (থ্রেড কী জিনিস একটু পর বলছি) এর মাঝে রেজিস্টারসহ কম্পিউটারের বিভিন্ন রিসোর্স কীভাবে ব্যবহার করা হবে তা ঠিক করে দেয়। কেতাবি ভাষায় একে বলে টাস্ক শিডিউলিং। এই শিডিউলিংটা প্রতিটা টাস্ক ১ মিলিসেকেন্ড পরপর চালিয়ে দেয়ার মতো সাধারণ হতে পারে (যাকে বলে রাউন্ড-রবিন শিডিউলিং), আবার আপনার স্ট্র্যাটেজি অনুযায়ী বুদ্ধিদীপ্তও হতে পারে।  যেমন ধরুন, আপনি নিশ্চয় চাইবেন আপনার দরকারি ও প্রিয় প্রোগ্রামগুলো যেন দ্রুত কাজ করে, কোনভাবে যেন বাঁধাগ্রস্ত না হয়। অর্থাৎ, প্রোগ্রামগুলো যেন অগ্রাধিকার (বা প্রায়োরিটি) অনুযায়ী শিডিউলিং করা হয় (যাকে বলে প্রায়োরিটি-বেস্‌ড শিডিউলিং) আবার গান শুনার সময় আপনি নিশ্চয় ভেঙ্গে-ভেঙ্গে আসা সুর পছন্দ করবেন না; নিশ্চিত করতে চাইবেন যে, গান শুনার সময়, বাবা কম্পিউটার, তুমি যে কাজই কর না কেন প্রতি ০.১ সেকেন্ডের মধ্যে গান শোনানোর প্রোগ্রামে ফিরে এসো, যাতে শব্দ শুনা যায় ঠিকভাবে। এভাবে নানান দিক বিবেচনা করে অনেকগুলো টাস্ক বা প্রোগ্রামের মধ্যে সমন্বয় করা হয়।

থ্রেডের ব্যাপারটা বলি এখন। একটা প্রোগ্রাম ফ্রী থাকলে সেই ফ্রী-টাইমের সদ্ব্যবহার করতে যেমন অন্য প্রোগ্রাম চালানো যেতে পারে, ঠিক তেমনি ঐ সময়ে ঐ একই প্রোগ্রামের অন্য কাজও করা যেতে পারে। একই প্রোগ্রামের মধ্যে যখন এই বুদ্ধি খাটানো হয়, তখনই আসে থ্রেডিং এর ব্যাপার-স্যাপার। একটা প্রোগ্রামে অন্তত একটা থ্রেড থাকে, একাধিক থ্রেডও থাকতে পারে। যেমন ধরুনঃ মিউজিক ভিডিও। এখানে গান শোনা আর ভিডিও দেখা - এই দুইটা আলাদা কাজ। তাই প্রোগ্রামের একটা অংশ গান শোনাতে পারে, আরেকটা অংশ আলাদাভাবে ভিডিও দেখাতে পারে। অর্থাৎ এখানে দুইটা থ্রেড থাকতে পারে, যদিও এই দুইটা থ্রেডের মধ্যে সমন্বয়ের দরকার আছে। আপাতদৃষ্টিতে বেশ সহজ একটা ধারণা হলেও, থ্রেডিং ব্যাপারটা প্রোগ্রামিংয়ের দিক থেকে একটু জটিল, তাই বেশির ভাগ প্রোগ্রামারই সাধারণত যতক্ষণ এক্কেবারে না হলেই নয় ততক্ষণ থ্রেডিং ব্যবহার করেন না।

যাই হোক, আবার ফিরে আসি আগের উদাহরণের দিকে। পিক-টাইমে কেন একজন তীর্থস্থানে (মানে পায়খানায়) বেশি সময় নিচ্ছে এ নিয়ে নিশ্চয় কোন-না-কোন দিন অভিযোগ করেছেন, করেননি? তখন নিশ্চয় মনে হয়েছে, আরেকটা পায়খানা থাকলে ভাল হতো, তাই না? কম্পিউটারের ক্ষেত্রেও হয়তো এখন আপনার মনে হচ্ছে, আরেক সেট রেজিস্টার থাকলেই হতো। কি, মনে হচ্ছে কি? আপনি জিনিয়াস, আসলেই আরেক সেট রেজিস্টার থাকলে ভাল হতো। তবে, আমিতো সহজভাবে বলার খাতিরে কেবল রেজিস্টারের কথা বলেছি, এগুলোর সাথে মেমোরি-থ্রেডিং-শিডিউলিং সহ আরো বেশ কিছু জিনিস সম্পর্কিত, সেই জিনিসগুলোকেও ঠিকমতো কাজ করতে হবে। আপনি হয়তো এর মধ্যে ডুয়াল-কোর, কোর-টু-ডুয়ো, কোয়াড-কোর, কোর-আই-৩, কোর-আই-৫, কোর-আই-৯ এইসব প্রসেসরের কথা শুনেছেন। এরকম প্রসেসর হল মাল্টি-কোর প্রসেসর, যেখানে আসলে একাধিক প্রসেসর (বা “কোর”) একসাথে একটা প্রসেসরের মতো কাজ করে।

তবে, বাসায় একাধিক তীর্থস্থান (পায়খানা) থাকলেও সবাই যদি একটাতেই যায়, তাহলে যেমন কোন লাভ নেই, তেমনি কম্পিউটারে একাধিক কোরের প্রসেসর থাকলেও সব প্রোগ্রাম যদি একই কোরে চালানো হয়, তাতেও কোন লাভ নেই। এই মাল্টি-কোরের সুবিধা নিতে হলে টাস্ক-শিডিউলিং হতে হবে বুদ্ধিদীপ্ত। সৌভাগ্যক্রমে, এখনকার অপারেটিংসিস্টেমগুলো এই কাজটা ভালভাবেই করে। তারপরেও কিছু কিন্তু থেকে যায়। ধরুন, আপনার কোয়াড-কোর প্রসেসর আছে, মানে ৪টা কোর আছে আপনার প্রসেসরে। কিন্তু, আপনি প্রোগ্রাম চালাচ্ছেন এই মুহুর্তে মাত্র ২টা। আপনার অপারেটিং সিস্টেম ২টা প্রোগ্রাম ২টা ২ কোরে চালিয়ে দেবে। বাকি ২টা কিন্তু এখনো অব্যবহৃত রয়ে গেল। ঐগুলোকে যদি আপনার প্রোগ্রাম ২টা ব্যবহার করতে পারতো, তাহলে ভাল হতো না? এটাও আসলে সম্ভব। তবে, সেজন্য প্রোগ্রামগুলোকে বুদ্ধিদীপ্তভাবে থ্রেডিংয়ের ব্যবহার করতে হবে। তবে, ঐ যে আগে বলেছিলাম, থ্রেডিং একটুখানি জটিল বলে প্রোগ্রামাররা সাধারণত এড়িয়ে যান। আজকের দিনের বেশিরভাগ প্রোগ্রামেই একটা মাত্র থ্রেড থাকে বলে মাল্টি-কোরের পুরো সুবিধাটুকু নেয়া সম্ভব হয় না অনেক ক্ষেত্রেই। এটা সমাধানের জন্য প্রোগ্রামিং মডেলে পরিবর্তন আনা বিষয়ক গবেষণা চলছে, একই প্রোগ্রামে কিভাবে অনেকগুলো কাজ একসাথে করা যায় তা নিয়ে গবেষণা চলছে, যাকে বলে প্যারালেল প্রোগ্রামিং। আশা করা যায়, নিকট ভবিষ্যতে প্রোগ্রামগুলোও হবে চালাক-চতুর, “আয়োডিন সমস্যা” চলে যাবে চিরতরে।

Saturday, January 7, 2012

পূর্বজন্ম নয়, জন্ম-পূর্বের কথা

কথাটা শুনে চোখ বড়-বড় করে তাকালাম, কান দু’খানি খাড়া করে শুনলাম। বলে কি! আমি নাকি জন্মের আগে থেকেই আমার মায়ের কন্ঠস্বর চিনি! না, না, এই গুণখানি স্বপ্নে প্রাপ্ত হইনি আমি। চুপে চুপে বলি, আপনি নিজেও ছিলেন এ ব্যাপারে পারদর্শী। আসলে বিজ্ঞানীরা এ তথ্য খুঁজে বের করেছেন। সত্যি, বিজ্ঞানী-গবেষকরা আজিব প্রাণী, আজিব তাদের পরীক্ষার ধরণ। তারা কী করেছে জানেন, নবজাতক বাচ্চাদের তাদের মায়ের কন্ঠস্বরের রেকর্ড বাজিয়ে দিয়ে আর মুখে একখান রাবারের নিপল গুঁজে দিয়ে চুষতে দিয়েছে, এই কাজটা তারা ভাল পারে। একই কাজ করেছে অচেনা মহিলার কন্ঠস্বরের রেকর্ড বাজিয়ে দিয়ে। দেখা গেছে – মায়ের কন্ঠস্বরের রেকর্ড শুনলে বাচ্চাদের নিপল চুষার গতি কম থাকে। নিশ্চয় এখন বলবেন, তাতে কি হয়েছে? হয়েছে অনেক কিছুই। কারণ এর আগে আজিব গবেষকরাই খুঁজে বের করেছেন, বোরিং লাগলে বাচ্চারা চুষার গতি বাড়িয়ে দেয়। বাচ্চারা তার মায়ের কন্ঠস্বর চিনতে পারে এবং তা শুনতে পছন্দ করে বলেই তখন নিপল চুষতে ততখানি আগ্রহ বোধ করে না।

বাচ্চারা তাহলে মায়ের কন্ঠ চিনলো কিভাবে? চারপাশের শব্দতরঙ্গগুলো মায়ের পেটের মাংসপেশীর মধ্য দিয়ে বাচ্চারা যে তরলের মধ্যে থাকে (অ্যামনিয়টিক ফ্লুয়িড) তার ভিতর দিয়ে যায়। ফলে বাচ্চারাও শব্দ শুনতে পায়। আর মায়ের কন্ঠই বেশি শুনে বলে তারা তা চিনতে পারে। ধরুন, আপনার মা যদি আপনাকে গর্ভে ধারণের সমইয়ে নিয়মিত বিটিভির ৮টার বাংলা সংবাদ শুনে থাকে, তাহলে ‘এক সাগর রক্তের বিনিময়ে’ গানটার সুর হয়তো আপনার জন্মের আগে থেকেই চেনা! আজিব বিজ্ঞানীরা এই ধরনের এক্সপেরিমেন্টও করছে। তারা আরো কী বলে জানেন? জন্মের পরপরই বাচ্চারা যে কান্নাকাটি করে, সেটাও নাকি নিজ মাতৃভাষায়! কান্নারও নাকি ভাষা হয়, সেটাও নাকি তারা জন্মের আগেই শিখে! ফরাসি বাচ্চারা নাকি উর্ধ্বগামী সুরে কাঁদে, আর জার্মানরা নাকি নিম্নগামী সুরে কাঁদে। উর্ধ্বগামিতা-নিম্নগামিতা নাকি তাদের মাতৃভাষার বৈশিষ্ট্য। কালে কালে যে কত কী শুনবো! 

গর্ভাবস্থায় বাচ্চারা যে কেবল শব্দ/ভাষা চিনতে শিখে তা নয়, গন্ধ আর স্বাদও তারা ঐসময় থেকেই শিখতে শুরু করে। গর্ভধারণের ৭ম মাসে বাচ্চাদের অলফ্যাক্টরী নার্ভ বিকশিত হয়, যার মাধ্যমে আমরা গন্ধ-সম্বন্ধীয় অনুভূতি বুঝতে পারি। গবেষকরা কী করেছে শুনেন। কিছু কিছু গর্ভবতী মা কে গর্ভধারণের ৭ম মাসে গাজরের জুস খেতে দিয়েছে। এতে হয়েছে কী... বাচ্চার চারপাশের অ্যামনিয়টিক ফ্লুয়িডে গাজরের গন্ধ ছড়িয়ে পড়েছে। বাচ্চারা তখন থেকে ঐ গন্ধ পছন্দ করেছে। জন্মের ৬ মাস পরে যখন তাদের গাজরের জুস খেতে দেয়া হল, তখন তারা বেশ তৃপ্তি করে পরিমাণে অনেকখানি খেয়ে ফেলল। অন্যদিকে, সেইসব বাচ্চারা, যাদের মাকে গর্ভধারণের সময়টাতে গাজরের জুস খেতে দেয়া হয়নি, তারা মোটামুটি ‘ইয়াক্‌’ বলে ফেলে দিল।

এইসব গল্প শুনে আপনি হয়তো আপনার বাচ্চার জম্নের ব্যাপারে কিছু পরিকল্পনা করে থাকতে পারেন। যদি বাচ্চাকে রবীন্দ্র সংগীতে আগ্রহী করতে চান কিংবা গায়ক বানাতে চান, তাহলে গর্ভে থাকাকালীন সময়ে নিয়মিত ভালো ভালো গান শুনাতে পারেন। কিংবা ক্রিকেটার বানাতে চাইলে নিয়মিত দেখতে থাকুন উত্তেজনাকর ম্যাচগুলো। পরিবারের মাঝে বৌ-শাশুড়ি-ননদের জিলাপির প্যাঁচওয়ালা, একে অপরের পিছনে কুটনামি করা সিরিয়ালগুলি দেখবেন না দয়া করে।

তবে ব্যাপার কী জানেন, কেবল শব্দ-গন্ধ-স্বাদ নয়, গর্ভকালীন সময় পুরোটাই নবাগতের জন্য খুব গুরুত্বপূর্ণ, প্রতিটা বিষয়ের বিশেষ তাৎপর্য আছে তার জন্য। গর্ভে থাকা অবস্থায় বাচ্চারা তার আশেপাশের পরিবেশের প্রত্যেকটাকে তথ্যের উৎস হিসাবে দেখে। তাই একে বলা যেতে পারে ‘বায়োলজিক্যাল পোস্টকার্ড’। ধারণা করা হয়, গর্ভে থাকা অবস্থায় মায়ের খাদ্যাভ্যাস, স্ট্রেস-লেভেল, বিভিন্ন অঙ্গপ্রত্যঙ্গের কার্যকারিতা এসব দেখে নবজাতক বাইরের দুনিয়ায় কি কি ঝামেলায় পড়তে পারে সে বিষয়ে ধারণা লাভ করে ও নিজেকে সেই অনুযায়ী প্রস্তুত করে। হল্যান্ডে ১৯৪৪ সালে দুর্ভিক্ষের সময় যেসব শিশু মায়ের পেটে ছিলো তাদের মাঝে এক গবেষণা চালানো হয়েছে। ঐসব শিশুদের অনেকের মাঝেই জন্মের পরপরই পুষ্টিস্বল্পতাসহ নানান রকম প্রসব-পরবর্তী সমস্যা সমস্যা দেখা দিয়েছে। তবে অনেক সমস্যা বহুদিন পর্যন্ত প্রকাশ পায়নি। দেখা গেছে, ঐ সময়ে জন্ম নেয়া মানুষদের মাঝে পরবর্তিতে ডায়াবেটিস ও হৃদরোগ হওয়ার সম্ভাবনা সাধারণের চেয়ে অনেক বেশি। ধারণা করা হয়, জন্ম পূরবর্তী অভিজ্ঞতার কারণে তাদের দেহ নানান রকম পরিবর্তন এসেছে। যেমনঃ গ্লুকোজ হজম করার ক্ষমতা এদের কম, যেটা ডায়াবেটিসের অন্যতম প্রধান কারণ। তখন মায়ের শরীরের ব্লাড প্রেসারও ছিলো কম, যেকারণে পরবর্তী জীবনে এদের মধ্যে উচ্চ রক্তচাপের কারণে হৃদরোগ হওয়ার সম্ভাবনা বেশি দেখা গেছে।

যারা জেনেটিক্স নিয়ে কিছু জ্ঞান রাখেন, তারা হয়তো এতক্ষণে ভেবে থাকবেন যে, উপরে উল্লেখিত বিষয়গুলো যত না গর্ভাবস্থায় মায়ের শারীরিক অবস্থার উপর নির্ভরশীল, তারও চেয়ে বেশি জেনেটিক; ডিএনএ প্রোফাইল মূলতঃ এসব বৈশিষ্ট্য নির্ধারণ করে। জেনেটিক প্রভাবের কথা অগ্রাহ্য না করেও গবেষকরা আসলে দেখাতে চেয়েছেন যে, গর্ভাবস্থাকালীন পরিবেশ মানুষের পরবর্তী জীবনের অনেক কিছু নিয়ন্ত্রণ করে, অনেক ক্ষেত্রে ডিএনএ এর প্রভাবও ছাপিয়ে যায়। দেখা গেছে, মোটা মায়ের সন্তানেরা সাধারণত মোটা হয়। গবেষকরা, মোটা মায়েদের মেদ-ভূড়ি কমানোর সার্জারির আগে ও পরে গর্ভধারণ করা সন্তানদের মধ্যে তুলনামূলক গবেষণা চালিয়েছেন। যেহেতু একই মায়ের সন্তান তারা, কাছাকাছি জেনেটিক বৈশিষ্ট্য পাওয়ার সম্ভাবনা বেশি এবং খাদ্যাভ্যাসও একই রকম হয় তাদের। তারপরেও দেখা গেছে, সার্জারির পরে জন্ম নেয়া শিশুদের মোটা হওয়ার সম্ভাবনা সার্জারির আগে জন্ম নেয়া তার বড় ভাই-বোনদের অর্ধেক, আর ভীষণ মোটা হয়ে যাওয়ার সম্ভাবনা তিন ভাগের এক ভাগ। পরবর্তীতে জন্ম নেয়া শিশুদের জন্মপূর্ববর্তী অভিজ্ঞতার কারণে এপিজেনেটিক প্রসেসের মাধ্যমে তাদের বিপাক-প্রক্রিয়া স্বাভাবিক অবস্থায় এসেছিল বলে বিশেষজ্ঞরা মত দেন। এছাড়া, গর্ভাকালীন সময়ে মায়েদের দুশ্চিন্তাগ্রস্ত থাকা, অতিরিক্ত মানসিক চাপ, বায়ু দূষণ, পরিবেশ দূষণ সব বিভিন্ন কারণে নবজাতকের মাঝে বিভিন্ন ধরনের পরিবর্তন আসার ব্যাপারটা এখন মোটামুটি প্রতিষ্ঠিত।

গর্ভকালীন সময়ের উপর এসব গবেষণা আশার আলো দেখাচ্ছে আমাদের। আমেরিকার অ্যারিজোনাতে টাইপ-২ ডায়াবেটিসের হার দুনিয়ার সবচেয়ে বেশি। সেখানকার মানুষ ডায়াবেটিসকে পারিবারিক রোগ হিসেবে নিয়তি হিসেবেই ধরে নিয়েছে। তবে, গবেষকরা আশা করছেন, যদি গর্ভকালীন সময়ে মায়েদের গ্লুকোজ লেভেল ঠিক রাখা যায়, তাহলে হয়তো নবজাতকের বিপাক প্রক্রিয়া স্বাভাবিক থাকবে ও ডায়াবেটিসের হার কমবে।

গবেষকরা তাদের গবেষনা চালিয়ে যাচ্ছেন। বছর বার আগে হার্ভার্ড ইউনিভার্সিটিতে এক প্রজেক্ট শুরু হয় – ২০০০ এরও বেশি বাচ্চাদের জন্ম-পূর্ববর্তী সময়ের অভিজ্ঞতা নিয়ে। ইতোমধ্যে অ্যাজমা, এলার্জি, মোটা হওয়া, হৃদরোগ সহ বিভিন্ন রোগের জন্মপূর্ববর্তী উৎস সম্বন্ধে এ প্রজেক্ট আলোকপাত করতে শুরু করেছে। গবেষণা চলছে গর্ভাবস্থায় মায়েদের খাদ্যাভ্যাস রোগ প্রতিরোধে কাজে আসে কি না তার উপর। ইদুরের উপর চালানো এক গবেষণায় দেখা গেছে, বাঁধাকপি বা ব্রকলির মতো সবজি থেকে তৈরি করা এক ধরনের রাসায়নিক পদার্থ গর্ভবতী ইদুরের দেহে প্রবেশ করালে ক্যান্সার হওয়ার সম্ভাবনা কমে। এছাড়াও, আমেরিকাতে বিশাল বাজেটের ন্যাশনাল চিলড্রেন’স স্টাডিতে ২ বছর আগে ২০১০ সালে ১ম এক লক্ষ গর্ভবতী নারী নাম লেখাতে শুরু করেছিলেন। তাদের সাক্ষাৎকার নেয়া হয়েছে, পরীক্ষা করা হয়েছে ও হচ্ছে তাদের চুল-লালা-রক্ত-মূত্র থেকে শুরু করে তাদের বাসার বাতাস-ধূলা-পানি। সন্তানগণ ২১ বছর হওয়া পর্যন্ত এই নারী ও তাদের সন্তানদের পর্যবেক্ষণ করা হবে। এ বছর তাদের গবেষনার ১ম ফল বের হওয়ার কথা যাতে অপরিণত শিশু-জন্ম ও জন্মগত ত্রুটি বিষয়ক কথা থাকবে। দেখা যাক, কী বের হয়।

সব কথার শেষ কথা, গর্ভকালীন সময়টা নবজাতকের পরবর্তী জীবনটার আদল গড়ে দেয়। এ সময়ে তাই মায়েদের জন্য সর্বোচ্চ সুস্থ পরিবেশ (শারীরিক ও মানসিক উভয়ই) নিশ্চিত করা অতি জরুরি।

সূত্রঃ
১)http://www.ted.com/talks/annie_murphy_paul_what_we_learn_before_we_re_born.html
২)http://www.time.com/time/magazine/article/0,9171,2021065,00.html

Friday, September 23, 2011

জীবনের গল্প (পর্ব-১)

স্কুল-কলেজে জীববিজ্ঞান পড়েছি কেবল পাস করার জন্য। চোখ-মুখ বন্ধ করে গোগ্রাসে মুখস্থ করেছি আর পরীক্ষার হলে উগড়ে দিয়ে এসেছি। উচ্চ মাধ্যমিকেতো জীববিজ্ঞান নেয়ারই ইচ্ছে ছিলো না, নিয়েছিলাম কেবল ডাক্তারি পড়ার পথটা খোলা রাখতে। জীববিজ্ঞানের সুখস্মৃতি বলতে কেবল পরীক্ষার খাতায় আঁকা ছবিগুলো। দেখে শান্তি পেতাম। মনে হতো, বাহ্‌, এই খাতাটা দেখার মতো!  ব্যস, এই হলো আমার জীববিজ্ঞান পাঠ।

ইদানিং বায়োইনফরমেটিক্‌স্‌ নিয়ে কিছু পড়াশুনা করছি। শুরু থেকেই মনের মধ্যে ভয় – বায়োলজিতো (জীববিজ্ঞান) পারি না, কতখানি এগুতে পারবো? তবে আনন্দের কথা - একটা ভাল বই পেয়েছি – Introduction to Bioinformatics Algorithms । লেখকঃ Jones ও Pevzner। তারা আমাকে অভয় দিয়েছেন। কম্পিউটারওয়ালাদের নাকি খুব বেশি বায়োলজি জানতে হয় না; যেটুকু জানতে হয় সেটুকু নাকি ১০ পাতাতেই লিখে ফেলা যেতে পারে! তবে ভাগ্য ভালো, লেখকরা ১০ পাতায় কাঠখোট্টা করে লিখেননি। অনেকটা গল্পের মতো করে লিখেছেন। যা লিখেছেন তা যে আগে জানা ছিলো না এমন নয়, তবে এমনভাবে মনে গেঁথে যায়নি আগে। জীন কোথায় থাকে তা বলেই তারা থামেননি, সাথে বলেছেন কিভাবে মানুষ ধারণা করলো যে জীন কোথায় থাকতে পারে; কেবল জীন সিকোয়েন্সের আবিষ্কারের তথ্যটুকু দেননি, বরং এই তথ্যগুলো কিভাবে বিজ্ঞানীরা বের করলেন সেই গল্পগুলোও বলেছেন। মুগ্ধ হয়ে গেলাম পড়ে। এতটাই মুগ্ধ যে, তেমন করে বাংলায় গল্প বলার দুঃসাহস জাগলো।

 রবার্ট হুক
ছবিঃ রবার্ট হুক

জীবনের রহস্য লুকিয়ে আছে যে কোষের মাঝে, সেই কোষ কিন্তু আবিষ্কৃত হয়েছে বহুদিন আগে – প্রায় সাড়ে তিনশো বছর আগে, ১৬৬৫ সালে। রবার্ট হুক অনুবীক্ষণ যন্ত্রে প্রথম দেখলেন যে, জীবদেহ কোষ নামের ছোট ছোট ভাগে বিভক্ত। পরবর্তীতে স্লেইডেন আর সোয়ান বললেন, জগতে বিচিত্র যত জীব আছে সবারই দেহ গঠিত হয়েছে কোষ দিয়ে। কেমন আশ্চর্য লাগে না? সকল জীব একই ধরনের জিনিস দিয়ে তৈরি! গাছপালা, মানুষ, পশুপাখি, আরশোলা, ছত্রাক, ভাইরাস, ব্যাকটেরিয়া সবই তৈরি কোষ দিয়ে। এটাই জীববিজ্ঞানে বিখ্যাত ‘কোষ তত্ত্ব’ নামে পরিচিত। মজার কথা কি জানেন, এই কোষতত্ত্বের আগে কিন্তু লোকজন জীববিদ্যাকে বিজ্ঞানই মনে করতো না! পরে আস্তে আস্তে অবস্থা এমন দাঁড়ায় যে, কোষ নিয়ে গবেষণাই হয়ে ওঠে জীবনের গবেষণা।

 কোষ
ছবিঃ কোষ

সব জীবের কোষ কিন্ত একরকম না, হাজার রকমের বৈচিত্র্য। তবে যত বৈচিত্র্যই থাকুক না কেন, তারা প্রত্যেকে একটা নির্দিষ্ট চক্র মেনে চলে- জন্ম, খাওয়া, বংশ-বৃদ্ধি ও মৃত্যু। তাদের জীবনচক্র অবিশ্বাস্য রকমের নিয়ম মেনে চলে। একটা উদাহরণ দেই – বংশবৃদ্ধির জন্য যা যা জিনিসপত্র প্রয়োজন তার সবকিছু যোগাড় করে তারপরেই কেবল প্রতিটা কোষ বংশবৃদ্ধির দিকে মনোযোগ দেয়। এ নিয়মের ব্যত্যয় ঘটলে দুনিয়াতে তোলপাড় লেগে যেত। কিন্তু কোষের মধ্যে কী এমন আছে যা তার সব কাজের মধ্যে সমন্বয় সাধন করে? কী এমন আছে যা কোষের মস্তিষ্কের মতো কাজ করে? আসলে এসব কাজের সবই নিয়ন্ত্রিত হয় জটিল জৈব-রাসায়নিক বিক্রিয়ার মাধ্যমে। এদেরকে বলে ‘পাথওয়ে’।

কোষকে অনুবীক্ষন যন্ত্র ছাড়া দেখা না গেলে কি হবে, তাদের কাজে এত জটিলতা থাকলে কি হবে, তাদের সকলের গঠন ও কাজের প্রক্রিয়ার মূল সূত্র কিন্তু একই ধরনের। জগতের সকল জীবেই তিন ধরনের অণু আছে –ডি.এন.এ., আর.এন.এ., ও প্রোটিন। কোষ কিভাবে কাজ করবে সেটার বিস্তারিত বিবরণ থাকে ডি.এন.এ. তে। আর.এন.এ. সেই বিস্তারিত তথ্য থেকে প্রয়োজনমতো কিছু তথ্য কোষের বিভিন্ন জায়গায় নিয়ে যায় যেগুলো প্রোটিন তৈরির ছাঁচ হিসেবে কাজ করে। প্রোটিন এনজাইম গঠন করে বিভিন্ন গুরুত্বপূর্ণ জৈবরাসায়নিক প্রক্রিয়ায় অংশ নেয়, এক কোষ থেকে অন্য কোষে তথ্য আদান-প্রদান করে, দেহের বিভিন্ন অংশ গঠন করে। এভাবেই চলে কোষের কাজ।

কোষের কথা অনেক বলেছি, এখন বরং ঐসব ডি.এন.এ., আর.এন.এ., ও প্রোটিন কিভাবে আবিষ্কার হলো সেই গল্পে যাই।

কোষকে ভালভাবে বিভাজন করে বিজ্ঞানীরা তার নিউক্লিয়াসের ভিতর একসময় সুতার মতো ক্রোমোজোম আবিষ্কার করলো। আবিষ্কারের পর তারা অবাক হয়ে লক্ষ করল যে, একেকটা জীবের একেক সংখ্যক ক্রোমোজোম আছে। তারা ধারণা করলো, হয়তো এর মধ্যেই প্রজাতিভিত্তিক বৈশিষ্ট্যগুলোর ভান্ডার আছে।

গ্রেগর জোহান মেন্ডেল মটরশুটি
ছবিঃ গ্রেগর জোহান মেন্ডেল ও মটরশুটি গাছ
 
একজন ধর্মযাজকের কথা বলি। নাম গ্রেগর জোহান মেন্ডেল। তিনি ১৮৫৬ থেকে ১৮৫৭ সালের মধ্যে প্রায় ২৯,০০০ মটরশুটি গাছ চাষ করেন। এসব গাছের উপর পরীক্ষা-নিরীক্ষা করে তত্ত্ব দিলেন যে, প্রজাতির বংশানুক্রমিক বৈশিষ্ট্যের জন্য ‘জীন’ দায়ী। প্রতিটা বৈশিষ্ট্যের জন্য এই জিনের ২টা অংশ থাকে। একটা আসে মায়ের কাছ থেকে, একটা বাবার কাছ থেকে। এর মধ্যে যে অংশটা প্রকট হয়, সেটাই দেখা যায়, বাকিটা লুকায়িত থাকে। মেন্ডেল জীন নিয়ে এত কথা বললেও, সেই জীন আসলে কি, কোথায় থাকে, কিভাবে কাজ করে কিছুই বলতে পারেননি। 

এই জীন কোথায় আছে তা বের হয়েছে আরো প্রায় ৫০ বছর পরে। মরগ্যান নামের এক বিজ্ঞানী ছিলেন। থাকতেন নিউইয়র্কে। ব্যস্ত শহর। ওখানেতো আর বিশাল জায়গা নেই যে উনি মেন্ডেলের মতো বাগান করবেন। পরীক্ষা-নিরীক্ষার জন্য উনি বেছে নিলেন ফলের উপর বসা মাছিদের। শহুরে সংস্কৃতি বলে কথা। তবে এই মাছিদের ভাল গুণ হলো – তাদের জীবন ক্ষণস্থায়ী এবং প্রজননক্ষমতা ব্যাপক, যে কারণে অল্প সময়ের মধ্যে বেশি সংখ্যক প্রজন্ম পর্যবেক্ষণ করা যায়।

মরগ্যান ফলের মাছি
ছবিঃ মরগ্যান ও ফলের মাছি
 
তো, এই পর্যবেক্ষণের এক পর্যায়ে মরগ্যান একটা মাছির চোখের রঙে ভিন্নতা দেখতে পেলেন। সাধারণত ঐসব মাছিদের চোখের রঙ হয় লাল, এর মধ্যে একটার রঙ দেখতে পেলেন সাদা। এই সাদা-চোখওয়ালা মাছিটাই যে এত গুরুত্বপূর্ণ হয়ে ওঠবে কে জানতো। মরগ্যান খুব সতর্কভাবে এই সাদা-চোখওয়ালা মাছিটার সাথে সাধারণ মাছির ক্রসওভার ঘটালেন, সহজভাবে বললে তাদের মধ্যে প্রজনন ঘটালেন। ফলাফল ছিলো আশ্চর্যজনক, পরবর্তী প্রজন্মগুলোতে সাদা-চোখওয়ালা মাছি খুব একটা বেশি দেখা যায় না, যাও দেখা যায় তাও কেবল পুরুষ মাছির মধ্যে। ততদিনে জানা হয়ে গেছে যে, এক ধরনের ক্রোমোজোম (সেক্স ক্রোমোজোম) আছে যা ঐসব মাছির লিঙ্গ নির্ধারণ করে। আর, সাদা রঙ যেহেতু কেবল পুরুষ মাছির মধ্যেই দেখা যায়, তাই মরগ্যান চিন্তা করলেন যে, চোখের রঙ নির্ধারণের জন্য যে জীন আছে তা নিশ্চয়ই সেই লিঙ্গ নির্ধারণকারী ক্রোমোজোমের মধ্যে আছে। এভাবেই বুঝা গেলো যে, জীন আছে আসলে ক্রোমোজোমের ভিতরে।

মরগ্যান কিন্তু তখনও জানতেন না জীন তৈরি হয়েছে কি দিয়ে। তবে ফলের মাছিকে কেন্দ্র করে গবেষণা চালিয়ে গেছেন তিনি তার ছাত্রদের সাথে নিয়ে। মাছি পর্যবেক্ষণের সময় মরগ্যান দেখলেন, কিছু কিছু মাছির গায়ের রঙ অন্যদের চেয়ে ভিন্ন, ধূসর না হয়ে তাদের রঙ হয়েছে কালো। আশ্চর্যের সাথে খেয়াল করলেন, ঐসব মাছির পাখার গঠনও ভিন্ন। ইংরেজিতে সেই ভিন্ন গঠনের পাখাকে বলে ‘vestigial wings’। (আমি vestigial wings এর ভাল অনুবাদ করতে পারলাম না বলে এমনই রেখে দিলাম।) উনি দেখলেন এরকম কিছু কিছু বৈশিষ্ট্য বেশির ভাগ সময় একই সাথে পাওয়া যায়, আলাদা-আলাদা ভাবে প্রায় দেখাই যায় না। এ ঘটনাকে মরগ্যান ক্রোমোজোমের একটা মডেলের মাধ্যমে ব্যাখ্যা করার চেষ্টা করলেন। মা ও বাবা প্রত্যেকের কাছ থেকে একটা করে দুইটা সুতার মতো ক্রোমোজোম থেকে যখন নতুন সন্তান তৈরি হয়, তখন কোন এক জায়গায় ক্রোমোজোম দুইটা ভেঙ্গে যায়। এরপর মায়ের এক অংশ আর বাবার আরেক অংশ নিয়ে নতুন সন্তান তৈরি হয়। নিচের ছবিটার মতো।

ক্রস-ওভার
ছবিঃ ক্রস-ওভার

উপরের ছবিতে সাদা সুতাকে যদি মায়ের ক্রোমোজোম ধরি, আর কালোটাকে বাবার, তাহলে ছবিটা থেকে নিশ্চয় বুঝতে পারছেন যে, মাঝামাঝি একটা জায়গায় ক্রোমোজোম দু’টো ভেংগে গিয়ে, এরপর সাদাটার এক অংশ কালোটার অন্য অংশের সাথে জোড়া লেগে সাদা-কালো দুইটা সুতা তৈরি হয়েছে। অন্যভাবে বললে, মায়ের ক্রোমোজোমের কিছু অংশ আর বাবার ক্রোমোজোমের কিছু অংশ মিলে সন্তানের ক্রোমোজোম তৈরি হয়েছে। একেই বলে ক্রস-ওভার। ক্রস-ওভারের কারণেই সন্তান কিছু বৈশিষ্ট্য পায় মায়ের, আর কিছু বাবার।

কি ভাবছেন? এই ক্রস-ওভারের সাথে মরগ্যানের পর্যবেক্ষণের দুইটা বৈশিষ্ট্য বেশির ভাগ সময় একই সাথে থাকার সম্পর্ক কোথায়? দাঁড়ান দেখাচ্ছি। মরগ্যান বলছেন, জীনগুলো ক্রোমোজোমের সুতার দৈর্ঘ্য বরাবর একটা নির্দিষ্ট জায়গায় থাকে। দুইটা জিন যদি কাছাকাছি অবস্থানে থাকে, তাহলে তাদের একসাথে থাকার সম্ভাবনা বাড়ে। দুইটা জিন কাছাকাছি থাকলে ক্রোমোজোমটা হয় দুইটারই ডানে অথবা দুইটারই বামে ভাঙ্গে, মাঝে তো জায়গা কম (কাছাকাছি তো), তাই মাঝে ভাঙ্গে কম। আর মাঝে কম ভাঙ্গে বলে দুইটা বৈশিষ্ট্য আলাদাও হয় কম। দুইটাকেই তাই বেশিরভাগ সময় একসাথে দেখা যায়। আর এরকম সম্পর্কযুক্ত জিনকে বলে লিঙ্কড জিন। মরগ্যান এও বলেন যে, দুইটা জীন যত বেশি সম্পর্কযুক্ত, তত বেশি কাছাকাছি থাকে তারা।

এই যে  মরগ্যান বললেন, সম্পর্কযুক্ত জিনগুলো বাস্তবে ক্রোমোজোমের মধ্যে কাছাকাছি অবস্থান করে, তার এই কথা যদি সত্য হয়, তাহলে বাস্তবে সম্পর্কযুক্ত জীনগুলো যদি নিবিড়ভাবে পর্যবেক্ষণ করা হয়, তাহলে নিশ্চয় বের করা যাবে কোন্‌ জীন অন্য কোন্‌ জীনের কাছে থাকে। ধরা যাক, ক, খ এর কাছে; আবার খ, গ এর কাছে; গ, ঘ এর কাছে। তাহলে ক, খ, গ, ঘ কে তাদের মধ্যকার দূরত্ব অনুসারে সাজালে একটা সিকোয়েন্স (ক-খ-গ-ঘ) পাওয়া যায় না? এভাবে, সম্পর্কযুক্ত জীনগুলো ক্রোমোজোমের দৈর্ঘ্য বরাবর পাশাপাশি বসালে নিশ্চয়ই জীনের একটা সিকোয়েন্স পাওয়া যাবে! এই চিন্তা মাথায় রেখে মরগ্যানের এক ছাত্র আলফ্রেড স্টুর্টভান্ট (বাংলা অনুবাদে ভুল হতে পারে, ইংরেজিতে Alfred Sturtevant) ১ম জেনেটিক ম্যাপ তৈরি করেছিলেন। কোন্‌ জীন কোন্‌টার কাছে সেটা কিভাবে বের করেছিলেন তা পরের উদাহরণটা দেখলেই বুঝা যাবে পরিষ্কারভাবে।
স্টুর্টভান্ট তিনটা জিন নিয়ে পরীক্ষা চালিয়েছেন – cn (যা চোখের রঙ নির্ধারণ করে, মাছির ক্ষেত্রে লাল নাকি সাদা), b (যা দেহের রঙ নির্ধারণ করে, মাছির ক্ষেত্রে ধূসর নাকি কালো), vg (যা ডানার ধরণ নির্ধারণ করে, মাছির ক্ষেত্রে স্বাভাবিক নাকি ভেস্টিজাল)।  একটা স্বাভাবিক (ধূসর দেহ+স্বাভাবিক ডানা) মাছির সাথে (ধরি বাবা) কালো দেহ ও ভেস্টিজাল ডানাবিশিষ্ট মাছির (ধরি মা) প্রজনন ঘটালেন। দেখলেন, মাত্র ১৭% সন্তানদের মধ্যে এই দুই বৈশিষ্ট্যের মিশ্রণ পাওয়া গেছে। ৮৩% সন্তানই হয় বাবার উভয় বৈশিষ্ট্য (ধূসর দেহ+স্বাভাবিক ডানা) অথবা মায়ের উভয় বৈশিষ্ট্য (কালো দেহ+ভেস্টিজাল ডানা) পেয়েছে। তার মানে গায়ের রঙ আর ডানার ধরণ নির্ধারণকারী জীনগুলো, b ও vg, কাছাকাছি আছে। আবার স্বাভাবিক মাছি (ধূসর দেহ+লাল চোখ) এর সাথে (কালো দেহ+সাদা চোখ) বিশিষ্ট মাছির প্রজনন ঘটিয়ে দেখলেন, মাত্র ৯% (আগের দুইটার চেয়েও কম) সন্তানের ক্ষেত্রে দুই বৈশিষ্ট্যের মিশ্রণ পাওয়া গেছে। তার মানে দেহের রঙ আর চোখের রং নির্ধারণকারী জীনগুলোও, b ও cn, কাছাকাছি। এবং b আর cn এর মধ্যকার দূরত্ব b আর vg এর মধ্যকার দূরত্বের চেয়ে কম। এরপর cn আর vg নিয়ে পরীক্ষা করে দেখলেন, মাত্র ৮% ক্ষেত্রে বৈশিষ্ট্য আলাদা হয়, অর্থাৎ, cn আর vg আরো বেশি কাছে। তিনটা বৈশিষ্ট্য একসাথে করে, স্কেল অনুসারে সাজালে দেখা যায়, cn এর এক পাশে b (৯%), অন্যপাশে vg (৮%) থাকবে। তাহলে b আর vg এর মধ্যে দূরত্ব হবে ১৭% এর সমানুপাতিক।

সম্পর্কযুক্ত জীনের তুলনামূলক অবস্থান
ছবিঃ সম্পর্কযুক্ত জীনের তুলনামূলক অবস্থান

এভাবেই বাকি বৈশিষ্ট্যগুলো পর্যবেক্ষণ করে পুরো জেনেটিক ম্যাপ তৈরি করা যাবে, এভাবে ভাবলেই কেমন যেন রহস্য সমাধানের গন্ধ পাওয়া যায়, তাই না?

(আগামী পর্বে শেষ করার ইচ্ছা আছে, যদি লিখার সময়, সুযোগ ও ইচ্ছার মধ্যে সমন্বয় ঘটে।)