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.

dizi1 <- c("G", "A", "G", "C", "C", "T", "A", "C", "T", "A", "A", "T", "G", "G", "G", "A", "T")
  
dizi2 <- c("C", "A", "T", "C", "C", "T", "G", "C", "T", "G", "C", "C", "G", "G", "G", "G", "T")
İpucu

İ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
Not

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")
İpucu

Önceki derslerde yazdığımız GC değerini hesaplayan fonksiyonu hatırayınız.