Чому 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.