Pourquoi Perl est-il si largement utilisé en bioinformatique? [fermé]


14

Qu'est-ce qui rend Perl si utile en bioinformatique? Pourquoi C ++ ou Matlab ou Python n'est-il pas le gros langage?

Réponses:


13

Ce qui rend Perl si utile pour la bioinformatique, c'est que 1) c'est un langage relativement facile à apprendre, 2) il y a beaucoup de scripts préexistants à utiliser, y compris bioPerl et 3) les chances sont que le laboratoire dans lequel vous travaillez a des centaines de scripts et de modules , déjà écrit en Perl.

Le niveau du programmeur a moins à voir avec le choix de la langue, puis les tâches qui lui sont demandées. Tous les travaux avancés ou coûteux en calcul sont généralement écrits en Java ou C et exécutés sur un cluster.

Une chose à comprendre sur la bioinformatique, c'est qu'il s'agit d'un domaine diversifié, avec des tâches diverses posées à ceux qui la pratiquent. Il n'est pas rare que j'utilise Perl, R et Java en une journée. Perl pour l'écriture de scripts, le déplacement de fichiers, le téléchargement de choses, certaines analyses de données de base, etc., R pour la visualisation des données et Java pour le calcul algorithmique / travailler avec et modifier des applications. Cela étant dit, la plupart des tâches que j'exige nécessitent l'utilisation de Perl, cependant, je voudrais passer à Ruby, car il a des fonctions plus avancées, lambdas et procs, qui peuvent conduire à un code plus succinct et est entièrement orienté objet.


1
vous êtes le bienvenu. Si vous avez d'autres questions ou envisagez de vous lancer sur le terrain, voici une autre réponse qui pourrait vous aider.
wespiserA


24

Hormis les vertus inhérentes à Perl, une partie de cela est simplement de l'histoire. Il y a eu une expansion majeure de la bioinformatique au tournant du siècle en raison du projet du génome humain. À l'époque, Perl était de loin le langage de script le plus populaire en général . Ruby et Python étaient certainement là, mais n'avaient pas presque la part de support / esprit qu'ils font aujourd'hui. Cela a donné à Perl beaucoup d'élan sur le terrain.

Je pense que l'utilisation de Perl en bioinformatique est en déclin, et R gagne rapidement en popularité. Mais pour n'importe quelle langue que vous souhaitez nommer, vous pouvez probablement trouver un laboratoire de bioinformatique qui l'utilise.


2
D'accord. Je me souviens d'un article, je crois au Dr Dobbs ou quelque chose comme ça au milieu des années 90 avec le titre "Comment Perl a sauvé le projet du génome humain" ou quelque chose d'assez proche. Je travaille dans le domaine de la bioinformatique depuis environ 10 ans maintenant et je n'ai pas encore rencontré quelqu'un qui utilise réellement Perl. Il s'agit principalement de R avec une quantité moindre de Matlab et Python.
geoffjentry

6
Ce n'est pas comme si R allait remplacer Perl. R est utilisé pour l'analyse / la visualisation des données pour les données exploratoires. Les tâches de script générales seront toujours effectuées avec perl.
wespiserA

+1: En outre, il semble que les Japonais utilisent encore beaucoup plus de Perl que Python ou Ruby (d'un recruteur japonais avec qui je discute), alors cela a peut-être un impact énorme sur les technologies impliquées dans la recherche japonaise, comme en bioinformatique, où ce sont des dirigeants avec les États-Unis?
Klaim

@geoffjentry: J'ai vu pas mal de traitements effectués en Perl, même si je n'ai pas 10 ans dans le domaine (2, jusqu'à présent, plus quelques brèves expériences il y a quelques années). Cependant, R est roi lorsque des calculs mathématiques sont attendus (une analyse statistique sur de grands ensembles de données vient à l'esprit) et pour générer de bonnes visualisations (en fait, beaucoup de solutions préfèrent simplement s'intégrer au moteur R plutôt que de déployer les leurs).
haylem

Au cours des 8 derniers mois depuis que j'ai écrit que je dois rétracter ma déclaration, j'ai maintenant vu Perl utilisé :). Dans ces cas, bien qu'il semble toujours de nature historique - soit l'ancien code, soit quelqu'un qui s'est coupé les dents en utilisant du perl et s'est contenté de le coller. La plupart des biologistes computationnels de mon nouvel emploi utilisent un mélange (selon la personne) de python & r, avec du matlab ajouté et le perl susmentionné.
geoffjentry

10

Je vais ajouter une réponse ici car je pense que beaucoup d'entre eux ont raté un point clé ...

Perl est populaire en bio-informatique car il s'agit à l'origine d'un langage de traitement de texte .

Le texte est roi

Perl facilite:

  • implémenter des algorithmes de PNL et de bio-informatique,
  • extraire des données textuelles,
  • générer des données textuelles.

La langue n'est pas (à moitié) mauvaise

Il présente également les avantages d'avoir:

  • une expressivité décente ,
  • une courbe d'apprentissage relativement faible (jusqu'à ce que vous découvriez tous ses trucs et astuces) ,
  • mais aussi une performance décente .

Bien qu'il ne permette pas de créer des programmes de traitement aussi rapides qu'un équivalent C, le temps de développement est bien inférieur et il est livré avec des piles incluses en ce qui concerne le traitement de texte ( expressions régulières puissantes , n'importe qui?), Ce qui le rend facile à ramasser et à utiliser dans un contexte de laboratoire pour résoudre ces tâches.

Portabilité et extensibilité simplifiées

De plus, il est évident aussi:

  • est portable sur de nombreuses plateformes ,
  • est livré avec une très grande bibliothèque d'extensions .

Mais la raison pour laquelle il y a tant d'extensions et de modules bioinformatiques (et scientifiques en général) pour Perl est en premier lieu pour les raisons données ci-dessus. Dans de nombreux cas, la conception et les capacités de la langue en font un ajustement presque parfait (malgré de nombreuses rancunes possibles, on peut s'y opposer) pour le travail.


Tout cela fait de Perl un bon candidat pour la recherche scientifique, en particulier dans les domaines où les données à traiter sont principalement au format texte.

Bien sûr, d'autres langues ont émergé et revendiquent une part de marché pour différentes raisons (expressivité accrue, meilleure lisibilité, évitent explicitement les hacks obscurs et les one-liners gourous ...), mais ils rivalisent toujours avec Perl sur certains aspects (Ruby est aussi rapide à apprendre qu'à traiter des données, par exemple). Donc, dans le domaine de la bioinformatique (ou PNL) où vous traitez avec des formats de texte, des cycles de recherche rapides et de plus en plus de données volumineuses qui ne cessent de grossir (merci, génomique et NGS), Perl est toujours très pertinent.


En fait, je viens de remarquer les commentaires de maple_shaft , Charles et geoffjentry , qui mentionnaient également l'importance des expressions régulières, donc tout le monde ne l'a pas oublié. :)


6

L'une des principales raisons de la popularité de Perl en bioinformatique est BioPerl , un ensemble complet de modules pour travailler avec des données pertinentes.

Il semble que la plupart des modules soient réellement conçus pour fonctionner avec des données générées par d'autres programmes. Après tout, Perl est un excellent ruban adhésif.


5

Les outils sont sélectionnés en fonction du niveau de compétence des opérateurs et de la facilité d'adoption - il faut un certain temps pour qu'un programme compilé ou IDE dépasse un langage interprété simple.

Perl a quelques côtelettes sérieuses, une documentation sérieuse, des bibliothèques sérieuses et une large disponibilité gratuite. Qu'est-ce qui ne plaît pas à tout ça?


2

Perl a toutes les mêmes capacités, constructions de données et méthodes d'autres langages, et c'est plus facile à apprendre que la plupart. C'est bon pour les chercheurs et les scientifiques peu expérimentés en programmation, car ils peuvent facilement choisir Perl et accomplir la ou les tâches souhaitées.

Aditionellement:

Beaucoup de support en ligne et de scripts gratuits sont disponibles, ce qui est clairement avantageux! =)

En somme, la plupart des scientifiques et des chercheurs veulent simplement faire le travail et le plus rapidement possible et Perl est la solution idéale pour cela

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.