ইউনিট
1. জীববিজ্ঞানে কৃত্রিম বুদ্ধিমত্তার ভূমিকা: ভূমিকা, সীমানা, বৈধতা এবং নীতিশাস্ত্র 2. পাইথনের সাথে জৈবিক ডেটা বিশ্লেষণের মৌলিক বিষয় 3. সিকোয়েন্স অ্যানালাইসিস এবং বায়োইনফরমেটিক্স: ডিএনএ, আরএনএ এবং প্রোটিন 4. ওমিক্স ডেটা এবং হাই ডাইমেনশনাল অ্যানালাইসিস 5. প্রোটিন গঠন এবং আলফাফোল্ড: জীববিজ্ঞানে কৃত্রিম বুদ্ধিমত্তার জয় 6. চিত্র বিশ্লেষণ এবং প্রকার/কোষ সনাক্তকরণ 7. পরীক্ষামূলক নকশা: কৃত্রিম বুদ্ধিমত্তা সহ একটি কঠিন পরিকল্পনা স্থাপন করা 8. ডেটা বিশ্লেষণ এবং পরিসংখ্যানগত বৈধতা 9. বৈজ্ঞানিক ভিজ্যুয়ালাইজেশন: সততার সাথে এবং বোধগম্যভাবে ডেটা প্রদর্শন করা 10. সাহিত্য পর্যালোচনা এবং বৈজ্ঞানিক লেখা 11. নৈতিকতা, জৈব নিরাপত্তা, গোপনীয়তা এবং বৈজ্ঞানিক সততা
ইউনিট 2 / 11

পাইথনের সাথে জৈবিক ডেটা বিশ্লেষণের মৌলিক বিষয়

লাভ:

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

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

এই ইউনিটে কীভাবে কোড করবেন তা আপনার জানার দরকার নেই; আপনি সঠিকভাবে উদ্দেশ্য প্রকাশ করতে এবং আউটপুট প্রদান করতে শিখবেন।

পাইথন কেন এবং কোন লাইব্রেরি?

জীববিজ্ঞানে সবচেয়ে বেশি ব্যবহৃত পাইথন লাইব্রেরি (লাইব্রেরি: রেডিমেড ফাংশনের প্যাকেজ) হল:

  • পান্ডা: ট্যাবুলার ডেটা পড়তে (CSV, Excel) এবং সারি-কলাম অপারেশনগুলি সম্পাদন করতে। একটি জিন এক্সপ্রেশন টেবিল ফিল্টার, গ্রুপ, মার্জ করার মৌলিক টুল।
  • NumPy: সংখ্যাসূচক অ্যারে এবং ম্যাট্রিক্স অপারেশনের জন্য; এটি পান্ডাদের অধীনে চলে।
  • বায়োপাইথন: ডিএনএ/আরএনএ/প্রোটিন সিকোয়েন্সের সাথে কাজ করার জন্য, ফাস্টএ ফাইল পড়া, অনুবাদ (ডিএনএকে প্রোটিনে অনুবাদ করা)।
  • matplotlib / seaborn: প্লট তৈরির জন্য।
  • SciPy/statsmodels: পরিসংখ্যান পরীক্ষার জন্য।

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

ইঙ্গিত: মডেলটি কখনও কখনও একটি লাইব্রেরি ফাংশন "মেক আপ" (হ্যালুসিনেট) করতে পারে যা বিদ্যমান নেই। যদি কোড একটি ত্রুটি দেয়, আতঙ্কিত হবেন না; ত্রুটিটিকে মডেলে পেস্ট করা যেমন সাধারণত হয় এটি ঠিক করে। যদি এটি এখনও কাজ না করে, অফিসিয়াল ডকুমেন্টেশন চেক করুন।

ধাপে ধাপে: একটি গণনা টেবিল সাফ করা

ধরা যাক আপনার counts.csv আছে: সারি হল জিন, কলাম হল নমুনা, কোষ হল কাঁচা পঠিত সংখ্যা। সাধারণ প্রথম পদক্ষেপ:

  1. লোড হচ্ছে: পান্ডাদের সাথে টেবিলটি পড়ুন।
  2. আবিষ্কার: আকার পরীক্ষা করুন (কতটি জিন, কতগুলি নমুনা), অনুপস্থিত মান, সদৃশ জিনের নাম।
  3. ফিল্টারিং: কোনো নমুনায় পড়া হয় না এমন জিন বাদ দিন (মোট সংখ্যা 0); এগুলো গোলমাল।
  4. সারসংক্ষেপ: প্রতি নমুনা (লাইব্রেরির আকার) মোট পঠিত সংখ্যা গণনা করুন; যে নমুনাটি খুব কম তা ব্যর্থ হতে পারে।

আপনি এই কর্মপ্রবাহকে কৃত্রিম বুদ্ধিমত্তার জন্য নিম্নরূপ আউটসোর্স করতে পারেন:

ভূমিকা: আপনি বায়োইনফরমেটিক্সের উপর ফোকাস করা পাইথন সহকারী। কাজ: পান্ডাদের সাথে counts.csv ফাইলটি পড়ুন। ডেটা: সারিগুলি হল জিন (index=gene_id), কলামগুলি হল 24টি নমুনা, মানগুলি হল পূর্ণসংখ্যার কাঁচা সংখ্যা৷ আমি চাই: (1) আকার মুদ্রণ করুন, (2) জিনগুলি বাতিল করুন যা কখনও পড়া হয়নি, (3) একটি বার গ্রাফে নমুনা প্রতি মোট পাঠ দেখান৷ প্রতিটি লাইনে ছোট তুর্কি মন্তব্য যোগ করুন। শুধু কাজের কোড দিন।

মডেল কোড তৈরি করে; আপনি এটি চালান। আপনি যদি আউটপুটে 24টি কলাম এবং একটি যুক্তিসঙ্গত সংখ্যক জিন (যেমন 15,000-25,000) দেখতে পান, আপনি ট্র্যাকে আছেন৷ যদি একটি নমুনায় অন্যদের তুলনায় এক-দশমাংশ রিডিং থাকে, তাহলে সেই নমুনাটি লিখুন।

তিনটি মিনি কেস

কেস 1 — অনুপস্থিত মান ফাঁদ: একজন শিক্ষার্থীর 30-নমুনা মেটাবোলোমিক্স টেবিলে গড় গণনা করা হয়েছিল; ফলাফল অযৌক্তিক ছিল. সমস্যা: অনুপস্থিত কক্ষগুলি NaN এর পরিবর্তে "ND" টেক্সট দিয়ে পূর্ণ ছিল (কোন সংখ্যা নয়), তাই কলামটি পাঠ্য হিসাবে পড়া হয়েছিল। এটা ঠিক করা হয়েছিল যখন আমি কৃত্রিম বুদ্ধিমত্তাকে বলেছিলাম "ND মানকে NaN করুন এবং কলামটিকে সংখ্যায় রূপান্তর করুন"। পাঠ: সর্বদা প্রথমে কাঁচা ডেটা অন্বেষণ করুন।

কেস 2 — মার্জ ত্রুটি: একজন গবেষক দুটি টেবিল (অভিব্যক্তি এবং জিন টীকা) একত্রিত করেছেন কিন্তু 2,000 জিন হারিয়ে গেছে। কারণ: একটি টেবিলে আইডিগুলি ছিল "ENSG00000141510", অন্যটিতে সেগুলি ছিল "ENSG00000141510.14" (সংস্করণ নম্বর সহ)। মডেল কোডের একটি একক লাইন লিখেছেন যা সংস্করণ নম্বরটি সাফ করেছে; ক্ষতি 40 জিনে হ্রাস করা হয়েছিল। পাঠ: আইডি বিন্যাসগুলিকে একত্রিত করার আগে সারিবদ্ধ করুন।

কেস 3 - নীরব ডেটা ক্ষতি: একজন প্রযুক্তিবিদ লক্ষ্য করেননি যে ফিল্টার করার পরে, জিনের সংখ্যা 22,000 থেকে 8,000 এ নেমে গেছে; থ্রেশহোল্ডটি ভুলভাবে সেট করা হয়েছিল (প্রতিটি নমুনায়> 10 রিডিংয়ের পরিবর্তে 10 মোট)। একটি পরিচিত জিন (হাউসকিপিং জিন: জিএপিডিএইচের মতো জিন যা প্রতি কোষে প্রতিনিয়ত প্রকাশ করা হয়) শেষ পর্যন্ত অনুপস্থিত ছিল। পাঠ: একটি "অবশ্যই" জিন পোস্ট-ফিল্টার পরীক্ষা করুন৷

পরিচিত পরিস্থিতির সাথে পরীক্ষা করা (সবচেয়ে গুরুত্বপূর্ণ অভ্যাস)

কৃত্রিম বুদ্ধিমত্তা দ্বারা লিখিত কোডের যথার্থতা বিশ্বাস করার সবচেয়ে নিশ্চিত উপায় হল এটি একটি ছোট নমুনা দিয়ে পরীক্ষা করা যার ফলাফল আপনি আগে থেকেই জানেন। উদাহরণস্বরূপ, 5 টি সারি সহ একটি ডামি টেবিল দিন; ম্যানুয়ালি মোট গণনা করুন; দেখুন কোড একই ফলাফল দেয় কিনা।

আপনার লেখা ফিল্টারিং কোডে একটি পরীক্ষা যোগ করুন: 5টি জিন, 3টি নমুনা সমন্বিত একটি ছোট ডেটাফ্রেম তৈরি করুন, ইচ্ছাকৃতভাবে 2টি জিনকে শূন্যে সেট করুন, নিশ্চিত করুন যে ফিল্টারটি ঠিক এই 2টি জিনকে বাতিল করেছে৷ পরীক্ষা নির্বাহযোগ্য করুন.

assert আপনাকে সতর্ক করে যদি কোডটি প্রত্যাশিত আচরণ থেকে বিচ্যুত হয়। এটি "নীরব মিথ্যা উপসংহার" এর ঝুঁকির বিরুদ্ধে সবচেয়ে শক্তিশালী ঢাল।

দুর্বল প্রম্পট / শক্তিশালী প্রম্পট

দুর্বল: "আমার চার্ট পরিষ্কার করুন।"

শক্তিশালী: "counts.csv: সারি জিন (gene_id সূচক), 24 কলামের নমুনা, মান কাঁচা পূর্ণসংখ্যা। নিম্নলিখিতগুলি করুন: অনুপস্থিত মানগুলি রিপোর্ট করুন, সমস্ত নমুনা জুড়ে জিনগুলি বাদ দিন, প্রতিটি নমুনার জন্য মোট রিড প্রিন্ট করুন, ফিল্টারের আগে/পরে জিনের সংখ্যা তুলনা করুন। শুধু কাজ করুন, মন্তব্য করুন।"

পার্থক্য: স্ট্রং প্রম্পট ডেটা স্ট্রাকচার, ধাপ, এবং বৈধতা আউটপুট নির্দিষ্ট করে (তুলনার আগে/পরে)। মডেল অনুমান করতে হবে না.

তুলনা চার্ট: এআই বা ম্যানুয়াল?

লেনদেন

কৃত্রিম বুদ্ধিমত্তা প্রিন্ট

এটা নিজেই যাচাই করুন

CSV পড়া, বিন্যাস রূপান্তর

হ্যাঁ

আকার এবং প্রকারগুলি পরীক্ষা করুন

ফিল্টারিং, গ্রুপিং

হ্যাঁ

আগে/পরে গণনা করুন

পরিসংখ্যান পরীক্ষা

হ্যাঁ (কোড)

অনুমান এবং পরীক্ষা নিশ্চিত করুন

"কত লাইন বাকি আছে?"

না (কোড গণনা করা যাক)

আউটপুট পড়ুন

ফলাফলের জৈবিক অর্থ

আংশিকভাবে

বিশেষজ্ঞ মন্তব্য প্রয়োজন

সাধারণ ভুল

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

প্রজননযোগ্যতা: কোডের বৈজ্ঞানিক মান

জীববিজ্ঞানে, ফলাফলের বৈজ্ঞানিক মূল্য অন্যদের (এবং আপনার ভবিষ্যত স্ব) এটি পুনরুত্পাদন করার ক্ষমতার উপর নির্ভর করে। ম্যানুয়াল টেবিল অপারেশন রেকর্ড করা হয় না; কেউ জানে না কোন কোষের পরিবর্তন এবং কিভাবে। কোড প্রতিটি ধাপ নথি. অতএব, আপনি কৃত্রিম বুদ্ধিমত্তার সাহায্যে যে বিশ্লেষণগুলি তৈরি করেন তা একটি সংরক্ষিত এবং ভাগ করা রেকর্ড হিসাবে ভাবুন, এককালীন বাক্স হিসাবে নয়।

একটি পুনরাবৃত্তিযোগ্য বিশ্লেষণের জন্য তিনটি অভ্যাস গুরুত্বপূর্ণ। প্রথমটি সংস্করণ পিনিং: আপনি কোন লাইব্রেরি সংস্করণটি ব্যবহার করছেন তা নোট করুন (যেমন পান্ডাস 2.2); বিভিন্ন সংস্করণ বিভিন্ন ফলাফল দিতে পারে. দ্বিতীয়টি হল এলোমেলোতা বীজ: র্যান্ডম অপারেশন রয়েছে এমন প্রতিটি কোডে বীজ ঠিক করুন যাতে প্রতিটি দৌড়ে ফলাফল একই হয়। তৃতীয়ত, কখনই কাঁচা ডেটা পরিবর্তন করবেন না: আসল ফাইলটি স্পর্শ করবেন না, কোডে সমস্ত রূপান্তর করুন যাতে এটি ফিরিয়ে আনা যায়।

আপনার লেখা বিশ্লেষণ কোডের শুরুতে ব্যবহৃত লাইব্রেরিগুলির সংস্করণগুলি প্রিন্ট করে এমন লাইনগুলি যুক্ত করুন এবং যদি একটি এলোমেলো প্রক্রিয়া থাকে তবে sanp.random.seed(42) দিয়ে বীজটি ঠিক করুন। কাঁচা CSV পরিবর্তন করবেন না, একটি পৃথক ফাইলে সমস্ত আউটপুট সংরক্ষণ করুন।

জুপিটার নোটবুক: বিশ্লেষণ এবং বর্ণনার সমন্বয়

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

জৈবিক ফাইল বিন্যাস সনাক্তকরণ

পাইথনের সাথে জৈবিক ডেটা প্রক্রিয়া করার সময়, আপনি ক্রমাগত নির্দিষ্ট ফাইল ফর্ম্যাটের সম্মুখীন হবেন। মডেলটি সঠিকভাবে একটি ফাইল পড়তে পারে তার আগে, এটি কোন বিন্যাসে তা জানতে হবে; আপনি যদি বিন্যাসটি ভুল পান তবে আপনি "ভুল কোড যা ত্রুটি ছাড়াই কাজ করে" ফাঁদে পড়বেন। সবচেয়ে সাধারণ হল:

বিন্যাস

বিষয়বস্তু

উপযুক্ত যানবাহন

CSV/TSV

টেবিল ডেটা (অভিব্যক্তি, পরিমাপ)

পান্ডা

FASTA (.fa/.fasta)

ডিএনএ/আরএনএ/প্রোটিন সিকোয়েন্স

বায়োপাইথন

FASTQ (.fq)

কাঁচা সিকোয়েন্সিং রিড + গুণমান

বায়োপাইথন, কাস্টম টুল

ভিসিএফ

বৈকল্পিক (মিউটেশন) তালিকা

পান্ডা/পিসাম

GFF/GTF

জিনোম টীকা (জিনের অবস্থান)

পান্ডা, জিফুটিলস

আপনি যদি একটি বিন্যাস চিনতে না পারেন, প্রথমে মডেলটিকে কয়েকটি নমুনা লাইন দেখিয়ে এটি সনাক্ত করতে বলুন, তারপর পঠিত কোডের জন্য জিজ্ঞাসা করুন:

আমি নিচের ফাইলটির প্রথম 5 লাইন দিচ্ছি। এটি কি বায়োফাইল বিন্যাস? কলাম/ক্ষেত্রগুলির অর্থ ব্যাখ্যা করুন, তারপরে পাইথনে এই ফাইলটি নিরাপদে পড়া (ফরম্যাট চেক) কোড দিন। প্রথম 5 লাইন: [পেস্ট]

এই পদ্ধতিটি প্রথমে ফর্মের অনুমান থেকে উদ্ভূত নীরব ত্রুটিগুলিকে প্রতিরোধ করে।

সংক্ষেপে

পাইথন জৈবিক তথ্যের প্রধান প্রক্রিয়াকরণ ভাষা; pandas, NumPy এবং Biopython হল মৌলিক টুল। AI এই কোডটি দ্রুত লিখে, কিন্তু আপনি এটি চালান এবং যাচাই করুন। সবচেয়ে জটিল অভ্যাস হল একটি ছোট নমুনা দিয়ে কোডটি পরীক্ষা করা যার ফলাফল আপনি জানেন এবং কোডের মধ্যে প্রত্যাশাকে জোর দিয়ে এম্বেড করুন। আপনি যে কোডটি চালান তার নির্ধারক আউটপুটের উপর নির্ভর করুন, মৌখিক অনুমান নয়।

আবেদন টাস্ক

একটি কোড প্রিন্ট করুন যাতে AI আপনার কাছে থাকা CSV টেবিলটি পড়ে (বা একটি নমুনা), এর আকার প্রিন্ট করুন এবং খালি জিনগুলি ফিল্টার করুন৷ তারপরে 5 লাইনের ডামি ডেটা সহ মডেল থেকে একটি অ্যাসার্ট টেস্ট যোগ করুন। কোড চালান; ফিল্টারের আগে এবং পরে জিনের সংখ্যা নোট করুন। পরীক্ষা করুন যে একটি গৃহস্থালি জিন (যেমন GAPDH/ACTB) এখনও ফলাফলে উপস্থিত রয়েছে।

চেকলিস্ট

  • [ ] আমি এটি প্রক্রিয়া করার আগে ডেটার আকার এবং প্রকারগুলি পরীক্ষা করেছি৷
  • [ ] আমি স্পষ্টভাবে অনুপস্থিত মান পরিচালনা করেছি।
  • [] আমি ফিল্টারের আগে/পরে সারির সংখ্যা তুলনা করেছি।
  • [ ] আমি একটি পরিচিত শর্ত সহ একটি দাবী পরীক্ষা যোগ করেছি৷
  • [ ] আমি কোডে গণনা/গণনা ছেড়ে দিয়েছি, মডেলে নয়।
  • [ ] আমি কোডের মন্তব্য পড়েছি এবং যুক্তি অনুসরণ করেছি।