Por que o Perl é tão usado em bioinformática? [fechadas]

14

O que há no Perl que o torna tão útil em Bioinformática? Por que o C ++, o Matlab ou o Python não são a grande linguagem?

Adel
fonte

Respostas:

13

O que torna o Perl tão útil para a bioinformática é que 1) é uma linguagem relativamente fácil de aprender, 2) existem muitos scripts pré-existentes para usar, incluindo bioPerl e 3) é provável que o laboratório em que você trabalha tenha centenas de scripts e módulos , já escrito em Perl.

O nível do programador tem menos a ver com a escolha do idioma, depois as tarefas que lhe são solicitadas. Qualquer trabalho avançado ou computacionalmente caro é geralmente escrito em Java ou C e executado em um cluster.

Uma coisa a entender sobre bioinformática é que é um campo diverso, com diversas tarefas sendo feitas àqueles que a praticam. Não é incomum eu usar Perl, R e Java em um dia. Perl para criar scripts, mover arquivos, baixar coisas, algumas análises básicas de dados, etc., R para visualização de dados e Java para computação algorítmica / trabalhar com e modificar aplicativos. Dito isto, na maioria das tarefas que eu preciso exigir o uso de Perl, no entanto, gostaria de mudar para Ruby, pois possui funções mais avançadas, lambdas & procs, que podem levar a um código mais sucinto e são totalmente orientadas a objetos.

wespiserA
fonte
1
não há de quê. Se você tiver mais perguntas ou estiver pensando em entrar em campo, aqui está outra resposta que pode ajudá-lo.
wespiserA
24

Além das virtudes inerentes ao Perl, parte disso é simplesmente história. Houve uma grande expansão da bioinformática na virada do século por causa do Projeto Genoma Humano. Na época, o Perl era de longe a linguagem de script mais popular em uso geral . Ruby e Python certamente estavam por aqui, mas não tinham quase o compartilhamento de suporte / mente que eles fazem hoje. Isso deu a Perl muito impulso no campo.

Eu acho que o uso de Perl em bioinformática está em declínio e R está aumentando rapidamente em popularidade. Mas para qualquer idioma que você queira nomear, provavelmente você pode encontrar um laboratório de bioinformática usando-o.

Charles E. Grant
fonte
2
Acordado. Lembro-me de um artigo, acredito no Dr. Dobbs ou algo assim em meados dos anos 90, com o título "Como Perl salvou o Projeto Genoma Humano" ou algo muito próximo disso. Eu trabalho no espaço de bioinformática há cerca de 10 anos e ainda não encontrei alguém usando o Perl. Tem sido principalmente R com uma quantidade menor de Matlab & Python.
1113911 geoffjentry
6
Não é como o R vai substituir o Perl. R é usado para análise / visualização de dados para dados exploratórios. Tarefas gerais de script ainda serão realizadas com perl.
wespiserA
+1: Além disso, parece que os japoneses ainda usam muito mais Perl do que Python ou Ruby (de um recrutador japonês com quem eu converso), então talvez isso tenha um enorme impacto sobre o envolvimento de tecnologias na pesquisa japonesa, como em bioinformática, onde eles são líderes com os EUA?
Klaim
@geoffjentry: Eu já vi bastante processamento feito no Perl, embora eu não tenha 10 anos em campo (2, até agora, mais algumas experiências curtas há alguns anos). R, no entanto, é o rei quando se espera cálculos matemáticos (a análise estatística em grandes conjuntos de dados vem à mente) e gera boas visualizações (de fato, muitas soluções preferem simplesmente integrar-se ao R Engine do que lançar suas próprias).
haylem
Nos oito meses desde que escrevi que precisava renunciar à minha declaração, agora vi o perl usado :). Nesses casos, ainda parece de natureza histórica - código antigo ou alguém que corta os dentes usando perl e fica preso nele. A maioria dos biólogos computacionais do meu novo emprego usa alguma mistura (dependendo da pessoa) de python & r, com alguns matlab inseridos e o perl acima mencionado.
precisa saber é o seguinte
10

Vou adicionar uma resposta aqui, pois acho que muitos deles perderam um ponto-chave ...

O Perl é popular em bioinformática porque é originalmente uma linguagem de processamento de texto .

O texto é rei

O Perl facilita:

  • implementar algoritmos de PNL e bioinformática,
  • extrair dados textuais,
  • gerar dados textuais.

O idioma não é (meio) ruim

Ele também tem os benefícios de ter:

  • uma expressividade decente ,
  • uma curva de aprendizado relativamente baixa (até você descobrir todos os truques e truques) ,
  • mas também um desempenho decente .

Embora não permita criar programas de processamento com a mesma velocidade do equivalente em C, o tempo de desenvolvimento é muito inferior e inclui baterias incluídas no processamento de texto ( expressões regulares poderosas , alguém?), Facilitando assim pegar e usar em um contexto de laboratório para resolver essas tarefas.

Portabilidade e Extensibilidade Facilitadas

Além disso, obviamente também:

  • é portátil em várias plataformas ,
  • vem com uma biblioteca muito grande de extensões .

Mas a razão pela qual existem tantas extensões e módulos de bioinformática (e científicos em geral) para Perl é, em primeiro lugar, pelas razões expostas acima. Em muitos casos, o design e as habilidades da linguagem o tornam quase perfeito (apesar de muitos ressentimentos possíveis), para o trabalho.


Tudo isso faz do Perl um bom candidato à pesquisa científica, especialmente em áreas em que os dados a serem processados ​​estão principalmente em formato de texto.

É claro que outras linguagens surgiram e reivindicam uma participação de mercado por diferentes motivos (expressividade aprimorada, melhor legibilidade, evitam explicitamente hacks obscuros e guru-ish one-liners ...), mas ainda competem com Perl em certos aspectos (Ruby é rápido para aprender e lento para processar dados, por exemplo). Portanto, no domínio da bioinformática (ou PNL), onde você lida com formatos de texto, ciclos rápidos de pesquisa e cada vez mais big data que cresce cada vez mais (obrigado, genômica e NGS), o Perl ainda é muito relevante.


Na verdade, acabei de notar os comentários de maple_shaft , Charles e geoffjentry , que mencionavam a importância de expressões regulares também, então nem todos ignoraram isso. :)

haylem
fonte
6

Uma das grandes razões por trás da popularidade do Perl em bioinformática é o BioPerl , um conjunto abrangente de módulos para trabalhar com dados relevantes.

Ele se parece com a maioria dos módulos são realmente concebido para trabalhar com dados gerados por outros programas. O Perl contribui para excelentes fitas adesivas para relatórios, afinal.

Charles
fonte
5

As ferramentas são selecionadas pelo nível de habilidade dos operadores e pela facilidade de adoção - leva um tempo para um programa compilado ou IDE ultrapassar uma linguagem interpretada simples.

O Perl tem algumas costeletas sérias, documentação séria, bibliotecas sérias e ampla disponibilidade gratuita. O que há para não gostar nisso?

bmike
fonte
2

O Perl tem as mesmas habilidades, construções de dados e métodos de outras línguas, e é mais fácil aprender do que isso. Isso é bom para pesquisadores e cientistas pouco experientes em programação, pois eles podem facilmente pegar o Perl e realizar as tarefas desejadas.

Além disso:

Está disponível muito suporte on-line e scripts gratuitos, o que é claramente vantajoso! =)

Em suma, a maioria dos cientistas e pesquisadores só quer fazer o trabalho, e o mais rápido possível, e Perl é o ajuste perfeito para isso.

rrazd
fonte