top of page

Sabit Disk Yerine Bakteri Uygulamasi

  • Writer: Sevdanur GENC
    Sevdanur GENC
  • Oct 19, 2012
  • 2 min read

2010 yilinin son aylarina dogru cikan bir haber ile arastirmacilarin bakteri uzerine veri depolamasi hakkinda calismalari basinda duyurulmustu. Sunduklari fikirlere gore, bilinen bilgisayar diskleri uzerinde bilgileri DNA genetik dizilimlerine donusturulerek son olarak E.Coli bakteresi icerisinde saklanabilecegi ongorulmustur. Tabi bu konun bi an icin algoritmasi benim ilgimi cekti. Ve basit ama kucuk bir uygulama ile dusuncelerimi dile dokmus oldum. Peki bu algoritma nasil dusunulmus? Verileri bakterilerin uzerine yerlestirebilmek icin bakterilere ait DNA genetigi uzerinde calismamiz gerekiyor. Bunun icinde verilerimizi Adenin, Timin, Sitozin ve Guanin'lerle eslestirilmesi gerekiyormus. Bu da 4 tabaninda sayilarla calismamiz gerektiriyor. Tabi bu 4'luk tabana gelecek olan verinin onceden 10'luk tabandaki bilgisi yani Ascii ile aciklayabilecegimiz bir anlami olmasi gerekiyor. Bu islemleri baston sona dogru mantigini dusunecek olursak; - Oncelikle verimizin Ascii tablosunda bulunan kodlarina karsilik her bir harfin 10'luk tabanda var olan sayisal es degeri buluruz. - Daha sonra 10'luk tabaninda olusmus sayilari A,T,C,G icin 4'luk tabana ceviririz. - 4'luk sistemde denk gelmesini istedigimiz genlere yani 0=A, 1=T, 2=C, 3=G verilerine donusum saglariz. Adim Adim bir ornekle aciklayacak olursak ;

                        Bu konu hakkinda pek cok ilgili makaleyi internette arastirabilirsiniz. Simdi basit bir uygulama ile islemleri C# dilini kullanarak Visual Studio ortami ile kod kisminda 3 ayri metod icerisinde kullanarak gerceklestiriyor olacagiz.

Form1.Cs Kaynak Kodlari ;

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace SabitDiskYerineBakteriUygulamasi { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { listBox1.Items.Clear(); listBox2.Items.Clear(); listBox3.Items.Clear(); ConvertToAscii(); ConvertToTenFour(); ConvertToGenetic(); } public void ConvertToAscii() { string KelimeAl; int i; KelimeAl = textBox1.Text; for (i = 0; i < KelimeAl.Length; i++) { if (KelimeAl

== 32) { continue; } else { listBox1.Items.Add(Convert.ToInt32(KelimeAl

)); } } } public void ConvertToTenFour() { int cevrilecekDeger; for (int i = 0; i < listBox1.Items.Count; i++) { cevrilecekDeger = Convert.ToInt32(listBox1.Items

.ToString()); string binary = ""; while (cevrilecekDeger >= 4) { binary += (cevrilecekDeger % 4).ToString(); cevrilecekDeger = cevrilecekDeger / 4; } binary += cevrilecekDeger.ToString(); string sonuc = string.Empty; sonuc += binary.ToString(); listBox2.Items.Add(sonuc); } } public void ConvertToGenetic() { string TekTekAl; for (int i = 0; i < listBox2.Items.Count; i++) { TekTekAl = listBox2.Items

.ToString(); TekTekAl = TekTekAl.Replace("0", "A"); TekTekAl = TekTekAl.Replace("1", "T"); TekTekAl = TekTekAl.Replace("2", "C"); TekTekAl = TekTekAl.Replace("3", "G"); listBox3.Items.Add(TekTekAl); } } } }

Ekran Goruntusu ;

                          Keyifli Calismalar Dilerim.

Recent Posts

See All
Oracle Java Cloud Service Uygulamasi

Bir onceki Oracle Cloud Computing yazisinda bahsettigim gibi JDeveloper Oracle Cloud icin gelistirmis oldugu surumu olan Oracle JDeveloper 11g (11.1.1.6.0) ile kucuk bir uygulama gelistirip bunu oracl

 
 
 
Oracle Cloud Computing Hakkinda

Bulut bilisim konusundaki arastirmalarima devam ederken bu kez solugu Oracle Cloud Computing'de aldim. Bu makalem ve ilerleyen makalelerimde Trial versiyonu ile user tarafini pek yormayan bir yapidan

 
 
 
Nested Parallel Loops

Matrix Multiplication / Matrix Carpma islemlerini OpenMP araciligi ile paralel alanda nasil yapilabilecegini incelerken ayni zamanda for construct'larin nested parallel loops alaninda nasil calistigin

 
 
 

Comments


©2035 by Sevdanur Genc. Powered and secured by Wix

bottom of page