Dlaczego Perl jest tak intensywnie wykorzystywany w bioinformatyce? [Zamknięte]


14

Co takiego jest w Perlu, co czyni go tak przydatnym w bioinformatyce? Dlaczego C ++, Matlab lub Python nie są wielkim językiem?

Odpowiedzi:


13

Tym, co sprawia, że ​​Perl jest tak przydatny w bioinformatyce, jest to, że 1) jego język jest stosunkowo łatwy do nauczenia, 2) istnieje wiele wcześniej istniejących skryptów do użycia, w tym bioPerl i 3) są szanse, że laboratorium, w którym pracujesz, ma setki skryptów i modułów , już napisane w Perlu.

Poziom programisty mniej związany z wyborem języka, a nie zadawanymi mu zadaniami. Wszelkie zaawansowane lub drogie obliczeniowo zadania są zwykle pisane w Javie lub C i uruchamiane w klastrze.

Jedną z rzeczy, które należy zrozumieć na temat bioinformatyki, jest to, że jest to zróżnicowana dziedzina, z różnymi zadaniami zadawanymi tym, którzy ją praktykują. Często zdarza mi się używać Perla, R i Javy w ciągu jednego dnia. Perl do pisania skryptów, przenoszenia plików, pobierania rzeczy, podstawowych analiz danych itp., R do wizualizacji danych oraz Java do obliczeń algorytmicznych / pracy z aplikacjami i ich modyfikacji. To powiedziawszy, większość zadań, które wykonuję, wymagają użycia Perla, jednak chciałbym przejść na Ruby, ponieważ ma on bardziej zaawansowane funkcje, lambdas i procs, które mogą prowadzić do bardziej zwięzłego kodu i są w pełni zorientowane obiektowo.


1
proszę bardzo. Jeśli masz więcej pytań lub myślisz o wejściu w teren, oto kolejna odpowiedź, która może ci pomóc.
wespiserA 15.07.11


24

Oprócz nieodłącznych zalet Perla, częścią tego jest po prostu historia. Na przełomie XIX i XX wieku nastąpił znaczny rozwój bioinformatyki z powodu projektu Human Genome. W tym czasie Perl był zdecydowanie najpopularniejszym językiem skryptowym w powszechnym użyciu . Ruby i Python z pewnością byli w pobliżu, ale nie mieli prawie wsparcia / udziału w umysłach, które robią dzisiaj. To dało Perlowi duży rozmach w terenie.

Myślę, że użycie Perla w bioinformatyce spada, a popularność R szybko rośnie. Ale dla każdego języka, który chcesz nazwać, prawdopodobnie znajdziesz laboratorium bioinformatyczne, które go używa.


2
Zgoda. Pamiętam artykuł, wierzę w doktora Dobbsa lub coś takiego w połowie lat 90. z tytułem „Jak Perl uratował Human Genome Project” lub coś bardzo zbliżonego. Pracuję w przestrzeni bioinformatycznej od około 10 lat i jeszcze nie spotkałem kogoś, kto faktycznie używa Perla. To głównie R z mniejszą ilością Matlaba i Pythona.
geoffjentry

6
To nie tak, że R zastąpi Perla. R służy do analizy / wizualizacji danych dla danych eksploracyjnych. Ogólne zadania skryptowe będą nadal wykonywane za pomocą perla.
wespiserA

+1: Wydaje się również, że Japończycy nadal używają dużo więcej Perla niż Python lub Ruby (od japońskiego rekrutera, z którym rozmawiam), więc może to mieć ogromny wpływ na to, które technologie były zaangażowane w japońskie badania, na przykład w bioinformatyce, gdzie są liderami w USA?
Klaim

@geoffjentry: Widziałem całkiem sporo przetwarzania wykonywanego w Perlu, chociaż nie mam 10 lat w terenie (jak dotąd 2 plus kilka krótkich doświadczeń kilka lat temu). R jest jednak królem, gdy spodziewane są obliczenia matematyczne (przychodzi na myśl analiza statystyczna dużych zestawów danych) i generowanie dobrych wizualizacji (w rzeczywistości wiele rozwiązań woli po prostu zintegrować się z R Engine niż wdrożyć własne).
haylem

W ciągu 8 miesięcy, odkąd napisałem, że muszę odwołać moje oświadczenie, widziałem, że używałem perla :). W tych przypadkach jednak nadal wydaje się to mieć charakter historyczny - albo stary kod, albo ktoś, kto obciął zęby za pomocą perla i po prostu się z nim utknął. Większość biologów obliczeniowych w mojej nowej pracy używa mieszanki (w zależności od osoby) python & r, z dodanym matlabem i wspomnianym perlem.
geoffjentry

10

Dodam tutaj odpowiedź, ponieważ myślę, że wielu z nich pominęło kluczowy punkt ...

Perl jest popularny w bioinformatyce, ponieważ pierwotnie jest językiem przetwarzania tekstu .

Tekst jest królem

Perl ułatwia:

  • wdrażać NLP i algorytmy bioinformatyczne,
  • wyodrębnić dane tekstowe,
  • generować dane tekstowe.

Język nie jest (w połowie) zły

Ma również zalety:

  • przyzwoity wyrazistość ,
  • stosunkowo niska krzywa uczenia się (dopóki nie odkryjesz wszystkich jej sztuczek i hacków) ,
  • ale także przyzwoitą wydajność .

Chociaż nie pozwala na tworzenie programów przetwarzających tak szybko, jak odpowiednik C, czas programowania jest znacznie gorszy i obejmuje baterie dołączone do przetwarzania tekstu ( potężne wyrażenia regularne , ktoś?), Dzięki czemu jest to łatwe do podnoszenia i używania w kontekście laboratoryjnym do rozwiązywania tych zadań.

Łatwość przenoszenia i rozszerzania

Poza tym oczywiście:

  • jest przenośny na wielu platformach ,
  • pochodzi z bardzo dużą biblioteką rozszerzeń .

Ale powodem, dla którego istnieje tak wiele rozszerzeń i modułów bioinformatyki (i ogólnie naukowych) dla Perla, są przede wszystkim przyczyny podane powyżej. W wielu przypadkach styl i umiejętności języka sprawiają, że jest on prawie idealnie dopasowany (pomimo wielu możliwych pretensji) do pracy.


Wszystko to sprawia, że ​​Perl jest dobrym pretendentem do badań naukowych, szczególnie w dziedzinach, w których dane do przetworzenia są głównie w formacie tekstowym.

Oczywiście pojawiły się inne języki i twierdzą, że mają udział w rynku z różnych powodów (zwiększona ekspresja, lepsza czytelność, wyraźne unikanie niejasnych hacków i guru-ish one-liner ...), ale wciąż konkurują z Perlem pod pewnymi względami (Ruby jest na przykład tak szybko, jak się uczyć, ponieważ przetwarzanie danych jest powolne). Tak więc w dziedzinie bioinformatyki (lub NLP), gdzie zajmujesz się formatami tekstowymi, szybkimi cyklami badań i coraz większą ilością dużych danych, które stają się coraz większe (dziękuję, genomika i NGS), Perl jest nadal bardzo istotny.


Właściwie to właśnie zauważyłem komentarze maple_shaft , Charlesa i geoffjentry'ego , które wspominały również o znaczeniu wyrażeń regularnych, więc nie wszyscy to przeoczyli. :)


6

Jednym z głównych powodów popularności Perla w bioinformatyce jest BioPerl , kompleksowy zestaw modułów do pracy z odpowiednimi danymi.

Wygląda na to, że większość modułów została zaprojektowana do pracy z danymi generowanymi przez inne programy. W końcu Perl zapewnia doskonałą taśmę raportującą.


5

Narzędzia są wybierane na podstawie poziomu umiejętności operatorów i łatwości adaptacji - skompilowanie programu lub IDE zajmuje trochę czasu, zanim opanuje prosty interpretowany język.

Perl ma kilka poważnych problemów, poważną dokumentację, poważne biblioteki i szeroką bezpłatną dostępność. Czego nie lubić w tym wszystkim?


2

Perl ma te same umiejętności, konstrukcje danych i metody w innych językach i jest łatwiejszy do nauki niż wtedy. Jest to dobre dla naukowców i naukowców, którzy nie mają zbyt dużego doświadczenia w programowaniu, ponieważ mogą z łatwością podnieść Perla i wykonać żądane zadanie (zadania)

Do tego:

Dostępnych jest wiele pomocy online i bezpłatnych skryptów, co jest wyraźnie korzystne! =)

Podsumowując, większość naukowców i badaczy chce po prostu wykonać zadanie i wykonać je jak najszybciej, a Perl doskonale do tego pasuje

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.