概要
DScribeは、材料科学における原子スケールのワークフロー向けに特徴表現を提供します。原子構造を固定サイズの数値フィンガープリントに変換し、機械学習、可視化、類似性解析の入力として利用できます。その役割は記述子の生成であり、付属の物性予測モデルを提供するものではありません。研究者は、生成された特徴を別個の下流解析や学習ワークフローで利用できます。
READMEでは、ASEを用いて入力を構築する例としてH2O、NO2、CO2を示しています。記述子オブジェクトを設定してから、構造をその生成メソッドに渡します。CoulombMatrixの例では最大原子数と並べ替えオプションを指定し、SOAPの例では化学種、カットオフ、展開パラメータを定義しています。出力はNumPy配列または疎配列にできます。SOAP計算では選択した原子中心を対象にでき、複数の構造から選んだ酸素原子も指定できます。また、複数プロセスを使ってバッチを処理できます。
文書に記載されている記述子には、Coulomb、Sine、Ewald行列、原子中心対称関数(ACSF)、原子位置間の滑らかな重なり(SOAP)、多体テンソル表現(MBTR)、局所多体テンソル表現(LMBTR)、Valle-Oganov記述子があります。READMEでは、これら8種類すべてについて原子位置に関する導関数への対応を記載し、SOAPの導関数と記述子を同時に返す例を示しています。出典の抜粋からは、予測精度、ベンチマーク速度、または特定の科学的課題に最適な記述子設定は確認できません。そのため、記述子の選択と設定は、想定する評価目的に応じて代表的な構造を用いて検討する必要があります。リンク先の文書から、追加のチュートリアルやインストール情報を参照できます。
主な機能
- 原子構造から数値フィンガープリントを生成し、NumPy配列または疎配列として出力します。
- Coulomb行列、Sine行列、Ewald行列、ACSF、SOAP、MBTR、LMBTR、Valle-Oganovの8種類の記述子ファミリーを実装しています。
- 複数の構造に対して指定した中心の選択を含め、選択した原子中心でSOAPを評価できます。
- 個々の構造またはバッチの記述子を生成でき、n_jobsでマルチプロセス処理を制御できます。
- 原子位置に関する導関数を提供します。SOAPの例では導関数と記述子を同時に返します。
用途
- 評価案:記述子ファミリーを比較し、別途用意する分子または材料の物性予測モデルの入力特徴として検討します。
- 評価案:原子構造の集合からフィンガープリントを生成し、可視化または類似性解析に利用します。
- 評価案:複数の構造にわたって、選択した元素種別の原子中心におけるSOAP表現を調べます。
- 評価案:原子位置の変化に対する感度が必要な下流ワークフローで、記述子の導関数を利用します。
使い方
- 公式ドキュメントから始め、対象の構造に関連する記述子とチュートリアルを確認します。READMEの例は、用途に対して検証済みの設定ではなく、出発点として扱ってください。
- インストールガイドに従い、READMEに記載されたpip、conda、またはソースからのインストール方法を選びます。提供されたパッケージメタデータではPython >=3.9が要件として示されていますが、これは要件であり、互換性がテスト済みであることを示すものではありません。
- リポジトリの例を参照し、ASEを用いた構造準備を確認します。代表的な構造を用意し、記述対象とする原子中心があれば特定します。
- 記述子を設定します。CoulombMatrixでは最大原子数と置換設定を確認し、SOAPでは化学種、カットオフ、展開パラメータを確認します。バッチに進む前に、単一構造の出力を生成します。
- バッチ生成、オプションのマルチプロセス処理、および必要に応じて原子位置に関する導関数を評価します。フィンガープリントを予測、可視化、または類似性解析に利用する前に、独自のデータで出力次元と下流での適合性を確認してください。