Biotechnology

জীব প্রযুক্তিতে প্রোগ্রামিং ভাষা ও বায়োইনফরমেট্রিক্স

মানুষ স্রষ্টার সেরা সৃষ্টি৷ যুগে যুগে মানুষের চাহিদা প্রেক্ষিতেই বিজ্ঞানের আবির্ভাব এবং নতুন নতুন উদ্ভাবন। সেই সময়ের পালা বদলেই আজকের বিশ্ব অভিনব অনেক উদ্ভাবনের ও প্রযুক্তি ব্যবহারের সাথে পরিচিত। প্রয়োজনের তাগিদে আবার অনেক প্রযুক্তি নতুন ধারা উদ্ভবনে ব্যস্ত গবেষকরা। তেমনি ভাবে আবিস্কৃত হয় একটি নতুন ভাষা৷ না এটা কোনো জাতি বা গোষ্টির ব্যবহৃত মৌখিক ভাষা নয়। এটি স্রেফ একটি যন্ত্র কে ইন্সট্রাকশন দেওয়ার ভাষা। যাকে বলা হয় প্রোগ্রামিং ভাষা।

সেই ১৮২২ সালে চার্লস ব্যাবেজের ডিফারেন্স ইঞ্জিন আবিষ্কারের পর থেকে ধারণায় আসে যে, কম্পিউটারকে সঠিকভাবে চালানর জন্য কিছু নির্দেশনা প্রয়োজন। এই নির্দেশনাগুলোই হচ্ছে প্রোগ্রামিংয়ের ভাষা। অর্থাৎ কিছু নির্দেশনা তৈরি করে সেগুলোকে হার্ডওয়্যারে প্রসেস করে কাজ সম্পন্ন করাই হচ্ছে প্রোগ্রামিং।প্রোগ্রামিং কি তা সহজে বললে, কম্পিউটারকে ইন্সট্রাকশন দেওয়ার প্রক্রিয়া হচ্ছে প্রোগ্রামিং।এর ধারাবাহিকতায় গবেষকরা এরপর নিত্যনতুন ধারণার জন্ম করতে থাকেন। জার্মান বিজ্ঞানী কনরাড জিউস ১৯৪৫ সালে প্রথম আধুনিক প্রোগ্রাম ভাষার মতামত প্রদান করেন। যুগের সাথে তাল মিলিয়ে আধুনিক এই বিশ্বে বিভিন্ন ধরনের প্রোগ্রামিং ভাষা উদ্ভাবন হয়েছে, ডেভেলপ হয়েছে,যেমন সর্বপ্রথম উচ্চতর প্রোগ্রামিং ভাষা Short Code(1949), Auto Code, FORTRAN (1954), COBOL (1959), LISP, BASIC, C (1972), C++, Java, JAVASCRIPT (1995), PYTHON, HTML,CSS, PHP, RUBY, R, MAT LAB, SWIFT ও অন্যান্য।

 চিত্রঃ কম্পিউটার প্রোগ্রামিং ভাষা মডিউল

এর মধ্যে কিছু প্রোগ্রামিং ভাষা যেমন C,C++, Java,PYTHON  আজ ব্যবহার হচ্ছে জীব বিজ্ঞানের বিভিন্ন শাখার গবেষণায় এবং নতুন প্রযুক্তি উদ্ভাবনে। কিন্তু আজ থেকে প্রায় এক বা দুই দশক আগে, মানুষ জীববিজ্ঞান এবং কম্পিউটার বিজ্ঞানকে সম্পূর্ণ ভিন্ন দুইটি ক্ষেত্র হিসেবে দেখেছিল । প্রোগ্রামিং ভাষার ক্ষেত্রে, C, C++, C#, Java, Perl এবং PYTHON জীবপ্রযুক্তির জন্য সেরা হিসাবে চিহ্নিত করা হয় কারণ C এবং C ++ খুব দ্রুত এবং C #, Java,Perl এবং PYTHON ভাষা গুলোও বায়োটেক প্রোগ্রামার কাজটিকে আরও সুবিধাজনক করে তোলে।

বর্তমানে কম্পিউটার ও জীববিজ্ঞানের সংমিশ্রণে আবির্ভূত হয়েছে নতুন এক বিজ্ঞান বায়োইনফরমেট্রিক্স। মূলত কম্পিউটার এবং জীববিজ্ঞানের পরিশুদ্ধ এক সংস্করণ হচ্ছে এই বায়োইনফরমেটিক্স (Bioinformatics)। Bio (জৈব) + informatics (তথ্য প্রযুক্তি); আক্ষরিক ভাবে Bioinformatics এর অর্থ দাড়ায় জৈব তথ্য প্রযুক্তি।অর্থাৎ বলা যেতে পারে জৈব তথ্য বিজ্ঞান।  স্ট্যানফোর্ড ইউনিভার্সিটির কম্পিউটার বিজ্ঞানী ডোনাল্ড নুথ (Donald Knuth) সর্বপ্রথম বায়োইনফরমেটিক্সের ধারণা দেন।

জৈব তথ্যবিজ্ঞান তথা বায়োইনফরমেটিক্স এমন একটি কৌশল যেখানে ফলিত গণিত(Applied Mathematics) , তথ্যবিজ্ঞান(ICT) , পরিসংখ্যান(Statistics), কম্পিউটার বিজ্ঞান(Computer Science) , কৃত্রিম বুদ্ধিমত্তা(Artificial Intelligence) , রসায়ন(Chemistry) এবং প্রাণ রসায়ন (Biochemistry) ও জীন প্রকৌশল(Genetic Engineering)  ব্যবহার করে জীববিজ্ঞানের সমস্যাসমূহ সমাধান করা হয় এবং এসব বিদ্যা কাজে লাগিয়ে জটিল কিছু প্রক্রিয়ার মাধ্যমে এমন কিছু সফটওয়্যার প্রস্তুত করা হয় যার সাহায্যে খুব সহজেই জীববিজ্ঞান সংক্রান্ত ডাটাগুলো বিষদ আকারে বিশ্লেষণ করা যায়। এই সবগুলো বিষয়ের সংমিশ্রণেই হচ্ছে বায়োইনফরমেটিক্স।

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

                     মানুষের এক্স ক্রোমোসোমের মানচিত্র। এনসিবিআই-এর সৌজন্যে।মানব জিন-এর সন্নিবেশ জীবতথ্যবিজ্ঞানের সবচেয়ে বড় অর্জন।

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

বায়োইনফরমেটিক্সে জীন তথা DNA সংক্রান্ত গবেষণার মাধ্যমে প্রাপ্ত ডেটাগুলো ডেটাবেজে সংরক্ষণ করা হয়। পরবর্তিতে কম্পিউটার বিজ্ঞানের বিভিন্ন প্রোগ্রামিং ভাষা, পরিসংখ্যান, গণিত এবং প্রকৌশল জ্ঞানকে ব্যবহার করে এই ডেটাগুলো বিশ্লেষণ করে বিভিন্ন বায়োলজিক্যাল সমস্যার সমাধান এবং নতুন টুলস তৈরি করা হয়।একটি বায়োইনফরমেটিক্স টুলস তিনটি প্রধান কাজ করে থাকে: বায়োইনফরমেটিক্সে যে কোন জৈবিক ডেটা বিশ্লেষণ করার ক্ষেত্রে একটি বায়োইনফরমেটিক্স টুলস নিমোক্ত তিনটি প্রধান কাজ করে থাকে- ১। ডিএনএ(DNA) সিকোয়েন্স থেকে প্রোটিন সিকোয়েন্স নির্ণয় করা, ২। প্রোটিন সিকোয়েন্স থেকে প্রোটিন স্ট্রাকচার নির্ণয় করা ও ৩। প্রোটিন স্ট্রাকচার থেকে প্রোটিনের কাজ নির্ণয় করা।

বায়োইনফরমেটিক্স এর গবেষণাধীন ক্ষেত্রসমূহঃ সিকুয়েন্স এলাইনমেন্ট (Sequence alignment),ডিএনএ বিশ্লেষণ(DNA Analysis ),জিন ফাইন্ডিং(Gene Finding),ড্রাগ নকশা(Drug design) ,ড্রাগ আবিস্কার (Drug invention), প্রোটিনের গঠন( Protein structure), Structural Bioinformatics,  Systems Biology. এর জন্য বিভিন্ন কৌশল ব্যবহার করে বেশ কিছু অ্যালগরিদম,প্রোগ্রামিং ভাষা ব্যবহার হয়। এর পাশাপাশি মেশিন লার্নিং ও ডাটা মাইনিং এর কিছু কৌশল যেমন মারকভ মডেল (Markov Model), নিউরাল নেটওয়ার্ক (Neural Networks) ইত্যাদি। যেহেতু এখানে বড় পরিমাণে ডাটা নিয়ে কাজ করা হয়, তাই নির্দিষ্ট পরিসংখ্যান অনুযায়ী তথ্য বিশ্লেষণ করার জন্য এসব অত্যন্ত গুরুত্বপূর্ণ। ব্যায়োলজিক্যাল ডেটা বিশ্লেষণের জন্য বায়োইনফরমেটিক্সে ব্যবহৃত প্রোগ্রামিং ভাষাগুলো এবং ওপেনসোর্স সফটওয়্যারসমূহঃ  Bioconductor, R, C/C++,BioPerl, BioJS, Biopython, BioJava, BioRuby, Biclipse,EMBOSS,Taverna Workbench,UGENE, T Bio।  এজন্যই বায়োইনফরমেট্রিক্স এর সাথে কম্পিউটার বিজ্ঞানের প্রোগ্রামিং এর  বিশেষ সংযোগ । 

চিত্রঃ বায়োইনফরমেট্রিক্স এ ব্যবহৃত প্রোগ্রামিং ভাষা সমূহ

সৃষ্টিকর্তার মনোমুগ্ধকর আবিষ্কারগুলোর মধ্যে মানুষ অন্যতম হলেও মানুষের কোষ এর অভ্যন্তরের জিনোম (Genome) আরও বেশি মনোমুগ্ধকর। জিনোম হচ্ছে সমস্ত বংশগতিক তথ্যের সমষ্টি। সমগ্র জিনোম সংরক্ষিত অবস্থায় অবস্থান করে একটি মাত্র DNA অণুর মধ্যে। এই এনকোড (Encode) করা সুবিশাল ডাটাগুলো যদি কোনভাবে ডিকোড(Decode) করে একজন মানুষের মধ্যে ঢুকানো যায় তাহলে এই মানুষটির বৈশিষ্ট্য হবে সম্পূর্ণ ভিন্নরকম। বায়োইনফরমেটিকসগুলি ওষুধ শিল্পেও এমন ড্রাগের সংমিশ্রণগুলি সনাক্ত করতে ব্যবহৃত হয় যা কার্যকর ওষুধ উৎপাদন করার সম্ভাবনা বেশি। এছাড়া নানা রকম জিনের অপ্রত্যাশিত কোন পরিবর্তনের (Gene Mutation) ফলে হচ্ছে নানারকম জেনেটিক রোগ। এসব জটিল এবং কঠিন রোগের সমাধান বের করতে মানুষের হয়ত কয়েক যুগ লাগতে পারে কিন্তু  এক্ষেত্রে  “Bioinformatics” এর কৌশল ফলপ্রসু হতেও পারে। বায়োইনফরমেট্রিক্স ওষুধ শিল্পেও এমন ড্রাগের সংমিশ্রণগুলি সনাক্ত করতে ব্যবহৃত হয় যা কার্যকর ওষুধ উৎপাদন করার সম্ভাবনা বেশি রয়েছে।

তাই জীববিজ্ঞান ও জীব প্রযুক্তির সাথে কম্পিউটার বিজ্ঞানের প্রোগ্রামিং,এলগোরিদম  মেলবন্ধন কাজে লাগিয়ে বায়োইনফরমেট্রিক্স  ভবিষ্যৎ পৃথিবীকে উপহার দিবে অসাধারন কিছু উদ্ভাবন, উন্মোচন হবে অনেক জৈবিক তথ্য।


মোঃ আরিফ হোসেন

২য় বর্ষ, প্রাণ রসায়ন ও অনুপ্রাণ বিজ্ঞান বিভাগ। 

মাওলানা ভাসানী বিজ্ঞান ও প্রযুক্তি বিশ্ববিদ্যালয়, টাংগাইল।

Source: Wikipedia, NCBI.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button