概要
MS2DeepScore は、タンデム質量スペクトルを比較するための Python ライブラリであり、予測モデルのワークフローでもあります。Siamese ニューラルネットワークはスペクトルのペアから学習し、Tanimoto スコアで表される分子構造類似度を推定します。データの準備、モデルの学習、類似度の計算を行うコンポーネントを備えており、化合物同定データベースではなく、質量分析ワークフローで使うスコアリングコンポーネントです。
README では、GNPS、Mona、MassBank、MSnLib から集めた 500,000 件を超える MS/MS スペクトルを組み合わせて学習したとされる事前学習済みモデルを案内しています。このモデルは、正イオン化モードと負イオン化モード、およびモードをまたぐ比較に対応します。文書化されたワークフローでは、matchms を使ってスペクトルを読み込み、フィルタリングした後、ペアごとの予測を NumPy の類似度行列として返します。入力形式として msp、mzml、mgf、mzxml、json、usi が挙げられています。PyTorch と ONNX の推論方法に加え、既存モデルを ONNX に変換する方法も説明されています。
各スペクトルは、UMAP による次元削減などの後続の可視化に使う埋め込みベクトルとして表すこともできます。オプションの埋め込み評価器は、個々のスペクトルに対するモデルの精度を推定します。これはモデルに基づく推定であり、独立した検証ではありません。カスタム学習にも対応していますが、README では、機械学習の経験、化学的多様性の高い大規模なスペクトルコレクション、クリーニング済みの入力、ペアのサンプリング方法の確認を推奨しています。モデルを社内データセットに適用する際には、これらの要件が重要です。科学的なワークフローで予測や可視化に依拠する前に、代表的なスペクトルを使って評価してください。
主な機能
- Siamese ニューラルネットワークによるスコアリング。MS/MS スペクトルのペアから分子構造類似度を予測し、Tanimoto スコアで表します。
- リンク先の事前学習済みモデルは、正イオンモード、負イオンモード、およびイオン化モードをまたぐスペクトル比較に対応します。
- matchms のフィルタリングおよびスコアリングパイプラインと統合でき、ペアごとの類似度予測を NumPy 配列として出力します。
- PyTorch と ONNX の両方のインターフェースでスペクトル埋め込みを抽出し、後続の化学空間可視化に利用できます。
- 設定を変更できるカスタムモデル学習に対応し、追加メタデータを入力したり、任意で埋め込み評価器を学習したりできます。
- ONNX 推論と、既存の PyTorch モデルの ONNX へのエクスポートに対応します。
用途
- 推奨される評価方法:メタボロミクスデータセット内のスペクトルを比較し、予測された構造類似度が研究に関連する関係を捉えるか評価します。
- 推奨される評価方法:分子構造が既知の代表的なスペクトルペアを使い、正負のイオン化モード間の比較を試します。
- 推奨される評価方法:埋め込みを生成して UMAP の可視化を確認し、化学空間におけるスペクトルのグループ化を探索します。
- 推奨される評価方法:クリーニング済みの社内スペクトルと公開学習データを組み合わせてモデルを学習し、後続の利用前にペアのサンプリング方法と予測品質を確認します。
使い方
- 環境の準備とインストール方法については、リポジトリの README を確認してください。記載されている Python のバージョンは 3.11–3.13 です。それより新しいバージョンが体系的にテストされたとは説明されていません。
- スペクトルを自分のものに置き換える前に、リンク先の入門チュートリアルに従い、データ準備、スコアリング、可視化の方法を確認してください。
- モデルレコードから事前学習済みの
ms2deepscore_model.ptを入手してください。README の PyTorch ワークフローを使用するか、ONNX 推論を選ぶ場合は変換手順を参照してください。 - 文書に記載された形式でスペクトルを準備し、推奨される matchms のクリーニングワークフローを適用してください。類似度行列を計算し、可視化が必要であれば埋め込みを抽出します。
- 構造が既知の代表的なスペクトルペアで予測を評価してください。カスタム学習を行う場合は、ペアサンプリングチュートリアルを確認し、学習設定を変更する前にデータセットの多様性を評価してください。