Aşağıda bahsettiğim analizlerle ilgili becerileri ilk olarak araştırmacı olarak görev aldığım projelere ürettiğim dataların işlenmesi için 2019 yılının Ocak ayında Paris’e misafir araştırmacı olarak davet edildiğim sırada Doğa Tarihi Müzesi Araştırma Laboratuvarlarında [1] Dr Didier Aurelle’den kazandım. O tarihten bu yana Türkiye’de de alanında önemli çalışmaları bulunan araştırmacılarla da çalışma fırsatı bularak konuya dair güncel yaklaşımları hâlâ daha
anlamaya çalışıyorum [2].
Jacques Monod










Standartın yerleştirilmesi ve örneklerin kontrolü
Standartınızın (ladder) aralıklarına piklerin her örnek için düzgün şekilde dağıldığından emin olun. Ve data setinizde karşılaştıracağınız tüm örnekler için bu piklerin aynı dağılıp dağılmadıklarını kontrol edin. Benim çalıştığım data setinde standart (ladder) 35 bç’inden 500 bç’ne kadar dağılmıştı ve görüntülemek için Geneious’ta 150 ile 4000 RFU (relative fleurescent units) arasında gidip gelmiştim. Bu değerleri R’da önceden giriyorsunuz her hâlukarda bu değerleri sırasıyla bilmek gerekiyor.
R Studio’da kodlama ile bu kontrolü yapmayı öğrenmeye geçmeden önce birkaç tıkla Geneious‘ta nasıl yapıcağımıza bakalım.
- Önce bir lokusla başlayıp onun tüm örneklerini kontrol etmekle başlayalım.
- Sağda, x scale i ortanın soluna y de ortanın üzerinde olacak şekilde ayarlayabiliriz.
- Her lokusun kendine göre bir profili var, bunu daha önce bu lokusları çalışmış araştırmacılarınkileriyle kontrol etmelisiniz.
- Lokus infoları düzenlemelisiniz. İlgilendiğiniz lokusların başlangıç ve bitiş değerlerini girmelisiniz.
- Başlangıçta bazı örneklere tıkladığınızda lokus hatası verirse onu dismiss yapmayın.
- Kontrol ettikçe o lokuslar için bin’leri belirleyebileceksin Mesala C21 lokusu için 188 gibi. Bunu örnekleri kontrol ettikçe anlayacaksınız. Evet, yüzlerce örneği lokuslar için ladder boyutunuz boyuca tek tek incelemeli, işaretlemelisiniz ve tekrar tekrar üzerinden geçmelisiniz.
- Ladder bulunamadı hatası verirse, gri duvarı sola çekip, ladderın ilk değerine kadar getirdiğinizde sorun çözülecektir. Varsa standart dışı pikleri temizleyin. Bazen iki pik verilmiş oluyor onları da temizleyin.
- Geneious’ta toplu örneklerle çalışırken kaydettiğin bir değişiklik tüm örnekler için geçerli oluyor.
- Pikleri kontrol ederken diğer ışımalara da bakmalısın. NED ile PET bazı yerlerde üst üste biniyor gibi notlarınız olacaktır kendinize.
- Lokuslarda belirlediğimiz genotipler için bir ham data çıktısı oluşturup ileri analizler için hazırız.
Bu işlemi Geneious ile yaptıktan sonra datanızı Excel’e çıkartabilirsiniz. Örnek bilgileriniz ile genotip bilgilerinizi nasıl gireceğiniz ile ilgili farklı formatlar mevcut -aşağıda nasıl girdiğimden bahsedeceğimdir muhtemelen-.
Tüm bu işlemlerin bir benzerini kodlarla RStudio’da denemek isterseniz, bu işler için oluşturulmuş Fragman [3] adında bir paket de var. Şimdi ona bir göz atalım;
Fragman paketi popülasyon genetiği çalışmalarında fragman analizi, skorlama gibi işlemleri yapmak için dizayn edilmiş. Program DNA fragman bilgisi içeren .fsa uzantılı dosyaları okuyabiliyor. Fragman analizi için;
install.packages("Fragman")
Markırlarınızın tekrar motiflerini ve hangi baz boyutu aralıklarında tekrarlandıklarını bilin, beklediğiniz pikler büyük ihtimalle bu aralıklarda olacaktır. Her allel için bin’lerinizi bu aralıklarda belirleyeceksiniz ve daha önce sizinle aynı markırları çalışmış farklı bir araştırmacı allel boyut aralıklarını belirlemiştir. Bunu hesaba katmalısınız. Pik, terim anlamı olarak kapiler elektroforez tarafından belirlenmiş DNA fragmanının görsel bir temsili olarak ifade ediir ve yine bir pik taban çizgisinden keskin bir şekilde yükselen, pürüzsüz sayılabilecek bir şekilde yanlara sahip simetrik bir şekildir. PCR kondisyonunuz tüm örnekler için aynıysa heterozigot genotipler tekrar motiflerine göre dağılmış olmalıdır. Pik davranışlarını bilmek önemlidir üçlü veya daha uzun tekrarlı motiflerin (trinükleotit) oldukça belirgin büyük bir pik ve kendisinden önce gelen küçük bir pikle birlikte geldiği gözlenmiştir. Farklı tekrar motiflerine sahip pikleri tespit etmek için Geneious’ta farklı RFU değerleri denemeniz gerekebilir. Yine bazen bazı allelere ait farklı renkteki pikler farklı renk kanalını yukarı çekmiş olabilir binleri belirlerken birkaç renk kanalına birden bakmak yararlı olabilir. Bu yapılmazsa aynı noktada iki tane farklı renk kanallarına ait pik okuma hatası yüzünden belirlenebilir ve yanlış genotip temsiline sebep olabilir.
Genotip datasının çıktısını R’dan veya Geneious’tan otomatik olarak alabiliyorsunuz. Benim data seti efsanevi boyutlarda olmadığı için otomatik çıktıya ek olarak elle tek tek girdim. Bunun sebebi datayı kendim üretmeme rağmen data işleme aşamalarında ne kadar manuel olursam o kadar odaklanacağım varsayımıma dayanıyordu. Data setimde ilk sütunu örnek isimlerine ve diğer sütünları lokus isimlerine ayırdım. İlk satırın ilk hücresi boştu ve ikinci sütun lokus ismiyle devam ediyordu.
R Studio’da çalışırken bir yerden sonra R Markdown‘da (rmd) çalışmaya alıştım böylece data işleme sürecimi daha derli toplu idare edebiliyordum.
Ayarlarım şu şekildeydi;
title: "Fragman"
author: "Onur Dogan"
date: "10 Ocak 2019"
output:
pdf_document:
fig_caption: yes
toc: yes
html_document:
df_print: kable
fig_caption: yes
toc: yes
```{r setup, include = FALSE}
knitr::opts_chunk$set(message = FALSE, warning = FALSE)
```
bu ``` ile başlayıp ``` ile biten kutucuklar chunk benim ilk ayarlarım yukarıdaki gibi. RStudio’ya Miktex yüklerseniz pdf çıktısı alabiliyorsunuz oluşturacağınız rmd dosyasının. Hatırladığım kadarıyla dil paketi de yüklemeniz gerekecek Türkçe karakterler için yoksa .pdf veya .html olarak dönüştürme yaparken hata veriyor (beni bayağı uğraştırmıştı).
Temelde 4 fonksiyondan oluşuyor paketin iş akış şeması: Öncelikle FSA uzantılı dosyalarınızı okutmanız gerekecek bunun için de dosyaların bulunduğu klasör adresini sağlamalısınız.
storing.inds : (FSA veya txt (CQS) dosyalarını okumaktan ve bunları bir liste yapısıyla saklamaktan sorumlu işlev).
Benim data setim mercanlar olduğu için storing.inds işlevine my.corals ismini atadık.
```{r loading data}
getwd()
setwd("C:/Users/Onur/Desktop")
### you would use something like:
library(Fragman)
folder <- "C:/Users/Onur/Google Drive/Microsatellites/microsat/Med"
my.corals <- storing.inds(folder)
```
Yukarıdaki kod kümesini çalıştırdığımda .FSA uzantılı dosyalarımı okumaya başlayacak. Pikleri kontrol ve kanallardaki gürültüyü kontrol edecek.
```{r plot}
plot(my.corals)
# to visualize the raw data
```
Sonra ladder’ımızı eşleştireceğiz bunun için ladder boyutunu elle giriyoruz.
```{r matching ladder}
### create a vector indicating the sizes of your ladder and do the match
my.ladder <- c(35, 50, 75, 100, 139, 150, 160, 200, 250, 300, 340, 350, 400, 450, 490, 500)
ladder.info.attach(stored=my.corals, ladder=my.ladder)
### matching your ladder is a critical step and should only happen once per batch of
### samples read
```
Ladderin eşleşmesi kritik bir adımdır ve okunan her örnek başına yalnızca bir kez gerçekleşmesi gerekir.
```{r}
pdf("ladderattachneandros.pdf")
ladder.info.attach(stored=my.corals, ladder=my.ladder)
dev.off()
```
```{r}
ladder.corrector(stored=my.corals,
to.correct="Med.fsa",
ladder=my.ladder)
overview(my.inds=my.corals, channel = 1, n.inds = c(1:530), ladder=my.ladder, xlim=c(90,550))
```
```{r}
pdf("overview.pdf")
overview2(my.inds=my.corals, channel = 1:4, ladder=my.ladder, init.thresh = 5000)
dev.off()
```
my.panel <- overview2(my.inds=my.corals, channel = 1:4,
ladder=my.ladder, init.thresh = 500); my.panel
res <- score.markers(my.inds=my.corals, channel = 3, panel=my.panel$channel_3,
ladder=my.ladder, electro=FALSE)
final.results <- get.scores(res)
final.results
Bundan sonraki analizler için poppr [4] paketi ile devam edeceğiz. Daha fazlası için tıklayın.
```{r adegenet}
library("adegenet")
```
Piklerden oluşturduğumuz genotiplerimizi içeren dosyayı Genetix [5] programına aktarıp çeşitli analizleri yaptıktan sonra .gtx uzantılı dosyamızı alalım. Bundan sonraki basamaklarda dosya uzantıları arasında gidip gelmek için PGD Spider [6] kullanabilirsiniz.
TR_1 olarak atıyorum analizleri gerçekleştireceğim dosyanın adresini ve okutuyorum read.genetix fonksiyonuyla
```{r}
TR_1<- read.genetix("D:/Mercan/analiz_yapacaginiz_dosya_ismi.gtx")
TR_1
ggplot2 [7] kütüphanesini de görselleştirme için çağıracağız.
```{r}
library(poppr)
library(ggplot2)
```
```{r}
genotype_curve(TR_1)
p <- last_plot()
```
…zaman buldukça yazmaya devam edeceğim.
- Kaynaklar
- [1] : Muséum National d’Histoire Naturelle – Laboratoires de Recherche
- [2] : Je cherche à comprendre. Jacques Monod
- [3] : Covarrubias-Pazaran, G., Diaz-Garcia, L., Schlautman, B., Salazar, W., & Zalapa, J. (2016). Fragman: an R package for fragment analysis. BMC genetics, 17(1), 1-8.
- [4] : Kamvar, Z. N., Tabima, J. F., & Grünwald, N. J. (2014). Poppr: an R package for genetic analysis of populations with clonal, partially clonal, and/or sexual reproduction. PeerJ, 2, e281.
- [5] : Belkhir, K. (2004). GENETIX 4.05, logiciel sous Windows TM pour la génétique des populations. http://www.genetix.univ-montp2.fr/genetix/genetix.htm.
- [6] : Lischer, H. E., & Excoffier, L. (2012). PGDSpider: an automated data conversion tool for connecting population genetics and genomics programs. Bioinformatics, 28(2), 298-299.
- [7] : Wickham, H. (2011). ggplot2. Wiley Interdisciplinary Reviews: Computational Statistics, 3(2), 180-185.