Friday 26 February 2016

, ,

Practical System Biology Part 1: Installing Anaconda, platform untuk Scientific Python

The protein interaction network of Treponema pallidum, courtesy Wikipedia
Hai fellas, kali ini kita akan mencoba belajar Systems Biology dengan memodelkan interaksi gen dan protein di dalam sel.

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. 



Figure 2. (A) E. coli dan (B) B. subtilis chemotaxis pathway (Rao et al., 2004)

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.

Figure 4. Tampilan Anaconda

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