Theory of partial ignorance
আমার বায়োইনফরমেটিক্স শেখা শুরু হয় Bio-Bio-1 সংগঠনে। বাংলাদেশে তথ্যপ্রযুক্তির একজন গুরু ও উদ্যোক্তা ফখরুজ জামান ভাই সংগঠনটি ২০০৯ সালে শুরু করেন। আমি বায়ো-বায়ো-১ সংগঠনের পাঠচক্রে অংশ নেয়া শুরু করি ২০১২ সালের ডিসেম্বর থেকে। বায়োইনফরমেটিক্স শেখার শুরুতে সবাই যে সমস্যায় পড়েন তা হলো এর multi-disciplinary প্রকৃতি নিয়ে। বায়োইনফরমেটিক্স বুঝে কাজ করতে গেলে জীববিজ্ঞান, কম্পিউটারবিদ্যা ও পরিসংখ্যানের জ্ঞান আবশ্যক। পাঠচক্রে যারা আসতেন, তারা একেকজন একেক বিষয়ের পড়াশুনায় দক্ষ। কিন্তু অন্যান্য বিষয়ে তারা একেবারেই আনাড়ী। নিজের বিষয় ছাড়া অন্যান্য বিষয়ের অপরিচিত পরিভাষার মুখোমুখি হয়ে সবারই সমস্যা হতো। তখন জামান ভাই আমাদের এ সমস্যা সামাল দিতে একটি কৌশল শেখান – তা হলো Theory of partial ignorance!
অর্ধ-অজ্ঞতা দিয়ে কাজ চালাও
সংক্ষেপে, Theory of partial ignorance-এর মূল বক্তব্য হলো আমরা যখন শেখা শুরু করি, তখন অনেক কিছুই অবোধ্য ও অপরিচিত লাগবে। আমি জীববিজ্ঞানের ছাত্র, বায়োইনফরমেটিক্সের কোন পদ্ধতি বুঝতে গেলে হয়তো কম্পিউটারবিদ্যা বা পরিসংখ্যানের এমন সব তত্ত্ব চলে আসবে যা আমার বর্তমানে আয়ত্বের বাইরে। সে জন্য কি বসে থাকলে হবে? আমরা কি আবার কম্পিউটারবিদ্যা বা পরিসংখ্যান পড়ে আসবো? বলা বাহুল্য, নতুন করে গোড়া থেকে কম্পিউটারবিদ্যা বা পরিসংখ্যান পড়তে গেলে কমপক্ষে একবছর তো লাগবেই। এভাবে আর হয়তো বায়োইনফরমেটিক্স শেখা শুরুই করা হবে না। জামান ভাই আমাদের শেখালেন, নতুন কিছু শিখতে গেলে যদি অপরিচিত অবোধ্য কোন বিষয়ে আটকে যাই, সেটা আপাতত বাদ দিয়ে এগিয়ে যাও। না হয় শেখার মধ্যে কিছু গোঁজামিল থাকবে আপাতত। কিন্তু ঐ বিষয়ের মূল ধারণাটা অন্তত পাওয়া যাবে। সব চাইতে বড় বিষয়, খুঁটিনাটি অনেক কিছু না বুঝলেও ঐ ধারণা নিয়ে কাজ শুরু করা যাবে। একবার যদি কেউ কাজ শুরু করে ফেলেন, তাহলে কাজ করতে করতে জানার গোঁজামিলগুলো ভালোভাবে শিখে ফেলা যাবে।
অর্ধঅজ্ঞতার সাহসকে পুঁজি করে আমরা আনকোরা কয়েকজন ঠিক করলাম বায়োইনফরমেটিক্সের গোঁড়ার বিষয়গুলো শেখা শুরু করা যাক। প্রাণরসায়ন ও অনুপ্রাণবিজ্ঞান থেকে ছিলো আরিফ আশরাফ ও কম্পিউটারবিদ্যা থেকে ছিলো রবিউল ইসলাম ভাই। বায়োইনফরমেটিক্সের গুরু সাদ্দাম হোসেন ভাই আমাদের দুইটা বই দিয়েছিলেন, একটা কালো-লাল মলাটের, অন্যটা নীল! কালো-লাল বইটা ছিলো Biological Sequence Analysis। এটা বায়োইনফরমেটিক্সের নিও-ক্লাসিক বই ধরা হয়। ডারবিন ও সহলেখকবৃন্দ পরিসংখ্যানের সাম্ভাব্যতার তত্ত্ব দিয়ে বায়োইনফরমেটিক্সের গোড়ার বিষয়গুলো ব্যাখ্যা করেছেন। নীল-মলাটের অন্যটি ছিলো পাভেল পেভজনারের Bioinformatics Algorithm। দুটোই বায়োইনফরমেটিক্সের খুব বিখ্যাত বই।
আমরা ডারবিনের বইটা দিয়ে শুরু করি। আমি আর অপু জীববিজ্ঞানের, রবিউল ভাই কম্পিউটারবিজ্ঞানে। কিন্তু পরিসংখ্যানের কেউই ছিলো না। আর পরিসংখ্যান আমরা খুব একটা ভালো বুঝতামও না। তাও জামান ভাইয়ের অর্ধ-অজ্ঞতার সাহসকে পুঁজি করে আমরা বইটা পড়া শুরু করি আর প্রতিটা লাইনে ধাক্কা খাই। ডারবিনের এ বইটার প্রতিটা লাইন ছিলো অবোধ্য তত্ত্বে ঠাঁসা। যতটা পারি নিজেরা বোঝার চেষ্টা করি। যেটা বুঝি না সেটা বাদ দিয়ে এগিয়ে যাই। এভাবে আমাদের গোঁজামিল দিয়ে বায়োইনফরমেটিক্স বোঝা শুরু হলো। এ শেখার শুরু হয়েছিলো সিকোয়েন্স এলাইনমেন্ট দিয়ে।
জৈবতথ্য সারিবদ্ধকরণ (Sequence Alignment)
বায়োইনফরমেটিক্সেের একদম শুরুর বিষয় হলো সিকোয়েন্স এলাইনমেন্ট বা জৈবতথ্য সারিবদ্ধকরণ। কেউ বায়োইনফরমেটিক্স শেখা শুরু করতে চাইলে বা এ বিষয়ে কাজ করতে চাইলে সারিবদ্ধকরণের প্রক্রিয়া ভালোভাবে বোঝা উচিত। যদিও অধিকাংশ তথ্যবিশ্লেষণের ক্ষেত্রে আমরা বিভিন্ন সফটওয়্যার ব্যবহার করি। কিন্তু এ সফটওয়্যার কোন প্রক্রিয়ায় বিশ্লেষণ করছে এটা না বুঝলে বায়োইনফরমেটিক্সের কাজ মুখস্থ ধরনের হয়ে যায়। শিশুর জন্মের পর যেমন আমরা সুন্দর একটি নাম ঠিক করি, ঠিক তেমনই বায়োইনফরমেটিক্সের যে কোন প্রজেক্টের শুরুই হয় সিকোয়েন্স এলাইনমেন্ট দিয়ে।
শিক্ষক.কম ওয়েবসাইটে বায়ো-বায়ো-১ এর সদস্যরা মিলে আমরা বায়োইনফরমেটিক্স পরিচিতি নামে একটা ছোট কোর্স শুরু করেছিলাম। সেখান থেকে জৈবতথ্য সারিবদ্ধকরণ সম্পর্কে জানা যাক:
আমরা এমনিতেই জৈব ডেটার (biological data) সমুদ্রে হাবুডুবু খাচ্ছি। উপরন্তু প্রতিদিন নূতন নূতন ডেটা তৈরি হচ্ছে। ধরুন, আপনি ল্যাবে কিছু ব্যাকটেরিয়ার ডি.এন.এ সিকুএন্সিং (সিকুয়েন্সিং করা মানে হল, A,T, C, G এই চারটা বর্ণমালা কিভাবে ক্রমসোমে সাজানো আছে সেটা নির্ণয় করা)করেছেন কিন্তু এইগুলো আসলে কোন ধরনের ব্যাকটেরিয়া তা আপনি জানেন না। মানে হল, তাদের পরিচয় আপনি জানেন না। সেটা জানার উপায় হল, যদি সেইগুলোর সিকুয়েন্সকে এমন কিছু ব্যাকটেরিয়ার সিকুয়েন্সের সাথে তুলনা করেন যাদের পরিচয় আমাদের জানা। যাদের পরিচয় আমরা জানি, তাদেরকে আমরা রেফারেন্স হিসেবে ধরে নিচ্ছি। ধরুন,
রেফারেন্স সিকুয়েন্সঃ “ATGCGTACGTGTCATACTGACGTACGTTGAGTA”
ল্যাব থেকে পাওয়া একটা সিকুয়েন্সঃ “ATGCGAACCATTCATACACGCTT”
উপরের গল্পের মত এখন মিলিয়ে দেখতে হবে, কোন মিল আছে নাকি? যদি মিল থাকলে, তবে কতটুকু মিল আছে, কোন কোন জায়গায় মিল আছে। মিল খুঁজে বের করার প্রক্রিয়াকে ক্রম প্রান্তিকরণ (Sequence Alignment ) বলা হয়। সুতরাং, ক্রম প্রান্তিকরণ (Sequence Alignment ) হচ্ছে একটা প্রক্রিয়া যার মাধ্যমে ডি.এন.এ বা আর.এন.এ বা প্রোটিনের দুই বা ততোধিক ক্রম বা সিকুয়েন্স (sequence) এর মধ্যে কোন মিল/সাদৃশ্য আছে কিনা সেটা দেখা হয়। ক্রমান্বয়ে সাজানোর উদ্দেশ্য হল সিকুয়েন্সগুলোর মধ্যে গাঠনিক (structural) বা কার্যগত (functional) মিল আছে কিনা।
“খালি হাতে এলাইনমেন্ট”
একজন বায়োইনফরমেটিশিয়ান হয়তো বলবেন জৈবতথ্য সারিবদ্ধকরণের প্রথম শুরু হয় ১৯৭০ সালে। কিন্তু প্রোটিনের অনুক্রম বের করা শুরু হয় এর থেকে বিশ বছর আগেই। ১৯৫০-র দশকের মাঝামাঝি সম্পর্কিত জীবের প্রোটিন অনুক্রমের তুলনা শুরু হয়। বলা বাহুল্য, তখন এখনকার মতো চমৎকার কম্পিউটার ছিলো না, আর দুইটি অনুক্রমকে কিভাবে সাজালে তাদের মধ্যে সর্বোচ্চ মিল খুঁজে পাওয়া যায় সে প্রয়োজনও ছিলো অনুপস্থিত। অধিকাংশ গবেষণাপত্রে অনুক্রমগুলোকে পাশাপাশি রেখে দেয়া হতো কোন তুলনা ছাড়াই। এমিনো এসিডের দুইটি অনুক্রমকে পাশাপাশি কিভাবে সাজালে এদের মধ্যে কোথায় মিল বা অমিল সর্বোচ্চ হবে এ ধরনের গবেষণা শুরু হয় ১৯৬০-র দশকের শুরু দিকে। বিজ্ঞানীরা দুইটি অনুক্রমের সারিবদ্ধকরণ তখন খালি হাতে চোখের আন্দাজেই করতেন।
জৈবতথ্যের (বিশেষ করে প্রোটিন) অনুক্রম বের করার প্রক্রিয়া তখন মাত্র শৈশবে ছিলো। এ প্রক্রিয়াও ছিলো অনেক ঝামেলাপূর্ণ ও জটিল। তাই জৈবতথ্য জমা হতো অনেক ধীরে ধীরে, দীর্ঘ সময় ধরে। তবে ১৯৬০-র ও ১৯৭০-র দশকে আরএনএ ও ডিএনএ অনুক্রম বের করার প্রযুক্তি চলে আসলে জৈবতথ্য দ্রুতগতিতে জমা হওয়া শুরু করে। সমসাময়িক সময়ে বিজ্ঞানীরা বুঝতে আরম্ভ করলেন যে জৈবতথ্যের দুইটি অনুক্রমকে অনেক ভাবেই বিন্যস্ত করা যায়। কিভাবে দুইটি জৈবতথ্য অনুক্রমকে বিন্যস্ত করলে তাদের মধ্যকার পার্থক্য সবচেয় কম হবে ও মিল বেশি হবে তার অনুসন্ধান শুরু হয়ে যায় এসময়েই। ঠিক এই রকম একটা প্রেক্ষাপটে নিডলম্যান ও উঞ্চ তাদের বিখ্যাত ডাইনামিক প্রোগ্রামিং ভিত্তিক প্রক্রিয়া প্রস্তাব করেন যাতে দুইটি অনুক্রমের মধ্যের অসংখ্য বিন্যাস থেকে খুব দ্রুত সন্তোষজনক একটি সাজ পাওয়া যায়।
শেষকথা
জৈবতথ্যবিজ্ঞানের কাজ করার সময় সিকোয়েন্স এলাইনমেন্টের প্রক্রিয়া বোঝাটা গুরুত্বপূর্ণ মনে করি। আসলে বিভিন্ন প্রজেক্টে আমরা বিভিন্ন সফটওয়্যার ব্যবহার করি, কিংবা বিভিন্ন প্রোগ্রামকে অজস্র উপাত্ত নিয়ে কাজ করার জন্য ছোট ছোট প্রোগ্রাম লেখি। কিন্তু এ সফটওয়্যারগুলো বিভিন্ন বায়োইনফরমেটিক্সের এলগরিদম কিভাবে বাস্তবায়ন করছে সে অন্তর্জ্ঞান অনেক সাহায্য করে। বিশেষ করে প্রজেক্টের অজস্র trouble-shooting এর জন্য সফটওয়্যার আসলে কি করছে তার ধারণা রাখাটা জরুরী।
তথ্যসূত্র: