15 Ocak 2013 Salı

Biyoinformatiğe Nasıl Başladım 2

İlk yazımın fazlasıyla ilgi çekmesi nedeniyle aralarda bu alana nasıl başladığım ve ilerlediğime ilişkin hikayemi bir dizi yazı şeklinde paylaşmaya karar verdim.

Başlangıç kodonuna ilişkin problem JAVA dersi alırken karşıma çıkmıştı; öğrendiklerimi uygulayabilmek için güzel bir fırsattı ve ilgimi de çekmişti. Programlamayla ortaokulda sayı tahmin edebilen bir QBASIC oyunuyla tanışmıştım ve çok ilgilenmiştim (o zamanlar Age of Empires bile yoktu, en ufak bir şey dahi sizi şaşırtmaya yetiyordu). Daha sonra lisede bir bilgisayarı kullanabilmek fırsatı edindim; okulumuzdaki bilgisayar laboratuvarında birçok 286 ve bir de 486 vardı. Üniversite olanakları ve kazandırdığı ufukla benim için tam bir yeşerme dönemi oldu; okula kayıt olduğunuzda zorunlu olarak yapmanız gereken ilk şey laboratuvarlardaki bilgisayarları kullanabilmek ve buradan e-postanıza erişmekti. O zamanlar yapabildiğim en iyi şey bir web sayfası hazırlamaktı ancak hazır şablonlar olmadığı için HTML'de kodlama yapabilmek gerekiyordu; bu iyi bir motivasyon oldu. Bölümün (Moleküler Biyoloji ve Genetik) ilk dersleri çok ilgimi çekiyordu ancak bir yandan da programlamayla ilgilenmeye başladım. Yine o zamanlar iki dönem JAVA dersi almamız gerekiyordu; bu benim için büyük bir fırsattı ve kafamda genetikle programlamanın nasıl birleştirilebileceğine ilişkin sorular oluşmaya başladı.

12 Ocak 2013 Cumartesi

Veritabanlarında Diğer İsim [Alias] Problemi

Herhangi bir konuda uzmanlaşmak için, o konunun tarihsel süreçlerini biraz olsun bilmek gerekiyor. Bunun temel sebebi, verinin, malumatın ve bilginin birikerek çoğalması ve ortaya çıkması. Malumat kelimesini bile bile seçtim, sebebini anlatayım.

Birkaç yüzyıldır bilginin peşinden koşmayı kitlesel olarak bırakmamızdan olsa gerek, bu geri kalmışlık kelime dünyamıza da bulaşmış. Bilgi diyerek genelleştirdiğimiz kavramı İngilizce'de 4 farklı kelimeyle sınıflandırmışlar; bizde de karşılıkları var ancak biz neredeyse her şey için bilgi kelimesini kullanmayı tercih ediyoruz. Gerçekte bu kavramların Türkçe'leri şu şekilde (TDK'nın da bu konuda kafası biraz karışık, bu nedenle orayı referans almadım):
- Veri (data)- Malumat (information)- Bilgi (knowledge)- İrfan/bilgelik (wisdom)
Bunlardan ilk üçü arasındaki fark ve bağlantıyı çok güzel bir şekilde ifade eden bir kitaptan alıntı yapmışlar bir blogda, şu şekilde anlatılıyor:
Veri (data), birbiri ile ilişkilendirilmemiş ham kayıtlardır. Enformasyon (malûmat, information), işlenmiş veya anlam kazanmış verilerdir. Bilgi (knowledge) ise, değer kazanmış enformasyondur ve enformasyonun amaca yönelik olarak bir araya getirilmesidir.(Paul Myers, Knowledge Management and Org. Design, s.3)

Bu konuya ileride de bolca referans vereceğim ve bu farkın iyice anlanmasının önemli olduğunu düşünüyorum. Merak ediyorsunuzdur bunun diğer isim [alias] problemiyle ne alakası var; bu problemi anlayabilmek için gen veya protein isimlendirilmesinin nasıl yapıldığı hakkında fikir sahibi olmamız ve malumat seviyesinden bilgi seviyesine geçmemiz  gerekiyor. Konuya doğrudan girdiğimizde veri veya malumat safhasını bir türlü geçemezken, işin tarihsel arkaplanına hakim olunca aradaki bağlantıları kurabiliyoruz ve sağlıklı bilgi seviyesine ulaşabiliyoruz. 

Veritabanı Veritabanları

Biyoinformatiğe yeni başlayanlar veya kendini geliştirmek isteyenler genelde genom veya proteom veritabanlarıyla başlarlar; biz de eğitimlerimizde bu yolu izliyoruz ve bu kaynakları bir araya getiren veritabanları veritabanlarından sonlarda bahsediyoruz. Ancak bir süredir bunun çok da etkin olmadığını farketmeye başladım. Temel sıkıntı, bu yaklaşımla birçok veritabanına aynı anda bakmak pek de pratik olmadığı için her bir veritabanının güçlü ve zayıf yönlerini anlamak mümkün olmuyor. Yani bu şuna benziyor; bir çamaşır makinası almak istiyorsunuz ancak her bir markayı ayrı ayrı gezdiğinizde kafanız karışıyor ve hızlı bir kıyaslama imkanı bulamıyorsunuz; bir teknoloji mağazasında aynı markaları bir arada gördüğünüzde ise karar verme süreciniz kolaylaşıyor.
Kitap dizin kartları, ilk kez Erciyes
Üniversitesi Kütüphanesi'nde
görmüştüm, ilkokula yeni başlamıştım.

GeneCards'la başlayalım. Kısaca şunu yapıyor GeneCards; her bir gen için birçok veritabanındaki veriyi otomatik olarak toplayıp aynı sayfada sınıflandırarak gösteriyor. Bunu hatırlar mısınız bilmiyorum ama, eskiden (daha bilgisayarlar piyasada yokken) kütüphanelerde dizin kartlarından oluşan bir sistem vardı. Bir kitap hakkındaki tanımlayıcı her bilgi ve bazen de kısa bir özet bir kart üzerinde sunulurdu ve bu kartlar alfabetik olarak dizilip dar uzun çekmecelerde muhafaza edilirdi [geçmişten bahsettiğim için kelime seçimlerim bile değişti, korunmak yerine muhafaza'ya geçtim :) ].

10 Ocak 2013 Perşembe

3 Tür Biyoinformatik Kullanıcısı

3 tür biyoinformatik kullanıcısı olduğunu düşünüyorum; 1) yüzeysel kullanıcı, 2) deneyimli kullanıcı ve 3) ileri düzey kullanıcı. Aslında bu kullanıcı profilleri neredeyse her konuya uygulanabilir, bu nedenle bir örnek üzerinden açıklayarak devam etmek istiyorum. Bu sınıflandırmanın keskin çizgilerle yapılamayacağının da farkında olduğumu belirtmeliyim; amacım, mümkün olduğunca sınırları belirlemek.

Benzer bir şekilde 3 farklı seviyede otomobil kullanıcısı vardır: ilk seviyedekiler otomobilin nasıl çalıştırılacağını, nasıl kullanılacağını ve nasıl yönlendireceğini bilirler. Farklı hava ve yol koşullarında bu seviyedeki kullanıcılar zaman zaman sıkıntılar çekebilir, hatalar yapabilir ve başkalarının da hata yapmasına neden olabilir. Bu tür kullanıcı için otomobil tanımı, 4 tekerlekli ve yönlendirilebilen bir vasıtadır.

Biyoinformatiğe nasıl başladım 1

Bir kavramı anlatmak üzerine yola çıkmaya karar verdiğinizde, nereden başlayacağınızı şaşırıyorsunuz. Yaklaşık 45 dakikadır bilgisayarın başındayım ve sürekli yazıp siliyorum. Artık bir şekilde başlamam gerek dedim ve kendi hikayemle başlıyorum.

İlk gerçek biyoinformatik problemiyle lisans 2. sınıfta karşılaştım; amacım, ATG dışındaki başlangıç kodonlarıyla (evet, var!) başlayan genleri tespit etmekti. Tespit ettikten sonra ne yapacağımla ilgili en ufak bir fikrim yoktu ancak bunu başarabilmek beni çok mutlu etmişti :) Bugünkü bilgim olsa, bu genlerin ortak özelliklerini tespit etmek adına GO (Gene Ontology) ve yolak analizleriyle bir dizi çalışma gerçekleştirir ve herhangi bir şey bulup bulamayacağıma bakardım. Neyse, işin içine girdikçe mutlaka derinleşmem gereken iki temel konu olduğunu farkettim: programlama  algoritma) ve moleküler biyoloji. İstatistiğin henüz farkında değildim.


Sözün özü: 
Biyoinformatik, yaşam bilimlerinde (ve özellikle de moleküler biyoloji ve genetikte) çözmeye çalıştığımız ve büyük miktarlarda veri içeren problemleri çözebilmek amacıyla bilgisayar ve istatistik bilimlerinden/araçlarından faydalanan disiplinlerarası bir alandır.



Proje (programlama bilgisi gerektiriyor): 
Amacımız, fare genomunda ATG ile başlamayan genleri tespit etmek. [Çözümü kolaylaştırmak adına, DNA yerine protein dizilimi üzerinden analizi gerçekleştirebilirsiniz. ATG Metionin aminoasitini kodlar ve bu aminoasit M harfi ile gösterilir. Bu durumda M ile başlamayan proteinleri tespit etmeliyiz. Dosyayı şu adresten indirebilirsiniz: ftp://ftp.ncbi.nih.gov/refseq/M_musculus/mRNA_Prot/mouse.1.protein.faa.gz] 

Meraklısına: 
Problemi Vi editörü ile şu şekilde çözebilirsiniz: />.\+\n[^M]/