ochalog

RubyとMediaWikiとIRCが好き。

タンパク質のドメイン間の角度を求めるアルゴリズム

ある論文に、特に方法は明記されずタンパク質のドメイン間の角度が書かれていたので、それを求めるアルゴリズムを考えてみた。

ドメイン間の角度というのは、すなわち 2 つのドメインの中心軸のなす角度と等しい。問題は中心軸をどうやって求めるかだが、これはドメイン内の原子(おそらくその中で Cα を選ぶ)の座標の回帰直線ならぬ回帰平面を求める(例えば z 座標を x と y の線形関数で表す)ことで代用できないか。回帰平面の式さえ求められれば、あとはそれから求められる法線ベクトルが計算に使える。2 つのドメインの回帰平面の法線ベクトルを基準化し、それらの内積をとれば、ベクトル間の角度の cos が求まる。これを arccos で角度に戻してやれば、ドメイン間の角度として求まる。

いや、単に思いついただけで特に回帰平面と中心軸を同一視している辺りが特に怪しいと自分では思っているのだけれど…

でも、サンプルプログラム(Ruby と R を行ったり来たり、自力で値コピペする必要があって忙しい)を書いて、自分の研究しているその論文と同じタンパクで計算させてみたら、結構似た値になった。ひょっとして、これで大丈夫?先生に聞いてみないと分からないな。