Series A / AI for Science
DRY/WET閉ループ研究の設計
RDKitのLogP計算から、自律実験ロボティクスまで
本稿では、DRY研究とWET研究を閉じたループとして接続する考え方を、できるだけ小さな実装例から解説する。出発点は、SMILESで表されたアルコール分子のLogPをRDKitで計算し、LangGraph風のワークフローで「ちょうどよい疎水性」を持つ候補を探索するという単純な題材である。そこから、記述子、目的関数、探索、実験計画、測定、フィードバックを順に広げ、最後にXRD、HPLCオートサンプラー、ロボットアーム、XYステージ分光測定を含むWET側の閉ループへ接続する。
要旨
DRY/WET閉ループとは、計算や文献から候補を出し、実験で測り、その結果をモデルや探索方針へ戻す研究サイクルである。重要なのは、最初から高価なロボットラボを持つことではない。RDKitでSMILESからLogPを計算する、簡単な記述子表を作る、候補選択をルール化する、測定結果を同じ形式で戻す。この小さな循環が、self-driving laboratoryやMaterials Acceleration Platformの最小単位になる。
図1. 最小DRYループ: SMILESからLogPへ
1. なぜLogPから始めるのか
閉ループ研究を説明するとき、いきなりロボットアーム、XRD、HPLC、能動学習、LLMエージェントを並べると、概念が大きすぎて実装の入口が見えにくくなる。そこで最初は、SMILESからLogPを計算するだけの小さなDRYループを考える。LogPは、分子が水相と疎水相のどちらに分配されやすいかを表す指標であり、分子の疎水性を理解するための古典的な記述子である。医薬品化学ではADMETやLipinski則の文脈でよく使われるが、バイオマテリアル研究でも、表面修飾分子、可塑剤、架橋剤、低分子添加剤、界面活性分子の性質をざっくり比較する入口になる。
RDKitは、SMILESを分子オブジェクトへ変換し、分子量、LogP、TPSA、水素結合ドナー数、アクセプター数、回転可能結合数、芳香環数など、多数の記述子を計算できる。ここで重要なのは、LogPの絶対値を過度に信じることではない。計算LogPはモデルに基づく推定値であり、実測値とはずれることがある。それでも、候補分子群の相対的な比較、探索範囲の絞り込み、実験前の粗いスクリーニングには有用である。
たとえば、炭素数の異なる直鎖アルコールを考える。メタノール、エタノール、プロパノール、ブタノール、ペンタノールと炭素数が増えるにつれて、疎水性は上がる。RDKitでそれぞれのMolLogPを計算し、目標LogPに近い候補を選ぶだけでも、「候補生成」「記述子計算」「目的関数」「選択」「次候補」という閉ループの骨格が見える。これはself-driving laboratoryのミニチュアである。
2. SMILESと記述子の基礎
SMILESは、分子構造を文字列として表現する方法である。たとえばエタノールはCCO、プロパノールはCCCO、ブタノールはCCCCOのように表せる。文字列で分子を扱えると、CSVやデータベースに保存しやすく、プログラムから読み出して計算しやすい。RDKitはSMILESを読み込み、結合、原子、芳香性、立体情報などを解釈して分子オブジェクトを作る。
記述子とは、分子や材料を数値で表す特徴量である。分子量、LogP、TPSA、極性表面積、環数、水素結合能、フラグメント数などは分子記述子である。材料研究では、粒径、比表面積、結晶相、格子定数、表面粗さ、接触角、ゼータ電位、弾性率、溶解速度、細胞接着率なども記述子として扱える。AIや機械学習は、多くの場合、こうした記述子を入力として候補の性質を予測する。
ただし、記述子は現象そのものではない。LogPは疎水性の一側面を数値化したものであり、表面上のタンパク質吸着や細胞応答を直接説明するものではない。接触角も表面の濡れ性を表すが、表面電荷、粗さ、化学官能基、タンパク質層の形成をすべて含むわけではない。記述子は、現象を機械が扱える形に圧縮するための道具であり、どの記述子を選ぶかは研究仮説そのものである。
3. RDKitでLogPを計算する最小例
RDKitでは、SMILESから分子を作り、Descriptors.MolLogPでLogPを計算できる。以下は、直鎖アルコールの候補から、目標LogPに近いものを選ぶ最小例である。これはDRY側だけで閉じた例だが、閉ループ研究の構造を理解するには十分である。
from rdkit import Chem
from rdkit.Chem import Descriptors
candidates = {
"methanol": "CO",
"ethanol": "CCO",
"1-propanol": "CCCO",
"1-butanol": "CCCCO",
"1-pentanol": "CCCCCO",
"1-hexanol": "CCCCCCO",
}
target_logp = 1.0
rows = []
for name, smiles in candidates.items():
mol = Chem.MolFromSmiles(smiles)
logp = Descriptors.MolLogP(mol)
mw = Descriptors.MolWt(mol)
score = abs(logp - target_logp)
rows.append((score, name, smiles, logp, mw))
rows.sort()
for score, name, smiles, logp, mw in rows:
print(name, smiles, round(logp, 2), round(mw, 1), round(score, 2))
このコードは、目標LogPとの差をスコアとして候補を並べ替える。ここでの目的関数は単純だが、閉ループ設計の本質は同じである。目的関数が「目標LogPに近いこと」なら、探索はLogPの近い候補へ進む。目的関数を「LogPが目標に近く、分子量が小さく、合成しやすいこと」にすれば、多目的最適化に近づく。目的関数をどう定義するかが、研究の方向を決める。
4. LangGraph風にLogP探索を組む
LangGraphは、状態、ノード、エッジでワークフローを組むための枠組みである。化学ワークフローでは、SMILES生成、構造検証、記述子計算、スコアリング、次候補提案、停止判定を別々のノードとして表現できる。ChemGraphのようなエージェント型計算化学ワークフローは、LangGraph/LangChain的な道具立てを使い、タスクを小さく分けることで、SMILES生成からシミュレーション、熱化学計算までをつなぐ例を示している。
アルコールのLogP探索なら、ノードは非常に単純でよい。候補生成ノードは炭素数や分岐を変えたアルコールSMILESを出す。検証ノードはRDKitでSMILESが読めるか確認する。記述子ノードはMolLogPや分子量を計算する。評価ノードは目標LogPとの差をスコア化する。提案ノードは、スコアが悪ければ炭素数を増減したり、分岐や官能基を変えたりする。停止判定ノードは、目標に十分近い候補が見つかったか、反復回数に達したかを判定する。
LangGraph的な設計の利点は、各ノードを交換できることである。最初は候補生成を手書きルールにしてもよい。次に、候補生成をLLMエージェントに置き換える。さらに、評価ノードにRDKit記述子だけでなく、既存データから学習した予測モデルを加える。最後に、判定ノードからWET実験の実行依頼へ進む。小さなノードを増やすことで、DRYループは自然にWETへ拡張できる。
5. 記述子から目的関数へ
閉ループ研究では、記述子を計算するだけでは不十分である。記述子を使って、何を良い候補とするかを定義しなければならない。LogPが1.0に近いアルコールを探す例では、目的関数はabs(LogP - 1.0)である。しかし実際の材料研究では、目的関数は多くの場合、複数の条件を含む。たとえば、表面修飾分子を選ぶなら、疎水性、分子量、官能基、合成可能性、毒性、価格、既存材料との相互作用を同時に考える必要がある。
バイオマテリアル研究でよくある誤りは、測りやすい指標をそのまま最適化目標にしてしまうことである。細胞数が増えること、接触角が特定値に近いこと、表面粗さが大きいことは、それぞれ意味を持つが、単独で良い材料を定義するわけではない。目的関数を作るときは、性能指標、制約条件、安全性指標、実験コストを分けて考えるとよい。AIは、これらのトレードオフを可視化し、候補を絞るために使う。
記述子の選択は、研究者の仮説を反映する。LogPを使うなら、疎水性が対象現象に効くと考えていることになる。TPSAを使うなら、極性表面積や水素結合性が効くと考えている。接触角を使うなら、濡れ性がタンパク質吸着や細胞接着に影響すると考えている。AIに任せる前に、なぜその記述子を使うのかを説明できることが重要である。
6. DRYループからWETループへ
DRY側で候補が選ばれたら、次はWET側で実験する。ここで閉ループにするためには、実験を一回限りの確認作業にしないことが重要である。実験結果は、候補選択ルールやモデルへ戻されなければならない。たとえば、LogPがちょうどよいアルコールを選んで材料表面を処理し、接触角、タンパク質吸着、細胞接着を測る。結果が期待と違えば、LogP以外の記述子が必要だったのか、表面への固定化量が違ったのか、測定条件が効いたのかを考える。この解釈が次のDRYループに戻る。
WETループの最初の自動化は、必ずしも高価なロボットアームでなくてよい。HPLCオートサンプラー、オートインジェクター、プレートリーダー、XYステージ、電動顕微鏡ステージ、温調可能な反応ブロック、ポンプ、バルブ、簡易分注ロボットなど、既存装置の自動化機能を使うだけでも閉ループに近づく。重要なのは、装置が出すデータを実験IDに紐づけ、DRY側が読み取れる形で戻すことである。
Self-driving laboratoryのレビューでは、分析化学や合成化学の初期例から、HPLCやロボットアームを組み合わせた最適化、自律的な合成・分析プラットフォームまで、多様な構成が整理されている。近年のナノ・先端材料向けSDLでは、ロボットアーム、ピペッティングロボット、シリンジポンプ、バルブ、遠心機、加熱・攪拌装置、インライン分析を組み合わせ、vendor lock-inを避けるためにモジュールを選定する設計思想も示されている。
7. WET側の装置: XRD、HPLC、ロボットアーム、XYステージ
XRDは、材料の結晶相、結晶性、相変化を確認する基本的な評価法である。高スループット材料研究では、試料を連続測定できる自動XRDや、XRFなどを組み合わせた自動キャラクタリゼーションが重要になる。最近のプレプリントでは、AI・機械学習時代の材料研究に向けて、研究室スケールのX線回折・蛍光分析を自動化し、大量データを迅速に生成する需要が強調されている。バイオマテリアルでは、リン酸カルシウムの相、結晶性、置換、焼成条件の違いを、DRY側の候補選択に戻す用途が考えられる。
HPLCオートサンプラーは、液体サンプルを自動で吸引し、一定量を分析系へ導入する装置である。低分子添加剤、分解産物、溶出物、反応生成物、表面修飾分子の定量では、HPLCの再現性と連続測定能力が閉ループ化に効く。Self-driving laboratoryのレビューでも、ロボットアームとHPLCを遠隔・自動で協調させ、クロマトグラム応答を最大化するような例が整理されている。バイオマテリアル研究では、溶出試験や分解試験の自動化と相性がよい。
ロボットアームは、容器やプレートを装置間で移動させる「物理的なエッジ」として機能する。ACS Nanoのナノ・先端材料向けSDLでは、xArm6ロボットアームを中心に、ピペッティングロボット、ポンプ、バルブ、遠心機、加熱・攪拌系を接続し、合成ワークフローを構築している。ロボットアームは万能ではないが、人間が繰り返し行う移送、設置、回収、装置間接続を自動化することで、閉ループの実験実行部分を安定化できる。
XYステージを用いた分光・画像測定は、バイオマテリアルに非常に向いている。材料表面、薄膜、ウェルプレート、組織切片、細胞培養基板を格子状に測定し、位置ごとのスペクトル、画像、蛍光強度、ラマン信号、吸光度を取得できる。電動XYステージは、顕微鏡や分光器と組み合わせることで、測定点を自動的に移動し、マッピングデータを生成する。RAISEのような自律表面評価システムでは、液滴画像取得と表面濡れ性評価を閉ループで行う例が示されており、界面評価の自動化はバイオマテリアル研究でも重要な方向である。
図2. DRY/WET閉ループの全体像
8. バイオマテリアル研究にどう置き換えるか
アルコールのLogP探索は単純すぎる例だが、バイオマテリアル研究への拡張は自然である。たとえば、チタン表面に固定化する低分子、ポリマー表面の官能基、リン酸カルシウムへの置換イオン、薬剤徐放材料の添加剤、ハイドロゲルの架橋剤を候補として考える。DRY側では、SMILESや材料組成から記述子を作り、WET側では接触角、表面分析、溶出、細胞応答を測る。結果を戻して、次の候補を選ぶ。
このとき、分子記述子だけでは不十分である。材料側の記述子として、表面粗さ、結晶相、粒径、比表面積、ゼータ電位、弾性率、分解速度を加える必要がある。生物側の記述子として、細胞種、継代数、播種密度、培養時間、評価法、マーカー、画像特徴量を加える必要がある。閉ループ研究では、分子、材料、細胞、装置、解析を同じ実験IDで結びつけることが重要になる。
たとえば、HAコーティングインプラントの表面改質を考える。DRY側では、修飾候補分子のLogP、TPSA、官能基、分子量を計算する。WET側では、表面処理後の接触角、XPSやFTIR、膜厚、溶出、細胞接着を測る。細胞応答がよいが処理が不安定な候補、処理は安定だが細胞応答が弱い候補が出てくる。ここでAIは、単一の最良候補を出すのではなく、トレードオフを見えるようにする。
9. まず作るべき最小閉ループ
研究室で最初に作るべき閉ループは、壮大な自律ラボではなく、表計算とPythonで動く小さなループでよい。第一に、候補表を作る。候補ID、SMILES、材料条件、作製可能性、想定する評価を記録する。第二に、RDKitで記述子を計算する。第三に、目的関数を決める。第四に、上位候補を数個選び、WET実験で評価する。第五に、測定値と失敗理由を同じ表へ戻す。第六に、目的関数や候補生成ルールを更新する。
この最小閉ループが回れば、次にLangGraphでノード化できる。候補生成ノード、RDKitノード、スコアリングノード、実験依頼ノード、結果取り込みノード、レポート生成ノードを作る。LLMエージェントは、候補生成やレポート生成を支援するが、実験条件の最終判断は研究者が行う。これが、Human-in-the-loopの現実的な閉ループ研究である。
その後、WET側に自動化装置を追加する。最初はHPLCオートサンプラーやXYステージのように、既に自動化機能を持つ装置から始めるとよい。次に、ロボットアームでサンプル移送を自動化する。さらに、XRDや分光器の測定キューをプログラムから制御できるようにする。最後に、結果をDRY側へ自動で戻す。段階的に進めることで、設備投資と研究設計のバランスを取れる。
図3. 小さく始める実装ロードマップ
Step 1
候補表
SMILES、材料条件、実験IDを整理。
Step 2
RDKit
LogPなどの記述子を計算。
Step 3
LangGraph
探索ワークフローをノード化。
Step 4
WET測定
XRD、HPLC、分光、画像で評価。
Step 5
更新
結果を戻し、次候補を選ぶ。
10. まとめ
DRY/WET閉ループ研究は、巨大な設備を持つ一部の研究室だけのものではない。SMILES、RDKit、LogP、記述子表、目的関数、候補選択、実験結果の返却という最小構成から始められる。LangGraphのようなワークフロー設計は、この小さな循環を見える化し、ノードごとに改善するための道具になる。
WET側では、HPLCオートサンプラー、XRD、自動分光、XYステージ、ロボットアーム、ポンプ、バルブ、分注ロボットなどが閉ループの実行部分を担う。重要なのは、装置を導入すること自体ではなく、装置が出すデータをDRY側へ戻し、次の実験を決める仕組みを作ることである。バイオマテリアル研究では、生体応答の複雑さを考慮しながら、単一指標の最適化に閉じない多目的な閉ループを設計する必要がある。
まずは小さく始める。LogPを計算する。記述子を表にする。候補を数個選ぶ。実験で測る。失敗も記録する。結果を戻す。この反復が、AI for Science時代の研究の最小単位であり、将来の自律実験やマテリアルインフォマティクスの土台になる。
参考文献・参考資料
- RDKit Documentation: Getting Started in Python
- Datamol documentation: molecular descriptors and LogP
- ChemGraph as an agentic framework for computational chemistry workflows. Communications Chemistry.
- Self-Driving Laboratories for Chemistry and Materials Science. Chemical Reviews.
- A Self-Driving Lab for Nano- and Advanced Materials Synthesis. ACS Nano.
- RAISE: A self-driving laboratory for interfacial property formulation discovery. arXiv.
- Automated laboratory x-ray diffractometer and fluorescence spectrometer for high-throughput materials characterization. arXiv.
- GERSTEL MPS Robotic autosampler
- ASI MS-9500 XY automated stage