Qu'est-ce qui rend Perl si utile en bioinformatique? Pourquoi C ++ ou Matlab ou Python n'est-il pas le gros langage?
Qu'est-ce qui rend Perl si utile en bioinformatique? Pourquoi C ++ ou Matlab ou Python n'est-il pas le gros langage?
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.
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.
la source
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:
La langue n'est pas (à moitié) mauvaise
Il présente également les avantages d'avoir:
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:
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é. :)
la source
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.
la source
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?
la source
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
la source