mcpField
P
pyopenms

pyopenms

github.com/crazymsnデータ・データベース2335 回インストール22 週間前に更新
リポジトリ

pyopenms について

PyOpenMSは、OpenMSのPythonバインディングで、プロテオミクスやメタボロミクスの質量分析データを扱います。ファイル処理、スペクトル処理、特徴検出、ペプチド・タンパク質同定のワークフローを提供します。

主な機能

  1. 01質量分析ファイル形式の読み込みと変換
  2. 02スペクトルの平滑化・フィルタリング・正規化
  3. 03クロマトグラフィー特徴の検出と連結
  4. 04ペプチド・タンパク質同定結果の処理
  5. 05pandas DataFrameへのデータ出力

活用シーン

  1. 01mzMLデータの読み込みと確認
  2. 02質量分析シグナルの前処理
  3. 03サンプル間の特徴検出とアライメント
  4. 04ペプチド同定結果のフィルタリング

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/crazymsn/academic-skills --skill pyopenms

インストール後、Claude Code で/pyopenmsを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
data_structures.md
feature_detection.md
file_io.md
identification.md
metabolomics.md
signal_processing.md

詳細

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. メタボロミクス解析

ターゲットを限定しないメタボロミクスの前処理と解析を実行します。

典型的なワークフロー:

  1. 生データを読み込み、処理する
  2. フィーチャーを検出する
  3. サンプル間で保持時間を整列する
  4. フィーチャーをコンセンサスマップに関連付ける
  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 ブリッジ経由

リソース

参考資料

  • references/file_io.md - 包括的なファイル形式の処理
  • references/signal_processing.md - シグナル処理アルゴリズム
  • references/feature_detection.md - フィーチャーの検出と関連付け
  • references/identification.md - ペプチドおよびタンパク質の同定
  • references/metabolomics.md - メタボロミクス固有のワークフロー
  • references/data_structures.md - コアオブジェクトとデータ構造

コメント