pyopenms について
PyOpenMSはOpenMSライブラリのPythonバインディングを提供し、プロテオミクスやメタボロミクスの計算質量分析を支援します。ファイル処理、スペクトル処理、特徴検出、同定、定量分析のワークフローを扱います。
主な機能
- 01質量分析ファイル形式の処理
- 02スペクトルの平滑化、フィルタリング、正規化
- 03特徴の検出と対応付け
- 04ペプチドとタンパク質の同定
- 05メタボロミクスの前処理と分析
活用シーン
- 01mzML実験データの読み込みと処理
- 02サンプル間の特徴検出
- 03FDRによるペプチド同定結果の選別
- 04ノンターゲットメタボロミクスデータの準備
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ jackspace/ claudeskillz --skill pyopenmsインストール後、Claude Code で/pyopenmsを入力して読み込まれたか確認します。
同梱ファイルSKILL.json
詳細
PyOpenMS
概要
PyOpenMS は、計算質量分析のための OpenMS ライブラリへの Python バインディングを提供し、プロテオミクスおよびメタボロミクスデータの解析を可能にします。質量分析のファイル形式の扱い、スペクトルデータの処理、フィーチャーの検出、ペプチド・タンパク質の同定、定量解析の実行に使用します。
インストール
uv を使ってインストールします:
uv pip install pyopenms
インストールを確認します:
import pyopenms
print(pyopenms.__version__)
主な機能
PyOpenMS は機能を次のドメインに分けています:
1. ファイル I/O とデータ形式
質量分析のファイル形式を扱い、さまざまな表現間で変換します。
対応形式: mzML, mzXML, TraML, mzTab, FASTA, pepXML, protXML, mzIdentML, featureXML, consensusXML, idXML
基本的なファイルの読み込み:
import pyopenms as ms
# Read mzML file
exp = ms.MSExperiment()
ms.MzMLFile().load("data.mzML", exp)
# Access spectra
for spectrum in exp:
mz, intensity = spectrum.get_peaks()
print(f"Spectrum: {len(mz)} peaks")
詳細なファイル処理について: references/file_io.md を参照してください
2. シグナル処理
スムージング、フィルタリング、セントロイド化、正規化によって生のスペクトルデータを処理します。
基本的なスペクトル処理:
# Smooth spectrum with Gaussian filter
gaussian = ms.GaussFilter()
params = gaussian.getParameters()
params.setValue("gaussian_width", 0.1)
gaussian.setParameters(params)
gaussian.filterExperiment(exp)
アルゴリズムの詳細について: references/signal_processing.md を参照してください
3. フィーチャー検出
スペクトルおよびサンプル間でフィーチャーを検出し、関連付けて定量解析に使用します。
# Detect features
ff = ms.FeatureFinder()
ff.run("centroided", exp, features, params, ms.FeatureMap())
完全なワークフローについて: references/feature_detection.md を参照してください
4. ペプチドおよびタンパク質の同定
検索エンジンと統合し、同定結果を処理します。
対応エンジン: Comet, Mascot, MSGFPlus, XTandem, OMSSA, Myrimatch
基本的な同定ワークフロー:
# Load identification data
protein_ids = []
peptide_ids = []
ms.IdXMLFile().load("identifications.idXML", protein_ids, peptide_ids)
# Apply FDR filtering
fdr = ms.FalseDiscoveryRate()
fdr.apply(peptide_ids)
詳細なワークフローについて: references/identification.md を参照してください
5. メタボロミクス解析
ターゲットを限定しないメタボロミクスの前処理と解析を実行します。
典型的なワークフロー:
- 生データを読み込み、処理する
- フィーチャーを検出する
- サンプル間で保持時間を整列する
- フィーチャーをコンセンサスマップに関連付ける
- 化合物データベースでアノテーションを付与する
完全なメタボロミクスワークフローについて: references/metabolomics.md を参照してください
データ構造
PyOpenMS は次の主要なオブジェクトを使用します:
- MSExperiment: スペクトルとクロマトグラムのコレクション
- MSSpectrum: m/z と強度のペアからなる単一の質量スペクトル
- MSChromatogram: クロマトグラフィックトレース
- Feature: 品質指標を持つ検出されたクロマトグラフィックピーク
- FeatureMap: フィーチャーのコレクション
- PeptideIdentification: ペプチドの検索結果
- ProteinIdentification: タンパク質の検索結果
詳細なドキュメントについて: references/data_structures.md を参照してください
一般的なワークフロー
クイックスタート: データの読み込みと確認
import pyopenms as ms
# Load mzML file
exp = ms.MSExperiment()
ms.MzMLFile().load("sample.mzML", exp)
# Get basic statistics
print(f"Number of spectra: {exp.getNrSpectra()}")
print(f"Number of chromatograms: {exp.getNrChromatograms()}")
# Examine first spectrum
spec = exp.getSpectrum(0)
print(f"MS level: {spec.getMSLevel()}")
print(f"Retention time: {spec.getRT()}")
mz, intensity = spec.get_peaks()
print(f"Peaks: {len(mz)}")
パラメータ管理
多くのアルゴリズムはパラメータシステムを使用します:
# Get algorithm parameters
algo = ms.GaussFilter()
params = algo.getParameters()
# View available parameters
for param in params.keys():
print(f"{param}: {params.getValue(param)}")
# Modify parameters
params.setValue("gaussian_width", 0.2)
algo.setParameters(params)
Pandas へのエクスポート
解析のためにデータを pandas DataFrame に変換します:
import pyopenms as ms
import pandas as pd
# Load feature map
fm = ms.FeatureMap()
ms.FeatureXMLFile().load("features.featureXML", fm)
# Convert to DataFrame
df = fm.get_df()
print(df.head())
他のツールとの統合
PyOpenMS は以下と統合できます:
- Pandas: データを DataFrame にエクスポート
- NumPy: ピーク配列を扱う
- Scikit-learn: MS データに対する機械学習
- Matplotlib/Seaborn: 可視化
- R: rpy2 ブリッジ経由
リソース
- 公式ドキュメント: https://pyopenms.readthedocs.io
- OpenMS ドキュメント: https://www.openms.org
- GitHub: https://github.com/OpenMS/OpenMS
参考資料
references/file_io.md- 包括的なファイル形式の処理references/signal_processing.md- シグナル処理アルゴリズムreferences/feature_detection.md- フィーチャーの検出と関連付けreferences/identification.md- ペプチドおよびタンパク質の同定references/metabolomics.md- メタボロミクス固有のワークフローreferences/data_structures.md- コアオブジェクトとデータ構造