31 Ağustos 2014 Pazar

Biraz Pythonlama

İ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

Hiç yorum yok:

Yorum Gönder