30 Ekim 2013 Çarşamba

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

Bu blogda şimdiye kadar bahsettiğim biyoinformatiğe başlama hikayemi mümkün olduğunca kronolojik bir sırayla paylaşmaya çalıştım. Bu süreçte tam bir sıraya sokamadığım ancak yeteneklerimi geliştirdiğini düşündüğüm bazı şeyler de vardı, bu yazıda aklıma gelenleri paylaşmak istedim.

Hayatıma büyük ölçüde etki eden ve kısa vadede hayatımı olumsuz etkileyen, uzun vadede ise faydalarını gördüğüm bir özelliğim olduğunu düşünüyorum: eğer bir şeyin mantığını kavrayamazsam, ondan olabildiğince kaçıyorum. Fakat o mantığa hakim olursam da peşini bırak(a)mıyorum. Üniversiteye kadarki süreçte rahatça -ve bazen aşırıya kaçan şekillerde- sorular sorabildiğim için merak ettiğim şeylerin peşine düşebiliyor ve karmaşık kavramları dahi kolayca özümseyebiliyordum. Ancak üniversitede işler değişti: İngilizce soru sorabilecek olgunluk ve özgüvene ulaşıncaya kadar neredeyse 2 sene kaybettim ve bu nedenle araştırmaktan hoşlanabileceğim birçok konudan uzaklaşmak zorunda kaldım. Çoğu ders kitabı da genelde işin mantığını anlatmaktan ve bir sonraki aşamada sorulabilecek soruları cevaplamaktan acizdi. Hele istatistik kitabını hatırlıyorum da; dersi ancak ikinci alışımda geçebilmiştim ve ders kitabından nefret eder duruma gelmiştim. Garip gelebilir ama, serbestlik derecesi [degrees of freedom] kavramını dahi kolay ve anlaşılır bir şekilde anlatacak bir kitap bulamamıştım uzun süre (2 sene önce sonunda buldum, keşfettiğim kitap şimdi başucu kitabım).

Uğur Hocam beni Perl'le tanıştırırken, O'Reilly yayınlarından çıkan bir kitap tutuşturmuştu elime (Learning Perl). O kadar eğlenceli bir kitaptı ki, yazar kitabı yazarken fazlasıyla eğlendiğini ve konuyu çok iyi bildiğini hissettiriyordu. Kitabın dili İngilizce olmasına rağmen anlaşılması gayet kolaydı. O zamana kadar farklı programlama dilleriyle tanışmıştım ancak hiçbiri bende bu etkiyi yaratmamıştı, çünkü işin mantığını kavrıyordum sonunda. Ardından yine aynı yayın evinden başka bir kitapla devam ettim. Bu arada bir de Manning yayıneviyle tanıştım (okuduğum dizinin kitap kapaklarında Osmanlı'ya ait figürler yer alıyordu enteresan bir şekilde). Keşfetmekte zorlandığım -ve bu nedenle de can sıkıcı bulduğum- biyolojik kavramlara bir alternatif bulmuştum ve sımsıkı sarılmıştım Perl programlamaya.

Perl dilinde ilerledikçe web programlamaya da merak saldım, ve bu işten de biraz para bile kazandım. Ancak bu ücreti bir web sitesi yapma karşılığında değil, önceden belirlenmiş birkaç web sitesini düzenli olarak tarayacak bir program yaparak kazandım. O zamanlar ünlü olan rentacoder.com adlı siteye kaydolmuştum ve bahsettiğim işi yapmaya talip olmuştum. Amaç şuydu: birkaç çevrimiçi [online] kitap satıcısını elimdeki ISBN numaralarına göre tarıyordum ve bir fiyat kıyaslaması yapıyordum bu şekilde, sonuçları da bir tablo şeklinde sunuyordum. Yaptığım işten memnun kalan müşterimle programı daha da geliştirmek üzere iki kez daha anlaştık, ancak sonuncusunda biraz hevesim kaçmıştı: o zamanlar PayPal henüz Türkiye'ye gelmemişti ve para transferi Western Union ile yapılabiliyordu, her işin sonunda anlaştığımız paranın sadece yarısı geçiyordu elime. Bu iş süresince bir web sitesi nasıl didik didik edilir ve en ufak bilgi kırıntısına dahi nasıl ulaşılır, bunu öğrendim. Bir nevi dedektiflik yapıyordum ve web sitesini oluşturan programcının nasıl düşündüğünü anlamaya çalışıyordum, böylece sayfadaki motifleri keşfedebiliyor ve bunuları rutin bir şekilde işleyebiliyordum. Aynı zamanda paralel programlama nasıl yapılır ve birden fazla işlemci en verimli şekilde nasıl kullanılır, bunun da yollarını farkında olmadan öğrenmiştim. Tersten mühendislik [reverse engineering] adı da verilebilecek bu deneyim, biyolojik (ve bunun dışındaki) mekanizmaların nasıl çalıştığı hakkındaki anlayışımı büyük oranda geliştirdi.


Bir diğer farklı deneyimi ise şu şekilde edindim: arkadaşlarla beraber kurduğumuz bir kulüp vardı üniversitede, bir gün bir eğitim düzenledik. Gelen konuşmacı, o günlerde bir ekonomi dergisinin yaptığı bir ankette kendisine oy vermemizi rica etti. Yanlış hatırlamıyorsam 13 veya 14. sıradaydı, ve ilk 10'a girmeyi hedeflemişti. Benim de muzipliğim tuttu ve otomatik olarak oy veren bir yazılım geliştirip geliştiremeyeceğimi merak ettim. Önce birkaç deneme yaptım, ardından bir belediyenin web sitesinde ilk gerçek testimi geçtim. Oy verme sürecinin gerçek insanlar tarafından yapılıyormuş gibi görünmesi için de kendi kendime bazı taktikler geliştirdim; onca zamandır kaçtığım istatistik bir anda yakın gelmeye başlamıştı. Anketi düzenleyen derginin web sitesinde daha sıkı güvenlik önlemleri vardı ancak onları da masum bir şekilde bertaraf edebiliyordum (sitenin web programcısı fazlasıyla acemiydi), ve yavaş yavaş o kişiyi öne geçirmeye başladık. Fakat zaman ilerledikçe garip şeyler olmaya başladı: diğerlerinin oyları ivmelenerek artıyordu ve 11. sıraya getirdiğimiz konuşmacımız 12. sıraya gerilemeye başladı, gün içerisinde birkaç kez sıralama değişmişti ve ilk sıralardakilere yetişmek imkansız hale geliyordu. Geliştirdiğim yazılımı birkaç bilgisayara daha kurdum, ancak bir türlü 11. sıradan daha iyi bir konuma gelememiştik. Sitenin programcısının acemiliğinden olsa gerek, yarışma bitmesine rağmen oylar iki gün daha artmaya devam etti :) Daha sonra öğrendim ki, ön sıralarda olan holding yöneticileri bilgi işlem birimleriyle konuşup oylamayı otomatik bir şekilde yapacak yazılımlar geliştirmelerini istiyorlarmış, anketin bitiş tarihi yaklaştıkça da oy verme işlemini hızlandırmışlar. Muziplik olarak nitelendirilebilecek çabalarım bir anda fazlasıyla masum hale gelmişti :) Bu sürecin sonunda, birbiriyle sürekli etkileşim halinde bulunan karmaşık bir sistemin nasıl ortaya çıktığı ve geliştiğine ilişkin birçok temel anlayış geliştirdim. Buradaki büyük resmi, hücrenin işleyişine ve hücre içerisinde ortaya çıkan farklı durumlara sadece parametrelerle oynayarak nasıl tepki verildiğine ilişkin bir anlayış olarak düşünebilirsiniz. Biyolojik sistemleri incelerken ısrarla durağan [static] bir şekilde yaklaşırız, ve bu yaklaşımların tümü dinamik bir sistemi anlayabilmemiz için fazlasıyla yetersizdir. Ağaçlardan ormanı göremediğimiz bu tür yaklaşımlara inat geliştirilen sistem anlayışı veya sistem biyolojisini paralel bir alanda hızlı bir şekilde deneyimlemiş gibi oldum aslında. 

Bahsedebileceğim son konu ise, yine Uğur Hocamdan aldığım Networking dersi. Bu derste, bilgisayar ağlarının fiziksel olarak nasıl ortaya çıktığı ve bilgisayarlar arasındaki iletişimin nasıl sağlandığına ilişkin teorik ve pratik birçok kavram işlenmişti. Burada bilgisayarlar yerine organizmalar, hücreler, dokular, veya organları koyun, alın size moleküler sinyal iletimi (hatta insanları veya toplulukları ele alırsanız da sosyal psikoloji ve sosyolojiyle karşılaşırsınız ki, ikisi de fazlasıyla ilgimi çeken alanlar. Ortaokulda tanıştığım bu disiplinlere olan ilgimi üniversitede de devam ettirebilme şansı buldum.). Hücresel sinyal yolaklarını ders kitaplarında sıkıcı ve durağan bir şekilde işlerken anlayamadığım birçok şeyi, bu ders sayesinde anladım. Bilgisayar ağlarına ilişkin öğrendiğim neredeyse her şey kendine moleküler biyolojide de yer buluyordu ve henüz tam olarak keşfedilmemiş/anlaşılmamış hücresel olaylara ilişkin tahminlerde dahi bulunabiliyordum. Bu tarz bir bilgi transferinin işleri ne kadar kolaylaştırdığını keşfettikten sonra bunu, tanıdıklara üniversiteye hazırlık dersleri verirken de kullanmaya başlamıştım (Age Of Empires oyunuyla biyolojinin ne kadar zevkli bir şekilde anlatılabildiğini bir görseniz!).

Biyoinformatik disiplinlerarası bir alan, ve bunun da en güzel tarafı, farklı bilim dallarında elde ettiğiniz bilgi birikimlerini bu alana kolayca aktarabiliyor olmanız. Böylece bu durum zaman içerisinde bir özellik haline geliyor ve anlayamadığınız bir kavramı alakasız görünen ancak aslında neredeyse aynı mekanizmaya sahip başka bir kavramla anlayabilir hale geliyorsunuz.


Sözün Özü:
Farklı şekillerde gelişen öğrenme süreçlerini birbirine tutkallayan şey, kavramlar arasında bağlantıları bulmak. Biyoinformatik de bunu besleyen bir alan.



Proje:
İnsanlar arasındaki iletişime biraz daha dikkatli bakın, elektronik cihazlar veya biyolojik dokular arasındaki iletişimle benzer noktalar bulabilecek misiniz?

Meraklısına:
Basitliğin [simplicity] karmaşıklığa [complexity] düzenli bir şekilde nasıl dönüştüğünü merak ediyorsanız, Stephen Wolfram'ın A New Kind of Science adlı kitabına bir göz atmalısınız.