Tuesday, 7 September 2021

Counting DNA Nucleotides (Rosalind)

 

rosalind



Halo teman-teman, apa kabar? Kali ini saya ingin membahas sedikit mengenai bioinformatika.
Teman-teman masih ingat bukan? Artikel pertama saya mengenai bioinformatika. Di artikel yang pertama saya telah menjelaskan tentang apa itu bioinformatika serta aplikasi-aplikasi praktis bioinformatika di kehidupan sehari-hari. Bisa dibilang itu artikel pengenalan. Dan di artikel ini (dan mungkin di beberapa artikel selanjutnya) saya akan mulai membahas problem-problem bioinformatika yang pada kesempatan ini saya ambil dari web yang menurut saya sudah cukup populer di komunitas bioinformatika, rosalind.info

Web rosalind ialah laman yang menyediakan berbagai macam problem bioinformatika yang bisa kita jadikan untuk berlatih skill-skill yang kita butuhkan untuk belajar bioinformatika. Berbagai macam skill, seperti bahasa python, algoritma, serta aplikasi bioinformatika kita akan pelajari disini.


Problem 01

Baik, sekarang kita akan melompat ke problem pertama dari seri ini. Sebagai acuan, teman-teman bisa cek dahulu problem yang akan kita bahas (disini). 

Judulnya ialah "Counting DNA Nucleotides". Seperti namanya, disini kita akan berlatih untuk menghitung nukleotida yang ada di DNA (A, C, G, dan T). 'A' sendiri adalah singkatan dari adenine, sedangan 'C 'dari cytosine, 'G' dari guanine, dan 'T' dari thymine

Problem pertama ini cukup simpel. Disini kita akan diberi string DNA yang tersusun dari 4 huruf kapital (A, C, G, dan T). Kemudian kita disuruh untuk menghitung berapa jumlah masing-masing dari adenine (A), cytosine (C), guanine (G), serta thymine (T)-nya. Berikut kode untuk pengerjaannya (dalam bahasa java) :

public void solve() {
String s = in.read();
int A = 0;
int C = 0;
int G = 0;
int T = 0;
for (char ch : s.toCharArray()) {
  if (ch == 'A') {
A++;
  }
  else if (ch == 'C') {
C++;
  }
  else if (ch == 'G') {
G++;
  }
  else if (ch == 'T') {
T++;
  }
}
out.println(A + " " + C + " " + G + " " + T);
}

Seperti yang teman-teman lihat kodenya cukup simpel. Kita cuman cukup membaca satu persatu karakter (char) yang ada di string tersebut dan menghitung masing-masing dari 'A', 'C', 'G', dan 'T'-nya Dan untuk outputnya saya pakai out.println(A + " " + C + " " + G + " " + T). Fungsi tersebut adalah modifikasi dari fungsi System.out.println()  yang familiar di java. Untuk lebih jelasnya teman-teman bisa melihat kode tambahan untuk fungsi tersebut di versi lengkap kode saya di github

Bagi teman-teman yang bertanya kenapa saya memakai bahasa java jawabannya ialah karena saya suka penulisan di bahasa java. Dan untuk di rosalind, kita tidak harus menggunakan bahasa pemrograman tertentu untuk menjawab problem-problem yang ada karena disini jawaban yang diinginkan ialah berupa text atau hasil output-nya, bukan kodenya, jadi teman-teman bisa bebas memilih bahasa pemrograman apapun yang teman-teman kuasai, asalkan benar. Tapi, memang untuk di dunia bioinformatika sendiri bahasa yang paling familiar (menurut sepengetahuan saya) ialah bahasa python. Dan di web rosalind sendiri ada genre problem tertentu yang dikhususkan untuk mempelajari bahasa python, jadi bagi teman-teman yang baru belajar bioinformatika ataupun yang ingin menguasai bahasa python bisa mampir ke rosalind untuk belajar bersama-sama.

Sekian dari saya. Jika teman-teman ingin menanyakan sesuatu, teman-teman bisa menulisnya di kolom komentar. Semoga bermanfaat dan sampai jumpa di artikel berikutnya!


Referensi :
Sumber gambar 1 :https://www.facebook.com/ProjectRosalind/

No comments:

Post a Comment