Rabu, 29 Agustus 2012

Sebuah Tulisan Evolusi dan Filogeni: Estimating Selection Pressures on Molecular Sequences (In Depth) Part I

Hai hai hai...jumpa lagi bersama saia Chef Victor dengan segala kalimat pembuka tulisannya yang terus berulang-ulang dan nampak membosankan...hahaha. Okeh to the point sajah, dalam tulisan kali ini saia ingin mencoba melunasi 'hutang' saia terkait dengan tulisan sebelumnya. Pada tulisan sebelumnya terlihat bahwa saia terkesan begitu polosnya dan belum dapat mengerti dan memahami keseluruhan tulisan dari sebuah bab buku The Phylogenetic Handbook yang berjudul "Estimating selection pressures on molecular sequences". Nah kali ini, tepat 16 hari sesudah postingan tulisan tersebut, saia ingin kembali mencoba pemahaman saia dengan mencoba menceritakannya kepada kalian-kalian ini. Kalau kalian mengerti, maka itu artinya saia berhasil. Namun apabila kalian belum mengerti, itu artinya kalian yang kurang belajar...hahaha. Yasuda, selamat menikmati ^^

Tulisan ini akan saia mulai dengan 4 buah pertanyaan terkait peranan tekanan seleksi terhadap sequence molekular beserta jawaban singkatnya untuk memandu kita dalam menelusuri keseluruhan tulisan ini:
1. Apa bukti adanya seleksi terhadap sebuah gen? Kita dapat menentukan ada atau tidaknya seleksi dengan mengukur laju substitusi non-synonimous (substitusi nukleotida yang berakibat tergantinya asam amino yang di-translasi; beta) terhadap laju substitusi synonimous (substitusi nukleotida yang tidak mengganti asam amino yang di-translasi; alfa). Adanya seleksi dapat ditentukan dengan rasio kedua laju ini (beta/alfa = omega), yakni omega > 1 atau omega < 1.

2. Kapankah seleksi terjadi? Kita dapat mengukur variasi nilai omega antar cabang (branch) yang ada pada pohon filogenetik. Dengan demikian kita dapat menyimpulkan kapan suatu seleksi berlangsung. Estimasi waktu ini dapat diindikasikan oleh lokasi branch di dalam pohon yang kemudian di estimasi waktunya dengan analisis molecular clock).

3. Dimanakah letak tejadinya seleksi? Kita dapat mendeteksi terjadinya seleksi pada gen dengan menganalisis laju subtitusi syn/non terhadap setiap kodon yang ada pada alignment sequence molekular dan kemudian mentarget kodon mana yang bertanggung jawab terhadap hal tersebut.

4. Apakah gen yang berbeda mengalami tekanan seleksi yang berbeda? Kita dapat menjawabnya dengan membandingkan dua jenis dataset sequence menggunakan model analisis yang sama dan kemudian menguji signifikansinya dengan uji statistik.

Sebelum menjawab empat pertanyaan tersebut ada beberapa istilah yang harus diketahui terlebih dahulu mengenai seleksi. Seleksi terhadap sequence molekular terbagi menjadi tida, yakni seleksi positif (diversifying), seleksi netral, dan seleksi negatif (purifying). Seleksi positif adalah suatu kondisi seleksi yang memungkinkan varian-varian sequence molekuar dapat bertahan hidup. Hal inilah yang menyebabkan adaya 'keanekaragaman' tingkat sequence pada gen yang sama. Perlu diketahui bahwa varian-varian tersebut juga memiliki tingkat ketahanan hidup (survival rate) yang beraneka ragam. Dalam hal ini seleksi negatif merupakan kebalikan dari seleksi positif, yakni menyeleksi varian-varian dengan tingkat ketahanan hidup yang berada di bawah suatu batas tertentu. Seleksi netral merupakan titik tengah antara seleksi positif dan negatif. Parameter substitusi non-synonimous (beta) pada suatu kodon dipakai sebagai parameter seleksi ini dan kita akan simak rinciannya pada paragraf selanjutnya.

Oke, sekarang mari kita telusuri secara lebih mendalam lagi jawaban-jawaban tersebut. Sebagai awalan, teman-teman yang setia mengikuti serial Sebuah Tulisan Evolusi dan Filogeni ini pastinya sudah mengetahui bahwa model evolusi yang telah dikenal sejauh membacanya adalah model evolusi nukleotida (Jukes-Cantor, Kimura, dll) dan model evolusi asam amino (Dayhoff, Jones-Taylor-Thornton, Poisson, dll). Namun dalam analisis seleksi ini, kita akan menggunakan model evolusi yang menggabungkan keduanya (kalau boleh saia simpulkan seperti itu), yakni model evolusi kodon. Sebagaimana yang telah kita ketahui, kodon atau kode genetik berisi 64 kode kombinasi triplet nukleotida yang menyandi 20 jenis asam amino. Sebagai konsekuensinya ada beberapa kodon menyandi asam amino yang sama, contohnya adalah kodon AUA, AUC, dan AUU menyandi asam amino isoleusin (Ile).

Sekarang bayangkan apabila suatu kodon GAA mengalami mutasi titik (point mutation). Mutasi ini akan menyebabkan kodon AAG memiliki 9 kemungkinan untuk berubah, yakni menjadi AAA, CAA, GCA, GGA, GTA, GAC, GAG, GAT, dan TAA. Lebih lanjut lagi, hanya mutasi GAA --> GAG yang bersifat synonimous, yakni sama-sama menghasilkan asam glutamat (Glu). Delapan kemungkinan lainnya merupakan mutasi non-synonimous. Nah singkatnya, model evolusi kodon menggunakan distribusi kemungkinan ini untuk diterapkan pada alignment sequence yang ada.

Ada tiga pendekatan yang dilakukan dalam model evolusi kodon ini, yakni pendekatan distance, pendekatan maximum likelihood, dan pendekatan Bayesian. Terlepas dari rincian bagaimana mekanismenya, inti dari setiap pendekatan tersebut adalah untuk mengestimasi nilai beta dan alfa. Selanjutnya, kita dapat menguji apakah terdapat seleksi pada sequence yang kita miliki dengan melakukan uji perbandingan antara dua hipotesis menggunakan Likelihood Ratio Test (LRT). Metode LRT pada prinsipnya adalah menguji signifikansi antara dua hipotesis, yakni H0 = tidak terdapat seleksi (alfa = beta) dan HA = tidak demikian (alfa tidak sama dengan beta). Selanjutnya data yang didasarkan pada H0 dan HA masing-masing diukur nilai likelihood (L) nya. Nilai LRT kemudian dihitung dengan rumus: LRT = 2 (logL HA - logL H0) dan dinyatakan apakah nilainya melewati batas signifikansi atau tidak. Jika ya, berarti H0 ditolak atau singkatnya terjadi seleksi pada sequence yang kita miliki.

Horeee...kira-kira begitulah versi jawaban yang lebih rinci atas pertanyaan yang pertama. Jika kita cukup kurius atau ingin tahu, kita tentu tidak cukup puas dengan jawaban "ada seleksi pada sequence loe bro, trus gue harus bilang WOW gituh...". Jika memang ada seleksi, kita pun lantas mempertanyakan lebih lanjut, "kapan dan dimanakah seleksi itu terjadi pada sequence tersebut"? Ini merupakan pertanyaan nomor dua dan tiga di atas, namun saia berencana akan membahas rincian jawaban atas dua pertanyaan ini pada tulisan berikutnya agar tulisan ini tidak terlalu panjang dan bikin ngantuk. Ditunggu yahhh.

Regards,

Victor Apriel

Senin, 13 Agustus 2012

Sebuah Tulisan Evolusi dan Filogeni: Estimating Selection Pressures on Molecular Sequences

Hai..hai..hai..jumpa lagi bersama Chef Victor dalam Sebuah Tulisan Evolusi dan Filogeni. Setelah lama vakum karena belum menemukan ide untuk menulis, akhirnya saia coba menulis mengenai pengukuran tekanan seleksi terhadap sequence molekular. Well, sebenarnya sih tulisan ini hanya bagian luarnya saja karena saia pun masih belum mengerti seluk-belut nya..heheh. Yaa daripada tidak ada yang bisa ditulis, toh lebih baik menulis apapun yang berhasil dimengerti toh. Okelar, cukup basa-basinya dan selamat menikmati.

Jika pada tulisan sebelumnya kita telah berhasil membuat pohon filogenetik, menguji tingkat kepercayaan, dan kemudian memetakan waktu divergensi; maka akan muncul suatu pertanyaan yang menggelitik dalam benak kita, yakni "bagaimana mereka bisa berdivergensi?". Kita mungkin dapat menjawabnya dengan melakukan analisis sequence DNA dan memetakan substitusi-substitusi yang terjadi diantara daerah dalam aligned sequence dan mempresentasikannya sebagai sebuah pengukuran tekanan seleksi terhadap sequence tersebut. Namun demikian, substitusi pada daerah manakah yang bertanggung jawab dalam proses divergensi antara satu organisme dengan lainnya?

Saia mencoba untuk menjawab pertanyaan diatas dalam 3 tahapan, yakni: (1) Model substitusi kodon; (2) pengukuran laju variasi antar cabang (branch); dan lebih mendalam lagi pada (3) pengukuran laju variasi antar daerah dalam sequence DNA. Model evolusi kodon memberikan kelebihan dibandingkan model evolusi DNA atau protein dalam aspek bahwa kodon merupakan penghubung antara DNA dengan protein. Perubahan nukleotida pada gen struktural dapat atau tidak dapat menyebabkan perubahan pada protein yang disandi bergantung pada kodon yang bersangkutan, sehingga dikenal synonimous substitution dan non-synonimous substitution. Berdasarkan hal ini, kita dapat memperoleh gambaran bagaimana suatu protein target diseleksi, yakni dengan membandingkan rasio laju substitusi non-synonimous terhadap laju substitusi synonimous (b/a = w). Metode perhitungan pada model evolusi kodon terbagi menjadi distance-based approaches dan maximum-likelihood approaches. Dengan kedua metode ini kita dapat mengetahui apakah jenis seleksi terhadap gen tersebut, yakni apakah diversifying (w > 1), netral (w = 1), atau purifying (w < 1).

dimana: b = beta; a = alpha; w = omega


Metode penentuan tekanan seleksi dapat dianalisis dengan baik menggunakan model evolusi kodon dengan segala optimasinya. Namun demikian, hal tersebut tidak memberikan gambaran mengenai tingkat kesetaraan tekanan seleksi di semua titik percabangan (node) dalam pohon filogenetik serta tidak memberikan informasi mengenai posisi kodon yang diseleksi. Kesetaraan tekanan seleksi dalam hal ini dapat dibuktikan dengan penggunaan model evolusi kodon pada setiap titik percabangan, membandingkan nilai antar cabang, dan kemudian memetakannya secara utuh dalam satu kesatuan pohon filogenetik. Lebih mendalam lagi, setelah diketahui tekanan seleksi pada setiap titik percabangan, kita dapat mencari kodon mana yang menjadi target seleksi dalam sequence yang diperbandingkan.

Hmm...okelar sampai segini dulu mengenai apa yang dapat saia ceritakan mengenai analisis tekanan seleksi terhadap sequence molekular. Masih banyak lagi rincian analisis dari setiap tahapan tersebut yang saia sendiri juga masih belum mengerti mekanismenya..heheh.

Regards,
Victor Apriel

Sabtu, 14 Juli 2012

Sebuah Tulisan Evolusi dan Filogeni: Codon Substitution Models

Hmm...oke setelah sekian lama absen menulis artikel Sebuah Tulisan Evolusi dan Filogeni, saia kemudian dituntut oleh salah satu pembaca untuk kembali melanjutkan tulisan itu. Nah permasalahannya cukup kompleks karena dalam hal ini saia belum ada ide mengenai apa yang ingin saia tulis. Namun ketika sore kemarin saia bertapa di kamar mandi, datanglah ide yang saia tunggu-tunggu itu. Dalam tulisan kali ini saia lebih cenderung mengutarakan kegundahan serta kegalauan hati saia selama ini. Lho, lantas apa hubungannya dengan tema tulisan diatas? Yaaa....selamat membaca kalau begitu. Duh mules neh, bentar yak...

Kegundahan dan kegalauan saia berawal ketika saia membaca bab yang membahas mengenai pengukuran tekanan seleksi pada sequence molekular. Nah dari sana saia pun diperkenalkan dengan suatu model evolusi yang berbeda dengan dua kelompok model evolusi yang telah saia kenal sebelumnya, yakni model evolusi nukleotida dan model evolusi asam amino. Model evolusi yang baru dan dikatakan juga lebih realistik tersebut adalah model evolusi kodon.

Model evolusi nukleotida menggunakan algoritme substitusi basa A, G, C, T berdasarkan data laju substitusi relatif dan juga frekuensi dari masing-masing basa. Berbagai model mulai dari yang sederhana seperti Jukes & Cantor (JC69) hingga General Time Reversible (GTR) pun tersedia untuk dapat kita pilih dalam analisis data yang dimiliki. Sementara itu, model subsitusi asam amino sedikit berbeda dengan model subsitusi nukleotida karena merupakan sebuah matriks skor untuk masing-masing jenis asam amino standar satu sama lain. Skor yang negatif dalam matriks tersebut artinya kecil kemungkinan terjadi substitusi antara dua asam amino yang terlibat. Contohnya adalah triptofan menjadi aspartat atau sebaliknya dengan skot -4. Untuk lebih rincinya lagi, silahkan cek ke warung kopi...ehh...literartur terkait.

Nah pada model evolusi kodon kali ini saia dapat menyimpulkan model ini menggunakan gabungan model nukleotida dan asam amino. Tidak seperti dua kelompok model sebelumnya, saia belum mendapatkan keterkaitan antara model evolusi kodon ini dengan rekonstruksi pohon filogenetik. Yah daripada pulang dengan otak hampa, lebih baik saia mencoba menceritakan apa yang saia ketahui (belum mengerti atau pahami lohh) hingga saat ini. Pada umumnya model evolusi kodon dipakai dalam penentuan tekanan seleksi terhadap sebuah sequence DNA. Sebelum menceritakan bagaimana logika kerjanya, ada beberapa persyaratan yang harus dipenuhi dalam penggunaan model ini. Prasyarat itu meliputi (1) Model ini membutuhkan data sequence nukleotida sebagai data utamanya dan sequence asam amino (hasil translasinya) sebagai pengkonfirmasi dan (2) Sequence yang digunakan harus dipastikan terbebas dari mutasi frameshift.

Sekarang mari kita bergerak mengenai cara kerjanya. Nah sekarang mari kita bayangkan sebuah kodon (triplet nukleotida) AAA. Kodon AAA tersebut jika ditranslasikan akan menghasilkan asam amino lysine. Nah kemudian coba bayakngkan lagi apabila terjadi mutasi titik pada salah satu dari tiga nukleotida. Mutasi titik pada satu posisi dalam triplet tersebut akan menghasilkan 9 kemungkinan yang akan menghasilkan asam amino berbeda apabila ditranslasikan. Jadi, jika AAA mengalami mutasi titik maka kemungkinannya akan menjadi GAA, CAA, TAA, AGA, ACA, ATA, AAG, AAC, AAT. Nah dari 9 kemungkinan hasil mutasi titik tersebut hanya ada satu mutasi (AAA --> AAG) yang translasinya tetap berupa asam amino lysine. Sisa delapan kemungkinannya merupakan mutasi non-synonimous yang menghasilkan asam amino selain lysine. Setelah memperhitungkan kemungkinan mutasi synonimous dan non-synonimous dari setiap triplet nukleotida, model ini kemudian menghitung nilai rasio dN/dS.

Rasio dN (rerata mutasi non-synonimous) terhadap dS (rerata mutasi synonimous) merupakan salah satu parameter dalam estimasi tekanan seleksi pada sequence molekular. Nilai dN/dS >1 menyatakan bahwa seleksi alam memperbolehkan adanya diversivikasi atau disebut juga sebagai seleksi positif; sedangkan nilai dN/dS<1 manyatakan adanya gejala purifying/negative selection, dimana seleksi alam hanya memperbolehkan sequence tertentu untuk dapat diteruskan pada keturunan berikutnya. NIlai dN/dS=1 menyatakan bahwa evolusi bersifat netral. Beberapa algoritme model substitusi kodon yang dikenal umumnya meliputi Muse-Gaut (MG94), Goldman-Yang (GY94), Nielsen-Yang (NY98), Yang-Nielsen (YN98), dan codon-GTR (CGTR). Software yang menyediakan model evolusi kodon untuk analisis sequence diantaranya meliputi Pylogenetic Analysis using Maximum Likelihood (PAML) dan Important Quartet Puzzling and NNI Optimization (IQPNNI).

Kesimpulan dari cerita diatas adalah bahwa model evolusi menggunakan kodon dibandingkan dengan nukleotida atau asam amino bersifat lebih realistis dalam menentukan bagaimana proses evolusi yang berlangsung terhadap suatu gen struktural. Walaupun evolusi paling dasar terjadi pada DNA, namun target dari seleksi alam adalah protein. Seleksi terhadap protein yang sejatinya merupakan produk DNA mensyaratkan harus adanya suatu adaptasi molekular pada sequence DNA agar dapat menghasilkan varian protein lain yang mampu beradaptasi. Pembacaan sequence DNA dalam bentuk kodon menjawab hubungan DNA-protein ini, sehingga kita bisa mendapatkan gambaran mengenai bagaimana seleksi alam terhadap suatu gen tertentu.

Nah kalau seandainya demikian, sekarang adalah bagian yang membuat galau. Apabila kita ingin merekonstruksi sebuah filogeni menggunakan gen struktural yang mengkode protein elongation factor 1a (EF-1a), lantas model evolusi manakah yang digunakan? Ketika jaman dahulu, saia diceritakan bahwa penggunaan model evolusi protein untuk suatu gen penyandi protein (gen struktural) lebih baik dibandingkan menggunakan model evolusi DNA. Hal ini disebabkan karena model evolusi protein memuat lebih banyak kombinasi substitusi asam amino (20 jenis asam amino dibandingkan dengan 4 jenis nukleotida),  dan juga mempertimbangkan bahwa target evolusi dalam konteks molekular adalah protein dan bukan DNA. Nah kemudian, bagaimana keunggulan model evolusi kodon dibandingkan engan protein? Sekilas saia mendapatkan gambaran seperti yang saia tulis pada paragraf sebelumnya bahwa model evolusi kodon lebih baik dibandingkan DNA dalam hal gen struktural karena memuat 64 kombinasi triplet nukleotida. Namun saia belum mendapat bayangan apabila dibandingkan dengan protein.

So.....ada yang bisa membantu saia menjawab kegalauan ini? :)

Regards,
Victor Apriel

Kamis, 31 Mei 2012

Sebuah Tulisan Evolusi dan Filogeni: Red Chop and Bayesian Inference (In Depth) Part II

Oke setelah teman-teman membaca Part I, kita akan melanjutkan dengan Part II nya. Hmm..disini saia akan mencoba melanjutkan ke tahapan burn-in, mixing, dan chainswap. Tapi sebelumnya mari kita sedikit me-refresh khususnya mengenai konsep MCMC pada pencarian pohon filogenetik.

A. The Real Case
Inti dari penggunaan Markov Chain Monte Carlo (MCMC) dalam pencarian pohon diantara jutaan pohon lainnya adalah mencari sebuah konvergensi, yakni pencarian menuju kumpulan pohon yang dipandu oleh data yang ada. Dalam prosesnya MCMC meletakan banyak titik secara acak dalam ruang berdimensi-3 dan kemudian menghitung probabilitas masing-masing titik hingga pad akhirnya titik-titik tersebut akan menuju ke satu arah yang sama. Nah proses ini apabila digambarkan dalam grafik akan membentuk seperti kurva hiperbolik.

Kemudian, apakah itu burn-in, mixing dan swapping? Mari kita saksikan pengertian ketiganya.

1. Burn-in
Pada dasarnya proses MCMC menggunakan nilai likelihood (L) untuk membandingkan antara titik satu dengan yang lain. Apabila proses generasi titik berikutnya memiliki nilai (L) lebih besar dari titik awal, maka titik baru tersebut menjadi titik awalnya. Nah dengan cara seperti itu, maka titik-titik yang awalnya memiliki nilai L rendah akan bergerak naik dan pada akhirnya mengumpul pada satu tempat dengan masing-masing memiliki nilai L yang tinggi. Pada kenyataannya nilai L melesat begitu cepat sehingga pengukurannya perlu dilakukan menggunakan skala logaritmik (lnL). Dalam hal ini, hanya titik-titik dengan nilai lnL yang tinggi yang kita perlukan karena hal tersebut mencerminkan kita sudah mendapatkan pohon yang benar. Nah proses burn-in ini membuang titik-titik yang memiliki nilai lnL rendah yang terdapat di awal fase MCMC. Perlu diingat bahwa masing-masing titik tersebut mencerminkan pohon dengan topologi dan branch length-nya.

2. Mixing
Kita mungkin sudah senang karena ternyata proses MCMC menghasilkan konvergensi titik-titik tersebut ke arah yang sama, masing-masing dengan nilai lnL yang serupa tingginya. Eits tapi tunggu dulu, karena perkaranya terdapat lebih dari satu titik/pohon yang berkonvergensi di daerah tersebut. Dalam hal ini, analisis Bayesian menyarankan bahwa poin penting dalam penentuan konvergensi tidak semata hanya melihat daerah dimana titik-titik berkonvergensi namun juga apakah daerah konvergensi tersebut tercakup seluruhnya oleh titik-titik tersebut. Nah maka dari itu kita perlu memperhatikan mixing.

Saia dapat menganalogikan mixing itu sebagai sebuah kurva normal untuk katakanlah distribusi tinggi badan murid-murid dalam satu kelas. Apabila ada suatu kompetisi olahraga yang mengharuskan para pesertanya memiliki tinggi badan 175-185 cm, maka suatu seleksi diperlukan untuk menyaring para murid sehingga didapatkan konvergensi, yakni murid-murid dengan tinggi badan antara 175-185 cm. Muridnya dalam hal ini pasti lebih dari satu dan mixing yang bagus adalah distribusi murid yang dapat mencakup seluruh kisaran tinggi yang dipersyaratkan tersebut. Distribusi murid yang seluruhnya di 185 cm atau seluruhnya di 175 cm (konvergensi satu titik) menandakan mixing yang tidak bagus.

Lantas apa tujuan dari mixing? Well, bagus atau tidaknya mixing menandakan apakah proses MCMC tersebut mendapatkan sampel yang representatif untuk menggambarkan distribusi posteriornya. Dalam hal ini distribusi posterior yang dimaksud adalah pohon filogenetik yang paling menggambarkan filogeni antar taxa.

3. Chainswaps
Lagi-lagi, proses MCMC mungkin tidak berjalan semulus yang diperkirakan. Apabila kita membayangkan sebuah bentang lahan yang berisi barisan pegunungan, lembah dan bahkan jurang; kita akan berharap proses MCMC mengumpulkan titik-titik acak ke satu gunung yang tertinggi pada bentang lahan tersebut. Namun pada kenyataanya ada satu atau beberapa titik yang terjebak pada salah satu gunung yang tinggi (nilai lnL yang tinggi) namun bukan gunung yang optimal. Nah apabila hal ini terjadi pada banyak titik dan titik-titik tersebut terjebak pada banyak gunung yang berbeda, maka dapat dibayangkan betapa kita akan dipusingkan dengan distribusi posterior yang diberikan oleh titik-titik tersebut. Untuk mengatasi hal ini, proses chainswaps diperlukan untuk "memindahkan" satu atau sekelompok titik antar gunung sehingga pada akhirnya titik-titik tersebut dapat berkonvergensi seluruhnya dan memberikan distribusi posterior yang representatif.

B. Sebuah Analogi Poseterior
Oke, mungkin hal-hal seperti itu yang menjadi pelengkap dalam optimasi analisis Bayesian dalam filogenetik menggunakan program MrBayes. Sebagai penutup, ijinkan saia bercerita mengenai sebuah analogi yang lagi-lagi tentang.....cewe itu.

Kembali kepada saia, sang cewe dan amplas; namun kali ini kondisinya dibuat agak lebih sulit dan tentu saja merupakan sebuah rekaan. Anggap saja saia sudah punya banyak data mengenai deskripsi si cewe yang ingin saia pedekate itu. Datanya apa? mau tau ajah. Berbekal data tersebut saia akan mampu mengenali si cewe pada tempat dan waktu tertentu apabila kami bertemu. Nah celakanya, ketika di amplaz ternyata saia menemukan anggap saja 100 cewe yang mirip dengan cewe yang saia maksud. Masing-masing dari mereka memiliki sebagian deskripsi yang cocok dengan data saia. Dengan asumsi bahwa cewe yang tepat ada diantara 100 cewe itu, lantas bagaimana saia menemukannya?

Nah pada kasus ini saia mencoba menggunakan jurus MCMC, yakni mengincar beberapa cewe dari total 100 cewe tersebut secara acak dan mulai dibandingkan setiap deskripsinya dengan data yang saia miliki. Pada kasus awal kemungkinannya adalah cewe-cewe tersebut memiliki kecocokan deskripsi (nilai lnL) yang rencah satu dengan lainnya, dan saia menggunakan hikmah tersebut untuk mencari yang lebih cocok deskripsinya. Pada akhirnya proses MCMC tersebut akan menyeleksi 100 cewe tersebut sampai menyisakan katakanlah 5 cewe yang sama-sama memiliki deskripsi setara (anggap saja masing-masing dari mereka memiliki 90% kecocokan deskripsi dengan data yang saia miliki).

Saia coba telaah lagi satu-per satu deskripsi mereka dan menemukan bahwa cewe yang satu memiliki kemiripan tinggi kecuali rambutnya. Cewe yang lain juga setara kemiripannya kecuali dia berkacamata, dan seterusnya. Nah dalam hal ini saia memperoleh mixing yang bagus terhadap 5 kandidat cewe tersebut. Dalam cerita rekaan ini saia buat sedikit mudah sehingga tidak perlu proses chainswap.

Nah sekarang dapat dilihat perbedaan distribusinya. Pada awalnya ketika memulai dari 100 cewe, masing-masing dari mereka memiliki peluang 1% untuk menjadi target cewe yang ingin saia pedekate. Pada kondisi ini kita mengatakan sebagai distribusi probabilitas prior = 1%. Nah berpandu dengan data, proses MCMC, dan mixing sekarang saia mendapatkan bahwa dari 100 cewe tersebut data deskripsi saia berkonvergensi ke arah 5 kandidat cewe. Itu artinya bahwa masing-masing cewe itu sekarang memiliki peluang 20% untuk menjadi kandidat yang tepat. Nah sekarang kita dapat mengatakan bahwa distribusi probabilitas posterior, yakni distribusi  probabilitas setelah berpandu pada data, adalah sebesar 20% untuk setiap cewe.

Pada akhirnya kita (termasuk saia) pun bertanya, lantas yang manakah cewe itu sebenarnya? Well, untuk itu saia hanya bisa menyerahkan jawabannya kepada masa lalu. Kita tidak pernah mengetahui kepastian mutlaknya, kita hanya mengetahui kemungkinan besarnya. Maka dari itu ijinkan saia untuk berpuas diri dengan menerima bahwa saia telah menemukan cewe tersebut, walau probabilitas bahwa itu merupakan cewe yang saia maksud.....hanyalah 20% :)

Regards,
Victor Apriel

Sabtu, 26 Mei 2012

Sebuah Tulisan Evolusi dan Filogeni: Red Chop and Bayesian Inference (In Depth) Part I

Kemarin (25/5/12) saia mendapat request dari teman-teman untuk menerangkan Bayesian Inference dengan lebih mudah dimengerti. Sekedar info, Bayesian Inference merupakan sebuah algoritme rekonstruksi pohon filogenetik yang didasarkan pada uji probabilitas terhadap suatu data. Yaa saia bisa maklum karena saia sendiri juga masih dalam tahap mendalami hal tersebut sehingga masih belum dapat menerangkan dengan jelas namun mudah dimengerti.

1. Sebuah Analogi
Nah kali ini saia mendapat ide mengenai bagaimana dapat menerangkan Bayesian Inference dengan lebih mudah. Ide ini muncul tepatnya pada malam ini (26/5/12), sekitar jam 7.10 malam di Ambarukmo Plaza (ahahaha...ngiklan ni yee). Nah seperti biasanya pada malam minggu saia melakukan "ritual" di cafe Tamansari lantai 4 Amplaz, memojokan diri bersama segelas Ice Hazelnut Latte dan juga buku The Phylogenetic Handbook. Setelah selesai saia pun beranjak dari tempat duduk. Nah tidak jauh dari tempat duduk saia nampak di depan ada 2 pasangan anak kuliahan yang sedang berjalan ke arah restoran Red Chop, dan pastinya saia hanya melihat punggung mereka. Tanpa sadar saia pun melihat bagian belakang mereka agak lama dan.....saia pun berhipotesis bahwa salah satu wanita di kedua pasangan tersebut sepertinya merupakan wanita yang belum lama ini baru saia kenal dan ingin saia pedekate. Kecewa? Ya pasti larr (pake nanya)...tapi daripada saia larut dalam kekecewaan yang saia buat sendiri, saia malah mendapat ide untuk menggunakan contoh ini sebagai salah satu aplikasi Bayesian Inference.

Nah pada cerita diatas, bagaimana tepatnya saia menyimpulkan hipotesis saia tersebut, yakni itu merupakan si wanita yang saia kenal? Biar saia rumuskan, ketika saia melihat salah satu wanita di pasangan tersebut kemungkinannya hanya dua, yakni itu adalah wanita yang saia maksud atau itu bukan wanita yang saia maksud. Nah dengan demikian probabilitas untuk masing-masing pernyataan adalah 50%. Dalam Bayesian Inference tahapan ini disebut prior, yakni tahapan dengan berbagai proporsi kemungkinannya dan belum dkaitkan dengan data-data yang ada. Dengan adanya tambahan data, maka kemungkinan 50% dari masing-masing pernyataan diatas akan berubah sehingga nantinya akan memberi arahan pernyataan mana yang didukung oleh data, itulah posterior.

Data yang saia dapatkan terkait informasi mengenai wanita tersebut mencakup analisis morfologis dan psikologis. Mengenai detailnya biarlah hanya saia dan bukan kamu yang mengetahuinya..hahaha. Nah saia mencoba mencocokan data tersebut untuk melihat pernyataan mana yang didukung oleh data. Hasilnya keluar, dan data tersebut mendukung pernyataan pertama. Wanita yang saia lihat pada saat itu adalah memang dia dan dia uda punya gandengan!! SHIT!! wkwkwk..Ehem, tapi perlu saia tekankan disini bahwa dukungan yang diberikan oleh data itu adalah probabilitas. Kenyataan bahwa wanita di Amplaz itu memang dia atau bukan sekalipun didukung data tetaplah hanya memperkuat dugaan, bukan memastikan. Kenapa bukan memastikan? Yaa tentunya suatu kemustahilan bagi saia untuk kembali lagi ke tanggal 26 Mei 2012 jam 7.10 malam di Tamansari Amplaz dan kemudian memanggil untuk memastikannya bukan?? Nah itulah inti dari Bayesian Inference dalam filogenetik, memperhitungkan PROBABILITAS masa lalu.

2. The Real Case
Oke, sekarang kita kembali ke kasus sebenarnya yakni sequence molekular alias sequence DNA. Pada tulisan sebelumnya dikisahkan bahwa dengan menggunakan 10 taxa maka terdapat 2-juta kanditat pohon filogeni yang MUNGKIN. Ini tidak lagi semudah cerita diatas dimana kemungkinannya adalah 50%, dalam kasus ini kemungkinannya adalah 1/2000000 x 100% = 0,00005% per pohon. ini adalah prior. Kita akan meng-update prior ini dengan data sequence DNA seperti halnya data morfologis-psikologis yang saia gunakan untuk mendapatkan probabilitas posterior.

Mencari 1 dari 2-juta pohon tidaklah semudah memberikan dukungan terhadap 1 pernyataan dari total 2 pernyataan. Maka dari itu diperlukan proses pencarian pohon dengan metode Markov Chain Monte Carlo (MCMC) sampling. Proses pencarian ini menggunakan konsep bahwa dengan menggunakan data set sebagai panduan, maka kandidat-kandidat pohon yang prospektif akan berkonvergensi (menuju ke satu titik yang sama) satu sama lain. Dengan kata lain, sekelompok kandidat pohon yang terpilih ini akan memiliki probabilitas yang lebih tinggi untuk menjelaskan filogeni dataset yang kita miliki dibandingkan pohon-pohon lainnya.

Optimasi tentu diperlukan untuk MCMC sampling karena peta probabilitas untuk 2-juta pohon tersebut tidaklah semulus yang dikira. Bayangkan sebuah ruang berdimensi-3 dengan sumbu-X mewakili branch length, sumbu-Y mewakili topologi pohon, dan sumbu-Z mewakili model evolusi. Nah 2-juta pohon tersebut tersebar pada ruang ini dengan probabilitasnya masing-masing, membentuk bentangan seperti lansekap pegunungan lengkap dengan gunung-gunung dan lembahnya. Terkadang, proses MCMC tidak menghasilkan konvergensi satu titik seperti yang kita inginkan, beberapa berkonvergensi di gunung yang satu sedangkan beberapa berkonvergensi di gunung yang lainnya. Ini tentu saja membuat pusing. Bayangkan apabila gunung pertama berisikan pohon yang menggabungkan ikan-ikan dan gunung kedua berisikan gabungan ikan-kambing dengan probabilitas yang sama tinggi. Apabila kita tidak memiliki informasi pendukung apapun mengenai ikan dan kambing, maka kita bisa cukup yakin bahwa keduanya ini benar.

Nah maka dari itu proses MCMC juga dioptimasi dengan proses burn-in, mixing, dan swapping. Ingin tahu bagaimana optimasinya? tunggu part 2 dari tulisan ini yak ^^/

Regards,
Victor Apriel

Kamis, 24 Mei 2012

Sebuah Tulisan Evolusi dan Filogeni: Kumannya Berevolusi!!!

Hmm...saia masih mumet meramu bahan untuk serial tulisan ini, jadilah saia mencoba menggunakan bahan lain dulu untuk disisipkan. Ingat lho, menunda tulisan berarti menambah penyesalan kata Oom Anies Baswedan. Tapi saia tidak menunda, hanya menambalnya dengan tulisan lain. Oke langsung saja kita masuk ke inti cerita.

Ide penulisan ini muncul seketika ketika saia sedang menonton sebuah iklan. Sunggu iklan yang sangat menggugah ilham bukan. Iklan itu adalah iklan Li*eb*oy (kalo dibaca jadi "Lie Boy"...hahaha), sebuah iklan sabun mandi kesehatan yang mengandung blah..blah...blah... intinya kalo dipake nanti kita jadi sehat! Nah ada apa dalam iklan itu sehingga terkait dengan tulisan saia yang satu ini? Well, saia tertarik dengan salah satu pernyataan yang diucapkan oleh pemeran "dokter" disana, yakni "kuman yang sedang berevolusi". Nah apakah tepatnya maksud dari kuman yang sedang berevolusi tersebut? Apakah si dokter berhasil menekankan maksudnya dengan benar ke benak para pemirsa? Ataukah sebenarnya tidak ada maksud pemaknaan yang sedalam itu pada iklan tersebut?

Oke, mari kita jawab satu per satu. Jadi yang dimaksud dengan kuman yang sedang berevolusi adalah para kuman yang sedang berubah. Cukup semudan dan sesulit itu saja penjelasannya. Namun mari kita coba untuk melihatnya dengan lebih mendalam. Evolusi atau perubahan yang dimaksud dapat dimaknai pada berbagai tingkatan, mulai dari yang paling sederhana yakni DNA, protein, hingga ke stuktur dan fungsi dari si kuman itu sendiri. Lantas apa tujuan dari semua perubahan itu? ya jelas untuk beradaptasi dengan lingkungan yang semakin tidak bersahabat lah. Perlu kita ketahui bahwa penggunaan bahan kimia pembunuh kuman (desinfektan) ibarat pisau bermata dua, dan celakanya kita melulu hanya diperlihatkan salah satu matanya saja.

Perubahan pada kuman dan juga seluruh mahluk hidup di dunia ini terus berlangsung dan akan terus seperti itu sampai kiamat. Jadi terlalu naif rasanya apabila kita berasumsi bahwa kuman itu hanya 1 jenis dan mereka tetap. Pemberian desinfektan pada kuman tentu akan mematikannya, namun jangan lupakan bahwa perubahan itu selalu ada. Artinya adalah ada sejumlah kecil kuman yang masih bertahan atau kebal terhadap serangan desinfektan tersebut akibat suatu perubahan yang dialaminya. Lambat tetapi pasti, serangan desinfektan tersebut akan mematikan kuman yang tidak kebal sehingga memberikan keuntungan dari segi kompetisi terhadap kuman-kuman yang kebal. Hasil akhirnya sudah bisa ditebak, kuman-kuman kebal ini jumlahnya semakin meningkat dan kita secara awam menyimpulkan bahwa kuman yang dulu itu sudah berubah...sudah berevolusi.

Hal ini merupakan sisi mata pisau yang tidak disebutkan. Langkah menghadapi kuman yang telah kebal terhadap desinfektan tersebut adalah dengan mencari kandidat desinfektan baru yang ampuh menghadapi kuman-kuman kebal ini. Ketika desinfektan yang baru berhasil, perubahan pun akan senantiasa mengikuti dan siklus yang sama akan terulang lagi. Jadi, saran untuk menggunakan sabun dalam iklan tersebut untuk mencegah sakit pada anak lebih terkesan sebagai sebuah penyelesaian sementara saja. Yaaaa...daripada tidak sama sekali.

Perubahan seakan menjadi penyelamat para kuman tersebut, namun apakah tepatnya perubahan itu dan dimanakan tempat terjadinya perubahan tersebut? Kita mulai dari sebuah titik yang universal, mendasar, namun juga sangat vital. Ya apalagi kalau bukan DNA. Molekul DNA mengandung informasi untuk menghasilkan semua komponen sel pada kuman-kuman tersebut dan salah satu komponen vital pada kuman ini menjadi target dari si desinfektan. Dengan demikian, apabila komponen ini diubah maka desinfektan tidak lagi menjadi masalah. Perubahan pada skala DNA (mutasi) inilah yang menjadi awal evolusi. Mutasi DNA ini ada yang bersifat spontan dan juga ada yang bersifat adaptif. Pada akhirnya, urutan DNA yang berubah akan menyandi protein berbeda atau menghasilkan semacam kapsula pelindung yang mungkin tidak dapat dikenali oleh desinfektan, sehingga WAH...si anak menjadi sakit dan ITU KARENA KUMAN YANG SUDAH BEREVOLUSI.

Jadi, apakah si dokter berhasil menanamkan pemahaman diatas ke benak kita-kita yang menontonnya ini? Well, jawabannya saia serahkan kepada anda semua. Sedikit saran, pernyataan diatas sebaiknya diubah menjadi ITU KARENA EVOLUSI YANG TERJADI PADA SI KUMAN...hahaha

ENJOY!!

Regards,
Victor Apriel

Jumat, 18 Mei 2012

Sebuah Tulisan Evolusi dan Filogeni: Analisis Molecular Clock

Pemetaan laju evolusi. (a) variasi pada laju evolusi (divergensi) antar spesies seiring dengan waktu; (b) Pemetaan dengan "global clock" tidak dapat mengakomodasi keseluruhan variasi; (c) Penggunaan model non-clock mengakomodasi seluruh variasi namun tidak dapat memberikan informasi waktu divergensi akibat parameter yang terlalu banyak; (d) model relaxed clock yang menjadi penengah antara global clock dengan non-clock; dan (e) model local clock yang mengakomodasi perbedaan laju evolusi antar subgrup taxa.
Terjebak dalam kamar kost di malam yang sumux sungguh membuat saia merasa ngantuk tapi gak bisa tidur. Yasuda lah daripada merenungkan hidup dan masa depan dunia, lebih baik saia lanjut menulis saja. Kali ini saia ingin berbagi cerita mengenai sebuah hipotesis dalam dunia filogeni molekular. Hipotesis tersebut dikenal sebagai Molecular Clock alias jam molekular. Nah apa maksudnya tuh? Mari kita pindah ke paragraf selanjutnya.

Jadi pada jaman dahulu kala, tepatnya tahun 1965, Oom Emile Zuckerkandl dan Linus Pauling mengemukakan bahwa laju evolusi molekular urutan protein untuk semua mahluk hidup bersifat konstan. Dengan demikian, kita dapat menghitung waktu divergensi suatu taxa hanya dengan menghitung jumlah perubahan asam amino dalam urutan proteinnya. Berdasarkan hal tersebut maka hipotesis molecular clock dapat digunakan untuk mengestimasi kapan tepatnya divergensi suatu spesies di masa lampau, persis seperti memetakan rentang umur fosil pada studi-dtudi paleontologi. Apabila ditinjau lebih dalam, hipotesis molecular clock sejalan dengan teori netral (Neutral Theory of Evolution) yang pernah dikemukakan oleh Oom Motoo Kimura pada akhir 1969. Teori netral menyatakan bahwa perubahan evolusi pada tingkat molekular adalah sepenuhnya netral dan tidak berpengaruh terhadap kelangsungan hidup (fitness) organisme. Nah netralitas dalam laju substitusi ini kemudian diperlukan untuk memastikan laju evolusi yang konstan sehingga molecular clock pun dapat dipetakan.

Hingga saat ini penerapan molecular clock dalam rekonstruksi filogenetik masih cukup kontroversial. Hal ini disebabkan adanya penelitian yang mengungkapkan bahwa berbagai spesies yang berbagi gen yang sama ternyata memiliki laju substitusi yang berbeda satu dengan lainnya. Selain itu, prediksi filogeni yang diterapkan dengan mengasumsikan molecular clock ternyata memberikan estimasi waktu divergensi spesies yang berbeda jika dibandingkan dengan data paleontologis. Dengan demikian, jelas bahwa laju evolusi antar spesies tidaklah konstan seperti yang diasumsikan oleh molecular clock.

Jadi, apakah dengan demikian kita harus membuang jauh-jauh hipotesis molecular clock ini? Em, mungkin ya mungkin juga tidak. Cara terbaik untuk menjawab ini adalah dengan sedikit memodifikasi asumsi yang ada pada hipotesis molecular clock. Pada dua paragraf sebelumnya kita membayangkan bahwa molecular clock ("global molecular clock" untuk lebih tepatnya) memberikan satuan waktu yang seragam untuk semua spesies/taxa yang diperbandingkan. Hal ini jelas terbantahkan oleh serangkaian penelitian. Terdapat gagasan bahwa kita dapat menggunakan model "relaxed molecular clock" yang bersifat mengakomodasi variasi laju evolusi antar taxa, namun masih memberikan prediksi waktu evolusi untuk setiap taxa. Selain itu, model "local clock" juga diajukan sebagai alternatif lainnya. Pada model local clock ini variasi laju evolusi pada antar taxa sebenarnya dapat dipilah menjadi kelompok-kelompok tertentu dengan laju yang mirip antar satu dengan lainnya. Pemilahan tersebut tentu saja akan sejalan dengan pembentukan clade (kelompok evolusi) karena taxa yang berkerabat dekat tentu akan memiliki laju evolusi yang mirip.

Tahapan awal analisis molecular clock untuk melihat apakah taxa yang diperbandingkan memiliki laju evolusi yang sama atau berbeda adalah dengan melakukan Likelihood Ratio Test (LRT). Perhitungan nilai LRT baru dapat dilakukan apabila pohon kita sudah diberi root (rooted). Kita dapat melakukan rooting pada pohon kita dengan cara menggunakan outgroup, yakni spesies yang berkerabat jauh dengan ingroup kita (Lihat tulisan The Root). Dalam perhitungannya, LRT akan membandingkan antara pohon unrooted dengan pohon rooted menggunakan data yang sama. Hipotesis awalnya (H0) adalah nilai likelihood antar keduanya tidak berbeda dari nol secara signifikan. Apabila secara signifikan berbeda dari nol (H0 ditolak, H1 diterima), artinya terdapat perbedaan laju evolusi antar taxa di dalam ingroup. Nah apabila kemungkinan kedua yang terjadi maka kita harus mulai berpikir untuk menggunakan model "relaxed clock" atau "local clock".

Hmm...sebenarnya masih ada beberapa cakupan terkait molecular clock, namun saia sendiri masih kesulita untuk memahaminya (apalagi menjelaskannya). Jadi untuk tulisan ini saia cukupkan sampai disini dulu. Kalau sudah paham, baru saia lanjutkan lagi pada tulisan berikutnya ^^/

Regards,
Victor Apriel