54
R ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)» kitabını temel almaktadır. Metehan Ünal 1

R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

R ile Biyoenformatik

Metehan Ünal

Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

kitabını temel almaktadır.

Metehan Ünal 1

Page 2: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

Previously on Lost

• Geçen hafta ne yaptık:

• Yükleme İşlemleri

• Veri Okuma ve Yazma

• Veri Filtreleme ve Bölümleme

Metehan Ünal 2

Page 3: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

Verilerde Temel İstatistiksel İşlemler

• İstatistiksel bir programlama ortamı olan R, veriler üzerinde çeşitli istatistik

işlemleri gerçekleştirmek için bir takım yerleşik fonksiyonlara sahiptir.

• Bununla birlikte, bazı spesifik işlevler paketlerde bulunur veya kolayca

yazılabilir.

• Bu bölümde, bazı temel yerleşik ve kullanışlı paket içi seçenekler tanıtılacaktır.

Metehan Ünal 3

Page 4: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

Verilerde Temel İstatistiksel İşlemler

• Bu derste önkoşul, çalışmak istediğiniz veri setidir.

• İris veri kümesini bu dersteki örneklerin çoğunda kullanacağız.

Metehan Ünal 4

Page 5: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

Verilerde Temel İstatistiksel İşlemler

• Veriler üzerinde temel bir istatistiksel işlem gerçekleştirme adımları aşağıda

listelenmiştir:

1. R, ortalama standart sapma gibi çeşitli istatistiksel parametrelerin basit bir

fonksiyonla hesaplanmasını kolaylaştırır. Bu, tek tek vektörlere veya aşağıdaki

gibi tüm data frame’e uygulanabilir:

> summary(iris) #tablo verisinin her bir sütunu için özet bilgi sunar.

Metehan Ünal 5

Page 6: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

Verilerde Temel İstatistiksel İşlemler

2. « cor » fonksiyonu, iki vektör arasındaki korelasyonun aşağıdaki şekilde

hesaplanmasına izin verir:

> cor(iris[,1], iris[,2])

[1] -0.1175698

> cor(iris[,1], iris[,3])

[1] 0.8717538

Metehan Ünal 6

Page 7: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

Verilerde Temel İstatistiksel İşlemler

3. Veri matrisinin kovaryansını elde etmek için, sadece aşağıdaki gibi cov işlevini

kullanın:

> Cov.mat <- cov(iris[,1:4])

> Cov.mat

Metehan Ünal 7

Page 8: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

Verilerde Temel İstatistiksel İşlemler

• Bu kısımda gördüğümüz fonksiyonların çoğu temel R veya genel fonksiyonların bir parçasıdır. R'deki summary fonksiyonu, inputun sınıfına bağlı olarak inputun özetini gösterir. Bu fonksiyon, giriş nesnesinin sınıfına bağlı olarak çeşitli fonksiyonları çağırır.

• Dönen değer ayrıca input nesnesine de bağlıdır. Örneğin, giriş sayısal verilerden oluşan bir vektör ise, veriler için ortalama, ortanca, minimum, maksimum ve çeyrekleri gösterecektir, eğer girdi tablo (sayısal) veri ise, her sütun için benzer hesaplamalar verecektir. İleriki bölümlerde summaryfonksiyonunun farklı input nesneleri için nasıl çalıştığını göreceğiz.

Metehan Ünal 8

Page 9: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

Verilerde Temel İstatistiksel İşlemler

• Fonksiyonlar verileri input olarak kabul eder, inputa ve fonksiyona bağlı

olarak tüm bu istatistiksel puanları hesaplar ve veriyi vektör, liste veya data

frame olarak görüntüler.

• Bu fonksiyonların çoğu için, na.rm argümanını kullanma olanağımız vardır.

Bu, kullanıcının eksik verilerle çalışmasını sağlar. Verilerimizde eksik değerler

varsa (R dilinde NA olarak adlandırılırlar), na.rm argümanını TRUE olarak

ayarlayabiliriz ve hesaplama yalnızca NA olmayan değerlere dayanarak yapılır.

Metehan Ünal 9

Page 10: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

Verilerde Temel İstatistiksel İşlemler

• Örnek:

> a <- c(1:4, NA, 6)

> mean(a) # Sonuç olarak ne dönecek gözlemleyelim.

> mean(a, na.rm=TRUE) # Sonuç olarak ne dönecek gözlemleyelim.

Metehan Ünal 10

Page 11: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

Verilerde Temel İstatistiksel İşlemler

• Burada, eksik değerlerin olması durumunda, ortalama fonksiyonun, eksik

değerin nasıl işleneceğini bilmediğinden, varsayılan olarak NA döndürdüğünü

görüyoruz.

• na.rm değerini TRUE olarak ayarlamak, 6 yerine (1,2,3,4,NA,6) 5 sayının

(1,2,3,4,6) ortalamasını hesaplar ve 3.2 değerini döndürür.

Metehan Ünal 11

Page 12: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

Verilerde Temel İstatistiksel İşlemler

• İris verilerimizde sepal uzunluk ve sepal genişlik arasındaki korelasyonu

hesaplamak için; basitçe verinin iki sütununu (sepal uzunluk ve sepal genişlik)

cor fonksiyonunun argümanı olarak kullanırız.

• Pearson, Spearman, Kendall ve benzeri farklı korelasyon katsayılarını,

fonksiyon argümanlarından apt değerini belirleyerek hesaplayabiliriz. Daha

detaylı bilgi için help(?cor) kullanabilirsiniz.

Metehan Ünal 12

Page 13: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

Olasılık Dağılımları Üretme

• Bu bölümdeki herhangi bir şey hakkında konuşmadan önce, R terminalinizdeki

(konsolunuzdaki) ?Distributions fonksiyonunu deneyin. Farklı olasılık

dağılımlarından oluşan bir yardım sayfasının açıldığını göreceksiniz. Bunlar R'nin

temel paketinin bir parçasıdır.

• Tüm bu dağılımları, ek paketlerin yardımı olmadan oluşturabilirsiniz. Bazı ilginç

dağılımlar sıradaki slayttaki tabloda listelenmiştir. Diğer dağılımlar, örneğin, çok

değişkenli normal dağılım (MVN), harici paketlerin kullanılmasıyla üretilebilir (MVN

için MASS paketleri). Bu fonksiyonların çoğu aynı sözdizimini/sintaksı izler, böylece

birine alışırsanız, benzer şekilde diğerlerini de kullanabilirsiniz.

Metehan Ünal 13

Page 14: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

Olasılık Dağılımları Üretme

Metehan Ünal 14

Page 15: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

Olasılık Dağılımları Üretme

• Olasılık dağılımlarını üretme adımları şunlardır:

1. Ortalaması (mean) 1, standart sapması 0.1 olan 100 örnekli normal dağılımlı veri üretmek için aşağıdaki komut kullanılır:

> n.data <- rnorm(n=100, mean=1, sd=0.1)

2. Dağılımı aşağıdaki gibi gözlemlemek için histogramı çizin:

> hist(n.data)

3. Aşağıdaki komutu yazarak dağılımın yoğunluğunu ve şekli kontrol edin :

> plot(density(n.data))

Bu plottaki çan şeklini görüyor musunuz?

Metehan Ünal 15

Page 16: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

Olasılık Dağılımları Üretme

• Diğer prefixlerin karşılık gelen parametrelerini tanımlamak için aşağıdaki

yardım dosyası örneğini kullanın:

> ?pnorm

Metehan Ünal 16

Page 17: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

Olasılık Dağılımları Üretme

• rnorm fonksiyonunun üç argümanı vardır: n (oluşturmak istediğiniz örnek sayısı), dağılımın istenen ortalaması (mean) ve dağılımdaki istenen standart sapma (sd). Bu sayede komut, ortalama ve standart sapmaların sizin tarafınızdan tanımlandığı gibi olan bir n uzunluğunda vektörü oluşturur.

• Tabloda açıklanan fonksiyonlara yakından bakarsanız, bir kalıp olduğunu tespit edebilirsiniz.

• Sırasıyla olasılık (probability), quintiles, yoğunluk (density) ve rasgele örnekler (random samples) üretmek için her dağılım fonksiyonunun adına p, q, d ve r ön ekleri eklenir.

Metehan Ünal 17

Page 18: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

Olasılık Dağılımları Üretme

• Aşağıdaki daha önce gösterilen tablo, R'deki çeşitli istatistiksel dağılımlarla

ilgili işlevleri göstermektedir (sadece R’ın temel paketleri):

Metehan Ünal 18

Page 19: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

Olasılık Dağılımları Üretme

• Araştırma veya uygulamadaki sonuçların önemini değerlendirmek ve nicel

kararlar verilmesine yardımcı olmak için istatistiksel testler yapılır.

• Buradaki fikir, sonuçlarla ilgili bir varsayımı reddetmek için yeterli delil olup

olmadığını belirlemektir.

• R'deki yerleşik fonksiyonlar veriler üzerinde bu tür birkaç teste izin verir.

• Test seçimi verilere ve sorulan soruya göre değişir.

Metehan Ünal 19

Page 20: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

Olasılık Dağılımları Üretme

• Açıklamak gerekirse, bir grubu varsayımsal bir değerle karşılaştırmamız

gerektiğinde ve ölçümlerimiz Gauss dağılımını takip ediyorsa, tek örnekli bir t

testi kullanabiliriz.

• Bununla birlikte, karşılaştırılan iki eşli grubumuz (Gauss dağılımını izleyen

her iki ölçüm) de karşılaştırıldıysa, eşleştirilmiş bir t testi kullanabiliriz.

• R, bu tür testleri yapmak için yerleşik işlevlere sahiptir ve bu kısımda

bunlardan bazılarını deneyeceğiz.

Metehan Ünal 20

Page 21: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

• Verileriniz üzerinde istatistiksel bir test yapmak için aşağıdaki adımları kullanın:

1. Bir t-testi yapmak için verilerinizi (bizim durumumuzda uyku/sleep verisidir) aşağıdaki gibi yükleyin:

> data(sleep)

2. Birinci ve ikinci sütunlarda iki taraflı, eşleştirilmemiş t testi gerçekleştirmek için (iki koşulun değerleri), aşağıdaki komutları yazın:

> test <- t.test(sleep[,1]~sleep[,2])

> test

Metehan Ünal 21

Page 22: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

• T-testi (bizim durumumuzda, iki örnek t-testidir) hesaplanan ortalamanın gerçek ortalamadan tesadüfen nasıl sapabileceğini hesaplar.

• Burada, zaten R'de bulunan uyku verilerini kullanıyoruz.

• Bu uyku verisi, iki ilacın, 10 kontrol hastasının uyku verilerine kıyasla uyku saatlerinde bir artış açısından etkisini göstermektedir.

• Sonuç, p-değeri (p-value), güven aralığı (confidence interval), yöntem (method) ve ortalama tahminler (mean estimates) gibi dokuz unsurdan oluşan bir listedir.

Metehan Ünal 22

Page 23: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

3. Aşağıdaki gibi bir olasılık tablosu oluşturun:

> cont <- matrix(c(14, 33, 7, 3), ncol = 2)

> cont

Metehan Ünal 23

Page 24: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

4. Sedan ve convertable olmak üzere iki araba türünü temsil eden (sütunlar),

male ve female olmak üzere iki cinsiyet temsil eden (satırlar), ve sütünlarda

araba türlerine sahip olan kişilerin sayısını gösteren bir tablo oluşturun.

Aşağıdaki kodları yazdığınızda tablo görüntülenecektir:

> colnames(cont) <- c("Sedan", "Convertible")

> rownames(cont) <- c("Male", "Female")

> cont

Metehan Ünal 24

Page 25: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

• «Chi-square» istatistikleri, kategorik değişkenlerin dağılımlarının birbirinden farklı olup olmadığını araştırmaktadır.

• Gözlemlenen verileri, belirli bir hipoteze göre elde etmeyi umduğumuz verilerle karşılaştırmak için yaygın olarak kullanılır.

• Bu örnekte, bir cinsiyetin bir otomobil için farklı bir tercihi olduğu senaryosunu düşündük, p-değerinde 0,05 düzeyinde doğru çıktı.

• Chi-square testi için beklenen değerleri chisq.test(as.table(cont))$expectedfonksiyonu ile de kontrol edebiliriz.

Metehan Ünal 25

Page 26: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

5. Otomobil tipini ve cinsiyetini bulmak için, bu olasılık durum tablosuna

dayanarak bir Chi-square testi yapın:

> test <- chisq.test(as.table(cont))

> test

Metehan Ünal 26

Page 27: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

6. Wilcoxon işaretli-sıralama testi için, önce aşağıdaki komutlarda gösterildiği

gibi, ilk önce x ve y olarak test edilecek gözlemleri içeren bir vektör kümesi

oluşturacak biçimde yazın:

> x <- c(1.83, 0.50, 1.62, 2.48, 1.68, 1.88, 1.55, 3.06, 1.30)

> y <- c(0.878, 0.647, 0.598, 2.05, 1.06, 1.29, 1.06, 3.14, 1.29)

Metehan Ünal 27

Page 28: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

7. Bunu sadece Wilcoxon işaretli-sıralama testini çalıştırmak için gerçekleştirmeniz gereken bir komut izler:

> test <- wilcox.test(x, y, paired = TRUE, alternative = "greater")

8. Nesne testinin içeriğine bakmak için yapıları aşağıdaki gibi kontrol edin ve bileşenlerin spesifik değerlerine bakın:

> str(test)

> test$p.value

Metehan Ünal 28

Page 29: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

• Wilcoxon testi, popülasyon ortalamalarının farklılık gösterip göstermediğini değerlendirmek için ilgili iki örneği karşılaştırmak veya tek bir örnek üzerinde tekrarlanan ölçümleri karşılaştırmak için kullanılır.

• İki yöntemin sonuçlarını karşılaştırmak için kullanılabilir.

• Örneğin, x ve y iki yöntemin performans sonuçları olsun.

• Alternatif hipotezimiz, x'in y’nin sağına kaydırılmasıdır.

• Testin döndürdüğü p değeri, null hipotezin kabul edilmesini veya reddedilmesini kolaylaştırır.

Metehan Ünal 29

Page 30: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

Veri Görselleştirme

• Veriler, tablo, matris, metin veya sayılar biçiminde değil, grafik biçiminde

görselleştirilip görüntülemek veriyi daha iyi anlamamızı sağlar.

• Örneğin, İris çiçeğindeki sepal uzunluğun petal uzunluğa nasıl değiştiğini

görmek istiyorsak, sırasıyla x ve y eksenleri boyunca çizebiliriz, eğilimi ve

hatta korelasyonu görselleştirebiliriz.

• Bu kısımda, R'deki verileri görselleştirmenin ve temel R grafik ve çizme

fonksiyonlarını inceleyeceğiz. Ayrıca basit plotting fonksiyonlarını da

tartışacağız.

Metehan Ünal 30

Page 31: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

Veri Görselleştirme

• Aşağıda, R'deki bazı temel grafik görselleştirmeleri için adımlar verilmiştir:

1. Bir dağılım grafiği oluşturmak için, iris veri kümenizle başlayın. Burada görmek istediğiniz, sepal uzunluk ve petal uzunluktaki değişimdir. Aşağıdaki komutlarda gösterildiği gibi, y ekseni boyunca sepal uzunluğa (sütun 1) ve x ekseni boyunca petaluzunluğuna (sütun 4) bir plot oluşturunuz:

> sl <- iris[,1]

> pl <- iris[,4]

> plot(x=pl, y=sl, xlab="Petal length", ylab="Sepal length", col="black", main="Varition of sepal length with petal length")

Metehan Ünal 31

Page 32: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

Veri Görselleştirme

2. Veriler için bir kutu grafiği oluşturmak için, kutu grafiği fonksiyonunu

aşağıdaki şekilde kullanın:

> boxplot(Sepal.Length~Species, data=iris, ylab="sepal length",

xlab="Species", main="Sepal length for different species")

Metehan Ünal 32

Page 33: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

Veri Görselleştirme

3. Bir line-digram çizimi normal plot çizimi ile neredeyse aynıdır. Burada yeni

bir type argümanı vardır ve o argüman l olarak ayarlanır. Bununla birlikte, bunu

aşağıdaki şekilde tasvir etmek için farklı, kendi oluşturduğumuz bir veri kümesi

kullanıyoruz:

> genex <- c(rnorm(100, 1, 0.1), rnorm(100, 2, 0.1), rnorm(50, 3, 0.1))

> plot(x=genex, xlim=c(1,5), type='l', main="line diagram")

Metehan Ünal 33

Page 34: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

Veri Görselleştirme

Metehan Ünal 34

Page 35: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

Veri Görselleştirme

4. Histogramlar, verilerin yoğunluğunu ve her kategorinin sıklığını

görselleştirmek için kullanılabilir. R'de histogramları çizmek oldukça basittir;

aşağıdaki komutları kullanın:

> x <- rnorm(1000, 3, 0.02)

> hist(x)

Metehan Ünal 35

Page 36: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

Veri Görselleştirme

• Çizim/Plot fonksiyonu, ilgili veriyi orijinal veri setinden, sütun numaraları

(sırasıyla, sepal uzunluğu ve petal uzunluğu için sl ve pl) ile çıkarır ve daha

sonra bir dağılım grafiğini (scatter plot) çizer.

• Çizim fonksiyonu daha sonra y ekseni boyunca sepal uzunluğu ve x ekseni

boyunca petal uzunluğunu çizer. Eksen etiketleri sırasıyla xlab ve ylab

argümanıyla atanabilir ve plota ana argüman kullanılarak bir başlık verilebilir.

• Plot/çizim (önceki ekran görüntüsünün A bölümünde) böylece iki değişkenin

daha fazla veya az pozitif korelasyon izlediğini gösterir.

Metehan Ünal 36

Page 37: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

• Dağılım grafikleri, bir trend aranıyorsa kullanışlı değildir. Yani bir değerin indisler arasında nasıl ilerlediğini göstermek için kullanılmaz. Örneğin bir genin zaman içerisinde veya bir ilacın yoğunluğuna göre gösterimi. Bir line-diagram bu durumda daha iyi bir gösterim aracıdır.

• Burada, ilk olarak, x ölçeğindeki değerler olan 250 yapay değer kümesi ve endekslerini üretiyoruz. Bu değerler için, önceki bölümde gördüğümüz gibi normal bir dağılım varsayıyoruz. Bu durumda önceki kısımdaki ekran görüntüsündeki B kısmındaki gibi bir grafik çizilir. Aynı çizime aşağıdaki gibi line fonksiyonunu kullanarak daha fazla satır eklemek mümkündür:

> lines(density(x), col="red")

Metehan Ünal 37

Page 38: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

• Bir kutu grafiği (box plot), sayısal veriler içeren özellikleri bakımından iki kategori veya grubu karşılaştırmak istiyorsak ilginç bir görselleştirme olabilir.

• Göstermek için, tekrar iris verilerini ele alalım. Bu verilerdeki türlerin adını biliyoruz (sütun 5).

• Şimdi, bu türlerin sepal uzunluğunu, hangisinin en uzun sepal'a sahip olduğu ve sepal uzunluğunun türler içinde ve arasında nasıl değiştiği gibi verileri elde etmek için birbirleriyle karşılaştırmak istiyoruz.

• Veri tablosu tüm bu bilgilere sahiptir, ancak kolayca gözlemlenemez.

Metehan Ünal 38

Page 39: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

• Boxplot fonksiyonu, neyin çizileceğini ve neyin karşılanacağını belirleyen ilk argümana sahiptir.

• Bu, ikinci argüman olan veri çerçevesinin sütun isimleri cinsinden verilebilir.

• Diğer argümanlar diğer plot fonksiyonları ile aynıdır.

• Ortaya çıkan grafik (önceki ekran görüntüsünün B bölümünde gösterildiği gibi) verilerimizdeki üç tür için x ekseni boyunca üç kutu gösterir.

• Bu kutuların her biri çeyrek aralıkları ve karşılık gelen sepal uzunlukların ortancasını göstermektedir.

Metehan Ünal 39

Page 40: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

• Histogram (önceki ekran görüntüsünün D bölümü) verilerin dağılımını

gösterir.

• Gördüğümüz gibi, veriler normalde 3 ortalama ile dağıtılır; Bu nedenle, plot

yaklaşık 3 etrafında tepe ile bir çan şekli görüntüler.

• Çan şeklini görmek için plot(density(x)) fonksiyonunu deneyin.

Metehan Ünal 40

Page 41: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

• Tüm veri çerçevesi için plot fonksiyonunu kullanabilirsiniz (bunu iris veri

kümesi, plot(iris) için yapmayı deneyin). Bir matris gibi çiftli grafik

göreceksiniz.

• Bunun yanında, R'de "ggplot2" ve "plotrix" gibi farklı yüksek kaliteli grafikler

için birçok başka paket bulunmaktadır.

• Gerektiğinde sonraki bölümlerde tartışılacaktır.

Metehan Ünal 41

Page 42: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

BioMart’tan Veri Alma

• Burada, Durinck ve arkadaşları tarafından geliştirilen biomaRt adlı başka bir

R paketi göreceğiz.

• BioMart paketini uygulayan veritabanı koleksiyonuna bir arayüz sağlar

(http://www.biomart.org).

• Ensembl (genler ve genomlar), Uniprot (proteinler hakkında bilgi), HGNC

(gen isimlendirme), Gramene (bitki fonksiyonel genomikleri) ve Wormbase

(C. elegans hakkında bilgi) gibi bir dizi BioMart veritabanından veri

alınmasını sağlar.

Metehan Ünal 42

Page 43: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

• Devam etmek için önkoşullar şunlardır:

• BiomaRt kütüphanesini kurun ve oturuma yükleyin.

• Almak istediğiniz veri ID’lerini ve isimlerini oluşturun.

Metehan Ünal 43

Page 44: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

• Gen IDsinin HGNC'den alınması, öncelikle mart’ın (veri kaynağı) ayarlanması ve daha sonra bu marttan genlerin elde edilmesi adımlarını içerir. Aşağıdaki adımlar izlenerek gerçekleştirilir:

1. biomaRt'i kullanmaya başlamadan önce, paketi kurun ve R oturumuna yükleyin. Paketdoğrudan Bioconductor'dan aşağıdaki komut dosyası ile kurulabilir. Bir sonraki bölümdeBioconductor hakkında daha fazla bilgi edineceğiz; Şimdilik, aşağıdaki kuruluma bir göz atın:

> source("http://bioconductor.org/biocLite.R")

> biocLite("biomaRt")

> library(biomaRt)

Metehan Ünal 44

Page 45: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

• Not: R versiyonunuz 3.5’ten yukarıdaysa Bioconductor yüklemesi için aşağıdaki adımları yapınız:

>if (!requireNamespace("BiocManager", quietly = TRUE))

install.packages("BiocManager")

BiocManager::install()

>BiocManager::install(c("biomaRt"))

> library(biomaRt)

Metehan Ünal 45

Page 46: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

2. Sorgunuz için doğru veri tabanını tanımlayarak alım için uygun martı seçin. Burada

insan topluluğu/ensembl genlerini arayacaksınız; bu nedenle, useMart işlevini aşağıdaki

gibi çalıştırın:

> mart <- useMart(biomart = "ensembl", dataset ="hsapiens_gene_ensembl")

3. Şimdi, daha önce seçmiş olduğunuz ensembl verilerinden genlerin listesini aşağıda

göreceksiniz:

> my_results <- getBM(attributes = c("hgnc_symbol"), mart = mart)

Metehan Ünal 46

Page 47: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

4. Alınan genlerden 50 tane geni aşağıdaki gibi örnekleyebilirsiniz:

> N <- 50

> mysample <- sample(my_results$hgnc_symbol,N)

> head(mysample)

5. biomaRt paketi ayrıca aşağıdaki komutlarda gösterildiği gibi bir genin (örn. BRCA1)veritabanlarından sekansları almak için de kullanılabilir:

> seq <- getSequence(id="BRCA1", type="hgnc_symbol", seqType="peptide", mart = mart)

> show(seq)

Metehan Ünal 47

Page 48: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

6. Kromozom pozisyonunu belirten bir sekans almak için, pozisyon aralığı (bir

bölgeden aşağı ve yukarı akış) aşağıdaki gibi kullanılabilir:

> seq2 <- getSequence(id="ENST00000520540", type=

'ensembl_transcript_id', seqType='gene_flank',upstream = 30, mart = mart)

7. Dizilimi görmek için, show fonksiyonu aşağıdaki gibi kullanın:

> show(seq2)

Metehan Ünal 48

Page 49: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

• R'deki source fonksiyonu, kaynak dosyadaki yeni bir fonksiyon kümesini R

oturumuna yükler.

• Ayrıca, kurulum sırasında R sizden önceden kurulmuş olan Bioconductor

kitaplıklarını güncellemenizi isteyebilir.

• Bu kütüphaneleri gereksinimlerinize göre seçebilirsiniz.

Metehan Ünal 49

Page 50: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

• BiomaRt paketi, daha önce tarif edildiği gibi BioMart veri tabanı ile birlikte

çalışır.

• Öncelikle ilgilenilen martı seçer (bu nedenle, belirli bir sorgu için martımızı

seçmeliyiz).

• Sonra, bu mart, BioMart veritabanındaki sorguyu aramak için kullanılır.

• Daha sonra sonuçlar döndürülür ve geri dönüş değeri için biçimlendirilir.

• Böylece paket, BioMart sistemi için bir arayüz sağlar.

Metehan Ünal 50

Page 51: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

• Böylece, biomaRt paketi veritabanını arayabilir ve çeşitli biyolojik verileri

alabilir.

• Veriler ilgili veritabanından geleneksel yolla indirilebilir olsa da, biomaRt,

toplu işlemler için bir otomatik yapı sağlar.

Metehan Ünal 51

Page 52: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

• BiomaRt paketi ayrıca bir gen ID’sini başka tip ID'lere dönüştürmek için kullanılabilir.

• Burada, aşağıdaki kod parçasıyla RefSeq ID'lerin gen sembollerine dönüştürülmesini gösterilmektedir:

> mart <- useMart(biomart = "ensembl", dataset = "hsapiens_gene_ensembl")

> geneList <- read.csv("mylist.csv")

> results <- getBM(attributes = c("refseq_mrna", "hgnc_symbol"), filters

= "refseq_mrna", values = geneList[,2], mart = mart)

> results

Metehan Ünal 52

Page 53: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

• BiomaRt, çalışmamızın çoğunda biyolojik varlıklar için kimlik bilgilerinin

dönüşümünü mümkün kılsa da, bu kitapta, aynı zamanda bir sonraki

bölümde açıklanacak diğer bazı paketleri de kullanıyoruz.

Metehan Ünal 53

Page 54: R ile Biyoenformatikcomp.eng.ankara.edu.tr/files/2019/10/Week-2.pdfR ile Biyoenformatik Metehan Ünal Sunum genel olarak «Bioinformatics with R Cookbook (Paurush Praveen Sinha)»

FIN

Metehan Ünal 54