Tag Archives: HesaplamaliBiyoloji

Hesaplamali Biyoloji ile ilgileniyorum. Nereden baslamali, nasil ogrenmeli?

Son zamanlarda bu soruyu cok duyuyorum. Kendimce kisa seruvenimde ogrendiklerimden hareketle nacizane onerilerimi burasi araciligi ile paylasayim istedim..

Ilk olarak sunu soylemeliyim: burada yazdiklarim cogunlukla bu alana biyoloji temeli ile yonelenler icin gecerli olacaktir, hikayenin sadece o kismini yasadim o yuzden o kismi paylasiyorum.

Neler ogrenmek gerekir, nasil ogrenebiliriz? 

1. Biyoloji

Biyoloji temeli ile bu alana yoneliyorsaniz unutmayin ki bu alana muhtemelen en buyuk katkiniz; biyoloji icin neyin gerekli oldugu, hangi varsayimlarin yapilabilecegi, herhangi bir teknolojinin bir soruyu gercekci sekilde cevaplamak icin ne avantaji / ne dezavantaji oldugu gibi kritik noktalari yorumlayabilmeniz neticesinde gelecektir. Biyolojiye hakim degilseniz, alana uzmanliginizi getirmiyorsunuz demektir. Bu yuzden, “ders kitabi seviyesi”nde biyolojiden cikip, guncel teknolojileri takip etmek, yeni cikan metodlara hakim olmak cok onemli. Yani: i) ders seviyesinde genel kavramlara hakim olmak muhim ki uzerine kendiniz bir seyler ekleyebilesiniz ve ii) guncel makale takip etmek bence bu isin recetesi. Peki nasil yapariz? Ben biraz eski kafalilardan olarak RSS feed kullaniyorum – yeni nesil bilmiyor olabilir :) Ilk denemenizi yapin, http://www.feedly.com acin, ucretsiz uyeliginizi olusturun ve cikan sayfada arayarak Nature, Nature Methods, Bioinformatics Current Issue ve PLOS Computational Biology: New Articles i news feedinize ekleyin. Mesela her sabah gazete takip eder gibi acip bu dergilerde o gun cikan makalelere goz gezdirin. Hepsini okumaniz imkansiz ama sadece isimlerine, abstractlarina bakmaniz bile neler olup bittigine dair fikir verecektir ve en ilgilileri secip okumanizi saglayacaktir. RSSleri sadece makale takip etmek icin kullanmayin, blog takip edin. Bloglar ilk asamada dergiler gibi arama ile karsiniza cikmayabilir, bu sebeple bloglarin RSS feed linklerini kullanmalisiniz. Ornek olarak hadi bu blog’u RSS feedinize ekleyelim (kendim icin degil valla). Solda RSS – Posts linkini goruyor olmalisiniz. Ona tiklayin, acilan sayfanin adresini kopyalayip gidip feedlydeki arama kismina (ya da ‘new content’) yapistirin ve takip edin. Bu sekilde takip etmenizi onerebilecegim bloglar RNA-Seq Blog ve R-bloggers olacak.  Benzer sekilde PubMed’de bir keyword ile olusturdugunuz aramayi RSS feed haline getirebilir, gunluk olarak bunlari da takip edebilirsiniz. Bunlar haricince Nature News, phys.org gibi sayfalar da guncel makaleleri ozetleyen haberler yapan kimi kaynaklar. Guncel kalmak onemli! Diger onerim, Twitter’i yediginiz yemegi paylasmak icin degil, bilgi paylasimi icin kullanin (yediginiz yemegi de paylasin tabii canim banane!). Google’da kisa bir ‘twitterda biyoenformatikte takip edilecek kisiler’ aramasi sonunda eminim onlarca hesapla karsilasacaksinizdir. Takip edin, paylasin zamanla cevreniz buyudukce iyi icerige erisim ihtimaliniz de artacaktir. Sosyal medyayi degerlendirin.

2. Istatistik / Matematik

Bu kismi cogu biyoenformatikci / hesaplamali biyolog arkadasin es gectigini goruyorum. Oysa bu kismi es gecmek, baskalarinin metodlarini (anlamadan) kullanmaya veya baskalarinin metodlarini ufak degisikliklerle (bazen de yanlis sekilde) kullanmaya mahkum olmak demek. Iyi matematik bilirseniz, iyi istatistik ogrenmeniz cok rahat olacaktir. Istatistik biliyorsaniz (efendim o ogrendiginiz t-test ve ANOVA yi kastetmiyorum, onlar da guzel, yararli tabii ama teorisini kastediyorum, yeni metod gelistirebilecek hale gelmekten bahsediyorum), yeni metodlar gelistirmek, belirli bir soru icin uygun yontemi secmek cok daha kolay olacaktir. Peki nasil olacak. Burada benim en favori ogrenme aracim olan MOOClari onermemek gibi bir sansim yok. Benim hayatimi degistirdiler, birakin sizinkini de degistirsinler. Cok yakin zamanda MOOClarla ilgili de bir yazi yazacagim (nedir, ne degildir, en verimli nasil kullanirim? temali), oraya da beklerim. Simdilik sadece bir kac kilit nitelikte ders onerecegim:

  1. Temel matematik: eger calculus dersi almadiysaniz veya iyi bir altyapiniz oldugunu dusunmuyorsaniz, MOOC degil ama MIT OCW Single-variable ve Multivariable Calculus derslerini oneririm. Ozellikle matematikten zevk aliyorsaniz mutlaka eksik oldugunuzu dusundugunuz konulara bakmanizi tavsiye ederim.
  2. Temel istatistik: EdX’te BerkeleyX: Stat_2.1x, Stat_2.2x ve Stat_2.3x derdim ama ne yazik ki dersler artik ulasilabilir degilmis. Yine de kontrol edin derim. Alternatiflerini suradan ve suradan kendiniz arayarak bulabilirsiniz eminim.
  3. Istatistiginiz de R programlama bilginiz de ne kadar iyi olursa olsun almaktan asla pisman olmayacaginiz bir ders: Rafael Irizzary’nin HarvardX: PH525x – Data Analysis for Life Sciences Serisi.
  4. Ileri seviye: Coursera’da Andrew Ng tarafindan verilen Machine Learning dersi ve  Deep Learning serisi (buna ben de yeni basliyorum!)

3. Programlama

Bir cok kisi buradan basliyor ogrenmeye. Ben de oyle yaptim. Ama inanin aslinda en kolayi bu. Temel biyoloji ve istatistik bilgisini oturtturmak daha kritikmis meger. Ilk basta programlama cok zor gelecektir belki ama belirli bir sure gectikten sonra akicilik kazanirsiniz, panik yapmaya gerek yok.

Bu konuda en cok karsilasitigim soru: hangi programlama dilini ogrenmeliyim? Cok dolambacli “C -> Perl -> Java -> Python -> Bash & Python & R” gibi bir yol izlemis, aralara PHP vs. gibi daha ozel amacli diller de serpistirmis birisi olarak onerim: amacinizi dusunerek baslayin! Amac ilk adimda bilgisayar bilimini ogrenmek iyi bir temele sahip olmaksa, evet itiraf etmeliyim C ogrenmem bir cok seyi kolay anlamama yardimci oldu. Kritik miydi? Bence hayir! Ama amacimin ne oldugunu bilmeden basladigim icin yardimci oldu. Simdi olsa neyle baslardim? Python. Eger bu kategorideyseniz lutfen su derse bir bakin: MITx – 6.00x Introduction to Computer Science and Programming Using Python. Ancak unutmayin ki hic bir programlama, scripting dili ‘en iyisi’ degildir, hepsinin artisi eksisi vardir. Gozlemledigim kadariyla, bu alandaki herkes kullaniyor veya bilmek kesinlikle avantajli ve bir cok degisik hesaplamali biyoloji altdalinda isinize yarar diyebilecegim 3lu: Bash, Python ve R. Linux isletim sistemi ve bash’e kisa bir giris niteliginde degerlendirebileceginiz bir ders onerim de: LSF101x. R icin de kesinlikle istatistik icin de yazdigim, Rafael Irizzary’nin dersini oneriyorum. Genom, transkriptom analizi duzeyinde daha ileri kullanisini ogrenmek icin de yine ayni kisiler tarafindan verilen Genomics Data Analysis serisini oneririm. Bunlar disinda bana biraz sıkıcı gelen ancak yine de yararli buldugum Data Science Specialization kapsamindaki dersleri deneyebilirsiniz. Ozellikle ilk ders (The Data Scientist’s Toolbox)’te gosterilen version control / Git konularina mutlaka bakmanizi tavsiye ederim.

Programlama konusunda ogrenilecek en kritik seylerden birisi de nasil yardim alinacagini, cevap alabilmek icin nasil soru sorulacagini ogrenmek. StackOverflow, Biostars ve StackExchange yardim alabileceginiz sitelerden sadece birkaci. StackExchange’deki “Nasil soru sorarim?” sayfasini baslangic icin inceleyebilirsiniz.

Sadece nasil kod yazilacagini ogrenmek de ne yazik ki yeterli degil. Nasil temiz ve iyi kod yazilir, tekrar edilebilir analiz yapilir bunu ogrenmek de cok onemli. Onerdigim derslerin cogunda bu konu da isleniyor zaten (jupyter notebooks, R notebooks / R markdown incelemenizi tavsiye ederim) ama emin olun yazdiginiz bir kod temiz degilse, yorumlar eklenmemisse veya iyi dokumanlanmamissa bir kac ay sonra donup baktiginizda ne oldugunu unutmus ve anlayamaz olacaksiniz ve tekrar yazmaniz gerekecek. Kendiniz icin bile olsa, anlasilir kod yazma aliskanligini en bastan gelistirmeniz en iyisi olur.

Bunlar disinda, dedigim gibi onemli olan ne icin programlama ogrendiginiz. Eger ki biyolojiciler icin uygulama gelistirme, iyi kullanici arayuzu tasarlama, veribankasi yaratip webde sunma gibi daha genel analiz disi amaclar olasi ise Java, HTML, PHP, SQL yararli olacaktir eminim. Isin ozu, hangi programlama dili en iyisi? sorusunu birakip, su amac icin hangi programlama dili en uygun en genis kitleye sahip sorularini sormaya baslamanizi tavsiye ederim. Ilk programlama dilinden sonra digerlerini ogrenmenin cok daha kolay oldugunu farkedeceksiniz zaten. Yani surec icerisinde yenilerini ogrenmeniz cok zor degil.

4- Ozel kullanim alani olan yazilimlar

Bu kisim calisilan alana gore cok degisecektir. Ornegin, kimisi icin TopHat2, STAR, HISAT, Cufflinks, Kallisto gibi araclar kritik olacakken kimisi icin PyMol, AutoDock, OpenBabel gibi araclar onem tasiyacaktir. Bunlari makaleleri takip ettikce, ilgilendiginiz alandaki makalelerin metod kismina bakip hangi amacla hangi yazilimi kullandiklarini not ederek bir ogrenilecekler listesi cikartip derleyebilir, ve ogrenmeye baslayabilirsiniz. Bu tarz programlarin genelde oldukca guzel tutoriallari oluyor, elinizde inceleyecek bir data olmasa bile verilen ornekleri takip ederek ogrenebilirsiniz.


Ama burada olasi bir soru da su: butun bunlar sart mi? Tabii ki hayir! Neyi ne kadar ogrenmek istediginize ne dogrultuda ilerleyeceginize siz karar vereceksiniz. Burada sadece bildigim daha onceden kullanip memnun kaldigim kimi kaynaklari sundum. Eger sizin de onereceginiz kaynaklar varsa yorum olarak yazabilir veya bana ulasabilirsiniz. Onerdiginiz dogrultuda gonderiyi guncellerim.


Yararli bulduysaniz ilgili ortamlarda paylasarak daha fazla kisiye ulasmasina yardimci olabilirsiniz. Yorum / oneri / elestirileriniz icin asagiya yorum birakabilir, icerigin daha iyi olmasini saglayabilirsiniz! Paylasimlardan haberdar olmak icin blog’u takip etmeyi unutmayin!

Advertisements