¿Por qué Perl es tan usado en Bioinformática? [cerrado]

14

¿Qué tiene Perl que lo hace tan útil en bioinformática? ¿Por qué no es C ++ o Matlab o Python el gran lenguaje?

    
pregunta Adel 14.07.2011 - 18:17

6 respuestas

13

Lo que hace que Perl sea tan útil para la bioinformática es que 1) es un lenguaje relativamente fácil de aprender, 2) hay muchos guiones preexistentes para usar, incluido bioPerl y 3) es probable que el laboratorio en el que trabajas tenga cientos de Scripts y módulos, ya escritos en Perl.

El nivel del programador tiene menos que ver con la elección del lenguaje, y luego las tareas que se le piden. Cualquier trabajo avanzado o computacionalmente costoso generalmente se escribe en Java o C, y se ejecuta en un clúster.

Una cosa que hay que entender acerca de la bioinformática es que es un campo diverso, en el que se realizan diversas tareas para aquellos que lo practican. No es raro que use Perl, R y Java en un día. Perl para secuencias de comandos, mover archivos, descargar cosas, algunos análisis de datos básicos, etc., R para visualización de datos y Java para computación algorítmica / trabajar con y modificar aplicaciones. Dicho esto, la mayoría de las tareas que hago requieren el uso de Perl, sin embargo, me gustaría cambiar a Ruby, ya que tiene funciones más avanzadas, lambdas & procs, que puede llevar a un código más conciso y está completamente orientado a objetos.

    
respondido por el wespiserA 14.07.2011 - 19:28
24

Aparte de las virtudes inherentes de Perl, parte de esto es simplemente la historia. Hubo una gran expansión de la bioinformática en el cambio de siglo debido al Proyecto Genoma Humano. En ese momento, Perl era, con mucho, el lenguaje de script más popular de uso general . Ruby y Python ciertamente estuvieron presentes, pero casi no tenían el apoyo / la mente que tienen hoy. Esto le dio a Perl un gran impulso en el campo.

Creo que el uso de Perl en bioinformática está disminuyendo, y R está aumentando rápidamente en popularidad. Pero para cualquier idioma que quiera nombrar, es probable que encuentre un laboratorio de bioinformática que lo use.

    
respondido por el Charles E. Grant 14.07.2011 - 18:48
9

Voy a agregar una respuesta aquí, ya que creo que muchos de ellos han perdido un punto clave ...

Perl es popular en bioinformática porque originalmente es un lenguaje de procesamiento de texto .

El texto es el rey

Perl hace que sea fácil:

  • implementar NLP y algoritmos de bioinformática,
  • extraer datos textuales,
  • generar datos textuales.

El idioma no es (medio) malo

También tiene los beneficios de tener:

  • una expresividad decente ,
  • una relativamente baja curva de aprendizaje (hasta que descubras todos sus trucos y trucos) ,
  • pero también un rendimiento decente .

Si bien no permite crear programas de procesamiento que se ejecuten tan rápido como un equivalente de C, el tiempo de desarrollo es muy inferior y viene con baterías incluidas cuando se trata del procesamiento de texto ( expresiones regulares potentes , ¿alguien?), lo que facilita el uso y el uso en un contexto de laboratorio para resolver estas tareas.

La portabilidad y la extensibilidad son fáciles

También, obviamente también:

  • es portátil en muchas plataformas ,
  • viene con una biblioteca muy grande de extensiones .

Pero la razón por la que hay tantas extensiones y módulos de bioinformática (y científicos en general) para Perl en primer lugar se debe a las razones expuestas anteriormente. En muchos casos, el diseño y las habilidades del lenguaje lo convierten en un ajuste casi perfecto (a pesar de los muchos rencores posibles que uno puede tener en contra) para el trabajo.

Todo esto hace de Perl un buen candidato para la investigación científica, especialmente en campos donde los datos a procesar están principalmente en formato de texto.

Por supuesto, han surgido otros lenguajes y reclaman una cuota de mercado por diferentes razones (expresividad mejorada, mejor legibilidad, evitan explícitamente trucos ocultos y frases ocultas de guru-ish ...), pero aún compiten con Perl en ciertos aspectos (Ruby es tan rápido de aprender como lento para procesar datos, por ejemplo). Por lo tanto, en el dominio de la bioinformática (o PNL), donde se trata de formatos de texto, ciclos de investigación rápidos y cada vez más datos masivos que crecen (gracias, genómica y NGS), Perl sigue siendo muy relevante.

En realidad, acabo de notar maple_shaft , Charles y geoffjentry de los comentarios, que También mencionó la importancia de las expresiones regulares, por lo que no todos pasaron por alto esto. :)

    
respondido por el haylem 04.03.2012 - 00:28
6

Una de las grandes razones detrás de la popularidad de Perl en bioinformática es BioPerl , un conjunto completo de módulos para trabajar con datos relevantes .

Parece que parece que la mayoría de los módulos están diseñados para funcionar con datos generados por otros programas. Perl hace que sea excelente , después de todo.

    
respondido por el Charles 14.07.2011 - 18:29
5

Las herramientas se seleccionan por el nivel de habilidad de los operadores y la facilidad de adopción: se necesita un tiempo para que un programa compilado o IDE supere un lenguaje interpretado simple.

Perl tiene algunos chuletas serias, documentación seria, bibliotecas serias y amplia disponibilidad gratuita. ¿Qué es lo que no me gusta de nada de eso?

    
respondido por el bmike 14.07.2011 - 18:28
2

Perl tiene todas las mismas habilidades, construcciones de datos y métodos de otros idiomas, y es más fácil de aprender que la mayoría. Esto es bueno para los investigadores y los científicos que no tienen mucha experiencia con la programación, ya que pueden recoger fácilmente a Perl y realizar la (s) tarea (s) deseada (s)

Además:

¡Se encuentra disponible una gran cantidad de soporte en línea y scripts gratuitos que es claramente ventajoso! =)

En resumen, la mayoría de los científicos e investigadores solo quieren hacer el trabajo y hacerlo lo más rápido posible, y Perl es el ajuste perfecto para eso

    
respondido por el rrazd 14.07.2011 - 18:27

Lea otras preguntas en las etiquetas