TopSpinのPythonインターフェース

Pythonは、科学者の間で最も汎用されるプログラミング言語です。サードパーティのPythonソフトウェアの公式リポジトリーであるPython Package Index (PyPI)には、様々な機能を持つ29万以上のパッケージがあります。

Python 2.7に基づくJythonインタプリターは、20年前からスクリプトやアプリケーション開発の標準コンポーネントとしてTopSpinの一部となっています。Jythonスクリプトは、TopSpinのユーザーインターフェースを実行するのと同じJava仮想マシンで実行されます。これによる多くの機能が得られますが、いくつかの制限もあります。

NMRのスペクトル処理ソフトウェアのスタンダードとなっているTopSpinの機能に、Python 3スクリプトを組み合わせて、利用可能な全てのパッケージを活用しませんか?

TopSpinの新しいPythonアプリケーションプログラミングインターフェースは、Python 3.9以上でTopSpinにアクセスでき、定評のあるTopSpinのJythonインタプリターに代えてご利用いただけます。

新機能

  • 高度なデータ解析
  • データマイニング
  • 外部向けの品質の画像生成

利用できる機能

  • パラメーターの読み込み/書き込み
  • データベクトル、ピークリスト、積分領域などの読み込み
  • NMRデータ検索、TopSpinでのデータセット表示などの補助機能
  • TopSpinコマンドの実行

データへのアクセスは、現在、一次元および二次元のスペクトルに限られています。ベクトルデータ全体を読み取ることも、"ser"ファイルの個々の行や二次元スペクトルの列など、選択した部分を読み取ることもできます。

Pythonプログラミングインターフェースの開発では、特に操作性に重点を置き、可能な限り汎用的な構文を用いています。例えば、TopSpinへのパラメータの処理やコマンドの送信は、TopSpinのコマンドラインで入力するのと同じ構文を使用します。PythonとJythonでデータアクセスに使われるインターフェースは同じです。これにより、異なる使用例でもコードを共有することができ、混乱を避けることができます。

入手方法


「Windows版およびLinux版のTopspin 4.1.3」にはPython 3.9環境が含まれ、Bruker Pythonパッケージがプリインストールされています。文書とサンプルスクリプトも用意されています。

ご希望の場合は、無償の評価版ライセンスを提供します。

図1 TopSpinのサービス:Python 3インタプリターは、スタンドアローンのアプリケーションです。従ってPythonアプリケーションとTopSpinを橋渡しする最も簡便な方法は、ネットワーク経由の接続です。ブルカーは、TopSpinに組み込まれたWebサービスに接続するPython 3パッケージを実装しました。このようにして、PythonスクリプトからNMRデータを読み込んだり、TopSpinのコマンドを実行したりすることができます。

 

 

図2 ピリジンのNMR滴定(80 MHz): Fourier 80分光計で測定した滴定データを評価するためのPythonスクリプトの出力例です。Pythonスクリプトから、TopSpin APIを使用してデータを読み込み、滴定曲線とKbの推定値を計算しました。スクリプト全体(スペクトル処理、結果の計算、NumPyによる画像の生成)の長さは約150行でした。