19 Haziran 2013 Çarşamba

Yeni Nesil Sekanslama Biyoinformatik Analizi ve 1111 BLAST

Çok uzun bir aradan sonra tekrar merhaba. Bu blogu hazırlamaya başlarken beni en çok tedirgin eden şeylerden biri, yarım kalmasıydı. Elbette ki her şeyin bir ömrü var, ancak yine de biyoinformatik hakkında yeterince kapsamlı bir Türkçe kaynak oluşana kadar bu blogu devam ettirmek istiyorum; en azından bu niyetle yola çıktım.

İki hafta önce, Yeni Nesil Sekanslama (YNS) biyoinformatik analizleri hakkında bir sunum yapmak üzere Erciyes Üniversitesi Genom ve Kök Hücre Merkezi'nden (GenKök) nazik bir davet aldım. İşin güzel tarafı, yine geçen ay gerçekleştirdiğim birçok analizin içinde benim için çok ilgi çekici olan bir YNS çalışmasının tamamlanmasına denk geldi bu davet.  Genel amaçlı sunumlarda teknik detaylara girmekten pek hoşlanmıyorum; fazlasıyla sıkıcı hale gelebiliyor ve her kısım herkesin ilgisini çekemeyebiliyor, özellikle dinleyiciler doktorlar ve biyologlar olduğu zaman. Ancak bu yazıda, o günkü sunumda bahsettiğim başlıkların bir kısmının arka planında yer alan detaylardan bahsedeceğim. 

Gizlilik nedeniyle çalışmanın deneysel detaylarına giremeyeceğim maalesef, ancak özetle, farklı ortamlardan alınmış örneklerde hangi tür mikroorganizmaların olduğunu tespit etmek amaçlanıyordu. 16S ve 18S bölgeleri hedeflenerek gerçekleştirilen bir Sanger sekanslama (dizilimleme) yaklaşımı ile yapılan tipik bir tür tayini araştırmasının milyonlarca DNA dizilimini içeren versiyonu olarak düşünebilirsiniz gerçekleştirilen analizi. Temel birkaç farkla.

İlk fark, her bir okumanın (YNS cihazının okuduğu ve rapor olarak sunduğu her bir DNA parçası) [read] klasik Sanger sekansına göre daha kısa olması. Bu durum, çok da alışık olduğumuz bir durum değil ve mevcut analiz araçları da bu duruma uygun olarak geliştirilmemişler maalesef. Bazen, elinizdeki -birkaç yüzbin okumanın arasından seçtiğiniz- sekansın hangi türe ait olduğunu kesin bir şekilde tespit etmenize bu kısalık engel oluyor. Gerçekleştirdiğim analizde kullanılan kit 150 bazlık okumalara izin veriyordu, aşağıda okumaların grafiğini görebilirsiniz. Normal şartlar altında iyi bir Sanger sekanslama size yaklaşık 500 bazlık bir dizilim sunarken, YNS'de şimdilik en fazla 250-300 baz görebiliyorsunuz dizilim başına (4000 baza kadar okuma yapan YNS teknolojileri de var ancak hata oranı böyle bir çalışmada kabul edilemeyecek kadar yüksek, örneğin Pacific Biosciences). Burada psikolojik de bir problem var aslında, ikinci farkta ona değineceğim.

İkinci fark, elinizde toplamda milyonlarca okuma, yani DNA diziliminin olması. Bir Sanger sekanslaması sonucunda bir DNA dizilimi elde ederseniz, buna gözünüz gibi bakarsınız, çünkü elinizdeki tek veri bu dizilimdir. Eğer yeterince kaliteliyse kullanırsınız veya kalitesiz kısımlarını dizilimde göz ardı ederek kalan kısmını kullanırsınız. Yine de her çalışma size güvenilir bir dizilim sunar. YNS'de öyle değil. İşte bundan ötürü, elinizde bir kısmı çöpe atılsa dahi yine de işinize yarayacak kalitede çok miktarda dizilim kalıyor.

Üçüncü fark, elinizdeki verilerin büyük bir kısmını çöpe atıyor olmanız. YNS cihazının çalışmasını sona erdirmesinden sonra size sunduğu dizilimler, temel kalite kriterlerini sağlayan dizilimlerdir; yani, elde edilen verilerin gayet büyük bir kısmını daha ilk aşamada kaybediyorsunuz  fakat farkında olmuyorsunuz (teknolojiye bağımlı olarak bu miktar %20 ile %50 arasında değişiyor). Cihazın size sunduğu verilerin güvenilir olanlarını ayıklamak adına kendi kalite filtrenizi uyguladığınızda ise yine kullandığınız teknolojiye bağlı olarak elinizdeki dizilimlerin %10 ila %40'ını kaybedebiliyorsunuz! Normal şartlar altında buraya kadar uygulanan adımlarda bir yanlışlık yok ancak her bir adımın farkına varıp da ne kadar çok veri kaybedildiğini bilmek hiç de alışık olmadığınız bir şey. İlk YNS analizimi gerçekleştirdiğimde (aynı zamanda ülkemizde gerçekleştirilen ilk YNS biyoinformatik analiziydi) bu durum beni o kadar çok tedirgin etmişti ki, her bir aşamayı defalarca tekrar etmiştim. Aşağıdaki grafikte örnek bir kalite skor dağılımını görebilirsiniz, genelde skor olarak 30'un üstü kabul görür.

Dördüncü fark, yine de daha ileri seviye filtreleme yaklaşımlarına ihtiyacınız olması. Yani diyelim ki kalitesi düşük dizilimleri ayıkladınız ve elinizde süper güvenilir ve yeterince büyük  miktarda dizilimleriniz var. Şimdi sıra, bunların işe yarar olanlarını belirlemekte. Elinizdeki her bir veri mutlaka bir bilgi içeriyor, ancak büyük bir kısmı kullanabileceğiniz türden veriler değil. Bunun deneysel temelli birçok nedeni olabilir ve bu kısma girmeyeceğim, ancak çoğu zaman bunlardan kaçınamıyoruz. Aşağıdaki grafikte, her bir dizilimden elinizdeki veride kaç tane olduğuna ilişkin bir grafik görüyorsunuz. Örneğin, elimizdeki veride sadece bir kez karşılaştığımız dizilimler o kadar çok ki, tüm grafiği domine ediyor (baştaki siyah sütun). Maalesef bu veriler bizim analizimizde kulllanılabilir bir bilgi içermiyordu. Görülme sıklığı belli bir sayının üzerinde olan dizilimleri aldığınızda ise elinizde sınırlı sayıda dizilim kalıyor. Bu aşamaya geldiğimizde, işe yarar veri başlangıçtaki verinin yaklaşık %0,5'ine düşüyor! Merak etmeyin, elimizde yine de yeterince çok dizilim kaldı.



Gelelim en son aşamaya: elimizdeki dizilimlerin hangi organizmalara ait olduğunu tespit etmeliyiz. Burada başvurduğumuz temel araç BLAST ve benzeri hizalama araçları. Ancak karşınızdaki çalışmadan nasıl bir organizma listesi geleceğini bilmiyorsanız ve elinizdeki dizilimler de birbirine fazlasıyla benziyorsa, sonuçların güvenilirliği için bazen sonuçları teker teker kontrol etmeniz gerekiyor. Şimdiye kadarki analiz aşamaları örnek sayısı da iki haneli sayılar söz konusu olduğunda günler sürdü ancak bir şekilde otomatik bir şekilde ilerledi, bu nedenle benim için gayet zevkliydi. Ancak bu BLAST aşaması tam bir baş belası!

BLAST sonuçları birbirine çok benzediğinde, organizmaların anotasyonları düşük hassasiyetle yapıldığında (omurgalılarda çok problem yok ama bakteri söz konusu olduğunda korkun) veya çok iyi tanımlanmamış türlerin de sonuçlarda yer alması durumunda (maalesef yine bakterilerden söz ediyorum) süreci otomatikleştirmek size yanıltıcı sonuçlar vermekten başka bir şeye yaramıyor. Bu tam da hata yapıldığının farkında olunmayan durum ki bir biyoinformatik analiz için kesinlikle kabul edilemez, her türlü yanıltıcı etkiyi bertaraf ettiğinizden emin olmalısınız.

Elimde hizalamam gereken binden fazla dizilim vardı ve analizin güvenilirliği için bu aşamada her bir sonucu incelemem gerekiyordu. Yaklaşık 1111 BLAST yaptım (en azından bu süreç otomatikti) ve her birinden gelen sonuçları tek tek inceledim. Yani, yaklaşık 110.000 sonucun gözle incelenmesinden bahsediyorum, neredeyse bir haftamı aldı! Büyük bir monitör kullanmasaydım herhalde şaşı görmeye başlardım :)

Kesinlikle uğraştırıcı, ancak eğlenceli bir analizdi benim için. Bulmaca çözüyormuş gibi hissediyorum bu tür analizlerde.


Sözün Özü:
Yeni Nesil Sekanslama biyoinformatik analizi kendine has yaklaşımlar gerektirir ve büyük miktarda veri filtrelemesi içerir. İşin en emek-yoğun kısmı ise hizalama [alignment] kısmıdır ve çoğu durumda bu aşama yarı otomatik veya otomatik olmayan bir analize dönüşebilir.



Proje:
Herhangi bir organizmaya ait bir 16S dizilimi bulun (örnek olarak buraya bakabilirsiniz) ve karşınıza çıkan FASTA biçimindeki dizilimin her bir satırını alarak ayrı ayrı BLAST'layın (nucleotide BLAST kullanarak). Sıkılmadıysanız, 3'er satırlık dizilimle aynı aşamaları tekrarlayın ve sonuçları kıyaslayın (skorlara bakın): BLAST'a girilen dizilimlerin uzunluğu sonuçların özgünlüğünü ne kadar da etkileyebiliyor, değil mi?

Meraklısına:
BLAST'a FASTA formatında birden fazla dizilim girebilir ve sonuçlara toplu olarak erişebilirsiniz. Projeyi bu kısmı okumadan yapmaya başladıysanız, kusura bakmayın :) Hepimiz bu süreçten en az bir kez geçtik :)