The protein interaction network of Treponema pallidum, courtesy Wikipedia |
Tutorial berseri ini mengadaptasi materi dari Prof. Peter Swain dari Center for Synthetic and System Biology (SynthSys) The University of Edinburgh. Penasaran dengan lab beliau? Silahkan cek di http://swainlab.bio.ed.ac.uk/
Jika ingin belajar lebih dalam, buku karya Brian P. Ingalls berjudul Mathematical
Modeling in Systems Biology - An Introduction sangat bagus untuk dibaca. Jika
kamu tidak memiliki akses dari perpustakaan kampus atau sekolah, bisa juga
didownload dari website sang author di sini (thanks Prof Ingalls!):
Ada beberapa platform yang bisa digunakan untuk melakukan modelling, tapi disini kita akan mencoba menggunakan bahasa pemrograman Python. Kenapa Python? Python adalah bahasa pemrograman yang cukup mudah dipelajari dan interaktif. Python memiliki kegunaan yang mirip dengan Matlab (but its free!), dan cukup baik untuk melakukan simulasi molecular pathway di dalam sel. Selain itu, karena sudah banyak digunakan oleh komunitas akademia dan peneliti sehingga sudah memiliki banyak library dan tools untuk melakukan pemodelan.
Oke, sakjane kita mau ngapain sih? Untuk lebih gampangnya, sebagai contoh, kita akan mencoba memodelkan chemotaxis pathway dari E. coli (Rao et al., 2004). Akses paper di:
Ketika si E. coli mendeteksi keberadaan suatu zat kimia (ligand),
dia akan merespon dengan melakukan perubahan pergerakan (motilitas), apakah
bergerak lurus (run), atau berputar-putar di tempat (tumble),
tergantung dari apakah si ligand berupa attractant atau repellant).
Ternyata, dua perilaku ini (run/tumble) dipengaruhi dari arah pergerakan
flagel dari E. coli, apakah counter clockwise atau clockwise
(Figure 1). Nah, arah pergerakan flagel ini
dikontrol oleh fosforilasi protein Y, yang juga dipengaruhi oleh ligand. Pada E.
coli, attractant akan menghambat protein A (CheA) dan mengakibatkan
fosforilasi protein Y berkurang, sehingga jumlah Yp (protein Y yang
terfosforilasi) menurun (Figure
2). Nah, kalo Yp berkurang, maka flagella
akan berubah dari clockwise (tumble), menjadi counterclockwise (run). Kemudian,
setelah beberapa kali gerakan acak, E. coli akan bergerak menuju ke arah dimana
konsentrasi atraktan semakin tinggi.
Nah, dengan melakukan pendekatan Systems Biology, kita bisa memodelkan
interaksi dari komponen-komponen yang ada dari chemotaxis pathway di E. coli,
dan bagaimana respon mereka ketika kita mengubah parameter konsentrasi ligand
menjadi tinggi atau rendah. Jadi, harapan saya setelah selesai tutorial ini,
temen-temen sekalian juga bisa membuat model tersebut dengan menggunkan Python
(Figure 3). Tapi, alangkah baiknya jika kita mulai
step by step belajar Python dari dasar dahulu J.
Figure 3. Menggunakan Python (dengan Spyder
Environment) untuk memodelkan konsentrasi protein Y ketika parameter
konsentrasi ligand kita ubah.
So, first thing first, kita akan mengginstall Anaconda, yang sudah ada di
dalamnya paket Spyder (Scientific Python Development Environment) lengkap
dengan NumPy, Matplotlib, dan SciPy.
1. Installing Anaconda
Download dan install paket Python 2.7 dari https://www.continuum.io/downloads. Kamu juga bisa menggunakan Python 3.5, tapi di tutorial ini bahasa yang kita pakai adalah versi 2.7, yang sudah lebih sering digunakan oleh kebanyakan akademisi (karena lebih tua). Penasaran? Lebih lanjut bisa dibuka di: https://wiki.python.org/moin/Python2orPython3.
2. Menggunakan spyder
Kalau sudah selesai menginstall Anaconda, yuk kita
coba buka. Akan muncul window seperti di Figure 4. Kita akan menggunakan spyder-app (paling
bawah), dan silahkan diupdate dulu jika perlu.
Klik Launch untuk memulai spyder-app, dan
teman-teman akan melihat window seperti di Figure 5. Yang teman-teman perlu perhatikan, di
tampilan Spyder ada 2 layar utama, sebelah kiri (Lingkaran merah A) adalah
tempat dimana teman-teman bisa menulis program (script) dan menyimpannya
sebagai file dengan ekstensi .py. Program ini bisa dijalankan dengan klik tombol
run (segitiga hijau), dan output program bisa dilihat di layar console
(lingkaran merah B). Rekan-rekan juga bisa langsung menulis kode di layar
console, tapi akan langsung dijalankan ketika kita menekan enter, dan tidak
tersimpan.
Figure 5. Tampilan Spyder
Untuk mencoba apakah matplotlib dan numpy berjalan, coba copy script ini di
layar A, kemudian klik run:
import matplotlib.pyplot as plt
import
numpy as np
plt.plot(np.arange(1,10))
plt.show()
Lalu akan muncul output dari script tadi, berupa plot garis lurus.
Figure 6. Menggunakan matplotlib untuk menampilkan
plot di Spyder
Kalau ada message seperti ini, coba klik di layar console (atau arahkan
cursor di ln[1]:) dan coba jalankan
script lagi.
Selamat mencoba!
0 comments :
Post a Comment