Ответы:
Что делает Perl таким полезным для биоинформатики, так это то, что 1) это относительно простой для изучения язык, 2) существует множество уже существующих сценариев, в том числе bioPerl, и 3) есть вероятность, что в лаборатории, в которой вы работаете, есть сотни сценариев и модулей. , уже написано на Perl.
Уровень программиста меньше связан с выбором языка, чем с задачами, которые ему задают. Любые сложные или дорогостоящие в вычислительном отношении задания обычно пишутся на Java или C и выполняются в кластере.
В биоинформатике нужно понимать одну вещь: это разнообразная область, и перед теми, кто ее практикует, ставятся разные задачи. Для меня не редкость использовать Perl, R и Java за один день. Perl для сценариев, перемещения файлов, загрузки файлов, некоторого базового анализа данных и т. Д., R для визуализации данных и Java для алгоритмических вычислений / работы с приложениями и их модификации. При этом большинство задач, которые я выполняю, требуют использования Perl, однако я бы хотел перейти на Ruby, так как он имеет более продвинутые функции, lambdas & procs, которые могут привести к более лаконичному коду и полностью объектно-ориентирован.
Помимо присущих Perl достоинств, частью этого является просто история. На рубеже веков произошло значительное расширение биоинформатики благодаря проекту «Геном человека». В то время Perl был самым популярным языком сценариев в общем использовании . Ruby и Python были, конечно, рядом, но у них почти не было поддержки / разума, которую они делают сегодня. Это дало Perl большой импульс в этой области.
Я думаю, что использование Perl в биоинформатике сокращается, а популярность R быстро растет. Но для любого языка, который вы хотите назвать, вы можете найти лабораторию биоинформатики, использующую его.
Я собираюсь добавить ответ здесь, поскольку я думаю, что многие из них упустили ключевой момент ...
Perl популярен в биоинформатике, потому что изначально это язык обработки текста .
Perl позволяет легко:
Он также имеет следующие преимущества:
Хотя он не позволяет создавать программы обработки, работающие так же быстро, как эквивалент C, время разработки значительно уступает, и оно идет с включенными батареями, когда дело доходит до обработки текста ( мощные регулярные выражения , кто-нибудь?), Что делает его легким подобрать и использовать в лабораторных условиях для решения этих задач.
Кроме того, это очевидно также:
Но причина, почему существует так много биоинформатических (и вообще научных) расширений и модулей для Perl, в первую очередь из-за причин, приведенных выше. Во многих случаях дизайн и возможности языка делают его практически идеальным (несмотря на множество возможных недовольств) для работы.
Все это делает Perl хорошим претендентом на научные исследования, особенно в тех областях, где обрабатываемые данные в основном представлены в текстовом формате.
Конечно, появились другие языки, которые претендуют на долю рынка по разным причинам (улучшенная выразительность, лучшая читаемость, явное избегание неясных хаков и однострочников гуру), но они все еще конкурируют с Perl по некоторым аспектам (Ruby является например, так быстро учиться, как медленно (например). Таким образом, в области биоинформатики (или НЛП), где вы имеете дело с текстовыми форматами, быстрыми циклами исследований и большим и большим объемом данных, которые становятся все больше (спасибо, геномика и NGS), Perl по-прежнему очень актуален.
На самом деле, только что заметил комментарии maple_shaft , Charles и geoffjentry , в которых также упоминалась важность регулярных выражений, так что не все это упустили. :)
Одна из главных причин популярности Perl в биоинформатике - это BioPerl , полный набор модулей для работы с соответствующими данными.
Это выглядит как большинство модулей фактически предназначено для работы с данными , генерируемых другими программами. В конце концов, Perl отлично подходит для отчетности.
Инструменты выбираются по уровню квалификации операторов и простоте освоения - для того, чтобы скомпилированная программа или IDE обогнали простой интерпретируемый язык, требуется некоторое время.
В Perl есть некоторые серьезные проблемы, серьезная документация, серьезные библиотеки и широкая бесплатная доступность. Что не нравится в этом?
Perl обладает всеми теми же возможностями, конструкциями данных и методами других языков, и его легче изучать, чем большинству. Это хорошо для исследователей и ученых, не имеющих большого опыта в программировании, так как они могут легко взять Perl и получить желаемое (ые) задание (я).
Дополнительно:
Много онлайн поддержки и бесплатные скрипты доступны, что явно выгодно! знак равно
В целом, большинство ученых и исследователей просто хотят выполнить работу и сделать ее как можно быстрее, и Perl идеально подходит для этого.