バイオインフォマティクスに携わる者が知っておくべきデータ構造にはどのようなものがありますか? リスト、ハッシュ、バランス ツリーなどについては誰もが知っていると思いますが、ドメイン固有のデータ構造があることを期待しています。このテーマに特化した本はありますか?
7 に答える
バイオインフォマティクスで使用される最も基本的なデータ構造は文字列です。また、文字列を表すさまざまなデータ構造があります。また、文字列マッチングなどのアルゴリズムは、効率的な表現/データ構造に基づいています。
これに関する包括的な作業は、Dan Gusfield のAlgorithms on Strings, Trees and Sequences です。
バイオインフォマティクスに関する入門書の多くは、使用する基本的な構造の一部をカバーしています。標準的な教科書が何かはわかりませんが、きっと見つかるはずです。言語固有の書籍をいくつか見ると役立つ場合があります。
これらの 2 つを例として選んだのは、私の経験では質の高い本を出版している O'Reilly から出版されているからです。
私はたまたまハード ドライブに Python の本を持っていて、Python を使用してバイオインフォマティクスの文字列を処理する方法について書かれている本がたくさんあります。バイオインフォマティクスは特別なデータ構造を使用しているようには見えず、既存のデータ構造だけを使用しています。
あなたが言及した構造に関する基本的な知識に加えて、接尾辞ツリー(および接尾辞配列)、de Bruijn グラフ、および区間グラフが広く使用されています。Handbook of Computational Molecular Biologyは非常によく書かれています。全部読んだことはありませんが、参考にさせていただきました。
たとえば、空間ハッシュ データ構造 (kd ツリー) は、任意の特徴ベクトルの最近傍クエリや 3 次元タンパク質構造解析によく使用されます。
シーケンス分析から構造比較まですべてをカバーしているため 、Zvelebil による Understanding Bioinformaticsはあなたの $$ に最適な本です。
この本も強くお勧めします http://www.comp.nus.edu.sg/~ksung/algo_in_bioinfo/
そして最近では、バイオインフォマティクスでは Python が Perl よりもはるかに頻繁に使用されています。したがって、Python から始めることを強くお勧めします。Python は私のプロジェクトで広く使用されています。
バイオインフォマティクスの多くのプロジェクトでは、さまざまな半構造化ソースからの情報を組み合わせる必要があります。RDF とオントロジーは、その多くに不可欠です。たとえば、bio2RDF プロジェクトを参照してください。http://bio2rdf.org/ . 識別子をよく理解することは重要です。
多くのバイオインフォマティクスは探索的であり、迅速で軽量なツールがよく使用されます。主なリソースが Web サービスのセットであることが多いTavernaなどのワークフロー ツールを参照してください。そのため、HTTP/REST が一般的です。
数学または計算の専門知識が何であれ、計算生物学のアプリケーションを見つける可能性があります。そうでない場合は、これをstackoverflowの別の質問にしてください。助けになります:o)
他の回答で述べたように、シーケンスは非常に簡単に取得できるため、文字列の比較と 1 次元データでのパターンの発見は時代を超えています。医療情報学に新たな関心を持っていますが、ゲノムデータなどに対して実行する 2 次元または 3 次元の画像解析も行っています。分子生化学では、3D 表面と分子シミュレーションでパターン検索もできます。薬の効果を研究するために、遺伝子ネットワークを操作し、それらを組織間で比較します。ビッグデータと情報の統合に関する典型的な課題が当てはまります。次に、あるパターンの可能性、または特定された特徴が偶然発見される可能性についての統計的説明が必要です。