Perché il Perl è così pesantemente usato in Bioinformatica? [chiuso]


14

Cosa c'è in Perl che lo rende così utile in Bioinformatica? Perché C ++ o Matlab o Python non sono il grande linguaggio?

Risposte:


13

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.


1
prego. Se hai altre domande o stai pensando di entrare in campo, ecco un'altra risposta che potrebbe aiutarti.
Wespiser,


24

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.


2
Concordato. Ricordo un articolo, credo nel dottor Dobbs o qualcosa del genere a metà degli anni '90 con il titolo "Come Perl ha salvato il Progetto genoma umano" o qualcosa di molto simile. Ho lavorato nello spazio bioinformatico per circa 10 anni e non ho ancora incontrato qualcuno che utilizza effettivamente Perl. È stato principalmente R con una quantità minore di Matlab e Python.
geoffjentry,

6
Non è che R sostituirà Perl. R è utilizzato per l'analisi / visualizzazione dei dati per dati esplorativi. Le attività generali di scripting verranno comunque eseguite con perl.
Wespiser,

+1: Inoltre, sembra che il giapponese usi ancora molto più Perl di Python o Ruby (da un reclutatore giapponese con cui chatto), quindi forse ha un impatto enorme su quali tecnologie sono state coinvolte nella ricerca giapponese, come nella bioinformatica, dove sono leader con gli Stati Uniti?
Klaim

@geoffjentry: ho visto un sacco di elaborazioni eseguite in Perl, anche se non ho 10 anni nel settore (2, finora, più alcune brevi esperienze qualche anno fa). R, tuttavia, è il re quando si prevedono calcoli matematici (mi viene in mente l'analisi statistica su grandi set di dati) e genera buone visualizzazioni (in effetti molte soluzioni preferiscono semplicemente integrarsi con il motore R piuttosto che implementare le proprie).
Hayylem

Negli 8 mesi da quando ho scritto che devo ritrattare la mia dichiarazione, ora ho visto il perl usato :). In quei casi, però, sembra ancora di natura storica - o vecchio codice o qualcuno che si è tagliato i denti usando il perl e si è semplicemente bloccato con esso. La maggior parte dei biologi computazionali del mio nuovo lavoro usano un po 'di mix (a seconda della persona) di Python & r, con qualche matlab gettato dentro e il suddetto perl.
geoffjentry

10

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 .

Il testo è re

Perl semplifica:

  • implementare algoritmi NLP e bioinformatica,
  • estrarre dati testuali,
  • generare dati testuali.

La lingua non è (metà) cattiva

Ha anche i vantaggi di avere:

  • un'espressività decente ,
  • una curva di apprendimento relativamente bassa (fino a quando non scopri tutti i suoi trucchi e hack) ,
  • ma anche una prestazione decente .

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.

Portabilità ed estensibilità resi facili

Inoltre, ovviamente anche:

  • è portatile su molte piattaforme ,
  • viene fornito con una libreria di estensioni molto ampia .

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. :)


6

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.


5

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ò?


2

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

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.