階層シミュレーションデータを保存するためのベストプラクティス


13

TL、DR

大量の階層構造データを保存するための科学コンピューティング界で受け入れられているベストプラクティスは何ですか?たとえば、SQLは大きなスパース行列ではうまく機能しません。この種のデータを構造化し、保管し、分析するための優れたツールはありますか?LHCのスタッフは何を使用していますか?

ユースケースの詳細

次の階層に従ってタンパク質シミュレーションのデータを保存します。

protein
  |__simulation conditions
  |____|__residues
  |____|____|__conformers
  |____|____|____|__atoms

すべてのタンパク質はその各残基を認識している必要があり、すべての原子はそのシミュレーションなどに使用される条件を知っている必要があります。

もともと、このアプリケーションにはリレーショナルデータベースが最適であると考えたため、pythonとsqlalchemeyを使用して、SQLデータベースにデータを保存するプログラムを作成しました。ただし、実際には、このプログラムはあまりうまく機能していません。

最大の問題は、配座異性体データレベルにN x N行列があり、配座異性体のすべての可能なペア間のペアワイズ相互作用によるポテンシャルエネルギーを格納するという事実に関連しています。マトリックス内のエントリのほとんどはゼロです。そのため、データベース内の別のテーブルに、エントリごとに1行、一種のスパース形式でマトリックスを格納しています。残念ながら、数千の配座異性体を含むシミュレーションの場合、ペアワイズテーブルは依然として数十万行になり、次のようになります。

a)構築とクエリが非常に遅い(時間)
b)非スパースマトリックスとしてのデータの同等のプレーンテキスト表現よりもハードドライブ上のスペースを1桁多く
消費するc)10ギガバイト以上のメモリを消費するテーブルはメモリに読み込まれます

私の最終的な目標は、データベースに数万の実行(数十のシミュレーション条件下での数千のタンパク質から派生)を保存して、それらをすべて一緒に分析できるようにすることです。これは、ペアワイズ行列を表すテーブルが約10億行になる可能性が高いことを意味します。現在、このデータベースで単一のクエリを実行するためにも、Crayまたはその他の共有メモリモンスターが必要になるようです。

ここにはより良いオプションがありますか?LHCのスタッフは何を使用していますか?

回答:


12

HDF5ファイル形式の使用を検討してください。HDF5は、いくつかの優れた機能を備えた階層データストレージ形式です。

  • プラットフォームに依存しないストレージ:ライブラリがリトル/ビッグエンディアンを処理します
  • データセットの階層レイアウト:ファイル内のファイルシステムのような
  • 大規模で成長可能なn次元配列ストレージ
  • 混合データセットタイプは1つのファイル内に存在できます(整数、フロートなど)
  • 自動圧縮が利用可能です
  • バイナリストレージ
  • パラレルI / O

Python(h5pyおよびpytables)ラッパーと同様に、CおよびFortranインターフェースがあります。MATLABはHDF5も読み取ることができます。HDF5は、ほぼ障害に対してかなり柔軟です。つまり、「自己記述的」ではないため、XDMFが作成されます。

「シミュレーションに使用される条件」が何を意味するのか正確にはわかりませんが、これらがパラメーターの小さなコレクションである場合は、属性として保存できます


3
HDF5の双方向リンクは、維持するのが少し面倒です。HDF5形式はとにかく自分でロールバックする方法の半分なので、リレーショナルデータベースでメタデータを維持し、重いデータを別のファイルに保存することも検討できます(必要に応じてHDF5)。
ジェドブラウン

0

データベースの使用は、シミュレーションデータの整理/検索に役立ちます(タンパク質による検索、シミュレーションパラメーターによる検索)。データベースは、ディスク上の関連情報を見つける場所を教えてくれるはずです、私はそれが分析のためにロードするのに最も便利なファイルタイプ(カスタムまたはあなたがどちらのシミュレーションスイートからでも) 「使用しています」。

これにより、希望するシミュレーションを迅速に見つけることができ、スパース行列または効率的な分析を行うために必要なツールを使用する自由/パフォーマンスが得られます。


-8

TextMaster Data Editor PROが役立つかどうかを確認してください。http://exnp.com/TM/


2
ニーナ、SciCompへようこそ!このソフトウェアが役立つ理由について詳しく説明してください。また、所属を開示してください。コミュニティは、サイトへのより広範な貢献なしに、宣伝に眉をひそめる傾向があります。詳細については、FAQのこの部分を参照してください
ジェフオックスベリー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.