Kamis, 21 Juni 2012

Bioinformatika

Pengertian Bioinformatika
Bioinformatika adalah ilmu yang mempelajari penerapan teknik komputasional untuk mengelola dan menganalisis informasi biologis. Bidang ini mencakup penerapan metode-metode matematika, statistika, dan informatika untuk memecahkan masalah-masalah biologis, terutama dengan menggunakan sekuens DNA dan asam amino serta informasi yang berkaitan dengannya. Contoh topik utama bidang ini meliputi basis data untuk mengelola informasi biologis, penyejajaran sekuens, prediksi struktur untuk meramalkan bentuk struktur protein maupun struktur sekunder RNA, analisis filogenetik, dan analisis ekspresi gen.

Kemampuan untuk memahami dan memanipulasi kode genetik DNA ini sangat didukung oleh teknologi informasi melalui perkembangan hardware dan soffware. Baik pihak pabrikan sofware dan harware maupun pihak ketiga dalam produksi perangkat lunak. Salah satu contohnya dapat dilihat pada upaya Celera Genomics, perusahaan bioteknologi Amerika Serikat yang melakukan pembacaan sekuen genom manusia yang secara maksimal memanfaatkan teknologi informasi sehingga bisa melakukan pekerjaannya dalam waktu yang singkat (hanya beberapa tahun).
Sejarah Bioinformatika
                 
    Bioinformatika pertamakali dikemukakan pada pertengahan 1980an untuk mengacu kepada penerapan ilmu komputer dalam bidang biologi. Meskipun demikian, penerapan bidang-bidang dalam bioinformatika seperti pembuatan pangkalan data dan pengembangan algoritma untuk analisis sekuens biologi telah dilakukan sejak tahun 1960an.
Kemajuan teknik biologi molekuler dalam mengungkap sekuens biologi protein (sejak awal 1950an) dan asam nukleat (sejak 1960an) mengawali perkembangan pangkalan data dan teknik analisis sekuens biologi. Pangkalan data sekuens protein mulai dikembangkan pada tahun 1960an di Amerika Serikat, sementara pangkalan data sekuens DNA dikembangkan pada akhir 1970an di Amerika Serikat dan Jerman pada Laboratorium Biologi Molekuler Eropa (European Molecular Biology Laboratory).
Penemuan teknik sekuensing DNA yang lebih cepat pada pertengahan 1970an menjadi landasan terjadinya ledakan jumlah sekuens DNA yang dapat diungkapkan pada 1980an dan 1990an. Hal ini menjadi salah satu pembuka jalan bagi proyek-proyek pengungkapan genom, yang meningkatkan kebutuhan akan pengelolaan dan analisis sekuens, dan pada akhirnya menyebabkan lahirnya bioinformatika.
Perkembangan jaringan internet juga mendukung berkembangnya bioinformatika. Pangkalan data bioinformatika yang terhubungkan melalui internet memudahkan ilmuwan dalam mengumpulkan hasil sekuensing ke dalam pangkalan data tersebut serta memperoleh sekuens biologi sebagai bahan analisis. Selain itu, penyebaran program-program aplikasi bioinformatika melalui internet memudahkan ilmuwan dalam mengakses program-program tersebut dan kemudian memudahkan pengembangannya.
KONDISI DAN PENERAPAN BIOINFORMATIKA DI INDONESIA
Kondisi Bioinformatika di Indonesia
Di Indonesia, Bioinformatika masih belum dikenal oleh masyarakat luas. Hal ini dapat dimaklumi karena penggunaan komputer sebagai alat bantu belum merupakan budaya. Bahkan di kalangan peneliti sendiri, barangkali hanya para peneliti biologi molekul yang sedikit banyak mengikuti perkembangannya karena keharusan menggunakan perangkat-perangkat Bioinformatika untuk analisa data. Sementara dikalangan TI masih kurang mendapat perhatian. Ketersediaan database dasar (DNA, protein) yang bersifat terbuka/gratis merupakan peluang besar untuk menggali informasi berharga daripadanya. Database genom manusia sudah disepakati akan bersifat terbuka untuk seluruh kalangan, sehinggadapat digali/diketahui kandidat-kandidat gen yang memiliki potensi kedokteran/farmasi. Dari sinilah Indonesia dapat ikut berperan mengembangkan Bioinformatika. Kerjasama antara peneliti bioteknologi yang memahami makna biologis data tersebut dengan praktisiTI seperti programmer, dan sebagainya akan sangat berperan dalam kemajuan Bioinformatika Indonesia nantinya.

Penerapan Bioinformatika di Indonesia
Sebagai kajian yang masih baru, Indonesia seharusnya berperan aktif dalam mengembangkan Bioinformatika ini. Paling tidak, sebagai tempat tinggal lebih dari 300 suku bangsa yang berbeda akan menjadi sumber genom, karena besarnya variasi genetiknya. Belum lagi variasi species flora maupun fauna yang berlimpah. Memang ada sejumlah pakar yang telah mengikuti perkembangan Bioinformatikaini, misalnya para peneliti dalam Lembaga Biologi Molekul Eijkman. Mereka cukup berperan aktif dalam memanfaatkan kajian Bioinformatika. Bahkan, lembaga ini telah memberikan beberapa sumbangan cukup berarti, antara lain:

Deteksi Kelainan Janin
Lembaga Biologi Molekul Eijkman bekerja sama dengan Bagian Obstetri danGinekologi Fakultas Kedokteran Universitas Indonesia dan Rumah Sakit CiptoMangunkusumo sejak November 2001 mengembangkan klinik genetik untuk mendeteksisecara dini sejumlah penyakit genetik yang menimbulkan gangguan pertumbuhan fisik maupun retardasi mental seperti antara lain, talasemia dan sindroma down. Kelainan ini bisa diperiksa sejak janin masih berusia beberapa minggu.Talasemia adalah penyakit keturunan di mana tubuh kekurangan salah satu zat pembentuk hemoglobin (Hb) sehingga mengalami anemia berat dan perlu transfusi darahseumur hidup. Sedangkan sindroma down adalah kelebihan jumlah untaian di kromosom21 sehingga anak tumbuh dengan retardasi mental, kelainan jantung, pendengaran dan penglihatan buruk, otot lemah serta kecenderungan menderita kanker sel darah putih(leukemia).Dengan mengetahui sejak dini, pasangan yang hendak menikah, atau pasanganyang salah satunya membawa kelainan kromosom, atau pasangan yang mempunyai anak yang menderita kelainan kromosom, atau penderita kelainan kromosom yang sedang hamil, atau ibu yang hamil di usia tua bisa memeriksakan diri dan janin untuk memastikan apakah janin yang dikandung akan menderita kelainan kromosom atau tidak,sehingga mempunyai kesempatan untuk mempertimbangkan apakah kehamilan akan diteruskan atau tidak setelah mendapat konseling genetik tentang berbagai kemungkinan yang akan terjadi. Di bidang talasemia, Eijkman telah memiliki katalog 20 mutasi yang mendasaritalasemia beta di Indonesia, 10 di antaranya sering terjadi. Lembaga ini juga mempunyaiinformasi cukup mengenai spektrum mutasi di berbagai suku bangsa yang sangat bervariasi. Talasemia merupakan penyakit genetik terbanyak di dunia termasuk diIndonesia.

Pengembangan Vaksin Hepatitis B Rekombinan
Lembaga Biologi Molekul Eijkman bekerja sama dengan PT Bio Farma (BUMNDepartemen Kesehatan yang memproduksi vaksin) sejak tahun 1999 mengembangkan vaksin Hepatitis B rekombinan, yaitu vaksin yang dibuat lewat rekayasa genetika. Selain itu Lembaga Eijkman juga bekerja sama dengan PT Diagnosia Dipobiotek untuk mengembangkan kit diagnostik.

Meringankan Kelumpuhan dengan Rekayasa RNA
Kasus kelumpuhan distrofi (Duchenne Muscular Dystrophy) yang menurun kinidapat dikurangi tingkat keparahannya dengan terapi gen. Kelumpuhan ini akibat ketidak normalan gen distrofin pada kromosom X sehingga hanya diderita anak laki-laki. Diperkirakan satu dari 3.500 pria di dunia mengalami kelainan ini.Dengan memperbaiki susunan ekson atau bagian penyusun RNA gen tersebut pada hewan percobaan tikus, terbukti mengurangi tingkat kelumpuhan saat pertumbuhannya menjadi dewasa.Gen distrofin pada kasus kelumpuhan paling sering disebabkan oleh delesi atau hilangnya beberapa ekson pada gen tersebut. Normalnya pada gen atau DNA distrofinte rdapat 78 ekson. Diperkirakan 65 persen pasien penderita DMD mengalami delesicdalam jumlah besar dalam gen distrofinnya. Kasus kelumpuhan ini dimulai pada otot prosima seperti pangkal paha dan betis. Dengan bertambahnya usia kelumpuhan akan meluas pada bagian otot lainnya hingga ke leher. Karena itu dalam kasus kelumpuhan yang berlanjut dapat berakibat kematian. Teknologi rekayasa RNA seperti proses penyambungan ( slicing ) ekson dalam satu rangkaian terbukti dapat mengoreksi mutasi DMD. Bila bagian ekson yang masih ada disambung atau disusun ulang, terjadi perubahan asam amino yang membentuk  protein. Molekul RNA mampu mengenali molekul RNA lainnya dan melekat dengannya.

CABANG-CABANG YANG TERKAIT DENGAN BIOINFORMATIKA
             
Dari pengertian Bioinformatika yang telah dijelaskan, kita dapat menemukan banyak terdapat banyak cabang-cabang disiplin ilmu yang terkait dengan Bioinformatika, terutama karena bioinformatika itu sendiri merupakan suatu bidang interdisipliner. Hal tersebut menimbulkan banyak pilihan bagi orang yang ingin mendalami Bioinformatika.
  • Biophysics

Adalah sebuah bidang interdisipliner yang mengalikasikan teknik-teknik dari ilmu Fisika untuk memahami struktur dan fungsi biologi (British Biophysical Society). Disiplin ilmu ini terkait dengan Bioinformatika karena penggunaan teknik-teknik dari ilmu Fisika untuk memahami struktur membutuhkan penggunaan TI.
  • Computational Biology

Computational biology merupakan bagian dari Bioinformatika (dalam arti yang paling luas) yang paling dekat dengan bidang Biologi umum klasik. Fokus dari computational biology adalah gerak evolusi, populasi, dan biologi teoritis daripada biomedis dalam molekul dan sel.
  • Medical Informatics

Menurut Aamir Zakaria [ZAKARIA2004] Pengertian dari medical informatics adalah “sebuah disiplin ilmu yang baru yang didefinisikan sebagai pembelajaran, penemuan, dan implementasi dari struktur dan algoritma untuk meningkatkan komunikasi, pengertian dan manajemen informasi medis.” Medical informatics lebih memperhatikan struktur dan algoritma untuk pengolahan data medis, dibandingkan dengan data itu sendiri. Disiplin ilmu ini, untuk alasan praktis, kemungkinan besar berkaitan dengan data-data yang didapatkan pada level biologi yang lebih “rumit”.
  • Cheminformatics

Cheminformatics adalah kombinasi dari sintesis kimia, penyaringan biologis, dan pendekatan data-mining yang digunakan untuk penemuan dan pengembangan obat (Cambridge Healthech Institute’s Sixth Annual Cheminformatics conference). Kemungkinan penggunaan TI untuk merencanakan secara cerdas dan dengan mengotomatiskan proses-proses yang terkait dengan sintesis kimiawi dari komponenkomponen pengobatan merupakan suatu prospek yang sangat menarik bagi ahli kimia dan ahli biokimia.
  • Genomics

Genomics adalah bidang ilmu yang ada sebelum selesainya sekuen genom, kecuali dalam bentuk yang paling kasar. Genomics adalah setiap usaha untukmenganalisa atau membandingkan seluruh komplemen genetik dari satu spesies atau lebih. Secara logis tentu saja mungkin untuk membandingkan genom-genom dengan membandingkan kurang lebih suatu himpunan bagian dari gen di dalam genom yang representatif.
  • Mathematical Biology

Mathematical biology juga menangani masalah-masalah biologi, namun metode yang digunakan untuk menangani masalah tersebut tidak perlu secara numerik dan tidak perlu diimplementasikan dalam software maupun hardware.
Menurut Alex Kasman [KASMAN2004] Secara umum mathematical biology melingkupi semua ketertarikan teoritis yang tidak perlu merupakan sesuatu yang beralgoritma, dan tidak perlu dalam bentuk molekul, dan tidak perlu berguna dalam menganalisis data yang terkumpul.
  • Proteomics

Istilah proteomics pertama kali digunakan untuk menggambarkan himpunan dari protein-protein yang tersusun (encoded) oleh genom. Michael J. Dunn [DUNN2004], mendefiniskan kata “proteome” sebagai: “The PROTEin complement of the genOME“. Dan mendefinisikan proteomics berkaitan dengan: “studi kuantitatif dan kualitatif dari ekspresi gen di level dari protein-protein fungsional itu sendiri”. Yaitu: “sebuah antarmuka antara biokimia protein dengan biologi molekul”.
  • Pharmacogenomics

Pharmacogenomics adalah aplikasi dari pendekatan genomik dan teknologi pada identifikasi dari target-target obat. Contohnya meliputi menjaring semua genom untuk penerima yang potensial dengan menggunakan cara Bioinformatika, atau dengan menyelidiki bentuk pola dari ekspresi gen di dalam baik patogen maupun induk selama terjadinya infeksi, atau maupun dengan memeriksa karakteristik pola-pola ekspresi yang ditemukan dalam tumor atau contoh dari pasien untuk kepentingan diagnosa (kemungkinan untuk mengejar target potensial terapi kanker).
Istilah pharmacogenomics digunakan lebih untuk urusan yang lebih “trivial” — tetapi dapat diargumentasikan lebih berguna– dari aplikasi pendekatan Bioinformatika pada pengkatalogan dan pemrosesan informasi yang berkaitan dengan ilmu Farmasi dan Genetika, untuk contohnya adalah pengumpulan informasi pasien dalam database.
  • Pharmacogenetics

Pharmacogenetics adalah bagian dari pharmacogenomics yang menggunakan metode genomik/Bioinformatika untuk mengidentifikasi hubungan-hubungan genomik, contohnya SNP (Single Nucleotide Polymorphisms), karakteristik dari profil respons pasien tertentu dan menggunakan informasi-informasi tersebut untuk memberitahu administrasi dan pengembangan terapi pengobatan.
Gambaran dari sebagian bidang-bidang yang terkait dengan Bioinformatika di atas memperlihatkan bahwa Bioinformatika mempunyai ruang lingkup yang sangat luas dan mempunyai peran yang sangat besar dalam bidangnya. Bahkan pada bidang pelayanan kesehatan Bioinformatika menimbulkan disiplin ilmu baru yang menyebabkan peningkatan pelayanan kesehatan.
Sumber:


Parallel Processing


Pada pertemuan k-3 matakuliah softskil saya akan membahas tentang Parallel Processing..
Apa itu Parallel Processing?

 Pemrosesan paralel (parallel processing) adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan. Idealnya, parallel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam praktek,seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU yang berbea-beda tanpa berkaitan di antaranya
Parallel processing berbeda dengan multitasking, yaitu satu CPU mengeksekusi beberapa program sekaligus. Parallel processing disebut juga parallel computing.

Contoh struktur pengiriman permintaan dan jawaban dari parallel processin

Komputasi 
  Secara umum iIlmu komputasi adalah bidang ilmu yang mempunyai perhatian pada penyusunan model matematika dan teknik penyelesaian numerik serta penggunaan komputer untuk menganalisis dan memecahkan masalah-masalah ilmu (sains). Dalam penggunaan praktis, biasanya berupa penerapan simulasi komputer atau berbagai bentuk komputasi lainnya untuk menyelesaikan masalah-masalah dalam berbagai bidang keilmuan, tetapi dalam perkembangannya digunakan juga untuk menemukan prinsip-prinsip baru yang mendasar dalam ilmu.

Pemrograman paralel
  adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU. Tujuan utama dari pemrograman paraleladalah untuk meningkatkan performa komputasi. Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang sama), semakin banyak pekerjaan yang bisa diselesaikan.
Komputasi paralel membutuhkan:
·algoritma
·bahasa pemrograman
·compile

Paralel prosessing komputasi
  adalah proses atau pekerjaan komputasi di komputer denganmemakai suatu bahasa pemrograman yang dijalankan secara paralel pada saat bersamaan. Secara umum komputasi paralel diperlukan untuk meningkatkan kecepatan komputasi biladibandingkan dengan pemakaian komputasi pada komputer tunggal.Berikut ini adalah gambar perbedaan antara komputasi tunggal dengan parallel komputasi :



a)Komputasi Tunggal / serial 
b)Komputasi Paralel

Message Passing Interface (MPI).
  MPI adalah sebuah standard pemrograman yang memungkinkan pemrogram untuk membuatsebuah aplikasi yang dapat dijalankan secara paralel. Proses yang dijalankan oleh sebuah aplikasidapat dibagi untuk dikirimkan ke masing - masing compute node yang kemudian masing -masing compute node tersebut mengolah dan mengembalikan hasilnya ke komputer head node.Untuk merancang aplikasi paralel tentu membutuhkan banyak pertimbangan - pertimbangandiantaranya adalah latensi dari jaringan dan lama sebuah tugas dieksekusi oleh prosesor.
  MPI ini merupakan standard yang dikembangkan untuk membuat aplikasi pengirim pesan secara portable. Sebuah komputasi paralel terdiri dari sejumlah proses, dimana masing-masing bekerja pada beberapa data lokal. Setiap proses mempunyai variabel lokal, dan tidak ada mekanismesuatu proses yang bisa mengakses secara langsung memori yang lain. Pembagian data antar  proses dilakukan dengan message passing, yaitu dengan mengirim dan menerima pesan antar  proses.MPI menyediakan fungsi-fungsi untuk menukarkan antar pesan. Kegunaan MPI yang lain adalah1. menulis kode paralel secara portable,2. mendapatkan performa yang tinggi dalam pemrograman paralel, dan3. menghadapi permasalahan yang melibatkan hubungan data irregular atau dinamis yang tidak  begitu cocok dengan model data paralel.
  PVM (Parallel Virtual Machine)
Adalah paket software yang mendukung pengiriman pesan untuk komputasi parallel antar komputer. PVM dapat berjalan diberbagai macam variasi UNIX atau pun windows dan telah portable untuk banyak arsitektur seperti PC, workstation, multiprocessor dan superkomputer.Sistem PVM terbagi menjadi dua. Pertama adalah daemon, pvmd, yang berjalan pada mesinvirtual masing-masing komputer. Mesin virtual akan dibuat, ketika User mengeksekusi aplikasiPVM. PVM dapat dieksekusi melalui prompt UNIX disemua host. Bagian kedua adalah libraryinterface rutin yang mempunyai banyak fungsi untuk komunikasi antar task . Library ini berisikan rutin yang dapat dipanggil untuk pengiriman pesan, membuat proses baru, koordinasitask dan konfigurasi mesin virtual.Salah aturan main yang penting dalam PVM adalah adanya mekanisme program master danslave/worker. Programmer harus membuat Kode master yang menjadi koordinator proses danKode slave yang menerima, menjalankan, dan mengembalikan hasil proses ke komputer master.Kode master dieksekusi paling awal dan kemudian melahirkan proses lain dari kode master.Masing-masing program ditulis menggunakan C atau Fortran dan dikompilasi dimasing-masingkomputer. Jika arsitektur komputer untuk komputasi paralel semua sama, (misalnya pentium 4 semua), maka program cukup dikompilasi pada satu komputer saja. Selanjutnya hasil kompilasididistribusikan kekomputer lain yang akan menjadi node komputasi parallel. Program master hanya berada pada satu node sedangkan program slave berada pada semua node.
  Komunikasi dapat berlangsung bila masing-masing komputer mempunyai hak akses kefilesystem semua komputer. Akses kefile system dilakukan melalui protokol rsh yang berjalan diunix atau windows. Berikut adalah langkah pengaturan pada masing-masing komputer :
1. Buat file hostfile yang berisi daftar node komputer dan nama user yang akan dipakai untuk komputasi parallel. Bila nama user pada semua komputer sama misalnya nama user riset padakomputer C1, C2,C3 dan C4, maka hostfile ini boleh tidak ada. Hostfile ini dapat digunakan bilanama user di masing-masing komputer berbeda.
2. Daftarkan IP masing-masing komputer pada file /etc/hosts/hosts.allow dan/etc/hosts/hosts.equiv.
3. Penambahan dan penghapusan host secara dinamis dapat dilakukan melalui konsole PVM.Bila IP tidak didefinisikan pada hostfile¸ cara ini dapat digunakan.
Program PVM terdiri dari master dan slave, dimana program master dieksekusi paling awal dankemudian melahirkan proses lain. PVM memanggil rutin pvm_spawn() untuk melahirkan satuatau dua proses lebih yang sama. Fungsi-fungsi untuk PVM versi bahasa C mempunyai rutinawalan pvm. Pengiriman dan penerimaan task diidentifikasi dengan TID (Task Identifier). TIDini bersifat unik dan digenerate oleh pvmd lokal. PVM berisi beberapa rutine yangmengembalikan nilai TID sehingga aplikasi user dapat mengidentifikasi task lain disistem

Secara umum, langkah implementasi komputasi parallel sebagai berikut :
1. Jalankan PVM daemon pada setiap mesin dalam cluster
2. Jalankan program master pada master daemon3. Master daemon akan menjalankan proses slave



Hubungan Komputasi Modern dengan Parallel Proseccing
  Kinerja Parallel komputasi digunakan untuk melakukan perhitungan komputasi dengan menggunakan 2 atau lebih CPU atau Processor dalam suatu komputer yang sama atau komputer yang berbeda dimana dalam hal ini setiap instruksi dibagi kedalam beberapa instruksi kemudian dikirim ke processor yang terlibat komputasi dan dilakukan secara bersamaan. Untuk proses pembagian proses komputasi tersebut dilakukan oleh suatu software yang betugas untuk mengatur komputasi. Terdapat dua jenis kinerja parallel processing yaitu Multi-core dan PC Clustering. Sehingga paralel processing dapat mempercepat waktu penyelesaian masalah komputasi karena proses dijalankan secara paralel dengan beberapa processor/komputer dengan tujuan/algoritma yang sama. Banyaknya jumlah komputer/prosessor untuk paralel processing, proses komputasi menjadi lebih cepat.


sumber:

http://ghani.gxrg.org/2011/04/01/kinerja-komputasi-dengan-parallel-processing/