25 DNA dizi işlemleri - 3
Bu derste yapılan pratiklerin cevaplarına aşağıdaki dosyadan ulaşabilirsiniz:
2023-04-06 günü derste yapılan pratik cevapları
25.1 Hamming uzaklığı
İki DNA dizisi arasındaki tespit edilen Nükleotid farklılıkları, Moleküler Biyoloji’de filogenetik analizler ya da mikrodizin teknolojisi (Mohammadi-Kambs vd. 2017) gibi farklı alanlarında işimize yaramaktadır. Örnek vermek gerekirse, biyoinformatik dersinde gördüğümüz filogenetik ağaçları oluşturmak için uzaklık matrisi oluşturmuştuk. Uzaklık matrisi aslında DNA dizileri arasındaki farklılıkları belirtmektedir. Bu farklılıklardan bir tanesi de DNA dizileri arasındaki tek nükleotid farklılıklarının toplamıdır.
Aşağıdaki iki farklı diziyi inceleyelim:
A T G C T A T C
A G G C T T A C
Acaba kaç tane tek nükleotid farklılığı var? Sadece üç pozisyonda eşleşme yok.
Hamming uzaklığı eşit uzunluğa sahip iki karakter vektörünün sembolleri arasında gözlenen toplam pozisyonel farklılıklardır.
Bu bilgiyi kullanarak aşağıdaki iki dizi arasındaki tek nükleotid farklılıklarını geri döndüren fonksiyonu yazınız. Fonksiyonun ismi hamming_uzakligi
olsun. Bu fonksiyonu oluştururken for
ve if-else
yapılarını kullanınız.
İki farklı karakter birbirine eşit olmadığı sorgusunu yapmak için !=
(eşit değil mi?) yapısını kullanabilirsiniz. Eğer karakterler eşit değilse TRUE
değeri geri döndürülecektir.
"A" != "T"
[1] TRUE
Bu fonksiyonu for
ve if-else
yapılarını kullanmadan da yazabilirsiniz. Ancak amacımız şu anda bu yapıların kullanımını öğrenmek olduğu için kendinizi biraz zorlayın.
25.2 GC kayması
Normalde nükleotidlerin genom içerisinde rastgele bir şekilde homojen olarak dağılması beklenir. Ancak bazı durumlarda bu gerçekleşmez ve genomun farklı bölgelerinde nükleotid oranları değişebilir (Lu 2020). Bu durum özellikle bakteri genomlarında daha sık bir şekilde gözlenir ve DNA’nın iki farklı ipliğinde nükleotid oranlarında bir farklılaşmaya sebep olur.
Bu değişim sayesinde, bakterilerde replikasyon başlangıç noktasını tespit edebiliriz.
GC kaymasını aşağıdaki formüle göre hesaplayabilriz:
\[ GC = \frac{G-C}{G+C} \]
Bu formül uyarınca, aşağıdaki DNA dizisinin GC kayma değerini hesaplayan fonksiyonu yazınız. Fonksiyonun ismi GC_kaymasi
olsun.
dizi <- c("G", "A", "G", "C", "C", "T", "A", "C", "T", "A", "A", "T", "G", "G", "G", "A", "T", "C", "A", "T", "C", "C", "T", "G", "C", "T", "G", "C", "C", "G", "G", "G", "G", "T")
Önceki derslerde yazdığımız GC değerini hesaplayan fonksiyonu hatırayınız.