Skip to content

Tips for 2D to 3D conversion JP

Hiromichi Yokoyama edited this page Aug 5, 2026 · 6 revisions

Tips for 2D to 3D conversion

MoleditPy には、2D の描画から 3D 構造を生成するいくつかの方法と、その後に構造を精密化する機能があります。このページは、状況に応じた選び方を説明します。

3D 構造の生成方法

MoleditPyは、3D構造を生成するために複数の外部ライブラリ(バックエンド)をサポートしています。ライブラリの選択は、処理速度と結果として得られる構造の精度に影響します。

概要

ライブラリ 処理速度 構造の正確性 主な特徴
RDKit 遅い(特に歪んだ分子) 比較的正確 距離幾何学に基づき、化学的に妥当な初期構造を生成する。
Open Babel 非常に速い 再調整が必要 座標を迅速に生成するが、力場による最適化が必要。
Direct 瞬時 2D描画に依存 3D埋め込みをバイパス。2D(X,Y)座標を直接使用する。

これらは Settings > 3D Conversion から切り替えます(ユーザーマニュアルにも記載があります)。デフォルトは Fallback モードで、RDKit → Open Babel(利用可能な場合)→ Direct の順に自動で試行します。迷ったときはこのままで問題ありませんが、分子の性質が分かっている場合は明示的に選んだ方が良い結果になることがあります(例:大きく歪んだ環系はまず Open Babel で生成してから再最適化する方が速いことが多い、埋め込みが繰り返し失敗する構造には Direct が有効)。

Linux での注意: moleditpy-linux パッケージはライブラリ競合によるセグメンテーション違反を避けるため、Open Babel を無効化した状態で配布されています(Installation for Linux 参照)。Linux では Settings > 3D Conversion の Open Babel 関連の項目は無効化され、RDKit と Direct のみが利用できます。


RDKit

RDKitは、高品質な3D座標を生成するための強力なケモインフォマティクスライブラリです。

  • 長所:
    • 距離幾何学(Distance Geometry)などの手法を用い、化学的に妥当で比較的正確なコンフォメーションを生成することに優れています。
  • 短所:
    • 計算コストが高く、特に大きな分子や複雑な環系の場合、3D構造の生成が遅くなる傾向があります。

Open Babel

Open Babelは、その高速な化学フォーマット変換と構造生成で有名です。

  • 長所:
    • ルールベースの手法や独自のアルゴリズムを使用し、3D座標を非常に迅速に生成します。大量のデータを処理したり、素早いプレビューを行ったりするのに適しています。
  • 短所:
    • 生成直後の3D構造は、必ずしもエネルギー的に最も安定なコンフォメーションではありません。
    • したがって、より現実的な構造を得るためには、その後(MMFF94やUFFなどの力場を用いた)**構造最適化による「再調整」**が不可欠です。

Direct(2D 座標の転送)

このメソッドは生成アルゴリズムではありません。2Dの描画座標を3Dビューアに直接転送します。

  • 動作: このメソッドは、すべての3D埋め込みアルゴリズムをバイパスします。2Dエディタキャンバスから(X, Y)座標を取得し、すべての原子のZ座標を0に設定し、水素を付加します。
  • 長所:
    • 瞬時の処理速度。
    • 2Dの描画をそのまま保持することで、ユーザーが3Dレイアウトを完全に制御できます。
  • 短所:
    • 結果として得られる構造は「平面的」であり、固有の化学的・立体化学的な現実性(例:四面体炭素が平面になる)を持ちません。
  • 主な使用例:
    • このメソッドは、標準的な2D-to-3D埋め込みアルゴリズムがしばしば失敗するような複雑な構造に対して非常に強力です。

生成後の構造調整

アルゴリズムによって3D構造を生成した後、または手動で修正した後、構造の調整が必要になる場合があります。

手動調整(3D ドラッグ)

この機能により、ユーザーはマウス操作で直感的に3D構造を変更できます。

  • 使用方法: 3Dビューアで特定の原子を選択し、マウスでドラッグして、その位置(および接続されている部分)を自由に変更します。
  • 主な使用例:
    • 特定の二面角を望みの値に変更したい場合。
    • 自動アルゴリズムでは達成しにくい特定のコンフォメーション(例:高エネルギー状態)を意図的に作りたい場合。
  • 注意点:
    • 手動ドラッグは、化学的な妥当性(すなわち、標準的な結合長や角度)を考慮せずに原子を強制的に移動させます。
    • 結果として、ドラッグ操作後の構造は、不自然に伸びた結合や近すぎる原子を持つ、歪んだ(strained)状態になることがよくあります。

再最適化(クリーンアップ)

この機能は、(手動ドラッグによる)歪んだ構造や、(Open Babelのような高速生成による)初期構造を、化学的により妥当な状態に自動的に補正します。

  • 目的:
    • 不自然な結合長や結合角を標準値に補正するため。
    • 不要な原子の衝突(原子同士が近すぎること)を解消するため。
    • 分子全体のエネルギーがより安定な状態に近づくよう構造を調整するため。
  • 実行するタイミング:
    1. 手動の3Dドラッグの後: ドラッグ操作によって生じた構造的な歪みを解消するために不可欠です。
    2. Open Babelで3D構造を生成した後: エネルギー的に安定で現実的な構造を得るために強く推奨されます。
  • メカニズム:
    • (MMFF94やUFFなどの)**力場(Force Field)**を使用して各原子の座標を再計算し、分子全体のポテンシャルエネルギーを最小化します。このプロセスにより、歪みが緩和され、構造が安定なコンフォメーションに移行します。

関連ページ

Clone this wiki locally