概要
QCArchiveは、量子化学計算とその生成データを整理するためのインフラストラクチャです。このプロジェクトが説明するワークフローは、計算の実行、データベースへの保存、取得、解析、共有、エクスポートにわたります。設計上の対象として数千から数百万件の計算が示されていますが、これはソースに記載された目標であり、出典の抜粋で裏付けられたベンチマーク結果ではありません。計算化学者にとっての役割は、計算の実行と、蓄積されたデータへの継続的なアクセスをつなぐことです。
リポジトリには、独立した4つのPythonパッケージが含まれています。qcfractal は、データベースとWeb APIを含むQCFractalサーバーを提供します。qcportal はサーバーとのやり取りに使用するPythonクライアントで、qcfractalcompute は計算を実行するためにデプロイできるワーカーを提供します。qcarchivetesting には、QCArchiveコンポーネントのテストに使うヘルパーとpytestハーネスが含まれています。この分割により、このリポジトリはクライアント側のデータアクセスと、基盤となる計算インフラストラクチャのデプロイの両方に関係します。
ワークフローの面では、QCArchiveは量子化学計算を扱い、そのデータを後で利用できるように保存します。プロジェクトのREADMEには、分子入力スキーマ、対応する計算エンジン、結果フィールド、エクスポート形式が記載されていないため、統合を計画する前にリンク先のドキュメントでこれらの詳細を確認する必要があります。各コンポーネント間の変更が密接に関連するため、パッケージはモノレポにまとめられていますが、それぞれ個別のパッケージ設定情報を保持しています。利用可能な抜粋から確認できるのはアーキテクチャとリポジトリからのインストール方法であり、デプロイ要件や測定済みのスケーリング性能ではありません。
主な機能
- QCFractalサーバーは、データベースとWeb APIを組み合わせて量子化学計算データを管理します。
- `qcportal` はサーバーとのやり取りに使用するPythonクライアントを提供します。
- `qcfractalcompute` は計算を実行するデプロイ可能なワーカーを提供します。
- 保存された計算データは、取得、共有、解析、エクスポートが可能です。
- `qcarchivetesting` はQCArchiveコンポーネントのテストに使うヘルパーとpytestハーネスを提供します。
- 密接に関連する4つのPythonパッケージが1つのモノレポに収められており、各パッケージに個別のパッケージ設定情報があります。
用途
- 評価案:大量の量子化学計算のための、データベースを基盤とする実行・保存レイヤーとしてQCArchiveを評価する。
- 評価案:`qcportal` を使って、下流の科学的解析に用いる保存済み計算データの取得を評価する。
- 評価案:蓄積された計算データを共有またはエクスポートするワークフローを想定し、サーバー、ワーカー、クライアントの各パッケージを組み合わせて評価する。
- 評価案:複数のQCArchiveコンポーネントにまたがる変更を開発する際に、提供されているテストヘルパーを確認する。
使い方
- まずリポジトリREADMEを読み、4つのパッケージの構成を把握して、クライアントアクセス、サーバーのデプロイ、ワーカーによる実行、コンポーネントのテストのどれを評価するか決めます。
- 入力表現、計算の設定、デプロイ方法を確認するには、公式ドキュメントを参照してください。プロジェクトのREADMEの抜粋には、これらの詳細は含まれていません。
- リポジトリからインストールする場合は、
qcportal、qcfractal、qcfractalcompute、qcarchivetestingのpipインストール手順に従ってください。READMEには、開発用の編集可能インストール方法も記載されています。 - 記載されている大規模設計の対象を検討する前に、小規模で代表的な評価を計画します。計算がワークフローにどのように取り込まれるか、ワーカーがどのように計算を実行するか、クライアントが保存済みデータにどのようにアクセスするかを確認してください。
- 想定する解析ニーズに照らして取得、共有、エクスポートを評価し、コードライセンスは、データまたはサービスに関する規約とは別に確認してください。