Чому Perl настільки активно використовується в біоінформатиці? [зачинено]


14

Що це стосується Perl, що робить його таким корисним у біоінформатиці? Чому C ++ чи Matlab чи Python не є великою мовою?

Відповіді:


13

Що робить Perl настільки корисним для біоінформатики, це те, що 1) його відносно простою мовою для вивчення, 2) існує безліч попередньо існуючих сценаріїв, зокрема bioPerl і 3) шанси, що лабораторія, в якій ви працюєте, має сотні сценаріїв та модулів , вже написане в Perl.

Рівень програміста менше пов'язаний з вибором мови, то завдання, яке йому задають. Будь-які розширені або дорого обчислювані завдання, як правило, записуються на Java або C та виконуються на кластері.

Одне, що потрібно розуміти про біоінформатику, - це те, що це різноманітна сфера, з тими, хто її практикує, задаються різноманітні завдання. Мені не рідкість використовувати Perl, R та Java за один день. Perl для створення сценаріїв матеріалів, переміщення файлів, завантаження речей, деякого базового аналізу даних тощо, R для візуалізації даних та Java для алгоритмічного обчислення / роботи та зміни програм. Зважаючи на це, більшість завдань, які я виконую, вимагають використання Perl, однак, я хотів би перейти на Ruby, оскільки він має більш вдосконалені функції, лямбдати та програми, які можуть призвести до отримання більш короткого коду і повністю орієнтований на об'єкт.


1
прошу. Якщо у вас є якісь запитання або ви думаєте про те, щоб вийти на поле, ось ще одна відповідь, яка може вам допомогти.
wespiserA


24

Крім притаманних чеснот Перла, частина цього просто історія. На рубежі століть відбулося велике розширення біоінформатики через проект "Геном людини". У той час Перл на сьогодні був найпопулярнішою мовою сценаріїв у загальному користуванні . Рубі та Пітон, безумовно, були поруч, але майже не мали частки підтримки / думки, яку вони роблять сьогодні. Це дало Перлу багато імпульсу в полі.

Я думаю, що використання Perl у біоінформатиці зменшується, і R швидко збільшує свою популярність. Але для будь-якої мови, яку ви хочете назвати, ви, ймовірно, можете знайти лабораторію біоінформатики, використовуючи її.


2
Домовились. Я пам’ятаю статтю, я вірю в доктора Доббса чи щось подібне ще в середині 90-х з назвою «Як Перл врятував проект геному людини» чи щось досить близьке до цього. Я працював у біоінформатичному просторі вже близько 10 років, і ще не стикався з тим, хто фактично використовує Perl, хоча. В основному це R з меншою кількістю Matlab & Python.
geoffjentry

6
Це не так, як R збирається замінити Perl. R використовується для аналізу / візуалізації даних для пошукових даних. Загальні сценарійні завдання все одно будуть виконуватися за допомогою perl.
wespiserA

+1: Крім того, здається, що японці все ще використовують набагато більше Perl, ніж Python або Ruby (від японського рекрутера, з яким я спілкуюся), тож, можливо, це має величезний вплив на те, які технології були залучені до японських досліджень, як, наприклад, у біоінформатичних, де вони лідери з США?
Клаїм

@geoffjentry: Я бачив досить багато обробки, виконаної в Perl, хоча у мене немає 10 років у цій галузі (2 поки що, плюс кілька коротких досвіду кілька років тому). R, однак, є кращим, коли очікуються математичні обчислення (приходить на думку статистичний аналіз великих наборів даних) і для створення хороших візуалізацій (насправді багато рішень вважають за краще просто інтегруватися з R Engine, а не розгортати власні).
хайлем

За 8 місяців, відколи я написав, що я повинен відмовитись від своєї заяви, зараз я бачив, як Perl використовується :). У тих випадках, хоча це все ще здається історичним характером - або старий код, або той, хто ріже зуби за допомогою perl і просто застряг у ньому. Більшість обчислювальних біологів на моїй новій роботі використовують деяку суміш (залежно від людини) python & r, з кинутим в дію матлабом і вищезгаданим перл.
geoffjentry

10

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

Perl популярний у біоінформатиці, оскільки спочатку це мова для обробки тексту .

Текст - Король

Perl дозволяє легко:

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

Мова не (наполовину) погана

Він також має переваги:

  • пристойна виразність ,
  • відносно низька крива навчання (доки ви не виявите всі її хитрощі та хакі) ,
  • але й гідне виконання .

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

Переносність та розширюваність зроблені легко

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

  • є стерпним для багатьох платформ ,
  • поставляється з дуже великою бібліотекою розширень .

Але причина, чому існує так багато біоінформатики (і загалом наукових) розширень та модулів для Perl, пов’язана з наведеними вище причинами. У багатьох випадках дизайн і вміння мови роблять її майже ідеальною для роботи (незважаючи на багато можливих негараздів).


Все це робить Perl хорошим претендентом на наукові дослідження, особливо в галузях, де дані, що обробляються, переважно в текстовому форматі.

Звичайно, інші мови з'явилися і вимагають частки ринку з різних причин (посилена виразність, краща читабельність, явно уникають незрозумілих хакерів і гуру-іш однокласників ...), але вони все ще конкурують з Perl за певними аспектами (Ruby - це настільки швидко навчатись, як повільно обробляти дані, наприклад). Так, у галузі біоінформатики (або NLP), де ви маєте справу з текстовими форматами, швидкими циклами дослідження та все більшими даними, що постійно збільшуються (спасибі, геноміка та 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.