JASON

JASONのパワーを拡張する(その2) :MATLABとRによる外部コマンド処理

前回のブログでは、JASONの外部コマンド処理としてpythonを使用し、NMR処理過程のどのポイントでもデータに対して操作を実行できることを説明しました。これは、例えば新しいデータ処理のアプローチを開発するユーザーにとっては、非常に強力でかつ柔軟なツールとなります。 しかし、もしあなたのお気に入りのプログラミング言語がpythonでなかったら?JASONの外部コマンド処理機能は、HDF5フォーマットのデータを読むことができるすべての外部プログラムやスクリプトにデータを送ることができます。これには、最新のプログラミング言語の大半(そしてそうでないものも!)が含まれます。 このブログでは、MATLABとRスクリプトの両方をJASONから呼び出し、前のブログで説明したのと同じ操作を実行する方法を紹介します。MATLABはネイティブでHDF5ファイルの読み書きをサポートしていますが、Rは追加のライブラリをインストールする必要があります。このブログで紹介する例では、rhdf5ライブラリを使用します。 MATLABスクリプトは、前回説明したinvert.py pythonスクリプトと概念的に非常に似ています。MATLABファイルはデータに適用される関数を実装しています。MATLABはすでにinvert()と呼ばれる関数を持っているので、誤って間違った関数を呼び出さないように、この関数に別の名前、この場合はinvertspec()を付けます。h5read()関数とh5write()関数は、HDF5ファイルからデータを読み書きします: 前のブログ記事のpythonスクリプトのように、データセットのサイズを変更しないので、元のデータを変更後のデータに置き換えるだけです。 JASONからこのスクリプトを呼び出すのは簡単です。外部コマンドの処理項目を処理リストに追加し、いくつかのオプションを設定するだけです。MATLABの場合、コマンドは単に "matlab "で、引数は以下の通りです: -nojvm [...]

By |2024-01-09T10:58:19+00:009月 10, 2023|JASON, JEOL software|0 コメント

Introducing JASON Version 3.0

JASON バージョン 3.0 のリリース 今回のJASON 3.0は発売開始以来で最も大きなリリースの一つになります。その中身には、マルチベンダー対応の商用NMRソフトウェアとしては初めてとなる3Dスペクトルデータのサポートが含まれます。 3Dデータのサポート 3D NMRデータの取り扱いの要請に応えて、JASON 3.0では、例えばHNCAなどに代表される3Dデータ(FID)の処理(JEOLデータ)と、そのスペクトルデータの表示(JEOL及びBrukerデータ)が可能となりました。 [...]

By |2023-09-05T10:39:40+01:008月 16, 2023|JASON, JEOL software|0 コメント

JASONの機能を拡張する (その1) :外部コマンド処理項目の使い方

JASONには、NMRデータを処理・解析するための強力なツールが揃っていますが、時にはJASONにはないような処理を行いたいこともあるでしょう。このブログ記事シリーズでは、「外部コマンド」という処理機能の使い方を紹介します。これにより、NMRデータを外部プログラムに渡し、何らかの処理を行わせ、その結果を再度JASONに返すようなことを実行することが出来ます。 この機能はどのような方に適しているでしょうか?例えば、Non-uniformサンプリング再構成法、新しい窓関数、信号処理技術など、新しい処理技術を開発している研究者は、このような機能が不可欠であることに気づくでしょう。実際、利用者はNMRデータの処理過程のどの時点でも、また何回でも、外部プログラムによる処理のためにデータを送ることが出来るので完全に自分のデータをコントロールすることが出来ます。 この機能はどのように動作するのでしょうか? JASONは、HDF5というファイル形式でデータを保存します。この形式は、Python、Matlab、R、Mathematicaなどを含む主要なプログラミング言語のHDF5ライブラリにより、さまざまなツールで読むことが出来ます。つまりあなたの好みの言語を外部スクリプトとして使うことが出来るのです! データは「外部コマンド」の引数として指定されます。JASONはそれをスリム化されたHDFファイルとして生成し、外部処理に渡します。外部計算が完了すると、JASONは出力を読み返し、処理は処理リストの次の項目に進みます。 このブログでは、簡単なpythonスクリプトを使った外部コマンド処理の使い方を紹介します。ここに紹介した例は、単純にスペクトルを反転させるだけのものですが、もちろん、もっと高度な計算も可能です。限界は、もしあるとすれば、あなたの想像の中だけに存在するものです! これから説明するpythonスクリプトを以下に示します。Pythonは、h5pyライブラリを使用してHDF5ファイルにアクセスすることができます。h5pyライブラリは、Pythonでの科学計算によく使用されるNumPy配列としてデータを返します。   スクリプトは、python標準ライブラリからh5pyとNumPy、sysをインポートする3つのステートメントから始まります。JASONから送られたHDF5ファイルは、h5py.File()関数を使ってファイルハンドルとして開かれます。セキュリティ上の理由から、NMRデータはJASONからランダムなファイル名で送信されるため、sys.argvリストを通して、これをpythonスクリプトの入力引数の一つとして取り込みます。 ファイルを開くと、その中のNMRデータはpythonのライブラリ構文を使ってアクセスできます。HDF5ファイルはデータを格納するためにパスのような階層構造を使用し、これらのパスはライブラリのキーとして使用されます。例えば、NMRスペクトルの実数部は/JasonDocument/DataPoints/0にあり、/JasonDocument/DataPoints/1は虚数部にあります。 [...]

By |2024-01-09T10:59:17+00:008月 10, 2023|JASON, JEOL software|0 コメント

JASONによるSAPPHIRE ピュアシフトデータの処理

1HピュアシフトNMRスペクトルは通常の1Hスペクトルと比べて(各信号のシングレットが得られるため、その結果として)、最大で1桁程度までの見かけ上の分解能の向上が見込まれます。しかしながら、多くのピュアシフト実験で用いられている時間を区切ったデータの取り込み(chunked acquisition)は、一般に小さな周期的なアーティファクトを残念ながらスペクトルに生じさせます。これは、例えばダイナミックレンジの比較的小さい試料(例:単一試料)においてはそれほど深刻な問題にはなりませんが、少量の不純物(数%程度)を含むような試料の場合には問題になります。なぜなら、その小さな信号が不純物由来の信号なのか、測定のアーティファクトなのかがはっきりしなくなるためです。図1には、キニーネ(quinine)とカンフェン(camphene)の混合試料のZangger-Sterk(ZS)ピュアシフトスペクトルが示してあります。この試料のカンフェンのキニーネに対する相対濃度は1%であり、図を見てお分かりになるように、スペクトル全域に渡って小さなアーティファクトの信号が拡がっています。そのため、それらがアーティファクトなのかカンフェン由来の信号なのかの区別が、不可能ではないかもしれませんが、困難となっています。   図1.キニーネ(quinine)とカンフェン(camphene)混合試料のZS 1Hピュアシフトスペクトル。 [...]

タイトル

Go to Top