Risposte:
Ciò che rende Perl così utile per la bioinformatica è che 1) è un linguaggio relativamente facile da imparare, 2) ci sono molti script preesistenti da usare, tra cui bioPerl e 3) possibilità che il laboratorio in cui lavori abbia centinaia di script e moduli , già scritto in Perl.
Il livello del programmatore ha meno a che fare con la scelta della lingua, quindi i compiti che gli vengono richiesti. Qualsiasi lavoro avanzato o costoso dal punto di vista computazionale viene solitamente scritto in Java o C ed eseguito su un cluster.
Una cosa da capire sulla bioinformatica è che si tratta di un campo diverso, con compiti diversi che vengono chiesti a coloro che la praticano. Non è insolito per me usare Perl, R e Java in un giorno. Perl per roba di script, spostamento di file, download di cose, alcune analisi di base dei dati ecc., R per la visualizzazione dei dati e Java per il calcolo algoritmico / lavorare con e modificare le applicazioni. Detto questo, la maggior parte dei compiti che richiedono l'uso di Perl, tuttavia, vorrei passare a Ruby, poiché ha funzioni più avanzate, lambda e proc, che possono portare a un codice più conciso ed è completamente orientato agli oggetti.
A parte le virtù intrinseche del Perl, parte di questa è semplicemente la storia. Vi fu una grande espansione della bioinformatica all'inizio del secolo a causa del Progetto Genoma Umano. All'epoca Perl era di gran lunga il linguaggio di scripting più popolare in uso generale . Ruby e Python erano sicuramente in giro, ma non avevano quasi il supporto / la condivisione mentale che fanno oggi. Ciò ha dato a Perl un notevole slancio sul campo.
Penso che l'uso del Perl in bioinformatica stia diminuendo e che R stia rapidamente aumentando in popolarità. Ma per qualsiasi lingua che ti interessa nominare, probabilmente puoi trovare un laboratorio di bioinformatica che lo utilizza.
Ho intenzione di aggiungere una risposta qui perché penso che molti di loro abbiano perso un punto chiave ...
Perl è popolare in bioinformatica perché in origine è un linguaggio di elaborazione del testo .
Perl semplifica:
Ha anche i vantaggi di avere:
Sebbene non consenta di creare programmi di elaborazione veloci quanto un equivalente C, il tempo di sviluppo è molto inferiore e include batterie incluse quando si tratta di elaborazione di testi ( potenti espressioni regolari , chiunque?), Rendendo così facile raccogliere e utilizzare in un contesto di laboratorio per risolvere questi compiti.
Inoltre, ovviamente anche:
Ma il motivo per cui ci sono così tante estensioni e moduli bioinformatici (e scientifici in generale) per il Perl è in primo luogo per i motivi sopra indicati. In moltissimi casi, il design e le abilità del linguaggio lo rendono quasi perfetto (nonostante i molti rancori che uno può sopportare) per il lavoro.
Tutto ciò rende Perl un buon concorrente per la ricerca scientifica, specialmente nei settori in cui i dati da elaborare sono principalmente in formato testo.
Certo, altre lingue sono emerse e rivendicano una quota di mercato per ragioni diverse (maggiore espressività, migliore leggibilità, evita esplicitamente hack oscuri e battaglie di un guru ...), ma continuano a competere con Perl su alcuni aspetti (Ruby è veloce da imparare in quanto è lento ad elaborare i dati, ad esempio). Quindi, nel dominio della bioinformatica (o PNL) in cui ti occupi di formati di testo, rapidi cicli di ricerca e sempre più big data che si ingrandiscono (grazie, genomica e NGS), Perl è ancora molto rilevante.
In realtà, appena notato maple_shaft , Charles e geoffjentry 's commenti, che di cui l'importanza delle espressioni regolari e, in modo non tutti trascurato questo. :)
Uno dei motivi principali alla base della popolarità di Perl in bioinformatica è BioPerl , un set completo di moduli per lavorare con dati pertinenti.
E sembra che la maggior parte dei moduli sono in realtà progettato per funzionare con i dati generati da altri programmi. Dopotutto, Perl è un eccellente nastro adesivo per i rapporti.
Gli strumenti sono selezionati in base al livello di abilità degli operatori e alla facilità di adozione: ci vuole un po 'di tempo prima che un programma compilato o IDE riesca a superare un linguaggio interpretato semplice.
Perl ha alcune costolette, documentazione seria, librerie serie e ampia disponibilità gratuita. Cosa non ti piace di tutto ciò?
Perl ha tutte le stesse capacità, costrutti di dati e metodi di altre lingue, ed è più facile da imparare di più. Questo è utile per ricercatori e scienziati che non hanno molta esperienza con la programmazione, in quanto possono facilmente acquisire Perl e ottenere i compiti desiderati
Inoltre:
Sono disponibili molti supporto online e script gratuiti, il che è chiaramente vantaggioso! =)
In breve, la maggior parte degli scienziati e dei ricercatori vuole solo fare il lavoro e farlo il più rapidamente possibile e Perl è la soluzione perfetta per quello