Skip
Cأكاديمية CADD

L17 · 24 دقيقة

بايثون العلمي

NumPy وPandas وMatplotlib.

البرمجة

أهداف التعلّم

  • استخدام NumPy وPandas وMatplotlib كأدوات قراءة بيانات لا كزينة.
  • كتابة شيفرة قصيرة قابلة لإعادة التشغيل مع بذور ومسارات واضحة.
  • رفض إخفاء التكرار الإحصائي داخل متوسط لامع.

بايثون مختبر لا مسرح

في CADD تُستخدم بايثون لقراءة جداول نشاط، حساب واصفات، ورسم ما يجب أن يُرى: توزيعات، نُسخ مستقلة، وبقايا نماذج. المكتبات القياسية: NumPy للمصفوفات، Pandas للجداول، Matplotlib للرسوم. الشيفرة التي لا يستطيع زميلك تشغيلها ليست نتيجة.

python -c "import numpy as np, pandas as pd, matplotlib; print(np.__version__)"

الغرض: التحقق من أن البيئة ترى المكتبات العلمية.

المُدخل: بيئة Python مفعّلة (conda/venv).

المُخرج: أرقام إصدارات تُنسخ إلى ملف البيئة.

المعنى: بلا إصدارات مثبتة لا يمكن إعادة الإنتاج.

أخطاء شائعة: ModuleNotFoundError يعني أنك لست في البيئة التي تظنها.

مثال قياسي: متوسط وخطأ معياري

من NumPy الواضحة: x = np.array([...]); m = np.mean(x); s = np.std(x, ddof=1); se = s / np.sqrt(x.size). ddof=1 للعينة. إن رسمت m دون s فأنت تخفي النُسخ. Pandas: pd.read_csv('activities.csv') ثم افحص الوحدات والقيم الناقصة قبل أي نموذج.

نظافة بحثية

  • مسارات نسبية أو إعداد مُعلن؛ لا /home/me/Desktop.
  • np.random.default_rng(seed) عندما يكون العشوائي جزءاً من التحليل.
  • لا تعدّل البيانات يدوياً في Excel بعد أن قرأها السكربت دون أثر.
لماذا؟ — لماذا نُصرّ على NumPy بدل حلقات بايثون لقياس RMSD؟

الوضوح والسرعة وتجنب أخطاء الفهرسة. العمليات المتجهية تُقرأ كمعادلة. الحلقة البطيئة تغري بتقليل عدد الإطارات بلا مبرر.

ماذا لو؟ — ماذا لو نسخت خلية تحسب pIC50 مرتين على عمود حُوّل سلفاً؟

نشاط مشوّه ولوغاريتم اللوغاريتم. ارسم histogram قبل النموذج. إن رأيت قيماً حول 6–9 فهذا pIC50؛ إن رأيت 1e-9 فأنت على IC50 المولاري.

تمرين

اكتب ثلاثة أسطر NumPy تحسب الخطأ المعياري لثلاثة RMSD نُسخ (قيم تعليمية: 1.8، 2.1، 2.4 أنغستروم) واشرح لماذا لا تثبت التقارب.

مواضيع مرتبطة