>100 Views
May 17, 26
スライド概要
類似構造検索では、構造情報をさまざまな数学的空間に表現し、4つの手法を使い分けて類似性を評価します。まず、構造をグラフとして直接比較するMCS類似性を紹介し、計算コストが高いことを指摘します。次に、分子量やTPSAなどの連続値を用いたユークリッド距離やマハラノビス距離といった距離係数で類似性を測ります。さらに、原子や官能基の有無をビットで表すビットベクトル空間では、タニモト係数やダイス係数を使って比較します。最後に、SMILESやInChIKeyといった文字列を文字類似性指標で評価し、正規化レーベンシュタイン距離などを利用します。これらの手法を適切に選択すれば、化合物の類似検索やスクリーニングを効果的に実施できます。
Zennでも記事を書いています
https://zenn.dev/poclab_techblog/articles/what_is_chemical_similarity
https://zenn.dev/poclabweb/books/chemoinfomatics_theory_descriptor/viewer/lesson07_030_compound_search
横浜国立大学化学生命系学科にて、化学と情報科学に関わる研究(ケモインフォマティクス)を行っています。 無料で読めるケモインフォマティクス入門書を執筆中です。 https://zenn.dev/poclabweb?tab=books データ駆動型のアプローチを通じて、新しい分子と材料の発見と設計を加速することを目指し、化学構造の情報を整理し世界中の人々がアクセスして使えるようにしていきます。
1 類似構造検索とは何か 化合物の類似度計算における4つの方法を比較する
類似構造検索 (Similarity) 2 実用的な定量的アプローチを行うためには、構造情報を様々な数学的空間で表現(形式化)し、様々 な数学的、統計的、アルゴリズム的アプローチを適用して類似性の概念を探求する必要がある。 検索 記述子計算 DB 類似度計算 連続値 MW: 156.27 TPSA: 20.23 ビットベクトル ..0101110... C10H20O SMILES CC(C)[C@@H]1CC[C@@H](C)C[C@H]1O 記述子ごとに 計算方法が 異なる • 類似性は、アプリケーションの種類や選択した化学構造の表現に依存する。(各オブジェク ト空間において異なる意味) • 類似の構造は、類似の記述子、類似のビットベクトル、または類似の分子特性に対応。 • 各空間(構造、ビットベクトル、記述子ベクトル、物性など)の間にリンクを設けること ができる。 • 類似性の概念を正しく利用するためには、どのような条件が必要なのか(例えば、どのよ うな化合物のクラス、特性、記述子の形式化に対して、この原理が妥当な結果を与えるの か)を知っておかなければならないのである。 化合物を 並び替え Hit list 類似 0.95 15358-76-6 類似 0.90 2698-99-9 類似0.85 937-05-3 ID順番で並 び替え
類似構造検索 (Similarity) >=99 に含まれる 化合物 95-98 に含まれる 化合物 類似度 高い 3 90-94 に含まれる 化合物 85-89 に含まれる 化合物 類似度 低い 完全 構造 一致 100に近いほど 類似度は高い 類似構造検索(Similarity)には、完全構造検索 と部分構造検索の結果も含まれる。 青くなっている部分が検索した構造と一致 している部分(部分構造一致)
類似性測定 (連続値, 行列, 文字列を比較) 構造情報と空間 指標の算出方法 代表例 使用する指標の説明 1. グラフ (Structure Space) MCS類似性 現在、あまり使われていない 構造のグラフを直接比較 2. 連続値 (Descriptor Space) 距離係数 (Distance coefficients) ユークリッド距離、 マンハッタン距離 マハラノビス距離 分子量とTPSAなど構造か ら算出される連続値で類 似性を比較 3. 離散値ベクトル (Bit-vector Space) 連関係数 タニモト係数 (Association coefficients) ダイス係数 コサイン係数 ECFPなど構造から算出さ れるビットベクトルで類 似性を比較 4. 文字列 (Word Space) 文字類似性 SMILESなど構造から算出 される文字列で類似性を 比較 1. グラフ 2. 連続値 MW: 156.27 TPSA: 20.23 構造から計算した情報 レーベンシュタイン距離 Jaro-winkler距離 ゲシュタルトマッチング 3. 離散値ベクトル ..0101110... 部分構造を1と0にした情報 4. 文字列 CC(C)[C@@H]1CC[C@@H](C)C[C@H]1O 原子や結合を文字列にした情報 場合によって使い分けるが、類似性測定にはタニモト係数が最もよく用いられる。 4
化合物の指標と類似性における4つの空間 1. グラフの類似性 Structure Space MCS類似性 2. 距離係数 Descriptor Space 3. 連関係数 Bit-vector Space 4. 文字類似性 Word Space ユークリッド距離 タニモト係数 レーベンシュタイン距離 ..0101110... CC(C)[C@@H]1CC[C@@H](C)C[C@H]1O 350 300 250 200 150 100 50 0 0 直接、構造の グラフを比較 計算コスト が非常に高い 20 40 60 分子量や溶解度 などの数字(スカラー) それぞれが、独立 した要素として取り出し たものを比較する ..0100101... ..1100010... ..0101110... ..0000010... 部分構造の有無を数字 の集合(ベクトル)意味 を持った要素を並べた もので取り出す。有無 関係を0と1(ビット)し たものを比較する OCCO CCCCCC CC1=CC=CC=C1 CC(C)[C@@H]1CC[C@@H](C)CC1 C12CCCCC1CCCC2 O[C@@H](CC(C)C)CC(C)CC 構造を文字列にした SMILESなどを比較 する。 5
1 グラフの類似性 6 MCS類似性 • 分子AとBを原子と結合と考える。分子Aと分子Bの 構 造の最大公約数的部分構造(MCS)を算出する。 HO OH • MCSの原子と結合の数 は、最大共通部分構造C = MCS(A,B)を持つ構造AとBの間の類似性の程度を定 量化するために使用可能。 • こ こで 、 NE( A )は 構造 A の エッ ジ ( 結 合) の 数、 NE (B)、NE (C)はそれぞれ構造B、Cのエッジ(結 合)の数である。 Structure space O • 類似尺度の定義は、構造空間(グラフ構造)において直 接適用することができる。 H • この適用には、MCSアルゴリズムの複雑さにより、 多くの計算時間を必要とする。 原子と結合を 考えたグラフ 構造 • 部分的に完全に一致していなくても、最大の共通部分 を見つける作業が必要になる。 OH • 類似構造検索の目的がスクリーニング(非常に多くの 化合物の中から選ぶ作業)であることが多いので時間 がかかるものは選ばれないことが多い。
2 距離係数 7 化合物は、スカラー(連続値)で表すことができる。この距離の類似度を測定可能 化合物 SMILES 分子量 TPSA 1 Cc1cccc(C)c1O 122.167 20.23 2 Cc1ccc(O)c(O)c1 124.139 40.46 3 Cc1c(C)c2c(c(C)c1O)CCC(C)(CCCC(C)CCCC(C)CCCC(C)C)O2 430.717 29.46 4 O=C(OC1Cc2c(O)cc(O)cc2OC1c1cc(O)c(O)c(O)c1)c1cc(O)c( O)c(O)c1 197.37 458.375 トポロジカル極性表面積 (toplogical PSA; TPSA) とは、分子の表面のうち極性を帯びている部分の面積 分子を分子量と極性表面積で類似なものを探索 1 2 3 4 化合物1と一番似ているのは、化合物2 or 化合物3 or 化合物4?
2 距離係数 (ユークリッド距離) x= x1 x2 ( ) y= y1 y2 ( ) xとyの距離の二乗 = (x1 – y1)2 + (x2 – y2)2 ピタゴラス の定理(三平 方の定理)で 求まる。 y2 x2 x1 y1 8 y2 x2 多次元でも成り立つ が視覚化のために 変数2つで説明する。 x1 y1 2つ以上の数字を有するものを比較するときは、ユークリッド距離などが用いられる。
距離を算出するときの注意点 9 距離を算出する処理を行う場合には、単位が変わるだけでも結果が変わる 30>3.1 体重差 30 身長差 0 体型 類似 体型 類似? 体重差 0 身長差 3.1 体重差 30 身長差 0 30<31 体重差 0 身長差 31 化学的な記述子についても、単位があり、それぞれ異なる分布を持っている
尺度の異なる数値と変換方法 10 体重の平均 体重 (kg) 体重の標準偏差 身長 (mm) 体重(kg)の差「1」と身長(mm)の差「1」の意味 が異なると算出する距離に意味がなくなる y2 平均を0 分散を1に 標準化 各軸を伸び縮みさせ 距離を同程度にする。 身長の標準偏差 身長の平均 各値 – 平均 標準偏差 近い 標準化 された 体重 x2 x1 y1 遠い 標準化された 身長 標準化 された もので 距離を 比較
3.3 連関係数による類似性 化合物は、ビットベクトルで表すことができる。この類似度を測定可能 ビットベクトル: 原子や官能基の有無 有無関係を0と1で表す(ビット) 部分構造の有無を数字の集合(ベクトル) 意味を持った要素を並べたもの で取り出す。 3. Bit-vector space 部分構造の有無で近さ を表現することもできる。 11
ECFPを他の分子との比較 8種類 12 同じビット 数ならば 比較可能 同じビット 数ならば 比較可能 同じ部分構造 は同一の数字 同じ部分構造 は同一の数字 2種類 は共通 14種類 9種類 は共通 16種類 同じビットがある、異なるビットがあるなどによって類似性が測定できる。
タニモト係数(Jaccard index)とは 13 ビットベクトルで化合物を比較する。共通な部分と共通していない部分の比較 c a b d a 分子A 1 A A∩B 0 0 1 1 0 0 0 0 0 0 0 0 1 0 0 1 1 0 分子B B 1 c • • • • aはAに存在しBに存在しない特徴の数の合計 bはAに存在せずBに存在する特徴の数の合計 cは両方のオブジェクトに共通の特徴の数の合計 dは両方のオブジェクトから存在しない特徴の数 タニモト係数 c = a + b + c b 上記分子AとB aは1, bは2, cは2, dは5となる。 分子Aと = 分子Bの タニモト係数 2 1 + 2 = + 2 タニモト係数は類似性が高いほど1に近づく 0.4
4 文字類似性とSMILES 14 化合物は、文字列で表すことができる。文字列の類似度を測定可能 ただし、文字列の並びと文字自体に意味を持つもので比較する。 文字自体や並びに 意味を持つもの SMILES "N[C@@H](Cc1ccccc1)C(=O)O" 文字で 炭素原子 並び順で カルボン酸 •SMILESの文字列は、構造から算出 されている。 •正規化されたものを使う必要がある。 文字自体や並びに 意味を持たないもの InChiKey "COLNVLDHVKWLRT-QMMMGPOBSA-N" CAS No "63-91-2" 文字や数字の並び順に 意味はない • 完全構造検索(完全一致)の時に効果的 に使用できる • 文字列間の類似性は無い。 SMILESの文字列は、文字自体や並び方が意味を持っている。
L-Phenylalanineの類似化合物 15 O[C@@H](Cc1ccccc1)C(=O)O L-3-Phenyllactic Acid 構造の 類似性 が高い 1文字しか異ならない (1文字置換することで変換可能) N[C@@H](Cc1ccccc1)C(=O)O L-phenylalanine 1文字しか異ならない (1文字削除(挿入)することで変換可能) 文字列の 類似性 が高い N[C@H](Cc1ccccc1)C(=O)O D-phenylalanine SMILESの文字列の置換, 削除, 挿入という操作で変換可能なものは類似性高 → このことを利用したものが正規化レーベンシュタイン距離として知られている。
レーベンシュタイン距離 16 レーベンシュタイン距離は、別名、編集距離としても知られている。 • 与えられた2つの文字列に対して、 「置換」 「削除」 「挿入」の3つの編 集処理から計算される最小編集コスト*1を計算し、文字列の長さで割ることで 類似度を表現する手法。 *1 最小の編集操作の回数を求めるのに工夫が必要興味のある方は「レーベンシュタイン距離 動的計画法」で検索 1文字を別の1文字 で置き換える 1文字を 削除する。 1文字を挿入する 例 applet → apple 例 apble → apple abbleは 距離2 (2文字置換) 挿入(insert) 削除(delete) 置換(substitute) apbleは 距離1 appletは 距離1 apple 例 aple → apple apleは 距離1 レーベンシュタイン距離は、類似性が高いほど0に近づく aleは 距離2 (2文字挿入)
レーベンシュタイン距離の正規化 pea ⇆ pear 4文字のうちの1文字 が無い。 17 aple ⇆ apple pineaple ⇆ pineapple 5文字のうちの1文字 が無い 9文字のうちの1文字 が無い 短い単語の方が、1文字の重みが大きいので正規化という処理を行う。 正規化は「最小値を0,最大値を1とする0-1スケーリング手法」 レーベンシュタイン距離の正規化は、比べる単語の長い方の文字数で割ること で行われる。 apble(5文字) → apple(5文字) 編集1回(置き換え) 1/5 = 0.2 aple(4文字) → apple(5文字) 編集1回(挿入) 1/5 = 0.2 applet(6文字) → apple(5文字) 編集1回(削除) 1/6 = 0.166 正規化レーベンシュタイン距離は、類似性が高いほど0に近づく
化合物の指標と類似性における4つの空間 1. グラフの類似性 Structure Space MCS類似性 2. 距離係数 Descriptor Space 3. 連関係数 Bit-vector Space タニモト係数 ユークリッド距離 ..0101110... 350 300 4. 文字類似性 Word Space 正規化レーベンシュタイン距離 CC(C)[C@@H]1CC[C@@H](C)C[C@H]1O 250 ç 直接、構造の グラフを比較 200 分子の 一部の 情報で 比較 150 100 50 0 0 20 40 特定の物性 を考慮 60 ..0100101... ..1100010... ..0101110... ..0000010... 部分構造の 有無を考慮 最も使われる 18 OCCO CCCCCC CC1=CC=CC=C1 CC(C)[C@@H]1CC[C@@H](C)CC1 C12CCCCC1CCCC2 O[C@@H](CC(C)C)CC(C)CC グラフ構造や 分子の繋がり 分子サイズも考慮 DB検索で頻出は、ビットベクトルを用いたタニモト類似度によるもの