DYNAMMIC PROGRAMMING DALAM MENENTUKAN ARTI URUTAN UNTAIAN GEN

dokumen-dokumen yang mirip
Penerapan Algoritma Program Dinamis pada Penyejajaran Sekuens dengan Algoritma Smith Waterman

IMPLEMENTASI PROGRAM DINAMIS DENGAN ALGORITMA NEEDLEMAN-WUNSCH PADA PENSEJAJARAN DNA DAN PROTEIN

ABSTRAK. Kata kunci: DNA, bioinformatika, sekuens, Needleman-Wunsch, Lempel-Ziv, algoritma pensejajaran DNA, frase sempurna

Pendekatan Dynamic Programming untuk Menyelesaikan Sequence Alignment

Implementasi Pencocokan String Tidak Eksak dengan Algoritma Program Dinamis

BAB I PENDAHULUAN. ditentukan upaya yang efektif untuk mengatasi virus tersebut.

Penerapan Algoritma Needleman-Wunsch sebagai Salah Satu Implementasi Program Dinamis pada Pensejajaran DNA dan Protein

Sequence Alignment Menggunakan Algoritma Smith Waterman 1

Penyelesaian Persoalan Penukaran Uang dengan Program Dinamis

Program Dinamis untuk Menyelesaikan Sequence Alignment

Penyelesaian Sum of Subset Problem dengan Dynamic Programming

PENGENALAN BIOINFORMATIKA

BAB II TINJAUAN PUSTAKA. seolah-olah karya orang lain tersebut adalah karya kita dan mengakui hasil

APLIKASI DYNAMIC PROGRAMMING DALAM ALGORITMA NEEDLEMAN-WUNSCH UNTUK PENJAJARAN DNA DAN PROTEIN

Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking

Pembuatan Program Aplikasi untuk Pendeteksian Kemiripan Dokumen Teks dengan Algoritma Smith-Waterman

BAB I PENDAHULUAN. I.1. Latar Belakang

Penerapan Algoritma Pencocokan String Boyer-Moore dan Knuth-Morris-Pratt (KMP) dalam Pencocokkan DNA

Penggunaan Algoritma Runut-balik Pada Pencarian Solusi dalam Persoalan Magic Square

PENCARIAN CITRA BERDASARKAN BENTUK DASAR TEPI OBJEK DAN KONTEN HISTOGRAM WARNA LOKAL

PENGGUNAAN ALGORITMA BRANCH AND BOUND UNTUK MENYELESAIKAN PERSOALAN PENCARIAN JALAN (PATH-FINDING)

PENERAPAN ALGORITMA SMITH-WATERMAN DALAM SISTEM PENDETEKSI KESAMAAN DOKUMEN. Intisari

IMPLEMENTASI ALGORITMA LAYER-BY-LAYER UNTUK MENYELESAIKAN RUBIK S CUBE DALAM KODE PROGRAM

Pemrograman Dinamis dalam Kedokteran Forensik

Pengantar Komputasi Modern

Bioinformatika. Aplikasi Bioinformatika dalam Virologi

Pemanfaatan Algoritma Runut-Balik dalam Menyelesaikan Puzzle NeurOn dalam Permainan Logical Cell

Jurnal Pengabdian pada Masyarakat No. 52 Tahun 2011, ISSN:

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN WORD SEARCH PUZZLE

SOLUSI PERMAINAN CHEMICALS DENGAN ALGORITMA RUNUT BALIK

PENCARIAN SHORTEST PATH DINAMIK DENGAN ALGORITMA BELLMAN-BASED FLOOD-FILL DAN IMPLEMENTASINYA PADA ROBOT MICROMOUSE

BAB II LANDASAN TEORI

PENGGUNAAN EXHAUSTIVE SEARCH SEBAGAI SOLUSI PERMAINAN SCRAMBLE

Algoritma Pencarian String Knuth-Morris-Pratt Dalam Pengenalan Tulisan Tangan

Perbandingan Needleman-Wunsch dan Lempel-Ziv dalam Teknik Global Sequence Alignment: Keunggulan Faktorisasi Sempurna

KNAPSACK PROBLEM DENGAN ALGORITMA GENETIKA

KOMPARASI SEKUENS DNA PADA VIRUS H5N1 PADA HOST MANUSIA DAN BURUNG MENGGUNAKAN METODE DIAGRAM POHON

Journal of Informatics and Technology, Vol 1, No 1, Tahun 2012, p

PENCARIAN SOLUSI TTS ANGKA DENGAN ALGORITMA RUNUT BALIK BESERTA PENGEMBANGANNYA

PENGGUNAAN ALGORITMA BACKTRACKING DALAM PENCARIAN KOEFISIEN ROOK POLYNOMIAL

Penggabungan Algoritma Brute Force dan Backtracking dalam Travelling Thief Problem

I. PENGENALAN NATIONAL CENTRE FOR BIOTECHNOLOGY INFORMATION (NCBI)

Algoritma Huffman dan Kompresi Data

ALGORITMA RUNUT BALIK DALAM PENYELESAIAN PERMAINAN WORD DIAGRAM

Pensejajaran Rantai DNA Menggunakan Algoritma Dijkstra

Solusi Terbaik Permainan Rocket Mania Deluxe dengan Pendekatan Algoritma BFS dan Algoritma Greedy

KARYA ILMIAH BIOINFORMATIKA MENJELMA MENJADI BISNIS BESAR

Aplikasi Algoritma Branch and Bound dalam Pencarian Solusi Optimum Job Assignment Problem

Strategi Algoritma Penyelesaian Puzzle Hanjie

Aswin Swastika¹, Z.k. Abdurahman Baizal², Rimba Widhiana Ciptasari³. ¹Teknik Informatika, Fakultas Teknik Informatika, Universitas Telkom

Penerapan Algoritma Exact Cover Problem pada Persoalan Pentomino Puzzle

Steganografi dalam Penurunan dan Pengembalian Kualitas Citra konversi 8 bit dan 24 bit

PENJAJARAN LOKAL SEKUEN DNA MENGGUNAKAN ALGORITME SMITH-WATERMAN FARIZ ASHAR HIMAWAN

Penerapan Algoritma A-star (A*) Untuk Menyelesaikan Masalah Maze

PERMASALAHAN OPTIMASI 0-1 KNAPSACK DAN PERBANDINGAN BEBERAPA ALGORITMA PEMECAHANNYA

Auto-correct Menggunakan Program Dinamis

Aplikasi Algoritma B&B untuk Memperoleh Poin Maksimum pada Permainan Diner Dash

PENCOCOKAN DNA NR_ DAN DNA DI MENGGUNAKAN ALGORITMA BOYER MOORE

Perbandingan Algoritma Depth-First Search dan Algoritma Hunt-and-Kill dalam Pembuatan Labirin

Optimasi Enkripsi Teks Menggunakan AES dengan Algoritma Kompresi Huffman

PENCARIAN MAKSIMUM CLIQUE DALAM GRAF DENGAN MENGGUNAKAN ALGORITMA BRANCH AND BOUND

Analisis Penerapan Algoritma Backtracking Pada Pencarian Jalan Keluar di Dalam Labirin

Implementasi Logika Penurunan Persamaan Aritmatika pada Program Komputer

Penerapan Algoritma Pencocokan String Knuth-Morris-Pratt Sebagai Algoritma Pencocokan DNA

2015 ISOLASI DAN AMPLIFIKASI GEN PARSIAL MELANOCORTIN - 1 RECEPTOR (MC1R) PADA IKAN GURAME

Aplikasi dan Algoritma Penyelesaian Optimal dari Persoalan Tukang Pos Cina

Penerapan BFS dan DFS dalam Garbage Collection

BAB 2 LANDASAN TEORI

Perbandingan Algoritma Dijkstra dan Algoritma Floyd-Warshall dalam Penentuan Lintasan Terpendek (Single Pair Shortest Path)

Aplikasi Algoritma Pencarian String Dalam Sistem Pembayaran Parkir

Penerapan Algoritma Branch and Bound pada Penentuan Staffing Organisasi dan Kepanitiaan

PERBANDINGAN ALGORITMA KNUTH-MORRIS-PRATT, STRING MATCHING ON ORDERED ALPHABET, dan BOYER-MOORE dalam PENCARIAN UNTAI DNA

Implementasi Super Pairwise Alignment pada Global Sequence Alignment

Penerapan Algoritma Backtracking pada Pewarnaan Graf

Penerapan Algoritma Greedy Best First Search untuk Menyelesaikan Permainan Chroma Test : Brain Challenge

Penerapan Algoritma Brute Force pada Teka-teki Magic Square 3 x 3

ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO

Peranan Graf/Tree dalam sejarah perkembangan DNS Internet

Penyelesaian Permasalahan Nonogram dengan Algoritma Runut Balik

Teknik Konversi Berbagai Jenis Arsip ke Dalam bentuk Teks Terenkripsi

Perangkat Lunak Enkripsi Video MPEG-1 dengan Modifikasi Video Encryption Algorithm (VEA)

Algoritma Branch & Bound untuk Optimasi Pengiriman Surat antar Himpunan di ITB

BAB I PENDAHULUAN. sejumlah aktivitas kuliah dan batasan mata kuliah ke dalam slot ruang dan waktu

Optimalisasi Pengantaran Barang dalam Perdagangan Online Menggunakan Algoritma Genetika

KOMPRESI FILE MENGGUNAKAN ALGORITMA HUFFMAN KANONIK

Pemanfaatan Pohon Biner dalam Pencarian Nama Pengguna pada Situs Jejaring Sosial

Algoritma Brute Force dalam Pattern Matching pada Aplikasi Pendeteksian Potongan Citra

TATA TULIS JURNAL. Fakultas Teknik Elektro 1

Penggunaan Algoritma Brute Force dan Greedy dalam Permainan Atomas

2 TINJAUAN PUSTAKA. 2.1 Peringkasan Teks

ALGORITMA MENCARI LINTASAN TERPENDEK

Algoritma Brute Force (lanjutan)

Menyelesaikan Permainan Wordament Menggunakan Algoritma Backtracking

Pemecahan Masalah Longest Increasing Subsequence Memanfaatkan Program Dinamis dan Binary Search

Algoritma Brute Force(lanjutan) Lecture 6 CS3024

PERBANDINGAN APLIKASI ALGORITMA BRUTE-FORCE DAN KOMBINASI ALGORITMA BREADTH FIRST SEARCH DAN GREEDY DALAM PENCARIAN SOLUSI PERMAINAN TREASURE HUNT

Penerapan Algoritma DFS dan BFS untuk Permainan Wordsearch Puzzle

PENCARIAN SOLUSI DENGAN ALGORITMA BACKTRACKING UNTUK MENYELESAIKAN PUZZLE KAKURO

Penerapan Algoritma Boyer Moore-Dynamic Programming untuk Layanan Auto-Complete dan Auto-Correct

Transkripsi:

DYNAMMIC PROGRAMMING DALAM MENENTUKAN ARTI URUTAN UNTAIAN GEN David Soendoro Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung Alamat: Jalan Ganeca No. 10 Bandung e-mail: david.soendoro@gmail.com ABSTRAK Gen yang ditemukan dalam protein atau DNA (Deoxyribonucleic acid) merupakan urutan kode yang memberi arti sebagai sifat dasar makhluk hidup. Sebagai komponen terkecil kehidupan, pengartian DNA sangatlah sulit dan memiliki basis data yang sangat besar. Salah satu metode memastikan arti suatu sifat DNA adalah dengan membandingkannya dengan DNA yang telah diverifikasi sebelumnya yang disebut dengan sequence alignment atau penyusunan terurut. Seiring bertambahnya jumlah DNA yang diverifikasi maka lamanya proses pencarian juga meningkat dengan tajam. Dynamic programming dengan berbasiskan algoritma Needleman-Wunsch merupakan cara tercepat yang telah ditemukan untuk mengetahui arti suatu untaian protein tersebut karena dapat mengenali apakah untaian yang diproses akan menuju pada untaian yang dibandingkan atau tidak. Pembandingan ini dilakukan dengan menghitung kesamaan tiap jenis gen DNA yaitu A, T, G, atau C dan jaraknya. Jarak perlu diperhitungkan karena informasi yang dibawa DNA tidak seperti informasi buatan manusia, 2 buah untaian berbeda bisa saja memiliki arti yang sama karena terdapat banyak junk DNA yang merupakan dasar teori evolusi, lewat algoritma ini juga kita dapat menentukan kapan tepatnya terjadi evolusi makhluk hidup secara fungsional, struktural, bahkan pola hidup. Kata kunci: Dynamic Programming, Needleman- Wunsch, sequence alignment, DNA, gen. 1. PENDAHULUAN Sequence alignment merupakan hal yang akan dibahas pada makalah ini, sequence alignment berasal dari bahasa Inggris yang arti semantiknya adalah penjajaran urutan. Inti dari proses ini adalah mencari kemiripan antar dua buah untaian protein atau bisa dikatakan rentetan informasi. Kemiripan tersebut perlu diindikasikan agar kita dapat mengetahui sifat dari untaian protein tersebut karena untaian protein terus berubah akibat dari evolusi, mutasi, dan berbagai pengaruh kimia atau biologi lainnya. Gambar 1 Contoh dari sequence alignment 2 buah protein zinc dari jari manusia Bagaimanapun, dalam pembelajaran tentang gen para ilmuwan terus menyimpan arti untaian protein yang telah terverifikasi ke dalam basis data. Seiring dengan majunya ilmu genetis, basis data gen pun meningkat secara eksponensial, dapat dilihat peningkatan ukuran basis data yang diambil dari GenBank, DDBJ (DNA DataBank of Japan), dan EMBL (European Molecular Biology Laboratory). Gambar 2 Perkembangan basis data gen dari Januari 1995 hingga Januari 2003 Basis data sejumlah besar ini harus diakses seluruhnya pada saat mencoba mengidentifikasi sebuah untaian protein baru, dapat dibayangkan berapa lama waktu yang dibutuhkan bila kita tidak memiliki algoritma yang mangkus. Menjawab tantangan di atas, kita dapat menggunakan algoritma Dynamic Programming Needleman-Wunsch dalam mengenali untaian tersebut. Adapun algoritma ini menggunakan prinsip matematika sederhana yaitu menggunakan matriks singularitas berdasarkan hasil penelitian di mana gen A mudah

bermutasi menjadi G dan C menjadi T begitu pula sebaliknya sehingga membentuk matriks seperti tersebut - A G C T A 10-1 -3-4 G -1 7-5 -3 C -3-5 9 0 T -4-3 0 8 Gambar 3 Matriks singularitas gen Selanjutnya apabila kita membandingkan 2 buah untaian kita dapat menjumlahkan perbedaan-perbedaannya semakin besar nilainya maka semakin besar kemungkinan kedua untaian tersebut memiliki sifat yang sama atau merupakan hasil mutasi dari untaian yang lain. 2.2 Inisialisasi Langkah pertama dari membuat global alignment dynamic programming adalah dengan membuat matriks dengan besar (M+1) x (N+1) di mana M adalah panjang untaian pertama dan N adalah panjang untaian kedua. Contoh mengenai metode sequence alignment dengan algoritma Needleman-Wunsch akan diberikan secara berurut sepanjang makalah ini. Berikut adalah contoh inisialisasi dari 2 buah untaian gen di mana: Gen 1: GAATTCAGTTA Gen 2: GGATCGA Ongkos jarak kosong (w) = -5 2. METODE 2.1 Algoritma Needleman-Wunsch Kita dapat menemukan kemiripan antar untaian gen dengan menggunakan algoritma Needleman-Wunsch. Algoritma Needleman-Wunsch adalah algoritma yang merepresentasikan kemiripan dua buah untaian informasi secara keseluruhan dengan membuat kedua buah untaian menjadi sebuah tabel. Adapun algoritma ini terdiri dari 3 tahap penting yakni: 1. Inisialisasi 2. Mengisi Matriks 3. Runut Balik (Traceback) Hal yang harus diperhitungkan juga adalah jarak kosong atau gap pada untaian gen, oleh karenanya sesuai dengan prinsip Dynamic Programming maka harus ada beberapa hitungan matematis dalam tiap pengambilan keputusan, begitu pula dengan algoritma Needleman-Wunsch. Berikut adalah persamaan yang akan digunakan: dan S i,j = diambil dari matriks singularitas (1) w = ongkos jarak kosong (gap) (2) M i,j = MAXIMUM[M i-1, j-1 + S i,j, M i,j-1 + w, M i-1,j + w] (3) Apabila terdapat tabel ditulis seperti contoh berikut: 2.3 Mengisi Matriks Gambar 4 - Inisialisasi Matriks Dalam melakukan pengisian matriks terdapat beberapa cara, cara paling mudah dan awal digunakan dalam algoritma Needleman-Wunsch adalah mengisi penuh seluruh matriks dari kiri atas dengan kompleksitas O(mn). Pada perkembangannya terdapat algoritma Hirschberg yang mereduksi kompleksitas pengisian matriks ini menjadi O(m+n) namun algoritma ini tidak akan dibahas di sini, pada metode yang tertulis akan digunakan metode pengisian dari kiri atas. Sesuai dengan matriks singularitas pada Gambar 3 dan persamaan (3) kita akan dapat mengisikan matriks tersebut. Langkah pertama adalah mencari M 1,1 = MAXIMUM[(0 + 7), (0 + -5), (0 + -5)] = 7 maka M 1,1 = 7. Tabel x Judul tabel ditulis dengan huruf Times New Roman, 9 pt, Bold, center

Gambar 5 - Pengisian Matriks 1,1 Karena nilai maksimum berasal dari M i-1,j-1 + S i,j maka nilai traceback yang disimpan adalah ke kiri atas, apabila nilai berasal dari M i,j-1 + w maka traceback adalah atas dan M i-1,j + w maka traceback adalah kiri. Matriks akan terus diisi hingga seluruh matriks terpenuhi. 0 0 0 0 0 0 0 0 0 0 0 0 G 0 7 2-1 -3-3 -5-1 7 2-3 -1 G 0 7 6 1-4 -6-8 -6 6 4-1 -4 A 0 2 17 16 11 6 1 2 1 2 0 9 T 0-3 12 13 24 19 14 9 4 9 10 5 C 0-5 7 9 19 24 28 23 18 13 9 7 G 0 7 2 6 14 19 23 27 30 25 20 15 A 0 2 17 12 9 14 18 33 28 26 21 30 Gambar 6 - Hasil pengisian penuh matriks 2.4 Runut Balik (Traceback) Setelah mengisi penuh matriks maka langkah berikutnya yang harus kita lakukan adalah mencari persamaan terbaik dengan menyusuri matriks tersebut dari kanan bawah ke kiri atas untuk mencari nilai maksimum 0 0 0 0 0 0 0 0 0 0 0 G 0 7 2-1 -3-3 -5-1 7 2-3 G 0 7 6 1-4 -6-8 -6 6 4-1 A 0 2 17 16 11 6 1 2 1 2 0 T 0-3 12 13 24 19 14 9 4 9 10 C 0-5 7 9 19 24 28 23 18 13 9 G 0 7 2 6 14 19 23 27 30 25 20 Gambar 7 Runut balik pertama Langkah pertama dari runut balik adalah dari kanan bawah ke kiri atasnya sesuai dengan runut balik yang telah didapatkan dari pemenuhan matriks. Kemudian kita dapat memastikan bahwa letak alignment yang cocok dari untaian pertama dan kedua adalah A di akhir berada pada urutan yang sama, atau kita dapatkan: A A 7 Selanjutnya runut balik akan mengikuti lajur yang telah dibuat sebelumnya, apabila ada beberapa kemungkinan nilai maksimal maka kedua nilai tersebut harus ditelusuri karena memang algoritma dynamic programming dapat memberikan lebih dari 1 solusi. 0 0 0 0 0 0 G 0 7 2-1 -3-3 G 0 7 6 1-4 -6 A 0 2 17 16 11 6 T 0-3 12 13 24 19 Gambar 8 Runut balik pada persimpangan Dari runut balik sejauh ini kita telah memperoleh T C A G T T A T C _ G A Di mana apabila kita menemui persimpangan ke kiri atas mencatatnya dan bila persimpangan ke kiri atau ataus kita menganggapnya sebuah gap. Berikut di bawah ini merupakan kedua solusi yang diperoleh dari sequence alignment kedua untaian tersebut. Jawaban pertama: 0 G 7 G 6 A 16 T 24 19 Gambar 9 Kemungkinan pertama Untaian termirip pertama G G A T _ C _ G A Memiliki skor: 0 + 7 1 + 10 + 8 5 + 9 5 + 7 5 5 + 10 = 30 Jawaban kedua: 0 G 7 G 6 A 16 11 T 19 Gambar 10 Kemungkinan kedua

Untaian termirip kedua G G A _ T C _ G A Memiliki skor: 0 + 7 1 + 10 5 + 8 + 9 5 + 7 5 5 + 10 = 30 3. IMPLEMENTASI 3.1 Implementasi Sederhana Implementasi dapat dibuat dalam format GUI ataupun command prompt, bagaimanapun yang coba penulis buat di sini adalah sebuah implementasi algoritma Needleman- Wunsch sederhana dengan antarmuka command prompt dengan menggunakan bahasa Java dengan masukkan dua buah untaian informasi dalam format string dan keluaran berupa hasil sequence alignment seperti pada bab 2. Nama File: Needleman-Wunsch.Java array of integer 2 dimensi dari kedua untaian yang telah diperhitungkan. mengisi seluruh matriks dengan nilai yang tepat sesuai rumus yang dijelaskan di bab 2. convertstringtoarr untaian gen array of integer yang merepresentasikan untaian gen (contoh: A=0, G=1, C=2, T=3). mengkonversi untaian gen menjadi array of integer untuk mempermudah perhitungan. simular dua buah integer yang merepresentasikan gen mengambil nilai dari matriks singularitas berdasarkan gen yang diminta. mengembalikan nilai dari matriks singularitas sesuai dengan masukkan dua buah gen yang dibandingkan. 3.2 BLAST Gambar 11 - Tampilan program Adapun beberapa fungsi penting yang harus dibuat dalam mengimplementasi algoritma ini adalah: getalignments untaian pertama, array of integer 1 dimensi dari masing-masing untaian dan array of integer 2 dimensi dari kedua untaian. untaian hasil sequence alignment. runut balik array of integer 2 dimensi dari kedua untaian untuk mencari jawaban sequence alignment. calculatematrix array of integer untaian pertama dan kedua. BLAST atau singkatan dari Basic Local Alignment Search Tool merupakan program yang telah ada dan digunakan untuk membandingkan sekuens informasi biologi, bermacam kegunaan dalam riset gen telah dibuat berdasarkan program tersebut. BLAST juga merupakan program sequence alignment pertama di dunia (dibuat oleh Myers E. dkk. Pada tahun 1990), yang menggunakan pengembangan algoritma Smith-Waterman dan memiliki sedikit kemiripan dengan algoritma Needleman-Wunsch. Pada tahun 2009, BLAST kembali diluncurkan namun kini khusus untuk untaian protein dan diberi nama CS- BLAST. Penggunaan BLAST sangat banyak, hingga saat ini beberapa kegunaannya antara lain: identifikasi spesies, membuat pohon filogeni, memetakan DNA, pembandingan, dan melokasikan domains. BLAST dapat diakses di http://blast.ncbi.nlm.nih.gov/blast.cgi, berikut tampilan dari BLAST

4. KESIMPULAN Bioinformatika merupakan salah satu cabang ilmu Teknik Informatika yang sangat berkembang belakangan ini bersamaan dengan berkembangnya ilmu bioteknologi dan genetika. Penemuan-penemuan yang sebelumnya tidak dibayangkan seperti rekayasa genetika kini dapat kita raih dalam masa depan yang tidak lama lagi (near future). Terima kasih untuk bioinformatika yang mempercepat pendataan untaian-untaian gen dan mempercepat kemampuan kita belajar genetika secara eksponensial sejak awal 1990an (berdasarkan statistik pada bab 1). Terutama bagi para ahli bidang Teknik Informatika, ini merupakan kesempatan besar dan membuktikan besarnya andil Teknik Informatika dalam perkembangan kehidupan baik sains maupun lingkungan sekitar. Bayangkan suatu saat kita dapat membuat tanaman tahan hama, unggul, dan sering berbuah sekaligus karena kita telah berhasil memetakan gen tanaman tersebut. Algoritma Needleman-Wunsch, Smith-Waterman, dan program BLAST merupakan beberapa penemuan yang telah ada pada dunia bioinformatika dan dapat terus kita kembangkan. Dengan mempelajari algoritma-algoritma tersebut penulis yakin suatu saat nanti akan tumbuh algoritma-algoritma baru yang berguna dan dapat mengubah dunia menjadi lebih baik. Gambar 12 - Tampilan BLAST Sekian kesimpulan dari makalah yang penulis buat, apabila pada makalah terdapat kesalahan baik disengaja maupun tidak agar dimaafkan. REFERENSI [1] Sergio Anibal de Carvalho Junior, Sequence Alignment Algorithms, Department of Computer Science School of Physical Sciences & Engineering King s College London, 2003, 2-7. [2] Kraulis, Per, Molecular Bioinformatics 2001, Uppsala University, Stockholm Bioinformatics Center, 2001. [3] http://blast.ncbi.nlm.nih.gov/blast.cgi waktu akses: 5 Januari 2010 17.00 WIB [4] http://ww.wikipedia.org/wiki/blast waktu akses: 5 Januari 2010 17.00 WIB [5] http://ww.wikipedia.org/wiki/sequence_alignment waktu akses: 5 Januari 2010 17.00 WIB