バイオ医薬品の開発と製造には、多くの標準化された実験と報告書作成が伴います。ほとんどの報告書には、関連するプロトコルからの情報、ラボ情報管理システム(LIMS)からの製品品質データ、ラボ文書からの情報、およびさまざまな機器からの性能データが含まれています。現在、これらのデータソースはJMP、Excel、その他のソフトウェアで処理され、PowerPointプレゼンテーションやWord文書にまとめられています。
本稿では、JMPを用いて社内で開発した、このプロセス全体の自動化について解説します。ジャーナルを活用することで、ユーザーは自動化されたワークフローに沿って操作を進めることができます。LIMSデータと実験室のドキュメントに基づき、例えば実験計画法(DoE)シリーズの回答を自動的に入力したり、専門家(SME)がモデルを構築した後に図案の候補を提示したりします。これらの図案、クロマトグラフィーのトレース、プロトコルからの情報は、あらかじめ設定されたテンプレート構造に従って、PowerPointプレゼンテーションとWordレポートにまとめられます。
この自動レポート生成機能により、中小企業は大幅な時間短縮を実現し、結果の解釈に集中する時間を増やすことができます。さらに、自動化処理を単一のソフトウェアで行うことで、データの整合性が維持され、すべてのレポートでレイアウトと評価基準が遵守されます。
こんにちは、ようこそ。本日は、実験データの収集、分析、報告を行うワークフローをご紹介したいと思います。今回はディスカバリーサミットで発表するため、例としてDOE(米国実験計画法)の報告書を取り上げましたが、もちろんこのツールは非常に汎用性が高く、あらゆる種類の報告書にご利用いただけます。
弊社の事業内容について簡単にご説明いたしますと、レンツラー・バイオファーマはバイオ医薬品の受託製造・開発会社です。つまり、あらゆる種類のバイオ医薬品の精製プロセスを開発しています。
もちろん、そのほとんどは抗体です。当社は120種類以上の抗体を保有していますが、BioNTech Pfizer向けにCOVID-19 mRNAワクチンも製造しました。さらに、140種類以上の治療法を網羅したかなり大規模なポートフォリオを有しており、そのほとんどはモノクローナル抗体という、ある意味地味で退屈なものですが、多特異性抗体、融合タンパク質、組換え酵素など、もう少し刺激的なものも含まれています。
140種類もの異なる手法がある場合、デメリットは140種類のレポートを作成しなければならないことです。例えば、毎年何かを制作する場合、年次レポートも作成する必要があります。私たちが手がけるこれらのプロジェクトすべてについてレポートを作成するだけでなく、顧客向けに仕事をしているため、PowerPointプレゼンテーションも作成します。場合によっては毎週作成することもあります。
もちろん、準備にはかなりの時間がかかるため、JMP を使って自動化することでこの時間を短縮しようと考えています。その例として、DOE レポートを挙げます。プロセスを開発する際には、その仕組み、プロセスの堅牢性、堅牢性の有無、最適化方法などを理解するために、多くの DOE を実施する必要があることは想像に難くありません。私たちは DOE アプローチを採用しており、各プロセスには多くのプロセスステップがあるため、各プロセスで 5 つまたは 10 個のレポートが必要になる可能性があり、かなりの作業量になります。一方で、非常に標準化されているため、自動化の力を活用するための良い例となります。
これに必要なものは、JMP テーブル、つまり実験計画を作成するように JMP に指示すると自動的に生成される典型的な DOE テーブルだけです。いずれにせよ必要なプロトコルも必要です。どの顧客も必要とするものです。そして最終的には、少なくとも JMP-18 が必要になります。これは、JMP-18 には優れた Python 統合機能があり、すべてが少し簡単になるためです。そのため、今日ご覧になるものの多くは Python で動作しますが、ユーザーはそれを意識することはありません。しかし、Python を使うことで少し面白いことができるという利点があります。
まず、理論上どのように見えるかを少し説明し、その後、実際の例を示します。では、どのように見えるのでしょうか?左側に表示されているように、空のDOEテーブルから始まります。そこには、実行ID、パターン、さまざまな因子と応答があり、これらはLIMSから数回クリックするだけで自動的に入力されます。この方法の利点は、LIMSからデータをコピー&ペーストして最終的にエラーが発生する代わりに、コンピュータが自動的に処理してくれることです。
また、エラーが発生しないように列を自動的にロックし、処理中にユーザーが行うすべてのステップを追跡します。これはデータの整合性を考えると非常に役立ち、データの出所が明確になります。データが誤って改ざんされることはなく、品質保証担当者も非常に満足しています。
データがDOEテーブルにコピーされた後、専門家はモデルを構築する必要があります。この点については何も変更はありません。お好みの方法で構築できます。JMPビルドには必要な機能がすべて備わっており、この点についても変更はありません。このモデルを保存したら、ツールに戻って、レポートによく使用するあらゆる種類のグラフを作成できます。
これには、例えば、異なる実行間でデータがどのように分布するかを確認できる複製プロット、モデルの品質を推定できる適合度の要約、特定の応答の原因となっているパラメータを示すパラメータ推定値、どの要因がどの応答に影響を与えるかの概要を示すさまざまな種類のプロファイラープロット、そして最後に、2 次元または 3 次元の相互作用がある場合に、それを単一のプロットで直接確認して最適値を見つけたり、失敗の境界にある問題を特定したりできる等高線プロットなどが含まれます。
次に、このデータはプレゼンテーションにまとめられます。これは、お客様が当社の進捗状況を常に把握したいと考えているため、生成されたすべてのグラフを簡単にPowerPointプレゼンテーションにまとめることができるようにするためです。つまり、すべての図が追加され、ヘッダーも自動的に追加されるため、専門家はそれに対する解釈を書き込むだけで済みます。
2つ目は、後ほどお見せしますが、すべてのデータがレポートにまとめられる仕組みです。このレポートには、LIMS(SQLデータベース)からのデータ、保持時間などのデータを含む実験室の電子実験記録、クロマトグラムやろ過プロットなどのデバイスからのエクスポートデータ、そして実験計画や命名規則といったプロトコルからのデータが含まれます。
その表示方法は、右側に少しだけ示されています。プロトコルやLIMSから追加されたテーブル、デバイスからのグラフがあり、ポンプ性能やクロマトグラフィー、分析プロットなど、必要に応じて色分けすることもできます。
これらすべての目的は、これらの作業をすべて手作業で行い、結果としてエラーが発生しやすい状態から、SME(中小企業)がモデルを構築するだけで、JMPがドラフトレポートを生成し、それをSMEが解釈してレビューするだけで済む状態へと移行することです。これにより、時間とフラストレーションを大幅に節約できます。
気に入っていただけると嬉しいです。実際にどのように表示されるかをお見せしたいと思います。ここに表示されているのは典型的なJMPジャーナルです。私は自動化タスクでは通常ジャーナルを使用します。ジャーナルには短い導入文とリンクがあり、その後、プロセス全体を通してガイドとなるアウトライン項目が多数含まれています。
まず最初に、何をしたいのかを指示します。LIMSデータをロードします。論理的に、そこから始める必要があります。すると必ずボタンが表示されます。では、それをクリックしてみましょう。すると、空のDOEテーブルを入力するように求められます。試してみて、準備してください。このような画面になります。
これは典型的な表です。すべての要素といくつかの実行番号が含まれています。JMPによって自動的に挿入されるスクリプトもありますが、もちろん応答はまだ空です。その後、LIMSからデータを取得するように求められます。ランダムなデータを使用する必要があるため、直接お見せすることはできません。
しかし、効果は同じなので、表示されるのは回答が自動的に入力され、さらに緑色で表示されることです。これは、このデータが検証済みであることを示すものです。まず、データがロックされているため、誤って変更することはできません。また、データは保存されているため、たとえ今データを保存したり操作したりしても、後で不一致が検出され、検証に問題があることが通知されます。
また、すべてのデータ抽出手順も保存されます。ここに表示されているテーブル変数です。その後、あらゆる種類のグラフを作成できます。たとえば、複製グラフは常に便利です。必要な操作は、「複製グラフを作成」をクリックするだけです。
まず最初に求められるのは、セッションごとに一度だけ求められる表です。基本的に、このデータ検証は表だけでなく、あらゆる種類の図を含むプロットにも適用されます。まだ図が作成されていないので、キャンセルしましょう。すると、新しい図が作成されます。次に、このきれいな複製プロットが作成されます。ここにすべての応答と、複製ごとにどのように変化するかが示されています。青色は中心点です。
サイト上で行われたこととしては、見やすい表やグラフの検証表を作成することもありました。どのデータが含まれているかを直接確認できるので、これがファイルで、ファイル名で、誰かがどのような手順を実行したか、私が作成したランダムなデータによる手動検証などを確認できます。私は今まさにそれを実行しました。ファイルを実行しました。
次に、MD5ハッシュ値があります。これは基本的に、すべてのファイルに対して計算できる値です。この方法で、使用しているファイルが単に同じ名前であるだけでなく、本当に同一のファイルであるかどうかを確認できます。つまり、誰かが同じ名前の類似ファイルを保存し、実際には同一ではないにもかかわらず検証済みとみなしてしまうといった事態を防ぐための安全策となります。前述したように、これはランダムなデータなので、ソースは検証されていません。そのため、何らかの問題があることが示されますが、このデモでは特に問題にはなりません。
ご覧のとおり、閉じることができます。これらのプロットはすべて自動的にフォルダに保存されます。次に、モデルを作成する必要があります。好きなように使用してください。実行をクリックし、いくつかの要因を削除してみましょう。これは丁寧に無視できます。このようにして、素晴らしいランダムモデルを生成できることにいつも驚かされます。
ここでいくつかの要素を削除することもできます。ただランダムに見えるだけです。違いがいくつかあるのがわかりますが、もちろん、好きなように変更しても構いません。とりあえずこれで終わりにしましょう。必要であれば、データテーブルに保存することもできます。
次に、いくつかのグラフを作成することから始めましょう。たとえば、次のような適合度サマリーグラフを作成できます。これにより、応答の精度を概観できます。もちろん、データモデルがひどい場合でも、少なくともモデルの悪さを概観できます。これにより、どのパラメータがモデルに影響を与えているかを理解できます。
もう一度クリックするだけで、すべての応答に対して自動的に処理されます。これも保存されるので、これらの要因すべてがこの応答の原因となります。そして最後に、予測プロットが表示されます。予測によって、状況の概要を把握できます。
「プロットを作成」をクリックするだけで、たくさんのプロットが表示されます。つまり、要素に応じて、個々の要素、つまり各要素と各応答との関係をすべて把握できるのです。これは便利でしょう。例えば、応答Dに3つの要素が関係している場合、それらすべてを1つのグラフで確認できる概要プロットが表示されます。これは非常に便利な概要図です。
もちろん、それも閉じることができます。最後に、必要であれば等高線図を作成することもできます。予測因子については、ベクトル1または3の予測式を実行します。配色を選択することもできますし、そのままにしておけば、分布状況や相互影響を明確に確認できる、見栄えの良い等高線図が得られます。
基本的には以上です。もちろん、データが増えればさらに生成できますが、今回はここまでにして、これを閉じて保存しましょう。後ほどお見せします。先ほど挙げた数値すべてについて、最後に1行生成され、どのデータ抽出手順を実行したか、ファイル名、そしてこのハッシュ値が確認できます。これを保存します。
さて、これで大量のデータポイントが揃いました。あとはそれをレポートに追加するだけです。もちろん、すべて保存されているのでコピー&ペーストすることもできますが、クリックするだけでJMPが処理してくれる方がずっと楽しいでしょう。そこで、フォルダを探してください。これは、先ほども述べたように、あらゆる種類のレポートに使えるツールです。
つまり、レポートの種類ごとに独自のテーブルが必要になります。後ほど説明します。ここにはさまざまなソースがあることがわかります。このテーブルは、JMPがレポートを作成する際にどのソースからデータポイントを取得するかを指示するものです。プロトコルからいくつかのテーブルがコピーされます。プロトコルから、中間ステップのコーディング、実行スキーム、いくつかのパラメータ、バッチの概要、すべてのフィルタなどがコピーされます。
次に、DOEプロットツールから残差プロット、パラメータ推定値、予測値、等高線プロットをコピーし、LIMSデータ(これも別のツールです)から使用した分析方法のリストを取得します。もちろん、テンプレートも必要です。レポートごとに独自のテンプレートがあります。プライバシー保護のため、私はQ1を準備します。フォルダが必要で、もちろんプロトコルも必要です。
プロセス手順を操作します。そうしたい場合は、いくつかの設定を行うことができます。DOEテーブルがどれであるかを知る必要があります。OKをクリックして数秒待つと、22個の項目が追加されていることがわかります。これだけで、これに時間を費やす必要はありません。
そして、ここで直接確認できるように、このデータソーステーブルが生成され、何が行われたかがわかります。プロトコルから中間コード、ステップコードをコピーしました。これがファイルです。これを使って、などなど。プロトコルからの多数のテーブルと、別のツールで使用されている多数の図を使って処理を行いました。
それらはこのデータソーステーブルに書き込まれ、ランダムデータであるため検証されていないと表示されますが、一般的にはどのようなものか完全なリストが表示されます。そしてもちろん、完全なレポートも取得できます。これがドラフトとして取得されるものです。レポートには当然ながら多くの情報が含まれており、入力する必要があります。プライバシー上の理由から少し短縮する必要がありましたが、一般的な表示をお見せできます。
もちろん、要約のコピーを作成する必要がありますが、まずは予測の概要から始めて、どの要因がどの反応に影響を与えるかを確認できます。緑色であれば有意です。そうでなければ有意ではありません。それは、私たちが作成した [聞き取れない 00:17:06] モデルに依存します。それから、もちろん、いくつかのデータを削除しました。
次に、プロトコルから抽出されたいくつかのバッファがあります。プロトコルにはフィルターも含まれており、ステップコーディングはプロトコル全体でした。次に、分析方法のリストと、どの実行でどのバージョンが使用されたかがリストされています。これはLIMSから直接取得したものです。実行スキームもプロトコルから取得されており、プロトコルからのデータもいくつかあります。そして、後で結果、先ほど作成した表、そしてもちろん、先ほど作成したすべてのプロットがあります。これはホワイトリスト、残差プロットです。
すると、その要約が表示され、各応答ごとに、リスク、パラメータ推定値、有意な予測プロット、そしてコントロールプロット(存在する場合)が表示されます。各応答ごとに、想像できるように、常に自動的に処理され、完全な表が作成されます。もちろん、評価と結論は自分で記述する必要があります。最後に、略語が付けられます。これは自動的に行われます。レポートで略語が使用されている場合は、このリストに追加されます。
つまり、これらすべてをまとめると、30ページ、20要素程度の非常に短いレポートになりますが、もちろん、もっと多くの要素を含む大規模なレポートにも適用できます。特に、データソースの概要のようなものは、そうでなければ誰かが確認しなければならないため、大幅な時間短縮につながります。
最後に、JMPをPythonで使用してワークフローを自動化することで、大幅な時間短縮が可能になることをご理解いただけたかと思います。コピー&ペーストなどの作業が不要なため、エラーも最小限に抑えられます。さらに、各ステップの実行者、実行日時、使用ツールなど、すべての手順を記録できるため、作業効率も向上します。
そして最後のモジュールでは、標準化されたレポート形式が得られます。これは重要な点です。例えば、私は下流精製部門に所属しており、上流部門から送られてくる原料を精製する責任を負っています。当然のことながら、お客様が当社からレポートを受け取った際に、ほぼ同じような形式、同じ色調などになっていることが重要です。
これで私のプレゼンテーションは終了です。ベルリンで開催されるディスカバリーサミットで皆様にお会いできることを大変嬉しく思います。ご質問がありましたら、お気軽にご連絡ください。ありがとうございました。