実験的な機能
Detrial は試作段階にあるソフトウェアです.
現在,タンパク質の構造解析を中心とした検知アルゴリズムの勉強と実験的な実装をおこなっています.
このページでは,それらを簡単に紹介しています.
発展的な使い道を思いついたら,アルゴリズムの勉強をするとか,専用のソフトウェアと連携させるとかしていくつもりです.
- ドメイン:k-平均法によるクラスタリングです
- 接触原子:ファンデルワールス距離より近くにある原子を検知します
- 固有ベクトル:座標の分散共分散行列の固有ベクトルを表示します.分子の概形が表現されます
- 深度:系の中心からの距離を赤色と青色のグラデーションで表現します
- 水素結合:距離と角度を指定して水素結合を検知します
- アミノ酸の種類を指定:指定(複数可)されたアミノ酸を色付きの球で,他は棒で表示する機能です
これらの機能を実行する子ウィンドウは,一度に一つしか開けません.
子ウィンドウ上では,マウスによる回転,平行移動,およびズームが可能です(ピックは実装していません).
ドメイン
k-平均法は,検知したいクラスター数を指定して,その数を前提に計算する方法です.
考え方が単純なので,実装してみました.
画像は一つのタンパク質で 2 個のドメインを検知したところです.
空間充填様式で表示します.
- メインウィンドウで [ファイル]-[開く] としてファイルを開いてください
- メインウィンドウで [検知(D)]-[ドメイン] とすると,画像に示した別ウィンドウが開きます
- 検知したいクラスター数を入力して [検知] ボタンをクリックしてください
距離だけで計算しているので,クラスター間の境界が平面になります.
そのため,タンパク質に対して実行すると,「目で見てこのドメインに属する原子」が別のドメインに属する場合が発生します.
また,初期の中心座標を乱数で発生させているので,常に同じ結果になるとは限りません.
接触原子
分子間,分子内に関わらず,ファンデルワールス半径の和の近く(0.5〜2.0 倍)にある原子のペアを検知します.
画像はヘモグロビンで,ファンデルワールス半径の和の 78% より近い位置にある原子のペアを検知したところです.
近傍の検知と統合できそうな機能です.
- ある原子 a に着目.全ての原子を接触候補とする
- a に結合(共有結合と配位結合)している原子を候補から除外
- a に結合している原子に結合している原子を候補から除外
- 残った候補と a との距離を測定し,距離が設定値未満なら接触原子とする
- すべての原子について,この処理を繰り返す
- 分子を針金様式で表示し,接触原子は空間充填様式で表示する
- メインウィンドウで [ファイル]-[開く] としてファイルを開いてください
- メインウィンドウで [検知(D)]-[接触原子] とすると,画像に示した別ウィンドウが開きます
- ファンデルワールス距離に対する割合を入力して [検知] ボタンをクリックしてください
当初,ヘムととペプチドとの接触のみを検知できるかと期待したのですが,それはきれいにいかないようです.
イミダゾール環の窒素と鉄とが配位結合しているので,窒素と窒素に結合した炭素は表示されません.
さらにその隣の炭素のいくつかが,鉄と接触していると表示されました.
座標分布
分子の大まかな形(原子の分布)を表現する機能として,分散共分散行列の固有ベクトルを表示する機能を試作してみました.
画像は,ヘモグロビン分子に対して実行した結果です.
- 分子は共有結合を針金様式で表現します
- 赤色の三角錐は最も広く分布している方向と分布幅(ここでは標準偏差の 2 倍に相当する大きさ)を示します
- 黄色の三角錐は赤色の三角錐に垂直な方向で,最も広く分布している方向と分布幅を示します
- 青色の三角錐は,赤色と黄色の三角錐に垂直な方向の分布幅を示します
- X,Y,および Z 座標の分散共分散行列を作成
- 分散共分散行列の固有値と固有ベクトルを計算(Eigen を使用)
- 固有ベクトルのノルムを,±2 * √|固有値| として表示
- メインウィンドウで [ファイル]-[開く] としてファイルを開いてください
- メインウィンドウで [検知(D)]-[固有ベクトル] とすると,画像に示した別ウィンドウが開きます
三色の三角錐の大きさがほぼ同じなら球状タンパク質ということです.
図のように赤色と黄色の三角錐がほぼ同じ大きさで,青色の三角錐のみ小さいと,円盤状ということです.
深度
系の中心から原子までの距離を,赤色から青色へのグラデーションで表現します.
画像は,トリプシンの基質ポケットを表示したところです.
赤色が見えているということは,中心に近いところまで分子表面であるということです.
- 原子を空間充填様式で表示します
- 各原子と中心との距離 d を測定します.距離の最大値を dmax とします
- (原子ではなく)中心の色を赤色,最も遠い原子の色は青色とします.その他の原子は赤色と青色との混合色とします
- 各原子は,d / dmax を青色の割合とします.したがって,1 - d / dmax は赤色の割合です
- メインウィンドウで [ファイル]-[開く] としてファイルを開いてください
- メインウィンドウで [検知(D)]-[深度] とすると,画像に示した別ウィンドウが開きます
水素結合
水素結合の長さと角度を指定し,検知された水素結合を緑色の棒で表示します.
棒球様式ですが,ともに半径を小さくして水素結合を見やすくしてみました.
画像は α-ヘリックスの水素結合を検知したところです.
- メインウィンドウで [ファイル]-[開く] としてファイルを開いてください
- メインウィンドウで [検知(D)]-[水素結合] とすると,画像に示した別ウィンドウが開きます
- 距離と角度を変更して再検知することも可能です
下の「検知法」に書いているように,水素までの距離や水素を頂点とする角度を測定しています.
したがって,タンパク質では水素付加されていることが必要です.
Detrial には水素付加機能はありませんが,Builcule にはあります.
水素結合の検知法
画像に例を示しました.
ここでは水素結合する原子を "HA",水素を供与する原子を "HD",水素を "H" とします.
ここでの目的は生体成分特にタンパク質なので,下のように検知しています.
- HA を見つけます:カルボニル基,アミノ基,スルフヒドリル基といった不対電子を有する原子です
- H と HD を見つけます:ヒドロキシ基,アミノ基,スルフヒドリル基など水素を供与する官能基です
- HD - H - HA の組み合わせが水素結合候補ということになります
- H と HA との距離を測定し,設定値以上であれば候補から外します
- HD - H - HA の成す角度を測定し,設定範囲外であれば候補から外します
- 残った組み合わせを水素結合とします
細かいことを書けば,イオン化したヒスチジンのイミダゾール基を候補から外すといった「例外処理」も必要です.
アミノ酸の種類を指定
タンパク質分子内で相互作用しているアミノ酸を見つけることを企図した機能です.
指定されたアミノ酸を色付きの球で,他は棒で表示する機能です.複数の種類を指定できます.
画像はヘモグロビンのグルタミン酸とリジンを検知したところです.
これらのアミノ酸はヘモグロビンの表面に分布しているように見えます.
また,側鎖どうしでイオン結合している組もあります.
球の半径は,共有結合半径としています.
アミノ酸ごとの球の色を,下に示します.
- Glu,Asp:赤色
- Arg,His,Lys:青色
- Cys:黄色
- Ala,Val,Leu,Ile,Met,Pro:緑色
- Trp,Phe,Tyr:赤紫色
- Gly,Ser,Thr,Asn,Gln:緑色
- メインウィンドウで [ファイル]-[開く] としてファイルを開いてください
- メインウィンドウで [検知(D)]-[アミノ酸の種類を指定] とすると,画像に示した別ウィンドウが開きます
- アミノ酸のボタンはトグルボタンで,複数のボタンを押し込んだ状態にできます
- 目的とするアミノ酸のボタンを押し込んだ状態にして,[検知] ボタンをクリックしてください.
コンタクトマップ
アミノ酸残基の α-炭素原子間の距離に基づくコンタクトマップです.距離を 10 段階に分けて色分けしてみました.
画像は,ヘモグロビンのコンタクトマップです.
- メインウィンドウで [ファイル]-[開く] としてファイルを開いてください
- メインウィンドウで [検知(D)]-[コンタクトマップ] とすると,画像に示した別ウィンドウが開きます
- ウィンドウを開いた時点で,分子番号 0,ペプチド番号 0(最初に検知されたペプチド)のコンタクトマップが表示されます
- 別のペプチドのコンタクトマップを表示するには,コンボボックスでペプチドを選択して,[コンタクトマップ] ボタンをクリックしてください