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

Sabtu, 12 Mei 2012

Sebuah Tulisan Evolusi dan Filogeni: The Root

The root yang diposisikan pada pangkal pohon
Em sebenarnya sih saia mau memberi judul "akar" untuk tulisan ini, tapi takut nanti disangka menjiplak judul novelnya Mba Dewi Lestari. Oke jadi sebenarnya apakah yang dimaksud dengan "The Root" dan juga proses "Rooting" dalam filogeni?

Baiklah, lagi-lagi kita akan memulai tulisan ini dengan sebuah definisi. "The root" merupakan sebuah titik/nodus yang menghubungkan semua OTU/taxa/organisme yang diperbandingkan dalam pohon filogenetik. Nah titik ini diperkirakan sebagai organisme/taxon leluhur (ancestor) dari semua taxa pada pohon tersebut. Kemudian "rooting" merupakan proses untuk mengidentifikasi posisi root pada pohon. Nah tujuan utama proses rooting adalah untuk melihat bagaimana proses evolusi, atau tepatnya divergensi, berlangsung dari satu organisme ke organisme lainnya. Idealnya, root harus memenuhi kaidah "mid-point criterion", yakni ditempatkan pada pertengahan internal branch terpanjang dalam pohon filogeni.

Lantas bagaimana caranya rooting? Proses rooting dapat dilakukan dengan penambahan "outgroup" pada data yang pohonnya ingin kita rekonstruksi. Outgroup merupakan satu atau sekelompok organisme/taxa yang berkerabat jauh dengan taxa ingroup kita. Lalu bagaimana kita tahu suatu outgroup itu berkerabat dekat/jauh padahal pohonnya saja belum kita rekonstruksi. Nah pada titik inilah kita diuji bagaimana memilih outgroup yang tepat. Pemilihan outgroup untuk organisme yang memiliki catatan fosil relatif mudah untuk dilakukan. Cari saja organisme dengan homologi terbanyak yang tersingkap pada lapisan bumi yang lebih tua dari ingroup kita. Dengan begitu kita bisa yakin bahwa organisme tersebut beumur lebih tua dari semua ingroup kita. Namun bagaimana dengan kasus dimana tidak ada catatan fosil mengenai ingroup maupun outgroup? Nah pada umumnya adalah kita membandingkan beberapa outgroup dengan ingroup yang kita miliki, kemudian kita coba merekonstruksi pohon UPGMA dan membandingkan semuanya. Outgroup yang posisinya paling dekat dari ingroup terjauh merupakan kandidat yang cocok untuk dijadikan outgroup pada rekonstruksi yang kita inginkan.

Ada satu hal yang perlu kita ingat dalam penggunaan outgroup dalam proses rooting, yakni sebuah asumsi yang cukup mendasar. Proses rooting dilakukan dengan menggunakan asumsi bahwa laju substitusi antar taxa adalah sama. Dengan demikian, waktu divergensi (time of divergence; TOD) bersifat konstan dseiring dengan jumlah substitusi yang ada pada setiap taxon. Nah waktu divergensi dapat dihitung berdasarkan branch length pada pohon, yang kemudian nilai branch length itu merupakan interpretasi dari jumlah substitusi pada urutan DNA/asam amino suatu taxa. Pada kenyataannya, beberapa penelitian membuktikan bahwa laju tersebut tidaklah sama antar spesies dan bahkan juga tidak sama antar gen. Hal ini disebabkan karena proses substitusi suatu karakter (nukleotida/asam amino) tidaklah netral seperti yang diajukan dalam Neutral Theory of Evolution oleh Oom Motto Kimura. Selain faktor netralitas, adanya faktor adaptasi organisme, efek bottleneck, dan lainnya turut berkontribusi dalam perubahan laju substitusi pada DNA dan proteinnya.

Hmm..sepertinya sekian dulu mengenai rooting. Saia juga baru saja mendapatkan artikel mengenai metode baru untuk proses rooting yang bisa dibaca di link ini: http://www.simmap.com/bollback/jpb_pdf/Huelsenbeck2002.pdf. Akhir kata saia tutup tulisan ini dengan......selamat membaca saja deh.

Regards,
Victor Apriel

Sebuah Tulisan Evolusi dan Filogeni: Memilih Model Evolusi

Hasil perbandingan model untuk data gen 16S rRNA dengan program MEGA 5.0

Hohohoh....jumpa lagi bersama saia Chef Victor dalam serial Sebuah Tulisan Evolusi dan Filogeni. Bagaimana rekonstruksi pohon filogenetik nya? lancar-lancar semua tah? Kalo ga lancar....ya diulang lagi, lagi dan lagi. Practice make perfect gan!! Dalam tulisan kali ini saia ingin memperkenalkan yang namanya Phylogenetic Model Test. Sepertinya agak aneh yak, kenapa juga tulisan mengenai ini justru ditampilkan setelah tulisan Phylogenetic Inference. Tapi ya ga apa-apa, toh akan lebih baik kita mengenal semua modelnya dulu sebelum mulai memilih dan memilahnya.

Teman-teman tentunya masih ingat kan mengenai beberapa model evolusi di tulisan sebelumnya? Disana saia menuliskan beberapa model seperti JC69, K80, F81, HKY, dan juga GTR untuk nukleotida serta BLOSUM62, Dayhoff, JTT dan lainnya untuk asam amino. Nah dari sekian banyak model tersebut saia rasa beberapa dari kita pastinya bingung mengenai model filogenetik apa yang akan kita pilih dalam proses rekonstruksi pohon?

Beberapa dari kita (termasuk saia) pastinya akan menjawab pertnayaan tersebut dengan "pilih saja model yang paling kompleks yang pernah dibuat". Semakin kompleks suatu model artinya semakin banyak pula parameter yang perlu dihitung (coba tinjau lagi gambar Q-Matrix di tulisan sebelumnya). Nah pada kenyataannya evolusi suatu urutan DNA (atau protein) bisa kompleks dan juga bisa sederhana, alias tidak dapat dipukul rata dengan mengasumsikan 1 model untuk semua.

Kita coba memulainya dari sebuah definisi. Model evolusi merupakan serangkaian asumsi mengenai proses substitusi DNA/asam amino. Model ini berfungsi dalam menjelaskan perbedaan probabilitas pergantian satu karakter ke karakter lainnya. Kehebatan suatu model tidak terletak pada kompleksitasnya, namun ketika model tersebut cocok dengan data yang ada dan dapat menghasilkan prediksi akurat terkait permasalahan. Umumnya model yang kompleks cenderung cocok dengan data yang ada karena memiliki lebih banyak variabel dibandingkan model yang sederhana. Penggunaan model yang kompleks juga memiliki kekurangan, yakni waktu komputasi yang jauh lebih lama dan juga kemungkinan bias yang meningkat karena banyaknya parameter yang harus dihitung. Jadi, pilihan bijaknya adalah pilihlah model dengan kompleksitas yang sesuai kebutuhan.

Ada beberapa teknik dalam menentukan model yang cocok (model fit) untuk data kita, diantaranya hierarchical likelihood ratio test (hLRT), Akaike information criterion (AIC), Bayesian information criterion (BIC), dan Decision Theoretic (DT). Mari kita lihat satu per satu...
1. Hierarchical Likelihood Ratio Test (hLRT)
Metode ini didasarkan pada pengukuran nilai log MLE (Maximum Likelihood Estimate) dari setiap model yang dipakai untuk menganalisis data yang sama. Setelah itu nilai MLE ini dibandingkan antar satu model dengan yang lain dengan rumus LRT = 2(L1 - L0), dimana L1 merupakan nilai log MLE dari model yang lebih kompleks dan L0 untuk model yang lebih sederhana. Nah dengan demikian, nilainya pasti akan sama atau lebih besar dari nol. Hal ini disebabkan karena log MLE untuk model kompleks pasti lebih besar daripada model sederhana. Penilaian yang dilakukan disini adalah signifikansi dari nilai nol. Apabila nilai LRT secara signifikan lebih besar dari nol, maka artinya ada parameter tambahan yang memang dapat menjelaskan data dengan lebih baik. Itu artinya model yang lebih kompleks lebih baik dalam analisis data. Perbandignan ini dilakukan antar satu model dengan yang lainnya secara bertahap (hierarchical) menurut bertambahnya jumlah parameter.

2. Information Criteria (Akaike Information Criterion; AIC dan Bayesian Information Criterionl; BIC)
Saia dapat mengartikan keduanya ini adalah indeks perbandingan antar model yang disesuaikan dengan jumlah parameter (K) yang dimiliki oleh masing-masing model. Indeks AIC dihitung berdasarkan rumus AIC = -2L + 2K, dimana L merupakan nilai log MLE dan K adalah jumlah parameter suatu model. Dengan demikian, nilai log MLE yang lebih besar tidak menjamin bahwa model tersebut lebih bagus seperti halnya pada hLRT dikarenakan adanya faktor 2K pada perhitungan AIC tersebut. Indeks BIC juga serupa dengan AIC hanya saja rumus yang digunakan berupa BIC = -2L + K log n, dimana n adalah perkiraan jumlah karakter dalam alignment. Dalam perhitungan indeks Information Criteria ini, model dengan indeks AIC dan BIC terkecil merupakan model yang paling bagus untuk digunakan dalam analisis data.

3. Decision Theoretic (DT)
Tidak ada jaminan bahwa model terbaik akan dapat memberikan estimasi filogeni terbaik. Oleh karena itu metode DT melihat model versinya dengan estimasi error dalam perhitungan branch length dari setiap model. Perlu saia ingatkan lagi bahwa branch length merupakan fungsi dari suatu model terhadap data. Nah model dengan nilai error terendah merupakan model yang "terbaik" menurut versi DT.

Program yang disarankan untuk menganalisis perbandingan antar model adalah MODEL TEST (untuk DNA) dan PROT TEST (untuk protein). Program MODEL TEST dapat di-download di http://darwin.uvigo.es/software/modeltest.html, sementara PROT TEST dapat di-download di http://darwin.uvigo.es/software/prottest.html. Analisis yang sama juga dapat (dan yang saia lakukan) di program MEGA 5. Gambar di atas menampilkan hasil perbandingan model menggunakan data berupa gen 16S rRNA.

Regards,
Victor Apriel

Rabu, 09 Mei 2012

Sebuah Tulisan Evolusi dan Filogeni: Tali Sepatu dan Pisau Si Jack

Skema Analisis Bootstrap. Majority concensus rule (1; kanan bawah) dan Superimpose Rule (2; kanan atas)
klik...klik...klik.......buff...horeeee akhirnya pohonnya jadi!!! Yap setelah sekian lama menunggu, komputer tersayang kita akhirnya menemukan sebuah pohon diantara jutaan atau bahkan miliaran pohon yang ada. Eh tapi terkadang kita pun bertanya, apakan memang pohon ini yang benar? Setelah mempertanyakan itu dalam pikiran, kita pun mencurigai si komputer. Eits komputer pun kemudian berkata, "kalau gak percaya ya silahkan saja cari sendiri!!". Ingat lho, ada 34.499.425 pohon rooted dan 2.027.025 pohon unrooted untuk rekonstruksi 10 taxa dan kita mencar 1 dari jutaan pohon itu? Secara manual? Err...sepertinya saia masih belom siap untuk hidup dalam kebosanan.

Ya sudah, anggap saja kita menaruh percaya pada komputer kita dan program-programnya. Eh tapi paling tidak tambahkan sesuatu yang bisa lebih meyakinkan donk. Nah untuk mewujudkan hal itu, maka ada 2 hal yang bisa dilakukan yakni dengan melakukan analisis bootstrap atau analisis jackknife. Oke mari kita terjemahkan secara harfiah. Bootstrap dapat diartikan sebagai "tali sepatu" (boot = sepatu; strap = tali) dan Jackknife dapat diartikan sebagai "pisau si Jack" (Jack = Si Jack; knife = pisau). Nah lantas apa hubungannya tali dan pisau dengan meyakinkan kita akan poon filogeni? Saia juga tidak tahu tentang itu. Sungguh suatu penerjemahan yang menyesatkan. Yaa yang penting maknanya saja deh.

1. Analisis Bootstrap

Oke, jadi prinsip dari analisis bootstrap adalah dengan penghasilan dataset semu (pseudo-dataset) yang setara dengan dataset awal kita. Dataset yang dimaksud adalah total nukleotida hasil alignment yang menjadi dasar untuk rekonstruksi pohon. Nah tahapan awal dari bootstrap ini adalah penghasilan dataset sejumlah replikasi yang kita inginkan (umumnya antara 200 hingga 2000 replikasi). Pseudo-dataset yang dihasilkan dari proses bootstrap sama dalam hal jumlah nukleotida, namun berbeda dalam komposisi nukleotidanya. Jadi ada daerah/situs dalam alignment tersebut yang di-sampel lebih dari satu kali, namun juga ada daerah yang tidak di-sampel sama sekali dalam penghasilan replikasinya. Sebagai contoh perhatikan dibawah ini:

Sequence Original     : ...ATCACGATCATCGCAC...
Bootstrap rep 1        : ...ATTACCCTCATCGCAC...
Bootstrap rep 2        : ...ATCACGGGGATCCCC... dst

Nah dari sana dapat kita lihat bahwa nukleotida T pada "sequence original" telah disampel dua kali namun nukleotida C tidak disampel sama sekali  pada "bootstrap rep 1". Nah setelah sejumlah replikasi dataset dihasilkan, maka masing-masing dataset tersebut direkonstruksi menjadi pohon. Dengan demikian akan terdapat 1 pohon original dan sejumlah pohon bootstrap.

2. Analisis Jackknife

Analisis ini sebenarnya mirip dengan analisis bootstrap. Perbedaannya terletak pada penghasilan pseudo-dataset yang digunakan untuk merekonstruksi pohon. Jika pada analisis bootstrap pseudo-dataset dihasilkan dengan proses sampling ulang yang dimodifikasi (modified re-sampling), maka dalam analisis Jackknife ini hanya menggunakan 50% dari total nukleotida dataset untuk merekonstruksi sebuah pohon. Trik analisis disini adalah bahwa daerah yang mengandung 50% dari total nukleotida itu bisa ditempatkan dimana saja dan jumlah replikasinya bisa disesuaikan dengan keinginan kita (umumnya 200 hingga 2000 replikasi).

Jika dicontohkan kita memakai 1000 replikasi baik untuk analisis bootstrap maupun Jackknife, maka kita akan memiliki 1001 pohon yang terdiri atas 1 pohon original dan 1000 pohon bootstrap/Jackknife. Nah dari sinilah analisis berlangsung. Umumnya ada 2 aturan yang ditetapkan untuk menghasilkan nilai bootstrap (bootstrap value) pada setiap percabangan di pohon.

Aturan pertama disebut sebagai "Majority Concensus Rule", yakni menghitung persentase kemiripan percabangan (branch pattern) antara pohon bootstrap satu dengan lainnya. Nilai persentase yang terbesar/dominan untuk setiap pola percabangan kemudian dimasukan sebagai angka dalam setiap titik percabangan pada pohon. Aturan kedua adalah "Superimpose Rule", yakni dengan membandingkan setiap pohon bootstrap dengan pohon originalnya dan kemudian menghitung persentase kecocokan setiap pola percabangan yang dibandingkan. Nilai ini juga kemudian ditampilkan pada setiap titik percabangan pada pohon.

Perlu diketahui bahwa analisis bootstrap maupun Jackknife ini sebenarnya lebih merupakan analisis statistik ketimbang analisis filogenetik. Perhitungan ini tidak memperdulikan daerah mana yang merupakan daerah conserved maupun variable. Dengan demikian kedua analisis ini lebih ditujukan untuk pengujian tingkat presisi dan sama sekali tidak berhubungan dengan akurasi alias tingkat kebenaran suatu pohon. Pohon yang memiliki nilai bootstrap/Jackknife >98% di semua titik percabangannya memang merupakan pohon yang meyakinkan dan layak untuk dipercaya, tapi belum tentu merupakan pohon yang benar. Terkadang kita suka mempercayai hal yang salah juga bukan?

Analisis bootstrap/Jackknife ini memang umum dan sepertinya menjadi hal wajib sekarang ini mengingat kemajuan teknologi komputer. Perlu diingat juga bahwa menambahkan analisis bootstrap berarti juga menambah proses komputasi. Jadi jangan heran apabila komputer kita menjadi semakin lama dalam merekonstruksi pohon dan semakin panas juga tentunya...hehehe.

Regards,
Victor Apriel

Selasa, 08 Mei 2012

Sebuah Tulisan Evolusi dan Filogeni: Phylogenetic Inference (Part III)

Sebuah Tulisan Evolusi dan Filogeni - Phylogenetic Inference (Part III)

Oke..dua part sudah terlewati setelah bercerita tentang tahapan-tahapan yang diperlukan dalam rekonstruksi pohon filogeni, yakni perhitungan branch length dan topologi pohon. Nah pada part ketiga sekaligus yang terakhir dari Phylogenetic Inference ini saia ingin sedikit mengenalkan tentang program-program komputer yang dipakai dalam menghasilkan pohon tersebut. Jadi kalau sudah membaca dua part sebelumnya, jangan sekali-kali membayangkan kalau kita mencari 1 pohon diantara jutaan pohon secara manual. Inget deh, jangan sekali-kali dibayangkan...nanti bisa gak nafsu makan tuh.

Oke kita mulai saja. Program-program yang umumnya dikenal dan digunakan dalam rekonstruksi pohon filogeni meliputi:
1. PHYLIP (Phylogenetic Inference Package)
Ini merupakan program pertama yang dikenalkan pada saia ketika belajar rekonstruksi pohon. Yup program ini diciptakan oleh Oom Joe Felsenstein dan mengandung algoritme yang cukup lengkap untuk perhitungan branch length maupun topologi pohon. Algoritme rekosntruksi pohon meliputi NJ, ME, MP, dan ML. Sistem pengoperasiannya bertipe DOS-prompt executable yang dapat langsung diluncurkan pada folder exe.
Download source: http://evolution.genetics.washington.edu/phylip.html

2. MEGA (Molecular Evolutionary Genetics Analysis)
Program besutan Oom Masatoshi Nei dan Oom Sudhir Kumar ini pertama kali diluncurkan tahun 1993. Hingga sekarang ini program MEGA sudah mencapai versi 5.0. Menurut saia program ini cukup lengkap, menawarkan menu Alignment, rekonstruksi pohon, analisis molecular clock, analisis komposisi urutan DNA/asam amino, pencarian model evolusi,  dan lainnya. Operasionalnya juga cukup mudah karena sudah terintegrasi dengan Windows, Mac, atau Linux serta dapat disinergikan dengan program lainnya seperti ClustalX.
Download source: http://www.megasoftware.net/

3. IQPNNI (Important Quartet-Puzzling and Nearest Neighbor-Interchange Operation)
Merupakan program rekonstruksi pohon menggunakan data DNA maupun protein yang memaksimalkan pencarian pohon optimal menggunakan beberapa algoritme tambahan. Program ini mencari important quartets (IQ) untuk menghasilkan beberapa kandidat pohon dan kemudian diuji dengan metode heuristik untuk pencarian pohon terbaik. Program ini termasuk cepat jika dibandingkan program lain dalam rekonstruksi pohon filogeni.
Download source: http://www.cibiv.at/software/iqpnni/

4. MrBayes
Nah ini dia sijalijali. Program ini dinobatkan oleh mereka sebagai program rekonstruksi pohon terbaik sejagad yang saia juga tidak tahu mengapa bisa seperti itu. Pokoknya kalau rekonstruksi pohon tidak menggunakan Bayesian (dalam program MrBayes), artinya ente tidak gaul..hahaha. Program ini menggunakan metode Markov Chain (semacam metode likelihood) untuk mencari topologi pohon yang paling sesuai dengan data kemudian diuji secara statistik untuk menentukan tingkat kepercayaannya.
Download source: http://mrbayes.sourceforge.net/

5. TreeView
Ini bukan program rekonstruksi pohon, tapi tanpa program ini ente gak bisa menampilkan pohon yang dihasilkan. Yaa singkatnya ini hanyalah program untuk visualisasi pohon yang dihasilkan.
Download source: http://taxonomy.zoology.gla.ac.uk/rod/treeview.html

Em, sebenarnya masih banyak program lainnya untuk rekonstruksi pohon seperti PAUP*, Tree Puzzle, RDP, dan lainnya. Tapi saia juga belum bisa menuliskannya disini karena saia belum mencobanya. Bahkan saia juga masih agak bingung dalam menuliskan deskripsi dari program yang saia gunakan dalam tulisan ini. Yaa semoga saja itu artinya bisa menggelitik teman-teman untuk mempelajari lebih lanjut tentang konsep dan kegunaan program-program ini.

Bagi yang mau download dan mempelajari program lainnya bisa disini:
- PAUP* (Phylogenetic Analysis Using Parsimony) = http://paup.csit.fsu.edu/
- Tree Puzzle = http://www.tree-puzzle.de/
- HyPhy (Hypothesis testing using Phylogenies) = http://octamonkey.ucsd.edu/hyphywiki/index.php/Main_Page

So sebagai penutup saia ucapkan SELAMAT MEREKONSTRUKSI FILOGENI ^^/

Regards,
Victor Apriel

Senin, 07 Mei 2012

Sebuah Tulisan Evolusi dan Filogeni: Phylogenetic Inference (Part II)

Phylogenetic Tree of Life based on sequence of 16S and 18S rRNA gene
Ehem ehem...saia pun kembali dengan membawa kegilaan-kegilaan baru. So siapkan kepala kalian biar gak meledak yah...hahaha. Oke kali ini saia berniat ingin melanjutkan serial Tulisan Evolusi dan Filogeni yang masih terkait dengan Phylogenetic Inferences (Part I). Yaa apalagi kalau bukan Phylogenetic Inferences (Part II)...*err this is part two haa (singlish accent)*

Kalau di Part I sebelumnya itu saia menekankan mengenai perhitungan branch length yang didasarkan pada model-model evolusi, maka kali ini saia akan bercerita mengenai cara mendapatkan topologi pohon yang sesuai. Em "mendapatkan" disini bisa diartikan sebagai membuat ataupun memilih satu dari sekian banyak pohon. So, lebih baik membuat atau memilih? Yaa itu tergantung algoritme yang digunakan. Oke sebelum memulai, terlebih dahulu saia ingin menjelaskan istilah yang sering saia pakai disini, yakni istilah "organisme". Nah pada tulisan sebelumnya saia menggunakan istilah "organisme" untuk menekankan unit/satuan yang saia perbandingkan selama rekonstruksi pohon. Istilah tersebut kadang bisa saia sebut sebagai "OTU" (operational taxonomical unit) atau "taxon/taxa (jamak)" agar tidak membingungkan beberapa pembaca yang mungkin tidak mau rekonstruksi pohon gen ini dikatakan sebagai rekonstruksi pohon organisme. Oke? Sepakat? Mari kita mulai.....

Metode rekonstruksi pohon yang sudah dikenal hingga sekarang ini umumnya dikelompokan menjadi 2, yakni metode "distance-matrix" dan metode "character-based". Nah apalagi tuh? Sabar..sabar..jangan panik dulu. Untuk memudahkan pembacaan, saia coba pisahkan kedua kelompok metode dibawah ini.

1. Metode Distance Matrix
Tentunya masih ingat dengan kata "observed distance" di tulisan sebelumnya toh? nah istilah yang sering disebut sebagai "pairwise distance" atau "p-distance" ini merupakan dasar dari rekonstruksi pohon filogeni menggunakan metode distance matrix. Jadi, berbekal indeks p-distance antar pasangan organisme tersebut, kelompok metode ini memberikan ukuran dekat/jauhnya kekerabatan antar organisme pada pohon. Semakin besar nilai p-distance maka semakin jauh kekerabatan antar organisme dan begitu juga sebaliknya.

Metode distance matrix yang dikenal umumnya meliputi: Unweighted-Pair Group Method with Arithmetic Means (UPGMA), Minimum Evolution (ME), dan Neighbor-Joining (NJ). Metode UPGMA merupakan metode tertua dan pertama kali digunakan dalam rekonstruksi pohon filogeni. Konsepnya adalah indeks p-distance terkecil antar pasangan organisme akan digunakan untuk menggabungkan kedua organisme tersebut dalam 1 kelompok filogenetik (disebut juga "clade").  Metode ini dikenal bagus di awalnya karena menghasilkan pohon ultrametrik, yakni pohon yang semua organismenya memiliki jarak/branch length yang sejajar satu sama lain jika ditelusur dari akar/root. Ultrametrisitas akan berlaku dengan 1 asumsi, yakni jika laju evolusi antar organisme yang dibandingkan adalah sama. Namun demikian, fakta pun berkata lain karena laju evolusi antar organisme bahkan untuk gen yang sama itu tidaklah sama.

Metode lainnya seperti metode ME dan NJ pun dikembangkan untuk mengakomodasi perbedaan ini. Kedua metode tersebut tidak mengakui ultrametrisitas karena laju evolusi yang tidak sama antar organisme. Sebagai gantinya, kedua metode tersebut mengembangkan metode aditifitas (additivity), yakni kekerabatan antar 2 organisme pada suatu pohon adalah sebesar total branch length yang menhubungkan keduanya. Konsep ini membolehkan panjang branch length yang tidak ekuivalen/sejajar antar organisme, suatu hal yang tidak dapat dilakukan dengan metode UPGMA. Nah metode ME disini adalah mencari pohon yang memiliki nilai tree length terkecil. Sekedar info, tree length artinya panjang total pohon yang merupakan jumlah total dari semua branch length. Salah satu kekurangan metode ME adalah dalam hal pencarian pohon karena metode ini harus menghitung nilai tree length setiap pohon satu per satu. Itu artinya, ada 2.027.025 pohon unrooted dan 34.459.425 pohon rooted yang harus dihitung tree length-nya apabila hanya menggunakan 10 organisme.

Metode NJ mencoba menggunakan pendekatan serupa UPGMA namun dengan sedikit modifikasi yang menghilangkan ultrametrisitas dan mengutamakan aditifitas. Metode ini juga mengadopsi konsep metode ME, yakni mencari tree length terkecil. Namun dalam prosesnya metode NJ tidak sekeras metode ME yang mencari satu diantara jutaan pohon dengan nilai tree length terkecil. Metode NJ berasumsi bahwa tree length terkecil dari suatu pohon dapat dicapai dengan pendekatan branch length terkecil. Buat saja pohon dengan masing-masing branch length terkecil dan kita akan mendapatkan pohon dengan tree length terkecil bukan? Pendekatan ini memiliki keuntungan dari segi komputasi sehingga metode ini dapat digunakan untuk rekonstruksi pohon filogeni dengan jumlah organisme yang banyak dan juga dataset yang besar dalam waktu relatif cepat.

2. Metode Character-Based
Kalau sebelumnya metode Distance-Matrix menggunakan indeks p-distance sebagai panduan dalam merekonstruksi pohon, nah kali ini metode Character-Based menggunakan urutan nukleotida/asam amino secara langsung dalam rekonstruksi pohonnya. Kelompok metode ini mencakup metode Maximum-Parsimony (MP), Maximum-Likelihood (ML), dan Bayesian Inference (singkat saja BI).  Konsep ketiga metode tersebut cukup bervariasi karena menggunakan data yang begitu mendasar.

Konsep metode MP didasarkan pada evolusi yang berjalan efisien, sehingga apabila ada sejumlah cara untuk menghasilkan keadaan seperti sekarang ini maka cara yang paling singkatlah yang akan dipilih Kalimat tersebut seringkali dikatakan sebagai klausa "Ockham's Razor" yang berbunyi "shave away all the unnecessaries". Berbeda dengan MP, konsep metode ML adalah pencarian pola evolusi seperti apa yang paling mungkin untuk menghasilkan keadaan seperti sekarang ini. Konsep ML nampak terbalik dibandingkan konsep metode lainnya yang lebih menekankan bagaimana menghasilkan pohon dengan menggunakan informasi berpa keadaan yang sekarang ini. Lain lagi dengan metode BI yang menekankan pada probabilitas suatu pohon evolusi diantara jutaan pohon evolusi untuk didukung oleh data yang dipakai dalam analisisnya (disebut juga sebagai "priors").

Kelemahan dari kelompok metode ini adalah sama seperti metode ME, yakni pencarian satu atau sekelompok pohon terbaik (optimal/best tree) diantara jutaan pohon lainnya. Ijinkan saia menyadur satu kalimat yang menggambarkan kesulitan pencarian ini:

"Already at nine taxa, you are more likely to be hit by lightning (odds 3:100 000) than to find the best tree by picking one randomly (odds 1:135, 135). At slightly more than 50 taxa, the number of topologies outnumber the number of atoms in the known universe – and this is still considered a small phylogenetic problem".

Bayangkan ketika kita menyuruh komputer/laptop tersayang kita untuk membuat pohon filogeni dari 50 organisme/OTU/taxa dengan kelompok metode ini. Jadi tidaklah heran apabila rekonstruksi dengan kelompok metode ini jauh lebih sulit dan memakan waktu dari segi komputasi dibanding metode Distance-Matrix. Akan tetapi, tentu saja kita tidak akan sesulit ini di jaman sekarang. Para perancang program telah menambahkan metode yang diharapkan mampu mempercepat pencarian pohon terbaik. Metode pencarian tersebut dibagi menjadi 4, yakni Exhaustive Search Method, Branch and Bound Method, Heuristic Approach, dan Markov Chain Monte Carlo Metropolis Coupling atau MC3 (terus terang untuk metode terakhir ini saia tidak tahu harus dimasukan ke golongan mana, jadi saia pisah saja).

Oke sepertinya sampai disini dulu tulisan untuk part II ini. Sebenarnya masih banyak hal yang ingin disampaikan khususnya terkait aspek yang lebih mendalam dari setiap metode/algoritme. Namun saia khawatir nanti tulisan ini akan menjadi terlalu panjang dan terkesan membosankan. So I think I'll save those for later. Berikutnya, dalam tulisan Phylogenetic Inference (Part III) saia akan menerangkan mengenai mengenai program-program yang dipakai untuk menghasilkan pohon. Ditunggu yaa ^^/

Regards,
Victor Apriel

Minggu, 06 Mei 2012

Sebuah Tulisan Evolusi dan Filogeni: Phylogenetic Inference (Part I)

Instantaneous rate Matrix or oftenly said as Q-Matrix
Kembali lagi bersama saia dalam artikel Bukan Tulisan Ilmiah. Masih terkait dengan tema Sebuah Tulisan Evolusi dan Filogeni, kali ini saia akan bercerita mengenai hal paling menarik dalam mempelajari evolusi dan filogeni. Yup, apalagi kalau bukan rekonstruksi pohon filogeni itu sendiri...horeeee...woow...woow...

Ehem....yasuda kita mulai sajah. Rekonstruksi pohon filogeni/filogenetik sepertinya memang menjadi tujuan utama setiap orang yang bermain di bidang evolusi dan filogeni. Ketika pohon tersebut selesai direkonstruksi, rasanya kita menjadi seperti penguasa dunia yang dapat menjawab segalanya dari masa lalu, masa kini, hingga masa depan. Memang tidak menutup kemungkinan untuk melakukan hal-hal itu, namun dengan asumsi bahwa pohon kita memang merupakan pohon sejarah evolusi yang benar. Lantas apakah mendapatkan pohon yang benar itu susah? Yaa susah-susah-gampang sih, lebih banyak susah ketimbang gampangnya. Ada dua faktor yang harus diperhatikan dalam proses rekonstruksi pohon, yakni topologi pohon dan branch length (sebenarnya mau saia artikan sebagai "panjang dahan" tapi kok rasanya aneh yah...).

1. Topologi Pohon
Topologi pohon itu sebenarnya menekankan pada bentukan pohon yang menghubungkan kekerabatan organisme yang kita bandingkan. Ada 2 jenis pohon filogeni, yakni rooted (berakar) dan unrooted (tidak berakar). Pohon rooted menggambarkan awal mula proses evolusi hingga menghasilkan keanekaragaman di waktu sekarang ini, sedangkan pohon unrooted hanya menggambarkan hubungan kekerabatan tanpa menyatakan awal mula proses evolusinya. Nah dalam upaya kita mencari topologi pohon yang benar, kita akan bermain dengan kemungkinan. Permasalahnnya disini terletak pada jumlah topologi pohon yang mungkin dapat dibuat seiring dengan meningkatnya jumlah organisme yang kita bandingkan. Pada tingkatan 3 organisme, maka akan terdapat 3 kemungkinan pohon rooted dan 1 pohon unrooted. Meningkat pada pembandingan 10 organisme, maka akan terdapat 34.459.425 pohon rooted dan 2.027.025 pohon unrooted yang mungkin direkonstruksi!!! Suatu hal yang sulit dari segi komputasi, namun merupakan suatu permasalahan yang dianggap kecil dalam konteks filogenetik.

2. Branch Length
Branch length menggambarkan seberapa jauh/dekat kekerabatan antar organisme dalam pohon filogeni. Semakin panjang branch length-nya berarti kekerabatan antar mereka semakin jauh. Nah seperti dimensi panjang fisik yang memiliki satuan meter, kilometer atau sentimeter serta dimensi berat yang memiliki satuan gram atau kilogram, lantas apa satuan untuk branch length ini? Branch length memiliki satuan panjang berupa observed distance (p) yang didefinisikan sebagai besarnya indeks total perbedaan nukleotida/asam amino antar 2 urutan DNA/protein yang telah di-aligned.

Nah dalam kesempatan ini ijinkan saia untuk menjelaskan mengenai branch length terlebih dahulu sebelum kita memasuki proses pemilihan topologi pohon. Perhitungan branch length dilakukan dengan bantuan model evolusi dan model tersebut berbeda dalam perhitungan branch length DNA dengan protein. Pada urutan DNA kita mengenal adanya 4 jenis nukleotida, yakni A, T, G, dan C. Nah perhitungan observed distance (p) dalam suatu model evolusi ini mempertimbangkan kemungkinan substitusi dari satu jenis nukleotida ke nukleotida lainnya. Saia tidak akan menjelaskan persamaan matematik-statistik nya disini karena suatu alasan yang mudah...saia pun kesulitan memahaminya...hahaha.

Ada berbagai macam model evolusi yang dikenal dalam perhitungan indeks p untuk urutan DNA. Dimulai dari yang paling sederhana, yakni Jukes-Cantor one-parameter model (disingkat juga sebagai JC69), kemudian Kimura 2-parameter model (K80), Felsenstein model (F81 & F84), Hasegawa-Kishino-Yano (HKY85), Tamura-Nei (TN93), dan terakhir adalah General Time Reversible (GTR). Lalu apa bedanya antar satu model dengan yang lain? Perbedaannya terletak pada 3 hal, yakni frekuensi setiap jenis nukleotida (phi), laju rerata substitusi dari 1 jenis nukleotida ke nukleotida lainnya (miu), dan indeks perubahan relatif yang berarti seberapa sering perubahan dari nukleotida satu ke lainnya jika dibandingkan dengan perubahan yang lainnya (a-l).

Nah model kita yang paling sederhana, yakni JC69 mengasumsikan semua laju perubahan rerata yang sama terhadap semua jenis nukleotida. Itu artinya model JC69 memasukkan nilai yang sama untuk parameter indeks perubahan relatif (1/4 untuk setiap jenis nukleotida), kemudian memberikan nilai yang sama pada parameter 'miu'. Nilai 'phi' tidak diperhitungkan dalam model karena parameter tersebut bergantung pada urutan DNA yang akan diperbandingkan. Selanjutnya Oom Kimura mengembangkan model ini lebih lanjut berdasarkan kenyataan bahwa laju transversi (A<->T dan C<->G) lebih rendah dibandingkan laju transisi (A<->G dan C<->T). Dengan demikian model evolusi Oom Kimura menekankan perbedaan nilai 'miu' dan indeks perubahan relatif antara jenis substitusi yang berupa transversi dan transisi (untuk yang bingung mengenai istilahnya bisa dicari di Wikipedia yah).

Model selanjutnya mempertimbangkan adanya perbedaan laju antar transisi dan antar transversi. Seperti yang kita ketahui terdapat 2 macam transisi (A<->G dan C<->T) serta 2 macam transversi (A<->T dan C<->G). Perbedaan antar laju dari setiap jenis transisi dan transversi inilah yang menjadi dasar model evolusi Tamura-Nei (TN93). Pada akhirnya apabila pertimbangan mengenai adanya perbedaan dalam setiap jenis perubahan nukleotida baik dalam hal laju rerata dan perubahan relatif, itulah yang mendasari lahirnya model evolusi yang terkenal sekarang ini, yakni General Time Reversible (GTR).

Nah indeks p yang dihasilkan menggunakan model-model evolusi diatas menjadi dasar dalam algoritme rekonstruksi pohon filogenetik. Namun demikian ada juga algoritme rekosntruksi pohon yang menggunakan atau juga tidak menggunakan indeks p ini untuk menghasilkan pohonnya. Ingin tahu lebih lanjut? Tunggu tulisan berikutnya yah.....

Regards,
Victor Apriel