Anasayfa » Mühendis Çantam, Bioinformatics

Reading Huge Files in PERL

8 Mart 2018 139 views Yorum Yok Kii

Merhaba arkadaşlar,

Bioinformatics dünyasına girene kadar kullandığım yazılım dilleri istediğim her şeyi yapmaya yetiyordu, bitirme tezleri dışında. Ancak bioinformatics demek genler demek, genler demek etkileşimler demek derken, ucu bucağı gözükmeyen deryalarda buluyor insan kendini. Yine bioinformatics’ten dolayı başladığım bir yazılım dili olan R, gayet iyi hoş. Ancak veri preprocessing kısımlarında yetersiz kalıyor. Bu sebeple bir script ihtiyacına binaen PERL‘ü seçtim. Eğer daha hızlı ve daha güzel olduğunu düşündüğünüz bir dil varsa, önerilere açığım. Çünkü PERL’de daha çok yeniyim, hiiiç arkama bakmadan döner giderim:)

Dün uğraştığım bir iş vardı: 485.000 civarında satırı olan yaklaşık 1000 adet dosyaya bazı ekleme çıkartmalar yapıp, modifiye edilmiş halini tek bir dosyada topladım. Yaklaşık 25 GB oldu bu dosya. Bu kısım lokalde çalıştırdığım PERL scripti ile halloldu. Ancak pairwise olan bu verileri matrix formatına getiren PERL kodum, lokal MAC’i bütün gece kendisine hapsetmekle kalmayıp, kitledi, bir gün boyunca yok yere zaman kaybı oldu. Bu kodu ofisteki server üzerinde çalıştırdım, her şey güzel olacak derken bir önceki kodla hazırlamış olduğum 25 GB’lık dosyayı okuma kısmını başaramadı, ve ‘Killed’ deyip durdu. Belki aranızda ihtiyacı olan vardır; çok bilgi var etrafta ancak benim için diğerlerinin hiçbirisi geçerli olmadı. Kullanım kısıtım yoktu, hepsi unlimited. Ancak dosyayı okuma kısmı aşağıdaki güncelleme ile halloldu:

Eskiden

my @lines = <INPUT_FILE>;

şeklinde okuduğum satırları

while(defined( my $line= <INPUT_FILE>)){

şeklinde okuyunca olay değişti, bi’ yüzüm güldü filan=)

Belki sizin de yüzünüzü güldürürüm diye sıcağı sıcağına paylaştım.

Have a perfect coding!

Yoruma Açığız! :)

Be nice. İçeriği çirkin olmadığı sürece her yoruma, öneriye ve soruya "evet" :)

Etiketler: , ,