Header Ads

বায়োসায়েন্সে পাইথন

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


  • বায়োইনফর্মেটিক্স



আমরা যারা মোটামুটি বায়োইনফর্মেটিক্সের সাথে পরিচিত তারা হয়ত সবাই জানি এখানে ডাটাবেজ থেকে বায়োলজিক্যাল ডাটা সংগ্রহ করে বিভিন্ন অনলাইন টুলসের সাহায্যে বিশ্লেষণ করে থাকি যেমন Clustal, ClustalW, Mega7, BLAAST, BLAST-PI, Protein Motif Scan ইত্যাদি। টুলস ব্যবহার করার একটা অসুবিধা আছে টুলস আমাদের যে ফলাফল দেবে তা নিয়েই সন্তুষ্ট থাকতে হবে। পাইথন ব্যবহার করে আমরা এই সমস্যার সমাধান করতে পারি। নিজেদের ইছামত চাইলে আমরা যেকোন ডাটা মডিফাই করতে পারি কিন্তু অনলাইন টুলসগুলো আমাদের সে সুবিধা দেবে না। বায়োইনফর্মেটিক্সের জন্য পাইথনের আলাদা একটা লাইব্রেরি আছে যার নাম বায়োপাইথন। বায়োপাইথন সম্পর্কে বিস্তারিত জানতে চাইলে এই লিংকে দেখতে পারেন। তবে সে সেক্ষেত্রে আপনাকে আগে পাইথনের বেসিক ধারনা নিতে হবে।

এখন আমি কিছু কোড লিখে রেখেছি উদাহরণ হিসেবে দেখানোর জন্য সেগুলো দেখার পালা। ধরুন আমাদের একটা সিকুয়েন্স আছে তার দৈর্ঘ্য নির্ণয় করতে চায় তাহলে পাইথনে কিভাবে করব?

এখানে আমি যে সিকুয়েন্সটি নিয়েছি তার দৈর্ঘ্য ৩১! এত সহজে আমরা কোন টুলস ব্যবহার করে করতে পারতাম না।


এবার দেখা যাক আমরা একটা সিকুয়েন্সের ইন্ডেক্সিং করতে পারি কিভাবে?

এই তিন লাইন কোডের মাধ্যমে আমি বের করতে পারছি কে কত নম্বরে আছে।এখন আমরা যদি চাই এই সিকুয়েন্সে কতবার A আছে, কতবার T আছে, কতবার C আছে, এবং কতবার G আছে আমরা তাও বের করতে পারব ছোট একটা মেথডের মাধ্যমে। এখন দেখি কিভাবে বের করা যায়?
এখানে আমি খুব সহজে গণনা করতে পেরেছি কাউন্ট নামে এই মেথডটি দিয়ে। এই উদাহরণগুলো দিলাম আমরা কতসহজে বায়োইনফর্মেটিক্সে পাইথন ব্যাবহার করা যায় এবং তার সুফল কই? এই লেখার মাধ্যমে কেউ পাইথন কিংবা বায়োইনফর্মেটিক্স কোনটাই শিখতে পারবে না। হয়ত শেখার পথ পাবে। আপনারা পাইথনের বেসিক জিনিসগুলো শেখার পরে বায়োপাইথনের ডকুমেন্টেশনটা পড়বেন যদি শেখার ইচ্ছা থাকে। পাইথনের বেসিক শেখা যাবে এখান থেকে অথবা এখান থেকে


  • বায়োলজিক্যাল ডাটা এনালাইসিস 


বায়োলজিক্যাল ডটা এনালাইসিসস করার জন্য পাইথনে সুন্দর একটি লাইব্রেরি রয়েছে। যার নাম Pandas এখন কথা হলো বায়োলজিক্যাল ডাটা কি? আমরা হয়ত FASTA ফাইল কি জানি। পাইথনে ফাইল রিড করার জন্য শুধুমাত্র পাইথন ব্যবহার করেও করতে পারি কিন্তু বিষদভাবে ডাটাগুলো এনালাইসিস করার জন্য Pandas ব্যবহার করা হয়। তবে Pandas নিয়ে পড়াশুনা করতে হলে আমাদের আরও কিছু জিনিস জানতে হবে। 

Pandas জানতে হলে এই সাইটটি দেখতে পারেন। Pandas জানতে হলে NumPy জানতে হবে সেটা জানা যাবা এখান থেকে এছাড়াও scikit-bio ব্যবহৃত হয়।  



  • বায়োলজিক্যাল ডাটা  ভিজুয়ালাইজেশন

    • আমরা যে ডাটা নিয়ে কাজ করব সেটা গ্রাফের সাহায্যে চাইলে দেখতে পারব। অনেক ডাটা নিয়ে যখন কাজ করতে হয় তখন ভিজুয়ালাইজেশনের বিকল্প নেই। অনেক বড় ডাটা যখন গ্রাফের মাধ্য্যমে দেখানো যায় তখন সেটা আমাদের জন্য বোঝা অনেক সহজ। বায়োলজিক্যাল কিছু ডাটার গ্রাফ দেখব এখন। এখানে আমি কোডগুলো লিখতে চাইছি না। এই কাজগুলো করার জন্য যে লাইব্রেরি ব্যবহার করা হয় সেগুলোর সোর্স দিয়ে দিচ্ছি আপনারা চাইলে শিখে নিতে পারবেন।Matplotlib এবং Plotly 

      GRAPH-1





      GRAPH-2




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


      No comments

      Powered by Blogger.