Відповіді:
Що робить Perl настільки корисним для біоінформатики, це те, що 1) його відносно простою мовою для вивчення, 2) існує безліч попередньо існуючих сценаріїв, зокрема bioPerl і 3) шанси, що лабораторія, в якій ви працюєте, має сотні сценаріїв та модулів , вже написане в Perl.
Рівень програміста менше пов'язаний з вибором мови, то завдання, яке йому задають. Будь-які розширені або дорого обчислювані завдання, як правило, записуються на Java або C та виконуються на кластері.
Одне, що потрібно розуміти про біоінформатику, - це те, що це різноманітна сфера, з тими, хто її практикує, задаються різноманітні завдання. Мені не рідкість використовувати Perl, R та Java за один день. Perl для створення сценаріїв матеріалів, переміщення файлів, завантаження речей, деякого базового аналізу даних тощо, R для візуалізації даних та Java для алгоритмічного обчислення / роботи та зміни програм. Зважаючи на це, більшість завдань, які я виконую, вимагають використання Perl, однак, я хотів би перейти на Ruby, оскільки він має більш вдосконалені функції, лямбдати та програми, які можуть призвести до отримання більш короткого коду і повністю орієнтований на об'єкт.
Крім притаманних чеснот Перла, частина цього просто історія. На рубежі століть відбулося велике розширення біоінформатики через проект "Геном людини". У той час Перл на сьогодні був найпопулярнішою мовою сценаріїв у загальному користуванні . Рубі та Пітон, безумовно, були поруч, але майже не мали частки підтримки / думки, яку вони роблять сьогодні. Це дало Перлу багато імпульсу в полі.
Я думаю, що використання Perl у біоінформатиці зменшується, і R швидко збільшує свою популярність. Але для будь-якої мови, яку ви хочете назвати, ви, ймовірно, можете знайти лабораторію біоінформатики, використовуючи її.
Я збираюся додати тут відповідь, оскільки думаю, що багато з них пропустили ключовий момент ...
Perl популярний у біоінформатиці, оскільки спочатку це мова для обробки тексту .
Perl дозволяє легко:
Він також має переваги:
Хоча це не дозволить створювати програми обробки, які працюють так само швидко, як C-еквівалент, час розробки значно поступається, і це стосується батарей, що включаються в обробку тексту ( потужні регулярні вирази , будь-хто?), Що робить його легким підібрати та використовувати в лабораторному контексті для вирішення цих завдань.
Крім того, це очевидно також:
Але причина, чому існує так багато біоінформатики (і загалом наукових) розширень та модулів для Perl, пов’язана з наведеними вище причинами. У багатьох випадках дизайн і вміння мови роблять її майже ідеальною для роботи (незважаючи на багато можливих негараздів).
Все це робить Perl хорошим претендентом на наукові дослідження, особливо в галузях, де дані, що обробляються, переважно в текстовому форматі.
Звичайно, інші мови з'явилися і вимагають частки ринку з різних причин (посилена виразність, краща читабельність, явно уникають незрозумілих хакерів і гуру-іш однокласників ...), але вони все ще конкурують з Perl за певними аспектами (Ruby - це настільки швидко навчатись, як повільно обробляти дані, наприклад). Так, у галузі біоінформатики (або NLP), де ви маєте справу з текстовими форматами, швидкими циклами дослідження та все більшими даними, що постійно збільшуються (спасибі, геноміка та NGS), Perl все ще дуже актуальний.
Насправді, щойно помітив коментарі maple_shaft , Charles та geoffjentry , в яких згадувалося про важливість регулярних виразів, тому не всі не помічали цього. :)
Однією з головних причин популярності Perl в біоінформатиці є BioPerl , всебічний набір модулів для роботи з відповідними даними.
Це виглядає як більшість модулів фактично призначене для роботи з даними , що генеруються іншими програмами. Зрештою, Perl забезпечує чудову стрічкову стрічку.
Інструменти вибираються за рівнем кваліфікації операторів та простотою прийняття - для складеної програми або IDE потрібно деякий час, щоб обігнати просту інтерпретовану мову.
У Perl є кілька серйозних відбитків, серйозна документація, серйозні бібліотеки та широкий безкоштовний доступ. Що ні з чим не сподобається?
Perl має все ті ж здібності, конструкції даних та методи інших мов, і їх легше вивчити, ніж більшість. Це добре для дослідників та вчених, які не мають досвіду програмування, оскільки вони можуть легко підібрати Perl і виконати бажане завдання
Додатково:
Доступна безліч онлайн-підтримки та безкоштовних сценаріїв, що явно вигідно! =)
Підсумовуючи, більшість вчених та дослідників просто хочуть виконати роботу, і виконати її якнайшвидше, і Perl є ідеальним пристосуванням для цього