著者 : Richard Jacob   2023年6月16日投稿のブログ記事 (元の英文記事へのリンク)

Mascot Daemon Export Extenderスクリプト

Mascot Daemonには、自動化やパイプラインの作成に役立つ2つの機能があります。1つ目はAutoExport機能で、Mascot ServerがサポートするCSVファイルやmzIdentMLファイルなど、選択したオプションでレポートを構成して出力することができます。出力は検索が完了した時点で行われます。もう1つの機能が”External Process”ダイアログです。あまり知られておりませんが、auto exportよりも幅広い内容に対応可能で、カスタマイズや検索後のデータ処理自動化の鍵となります。

Mascot Distiller autoexport
図1:Mascot Daemonのauto export機能

“External Processes”の設定では、「starting a task」「before starting a search」「after search is complete」「after the task is complete」という異なる4つのタイミングで外部スクリプトやプログラムを呼び出すことができます。唯一の制限はそれぞれのタイミングで1つの外部タスクしか呼び出せないことですが、この記事で後ほどご紹介するようにうまく使えば問題は回避可能です。以前のブログ記事「TMT/TMTproラベリングと相補的なレポーターイオンクラスター(英語版/日本語版)」でもこの機能を使って解析を行いました。相補イオンをレポーターイオンのピークとして変換して定量解析に利用する処理を行う外部スクリプトをDaemonのExternal Process で呼び出して利用しました。

先日、お客様から「検索と定量計算が完了したら、Distillerが作成する定量解析レポートを自動的に出力できるようにしたい」というご要望がありました。Mascot Distillerは定量解析レポートを含むいくつかの機能でコマンドラインからの操作を受けつけています。定量解析レポートを実行するためのコマンドテンプレートは以下の通りです:

<Distiller実行exeファイルへのフルパス> <プロジェクトファイルへのフルパス> -batch -quantout <出力ファイルのフルパス> -quantreport <quant pythonレポート名> [レポートの追加パラメーター]。

例えば、CSV形式のtable-peptides.pyのレポート作成のためには、次のようなコマンドを実行します:

"C:¥Program FilesMatrix ScienceMascot Distiller¥MascotDistiller.exe" "C:¥ProgramDataMatrix ScienceMascot Daemon¥MGF166 Test¥f4c0612f0fac0df8___mydata.raw.-1.rov" -batch -quantout "C:¥ProgramData¥ScienceMascot Daemon¥MGF166 Test¥f4c0612f0fac0df8___mydata.raw.-1.rov.csv" -quantreport table-peptides.py -exportFormat CSV

しかしこれらのコマンドを手動で書くのは面倒ですし、タイプミスが発生してしまう恐れがあります。そこで弊社では、Mascot Daemon eXport Extender (MDXE) というヘルパースクリプトを作成しました。タスク完了時にMDXEを呼び出すとバッチ内のすべてのファイルを処理し、1回の呼び出しで複数のレポートを作成することができます。他のコマンドライン・プログラムも呼び出せるよう、ヘルパースクリプト側に柔軟性を持たせています。

Mascot Daemonで使用するための準備

Mascot DaemonがインストールされたコンピューターにPerlがインストールされている必要があります。本稿執筆時点では、Strawberry Perlが最適な選択肢と言えます。Mascot DaemonがMascot Server (ver.2.6以降)と同じコンピュータにインストールされている場合、Strawberry PerlをインストールしてもMascot Serverが内部に持っていて使用しているPerlと競合しません。ご利用になる方はStrawberry Perlの最新版をダウンロードしてインストールし、perl.exeへのパスがシステムパスに含まれることを確認してください。

もしMascot DaemonがMascot Server version 2.5以前と同じコンピュータにインストールされているのであれば、そのコンピュータにはすでにPerlがインストールされています。新たに何かしらのPerlをインストールする必要はありません。

MDXE.plの引数

MDXE.plのコマンドラインオプションは以下の通りです:

-i <入力ディレクトリ>
データーディレクトリ、Mascot Daemonの変数タグである”<task_directory>”も使えます。
-c <設定ファイル名>
設定ファイルへのパス、ファイル名
-l
指定する事でログ記録を有効にします。タスクディレクトリにログファイルが作成されます。入力および出力ファイル名、各ファイル実行時のコマンドラインの内容を記録します。

Distillerレポートの実行に関するその他の説明は、MDXE.plに同梱されているMDXEconfig_factory_default.txt ファイルに記載されています。

DaemonでMDXEを使う

MDXE.zipをダウンロードし、解凍してMDXE.plとMDXEconfig_factory_default.txtをMascot Daemonコンピュータ上の適当な場所(フォルダ)に保存してください。例) C:\scripts.

MDXEconfig_factory_default.txt のコピーをとり何かあったときに標準設定を元に戻せるようにします。続いてこの設定ファイルをテキストエディタなどで開き、必要に応じてDistillerのレポートのコマンドを有効化(コメントアウト解除)または無効化(コメントアウト)します。設定ファイルはユーザーやワークフローによって異なるファイルを用意する事をお勧めします。

Mascot Daemonのタスクを設定し、タスク完了後にスクリプトを実行するための外部プロセスを「after completing task」にて設定します(図2)。使用するコマンドラインは以下のようになります:

perl "C:\scripts\MDXE.pl" -c "C:\My_MDXEconfig.txt" -i "<task_directory>" -l

Mascot Daemon External processes dialog
図2:Mascot Daemon External processes ダイアログと MDXE.pl コマンドラインの例。

Mascot Daemonは<>で囲った変数タグの情報を、外部プロセスとして動作するプログラムにも渡す事ができます。今回の例ではタスクの関連ファイルを出力するディレクトリのタグ<task_directory>を使用しています。DaemonのExternal processにおけるコマンドラインをより短くより管理しやすくするため、設定ファイル内でどのプログラムをどのようなパラメーターで実行するかというすべての情報を記載し、その設定ファイルをMDXEに渡して利用します。MDXE.plは、設定ファイルで指定された条件に合うファイルについて<task_directory>で指定されたディレクトリの中から探し、それらすべてに対してループして各コマンドを実行します。設定ファイル内にはMascot Distillerの定量解析レポートをエクスポートするためのコマンドの例とともに、使用可能なタグの説明やその他の使用情報が記載されています。


Keywords: , , ,