Почему 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, которые могут привести к более лаконичному коду и полностью объектно-ориентирован.


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 , в которых также упоминалась важность регулярных выражений, так что не все это упустили. :)


6

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

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


5

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

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


2

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

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.