なぜバイオインフォマティクスでPerlがそれほど頻繁に使用されるのですか?[閉まっている]


14

バイオインフォマティクスで非常に役立つのは、Perlについての何ですか?なぜC ++、Matlab、Pythonが大きな言語ではないのですか?

回答:


13

Perlがバイオインフォマティクスに非常に役立つのは、1)比較的簡単に学習できる言語、2)bioPerlを含む既存のスクリプトがたくさんある、3)作業するラボが数百のスクリプトとモジュールを持っていることです。 、すでにPerlで記述されています。

プログラマーのレベルは言語の選択とは関係がなく、それから彼に求められているタスク。高度なジョブまたは計算コストの高いジョブは、通常JavaまたはCで記述され、クラスターで実行されます。

バイオインフォマティクスについて理解することの1つは、それが多様な分野であり、それを実践する人々に多様なタスクが求められることです。Perl、R、Javaを1日で使用するのは私にとって珍しいことではありません。スクリプト作成、ファイルの移動、物のダウンロード、いくつかの基本的なデータ分析などのためのPerl、データの視覚化のためのR、およびアルゴリズムの計算/アプリケーションの操作と変更のためのJava。そうは言っても、私が行うほとんどのタスクはPerlの使用を必要としますが、Rubyに切り替えたいと思います。より高度な関数であるラムダとプロシージャがあり、より簡潔なコードにつながり、完全にオブジェクト指向です。


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:また、日本人はまだPythonやRubyよりも多くのPerlを使用しているようです(私が話している日本人のリクルーターから)、おそらくバイオインフォマティクスなど、どのテクノロジーが日本の研究に関与していたかに大きな影響を及ぼします彼らはアメリカのリーダーですか?
クライム

@geoffjentry:Perlで多くの処理が行われているのを見てきましたが、私はこの分野で10年はありません(2、これまでのところ、数年前にいくつかの短い経験があります)。ただし、Rは、数学的計算が期待され(大きなデータセットの統計分析が思い浮かぶ)、優れた視覚化を生成する場合に重要です(実際、多くのソリューションは、独自に展開するよりも単にR Engineと統合することを好みます)。
ヘイレム

声明を破棄する必要があると書いてから8か月で、perlが使用されているのを見ました:)。それらの場合、それはまだ歴史的な性質のように見えます-古いコードか、perlを使って歯を切って、それで立ち往生した誰かのどちらかです。私の新しい仕事でのほとんどの計算生物学者は、Pythonとrのミックス(人によって異なります)を使用し、いくつかのmatlabと前述のperlを使用します。
-geoffjentry

10

多くの人が重要な点を見逃していると思うので、ここに答えを追加します...

Perlはもともとテキスト処理言語であるため、バイオインフォマティクスで人気があります

テキストは王様です

Perlを使用すると、次のことが簡単にできます。

  • NLPとバイオインフォマティクスのアルゴリズムを実装し、
  • テキストデータを抽出し、
  • テキストデータを生成します。

言語は(半分)悪くない

また、次の利点もあります。

  • まともな表現
  • 比較的低い学習曲線 (すべてのトリックとハックを発見するまで)
  • また、まともなパフォーマンス

Cと同等の速度で実行する処理プログラムを作成することはできませんが、開発時間は大幅に劣り、テキスト処理(強力な正規表現など)に関してはバッテリーが付属しているため、簡単です。これらのタスクを解決するために、ラボコンテキストで取り上げて使用します。

移植性と拡張性が簡単に

また、明らかに:

  • 多くのプラットフォーム間移植可能
  • 拡張の非常に大きなライブラリが付属しています。

しかし、そもそもPerlに非常に多くのバイオインフォマティクス(および一般に科学的)拡張およびモジュールがある理由は、上記の理由によるものです。非常に多くの場合、言語の設計と能力は、(多くの可能性のあるgrみにもかかわらず、それに対して耐えることができる)仕事にほぼ完璧に適合させます。


これにより、特に処理するデータがほとんどテキスト形式である分野では、Perlは科学研究の優れた候補になります。

もちろん、他の言語が出現し、さまざまな理由で市場占有率を主張しています(表現力の向上、読みやすさの向上、あいまいなハックやグルっぽいワンライナーの明示的な回避...)、それでも特定の側面でPerlと競合しています(Rubyはたとえば、データの処理が遅いのと同じくらい速く学習できます)。したがって、テキスト形式、クイックリサーチサイクル、およびますます大きくなるビッグデータ(ありがとう、ゲノミクスとNGS)を扱うバイオインフォマティクス(またはNLP)の領域では、Perlは依然として非常に重要です。


実際、maple_shaftCharles、およびgeoffjentryのコメントに気付いただけで、正規表現の重要性についても言及しているので、誰もがこれを見過ごしていたわけではありません。:)


6

Perlのバイオインフォマティクスでの人気の背後にある大きな理由の1つは、関連データを操作するための包括的なモジュールセットであるBioPerlです

それはのように見えるのモジュールのほとんどは、実際に他のプログラムによって生成されたデータで動作するように設計されています。結局のところ、Perlは優れた報告ダクトテープを作成します。


5

ツールは、オペレーターのスキルレベルと採用の容易さによって選択されます。コンパイルされたプログラムまたはIDEが単純なインタープリター言語を追い抜くにはしばらく時間がかかります。

Perlには、いくつかの深刻なチョップ、深刻なドキュメント、深刻なライブラリ、幅広い無料の可用性があります。どれが好きではないのですか?


2

Perlには、他の言語と同じ機能、データ構造、およびメソッドがすべてあり、ほとんどの場合は習得が容易です。これは、プログラミングをあまり経験していない研究者や科学者に適しています。Perlを簡単に見つけて、目的のタスクを達成できるからです。

さらに:

多くのオンラインサポートと無料のスクリプトが利用可能で、明らかに有利です!=)

要するに、ほとんどの科学者と研究者は仕事を終わらせたいと思っており、できるだけ早くやりたいと思っています。Perlはそれにぴったりです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.