İlk yazımda size stajımın birinci haftasında
ısınma turları olarak yaptığım oyunlardan bahsettim. Bu hafta işler biraz daha
ciddileşiyor ve Python için kollarımızı sıvıyoruz.( Eğer daha önce python
kullanmadıysanız codecademy’de python
dersini bitirmek yararlı olur.) For
döngüleri, liste ve sözlük oluşturma, oluşturduğumuz bu dizilerden istediğimiz
veriye ulaşabilmek gibi temel yapıları anlamak için bazı fonksiyonlar
oluşturmamız istendi bu adımda. Bu fonksiyonlar sırasıyla şu görevleri yerine
getirmeliydi: Verilen DNA dizisini 3 bazlık kodonlara ayırmak, kodon dizisinden
protein sekansının eldesi, verilen DNA dizisinin intronlarını liste olarak
verme, tüm genomu verilen organizmaların intronlarının belirlenmesi ve txt
dosyası olarak verilmesi, verilen intron dizisinden olası 20 bazlık miRNA ların
bulunması ve liste olarak verilmesi. Olası miRNAları, intron sekansı boyunca 20
bazlık dizinin çerçeve kaydırma yöntemiyle bulunması mümkündür. Bu aşamada
fonksiyonları yazarken başvurduğum bazı
kolaylıklardan bahsetmek istiyorum. Liste ve sözlükleri oluştururken
istediğim veriye ulaşıp ulaşmadığımı her adımda kontrol etmek, for döngüsünün
farklı adımlarında print komutuyla döngünüzün tam olarak ne çevirdiğini,
aldığınız hata kodlarını aratıp sebeplerini anlamak, büyük veriler ile
çalışmadan önce verinizin bir parçasıyla fonksiyonlarınızı geliştirmek,
aldığınız veri çıktılarını anlayabilmek için kodun belli yerlerinde kolay
ayırt edilir işaretler printlemek beni yazdığım
kodun içinde kaybolmaktan uzak tutmuştur. Bu ve bunlar gibi gerçek problemlerle
paralellik gösteren fonksiyon
örneklerini Rosalind sitesinde bulabilirsiniz. Orada aldığınız puanlar ve küçük
ödüller de motive edici olabiliyorJ. Aynı zamanda yazdığınız çözümü forumdaki insanlarla paylaşıp, aynı
problem için oluşturulabilecek daha kısa ve dinamik kod olup olmadığını da
görebilir böylece kodunuzu gereksiz satırlardan kurtarabilirsiniz.
Yeni biyoinormatiğe giriş adımları için bir
sonraki yazımda görüşmek üzereJ