Di cosa parla Perl che lo rende così utile in Bioinformatica? Perché non è C ++ o Matlab o Python il linguaggio grande?
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, incluso bioPerl e 3) è probabile che il laboratorio in cui lavori abbia centinaia di script e moduli, già scritti in Perl.
Il livello del programmatore non ha a che fare con la scelta della lingua, quindi i compiti che gli vengono richiesti. Qualsiasi lavoro avanzato o computazionalmente costoso 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 rivolti a coloro che lo praticano. Non è raro che io usi Perl, R e Java in un giorno. Perl per lo scripting, lo spostamento di file, il download di elementi, alcune analisi di base dei dati ecc., R per la visualizzazione dei dati e Java per il calcolo algoritmico / utilizzo e modifica delle applicazioni. Detto questo, la maggior parte dei compiti che richiede l'uso di Perl, tuttavia, mi piacerebbe passare a Ruby, in quanto ha funzioni più avanzate, lambda e amp; procs, che può portare a un codice più succinto e completamente orientato agli oggetti.
A parte le virtù intrinseche di Perl, parte di questo è semplicemente la storia. Ci fu una grande espansione della bioinformatica all'inizio del secolo a causa del Progetto genoma umano. Al momento Perl era di gran lunga il linguaggio di scripting più popolare in uso generale . Ruby e Python erano certamente in giro, ma non avevano quasi il supporto / la condivisione della mente che fanno oggi. Ciò ha dato a Perl molto slancio nel campo.
Penso che l'uso di Perl nella bioinformatica stia diminuendo, e R sta rapidamente aumentando di popolarità. Ma per ogni lingua che ti interessa nominare, puoi probabilmente trovare un laboratorio di bioinformatica che lo usa.
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 una lingua di elaborazione del testo .
Perl semplifica:
Ha anche i vantaggi di avere:
Anche se non consente di creare programmi di elaborazione con una velocità equivalente a un equivalente C, il tempo di sviluppo è molto inferiore e viene fornito con batterie incluse quando si tratta dell'elaborazione del testo ( potenti espressioni regolari , chiunque?), rendendo così facile la raccolta e l'uso 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 Perl in primo luogo è dovuto alle ragioni sopra riportate. In molti casi, il design e le abilità del linguaggio lo rendono quasi perfetto (nonostante i molti rancori possibili che si possono sostenere) per il lavoro.
Tutto ciò rende Perl un buon contendente per la ricerca scientifica, specialmente nei campi in cui i dati da elaborare sono per lo più in formato testo.
Naturalmente, sono emersi altri linguaggi che rivendicano una quota di mercato per ragioni diverse (maggiore espressività, migliore leggibilità, evitare esplicitamente hacker oscuri e guru-ish one-liners ...), ma sono ancora in competizione con Perl su alcuni aspetti (Ruby è tanto veloce da apprendere quanto è lento elaborare i dati, ad esempio). Quindi, nel campo della bioinformatica (o PNL) in cui si affrontano formati di testo, cicli di ricerca rapidi e sempre più grandi dati che continuano ad aumentare (grazie, genomica e NGS), Perl è ancora molto rilevante.
In realtà, ho appena notato maple_shaft , Charles e geoffjentry commenti, che ha menzionato l'importanza delle espressioni regolari, quindi non tutti lo hanno trascurato. :)
Uno dei motivi principali alla base della popolarità di Perl in bioinformatica è BioPerl , un set completo di moduli per lavorare con i dati rilevanti .
La sembra la maggior parte dei moduli è in realtà progettata per funzionare con i dati generati da altri programmi. Dopo tutto, Perl rende eccellente un nastro adesivo,
Gli strumenti sono selezionati dal livello di abilità degli operatori e dalla facilità di adozione - ci vuole un po 'di tempo per un programma compilato o IDE per superare un linguaggio interpretato semplice.
Perl ha alcune braciole serie, documentazione seria, librerie serie e ampia disponibilità gratuita. Che cosa non ti piace di tutto ciò?
Perl ha tutte le stesse abilità, costrutti di dati e metodi di altre lingue, ed è più facile da imparare allora. Ciò è positivo per i ricercatori e gli scienziati che non hanno molta esperienza con la programmazione, in quanto possono facilmente acquisire Perl e ottenere i compiti desiderati compiuti
In aggiunta:
Sono disponibili molti servizi di supporto online e script gratuiti che sono chiaramente vantaggiosi! =)
In sintesi, la maggior parte degli scienziati e dei ricercatori vogliono solo portare a termine il lavoro, e fatto il più rapidamente possibile e Perl è la soluzione perfetta per questo
Leggi altre domande sui tag computer-science perl