¿Por qué se usa tanto Perl 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?

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 scripts preexistentes para usar, incluido bioPerl y 3) es probable que el laboratorio en el que trabaja tenga cientos de scripts y módulos , ya escrito en Perl.

El nivel del programador tiene menos que ver con la elección del idioma, luego con las tareas que se le solicitan. 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 sobre la bioinformática es que es un campo diverso, con diversas tareas que se les pide a quienes 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 sí requieren el uso de Perl, sin embargo, me gustaría cambiar a Ruby, ya que tiene funciones más avanzadas, lambdas y procs, que pueden conducir a un código más sucinto y está totalmente orientado a objetos.


1
de nada. Si tiene más preguntas o está pensando en ingresar al campo, aquí hay otra respuesta que podría ayudarlo.
wespiserA


24

Aparte de las virtudes inherentes de Perl, parte de esto es simplemente historia. Hubo una gran expansión de la bioinformática a principios de siglo debido al Proyecto Genoma Humano. En ese momento, Perl era, con mucho, el lenguaje de script más popular en uso general . Ruby y Python ciertamente estaban presentes, pero no tenían casi el soporte / mente que comparten hoy. Esto le dio a Perl mucho 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 desee nombrar, probablemente pueda encontrar un laboratorio de bioinformática que lo use.


2
Convenido. Recuerdo un artículo, creo en el Dr. Dobbs o algo así a mediados de los 90 con el título "Cómo Perl salvó el Proyecto del Genoma Humano" o algo muy parecido a eso. He trabajado en el espacio de la bioinformática durante unos 10 años, y todavía tengo que encontrarme con alguien que realmente esté usando Perl. Ha sido principalmente R con una menor cantidad de Matlab y Python.
geoffjentry

66
No es que R vaya a reemplazar a Perl. R se utiliza para el análisis / visualización de datos para datos exploratorios. Las tareas generales de secuencias de comandos aún se realizarán con perl.
wespiserA

+1: Además, parece que los japoneses todavía usan mucho más Perl que Python o Ruby (de un reclutador japonés con el que hablo), por lo que tal vez tenga un gran impacto en las tecnologías involucradas en la investigación japonesa, como en bioinformática, donde son líderes con los Estados Unidos?
Klaim

@geoffjentry: He visto una gran cantidad de procesamiento realizado en Perl, aunque no tengo 10 años en el campo (2, hasta ahora, más algunas experiencias cortas hace unos años). R, sin embargo, es el rey cuando se esperan cálculos matemáticos (viene a la mente el análisis estadístico en grandes conjuntos de datos) y generar buenas visualizaciones (de hecho, muchas soluciones prefieren simplemente integrarse con el motor R en lugar de implementar las suyas propias).
haylem

En los 8 meses desde que escribí que tengo que retractarme de mi declaración, ahora he visto a Perl usado :). En esos casos, aunque todavía parece de naturaleza histórica, ya sea un código antiguo o alguien que se cortó los dientes con Perl y simplemente se quedó con él. La mayoría de los biólogos computacionales en mi nuevo trabajo usan alguna mezcla (dependiendo de la persona) de python & r, con algo de matlab y el perl mencionado anteriormente.
geoffjentry

10

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 rey

Perl hace que sea fácil:

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

El lenguaje no es (medio) malo

También tiene los beneficios de tener:

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

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

Portabilidad y extensibilidad de forma fácil

Además, obviamente también:

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

Pero la razón por la cual hay tantas extensiones y módulos bioinformáticos (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 hacen un ajuste casi perfecto (a pesar de los posibles rencores que uno puede tener contra él) para el trabajo.


Todo esto hace que Perl sea 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 idiomas y reclaman una cuota de mercado por diferentes razones (expresividad mejorada, mejor legibilidad, evitan explícitamente los trucos oscuros y las frases 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). Entonces, en el dominio de la bioinformática (o PNL) donde manejas formatos de texto, ciclos de investigación rápidos y más y más datos grandes que se hacen cada vez más grandes (gracias, genómica y NGS), Perl sigue siendo muy relevante.


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


6

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

Se parece a la mayoría de los módulos están realmente diseñados para trabajar con los datos generados por otros programas. Perl es una excelente cinta adhesiva para informes, después de todo.


5

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

Perl tiene algunas herramientas importantes, documentación seria, bibliotecas serias y amplia disponibilidad gratuita. ¿Qué es lo que no te gusta de nada de eso?


2

Perl tiene 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 científicos que no tienen mucha experiencia en programación, ya que pueden recoger fácilmente a Perl y lograr la (s) tarea (s) deseada (s)

Adicionalmente:

Hay mucho soporte en línea y scripts gratuitos disponibles, lo cual 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 la opción perfecta para eso.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.