Почему Perl так активно используется в биоинформатике? [закрыто]

14

Что в Perl делает его таким полезным в биоинформатике? Почему C ++, Matlab или Python не являются большим языком?

Адель
источник

Ответы:

13

Что делает Perl таким полезным для биоинформатики, так это то, что 1) это относительно простой для изучения язык, 2) существует множество уже существующих сценариев, в том числе bioPerl, и 3) есть вероятность, что в лаборатории, в которой вы работаете, есть сотни сценариев и модулей. , уже написано на Perl.

Уровень программиста меньше связан с выбором языка, чем с задачами, которые ему задают. Любые сложные или дорогостоящие в вычислительном отношении задания обычно пишутся на Java или C и выполняются в кластере.

В биоинформатике нужно понимать одну вещь: это разнообразная область, и перед теми, кто ее практикует, ставятся разные задачи. Для меня не редкость использовать Perl, R и Java за один день. Perl для сценариев, перемещения файлов, загрузки файлов, некоторого базового анализа данных и т. Д., R для визуализации данных и Java для алгоритмических вычислений / работы с приложениями и их модификации. При этом большинство задач, которые я выполняю, требуют использования Perl, однако я бы хотел перейти на Ruby, так как он имеет более продвинутые функции, lambdas & procs, которые могут привести к более лаконичному коду и полностью объектно-ориентирован.

wespiserA
источник
1
пожалуйста. Если у вас есть еще вопросы или вы хотите выйти на поле, вот еще один ответ, который может вам помочь.
wespiserA
24

Помимо присущих Perl достоинств, частью этого является просто история. На рубеже веков произошло значительное расширение биоинформатики благодаря проекту «Геном человека». В то время Perl был самым популярным языком сценариев в общем использовании . Ruby и Python были, конечно, рядом, но у них почти не было поддержки / разума, которую они делают сегодня. Это дало Perl большой импульс в этой области.

Я думаю, что использование Perl в биоинформатике сокращается, а популярность R быстро растет. Но для любого языка, который вы хотите назвать, вы можете найти лабораторию биоинформатики, использующую его.

Чарльз Э. Грант
источник
2
Согласовано. Я помню статью, я верю в доктора Доббса или что-то в этом роде в середине 90-х годов с названием «Как Perl спас проект« Геном человека »» или что-то очень похожее на это. Я работаю в области биоинформатики около 10 лет, и мне еще не приходилось сталкиваться с кем-то, кто действительно использует Perl. Это был в основном R с меньшим количеством Matlab & Python.
Geoffjentry
6
Это не то, что R собирается заменить Perl. R используется для анализа / визуализации данных для поисковых данных. Общие задачи сценариев все еще будут выполняться с помощью Perl.
wespiserA
+1: Кроме того, кажется, что японцы все еще используют намного больше Perl, чем Python или Ruby (от рекрутера из Японии, с которым я общаюсь), так что, возможно, это окажет огромное влияние на то, какие технологии были связаны с японскими исследованиями, например, в биоинформатике, где они лидеры с США?
Klaim
@geoffjentry: я видел довольно много обработки, выполненной в Perl, хотя у меня нет 10 лет в этой области (пока 2, плюс несколько коротких опытов несколько лет назад). R, однако, важен, когда ожидаются математические вычисления (приходит на ум статистический анализ больших наборов данных) и для создания хороших визуализаций (на самом деле многие решения предпочитают просто интегрироваться с R Engine, а не развертывать свои собственные).
Хайлем
За 8 месяцев, с тех пор как я написал, что должен отречься от своего утверждения, я теперь видел, как использовался Perl :). В тех случаях, хотя это все еще кажется историческим характером - либо старый код, либо кто-то, кто порезался, используя perl, и просто придерживался его. Большинство вычислительных биологов на моей новой работе используют некоторую смесь (в зависимости от человека) python & r, с добавлением некоторого количества matlab и вышеупомянутого perl.
Geoffjentry
10

Я собираюсь добавить ответ здесь, поскольку я думаю, что многие из них упустили ключевой момент ...

Perl популярен в биоинформатике, потому что изначально это язык обработки текста .

Текст король

Perl позволяет легко:

  • реализовать алгоритмы НЛП и биоинформатики,
  • извлекать текстовые данные,
  • генерировать текстовые данные.

Язык не является (наполовину) плохим

Он также имеет следующие преимущества:

  • приличная выразительность ,
  • сравнительно низкая кривая обучения (пока вы не обнаружите все его хитрости и хитрости) ,
  • но и достойная производительность .

Хотя он не позволяет создавать программы обработки, работающие так же быстро, как эквивалент C, время разработки значительно уступает, и оно идет с включенными батареями, когда дело доходит до обработки текста ( мощные регулярные выражения , кто-нибудь?), Что делает его легким подобрать и использовать в лабораторных условиях для решения этих задач.

Портативность и расширяемость Made Easy

Кроме того, это очевидно также:

  • является переносимым для многих платформ ,
  • поставляется с очень большой библиотекой расширений .

Но причина, почему существует так много биоинформатических (и вообще научных) расширений и модулей для Perl, в первую очередь из-за причин, приведенных выше. Во многих случаях дизайн и возможности языка делают его практически идеальным (несмотря на множество возможных недовольств) для работы.


Все это делает Perl хорошим претендентом на научные исследования, особенно в тех областях, где обрабатываемые данные в основном представлены в текстовом формате.

Конечно, появились другие языки, которые претендуют на долю рынка по разным причинам (улучшенная выразительность, лучшая читаемость, явное избегание неясных хаков и однострочников гуру), но они все еще конкурируют с Perl по некоторым аспектам (Ruby является например, так быстро учиться, как медленно (например). Таким образом, в области биоинформатики (или НЛП), где вы имеете дело с текстовыми форматами, быстрыми циклами исследований и большим и большим объемом данных, которые становятся все больше (спасибо, геномика и NGS), Perl по-прежнему очень актуален.


На самом деле, только что заметил комментарии maple_shaft , Charles и geoffjentry , в которых также упоминалась важность регулярных выражений, так что не все это упустили. :)

haylem
источник
6

Одна из главных причин популярности Perl в биоинформатике - это BioPerl , полный набор модулей для работы с соответствующими данными.

Это выглядит как большинство модулей фактически предназначено для работы с данными , генерируемых другими программами. В конце концов, Perl отлично подходит для отчетности.

Чарльз
источник
5

Инструменты выбираются по уровню квалификации операторов и простоте освоения - для того, чтобы скомпилированная программа или IDE обогнали простой интерпретируемый язык, требуется некоторое время.

В Perl есть некоторые серьезные проблемы, серьезная документация, серьезные библиотеки и широкая бесплатная доступность. Что не нравится в этом?

bmike
источник
2

Perl обладает всеми теми же возможностями, конструкциями данных и методами других языков, и его легче изучать, чем большинству. Это хорошо для исследователей и ученых, не имеющих большого опыта в программировании, так как они могут легко взять Perl и получить желаемое (ые) задание (я).

Дополнительно:

Много онлайн поддержки и бесплатные скрипты доступны, что явно выгодно! знак равно

В целом, большинство ученых и исследователей просто хотят выполнить работу и сделать ее как можно быстрее, и Perl идеально подходит для этого.

rrazd
источник