Perl Biyoinformatikte neden bu kadar yoğun kullanılıyor? [kapalı]


14

Biyoenformatikte bu kadar kullanışlı kılan Perl hakkında ne var? Neden C ++ veya Matlab veya Python büyük dil değil?

Yanıtlar:


13

Perl'i biyoinformatik için bu kadar yararlı kılan şey, 1) öğrenmesi kolay bir dil olması, 2) bioPerl ve 3 dahil olmak üzere önceden kullanılabilen birçok komut dosyası bulunmasıdır. , zaten Perl ile yazılmış.

Programcı seviyesinin dil seçimi ile daha az ilgisi, daha sonra ona sorulan görevler. Gelişmiş veya hesaplamalı olarak pahalı olan işler genellikle Java veya C ile yazılır ve bir kümede çalıştırılır.

Biyoinformatik hakkında anlaşılması gereken bir şey, farklı bir alan olması ve onu uygulayanlara çeşitli görevlerin sorulmasıdır. Bir günde Perl, R ve Java kullanmak benim için nadir değil. Komut dosyası oluşturma, dosyaları taşıma, şeyleri indirme, bazı temel veri analizi vb. İçin Perl, veri görselleştirme için R ve algoritmik hesaplama / uygulamalarla çalışma ve değiştirme için Java. Olduğu söyleniyor, yaptığım işlerin çoğu Perl kullanımını gerektiriyor, ancak daha özlü koda yol açabilecek ve tamamen nesne yönelimli olan daha gelişmiş fonksiyonlara, lambdaslara ve proc'lara sahip olduğu için Ruby'ye geçmek istiyorum.


1
rica ederim. Başka sorunuz varsa veya alana girmeyi düşünüyorsanız, size yardımcı olabilecek başka bir yanıt.
wespiserA


24

Perl'in doğasında var olan erdemlerin yanı sıra, bunun bir kısmı sadece tarih. İnsan Genom Projesi nedeniyle yüzyılın başında biyoinformatikte büyük bir genişleme oldu. O zamanlar Perl genel kullanımda açık ara en popüler betik diliydi . Ruby ve Python kesinlikle ortadaydı ama bugün yaptıkları destek / zihin payına sahip değillerdi. Bu Perl'e çok fazla ivme kazandırdı.

Bence Perl'in biyoinformatikte kullanımı azalıyor ve R popülaritesinde hızla artıyor. Ancak, adlandırmayı düşündüğünüz herhangi bir dil için, muhtemelen onu kullanarak bir biyoinformatik laboratuvarı bulabilirsiniz.


2
Kabul. Bir makaleyi hatırlıyorum, Dr Dobbs'a ya da 90'lı yılların ortalarında "Perl, İnsan Genom Projesini Nasıl Kurtardı" veya buna oldukça yakın bir şeye inanıyorum. Yaklaşık 10 yıldır biyoinformatik alanında çalıştım ve aslında Perl kullanan biriyle henüz karşılaşmadım. Daha az miktarda Matlab & Python ile R oldu.
geoffjentry

6
R, Perl'in yerini alacak gibi değil. Keşif verilerinin veri analizi / görselleştirilmesi için R kullanılır. Genel betikleme görevleri perl ile yapılmaya devam edecektir.
wespiserA

+1: Ayrıca, Japonların hala Python veya Ruby'den çok daha fazla Perl kullandıkları anlaşılıyor (sohbet ettiğim bir Japon işvereninden), bu yüzden belki de biyoinformatikte olduğu gibi Japon araştırmalarıyla hangi teknolojilerin dahil olduğu üzerinde büyük bir etkisi var. ABD ile liderler mi?
Klaim

@geoffjentry: Perl'de oldukça fazla işlem gördüm, ancak sahada 10 yılım yok (2, şimdiye kadar, birkaç yıl önce birkaç kısa deneyim). Bununla birlikte, R, matematiksel hesaplamalar beklendiğinde (büyük veri kümeleri üzerinde istatistiksel analiz akla geliyor) ve iyi görselleştirmeler üretmek için (aslında birçok çözüm, kendi motorunu kullanmak yerine R Motoru ile entegre olmayı tercih eder) kraldır.
haylem

Açıklamalarımı tekrarlamak zorunda kaldığımı yazdığım 8 ay içinde, şimdi perl'in kullanıldığını gördüm :). Bu durumlarda hala tarihsel bir doğa gibi görünüyor - ya eski kod ya da perl kullanarak dişlerini kesen ve sadece onunla sıkışmış biri. Yeni işimdeki hesaplama biyologlarının çoğu, bazı matlab ve yukarıda belirtilen perl ile python & r'nin bir miktarını (kişiye bağlı olarak) kullanıyor.
geoffjentry

10

Buraya bir cevap ekleyeceğim, çünkü birçoğunun önemli bir noktayı kaçırdığını düşünüyorum ...

Perl, biyo-bilişimde popülerdir, çünkü aslında bir metin işleme dilidir .

Metin Kral

Perl aşağıdakileri kolaylaştırır:

  • NLP ve biyo-bilişim algoritmalarını uygulamak,
  • metin verilerini ayıklamak,
  • metinsel veri üretir.

Dil (Yarım) Kötü Değil

Ayrıca aşağıdakilere sahip olmanın faydaları vardır:

  • Bir iyi ifade gücü ,
  • nispeten düşük bir öğrenme eğrisi (tüm hilelerini ve korsanlarını keşfetene kadar) ,
  • aynı zamanda iyi bir performans .

C eşdeğeri kadar hızlı çalışan işleme programları oluşturmaya izin vermese de, geliştirme süresi çok daha düşüktür ve metin işleme ( güçlü düzenli ifadeler , herhangi biri?) Söz konusu olduğunda pillerle birlikte gelir , böylece kolaylaşır bu görevleri çözmek için laboratuvar ortamında almak ve kullanmak.

Taşınabilirlik ve Genişletilebilirlik Kolaylaştı

Ayrıca, açıkça:

  • olan birçok platformlarda taşınabilir ,
  • çok geniş bir uzantı kütüphanesi ile birlikte gelir .

Ancak Perl için bu kadar çok biyoinformatik (ve genel olarak bilimsel) uzantıların ve modüllerin bulunmasının nedeni, yukarıda verilen nedenlerden kaynaklanıyor. Pek çok durumda, dilin tasarımı ve yetenekleri onu iş için neredeyse mükemmel bir uyum sağlar (birisinin ona karşı tutabileceği olası pek çok şeye rağmen).


Bütün bunlar Perl'i, özellikle işlenecek verilerin çoğunlukla metin biçiminde olduğu alanlarda bilimsel araştırmalar için iyi bir rakip yapar.

Tabii ki, diğer diller ortaya çıktı ve farklı nedenlerden ötürü bir pazar payı talep etti (artırılmış ifade gücü, daha iyi okunabilirlik, açık bir şekilde hack'lerden kaçının ve guru-ish one-liner ...), ancak yine de belirli yönlerde Perl ile rekabet ediyorlar (Ruby is örneğin, verileri işlemenin yavaş olması gibi hızlı öğrenir). Dolayısıyla, metin formatları, hızlı araştırma döngüleri ve gittikçe daha fazla büyük veriyi (teşekkür, genomik ve NGS) ele aldığınız biyoinformatik (veya NLP) alanında, Perl hala çok alakalı.


Aslında, maple_shaft , Charles ve geoffjentry'nin düzenli ifadelerin de öneminden bahseden yorumlarını fark ettim , bu yüzden herkes bunu göz ardı etmedi. :)


6

Perl'in biyoinformatikteki popülaritesinin arkasındaki büyük nedenlerden biri, ilgili verilerle çalışmak için kapsamlı bir modül seti olan BioPerl'dir .

Bu gibi görünüyor modüllerin çoğu aslında diğer programlar tarafından oluşturulan veri ile çalışması için tasarlanmıştır. Sonuçta Perl mükemmel raporlama koli bandı sağlar.


5

Araçlar, operatörlerin beceri seviyesi ve benimseme kolaylığı ile seçilir - derlenmiş bir programın veya IDE'nin basit bir yorumlanmış dili alması biraz zaman alır.

Perl'in bazı ciddi kesimleri, ciddi belgeleri, ciddi kütüphaneleri ve geniş ücretsiz kullanılabilirliği vardır. Bunlardan hiç hoşlanmayan ne?


2

Perl, diğer dillerin tüm aynı yeteneklerine, veri yapılarına ve yöntemlerine sahiptir ve daha sonra öğrenmesi daha kolaydır. Programlama konusunda çok deneyimli olmayan araştırmacılar ve bilim adamları için iyidir, çünkü Perl'i kolayca alabilir ve istedikleri görevleri gerçekleştirebilirler

Bunlara ek olarak:

Açıkça avantajlı olan birçok çevrimiçi destek ve ücretsiz komut dosyası mevcuttur! =)

Özetle, çoğu bilim adamı ve araştırmacı işi mümkün olduğunca çabuk yapmak istiyor ve Perl bunun için mükemmel bir seçim

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.