Rdkitで実装できる Avalon FingerPrintってなんだろう?


はじめに

今回の記事は内容に対する稚拙な推測が入り混ざってます。また、駆け出しの戯言でもあります。

Avalon FingerPrintってなんだろう?

Rdkitでは、様々なフィンガープリントが実装でき、解説も多くネットであるが、中でもAvalon FingerPrintは元論文が有料(お金を払って読む価値があるか怪しい)なせいで詳細がわからない.....
元論文(https://www.ncbi.nlm.nih.gov/pubmed/16995723)はこちら。

ネットで調査すると、、、

Avalon fingerprint is a Novartis AG in-house format, which
encodes atoms (both augmented atoms as well as atom triplets)
(アヴァロンFPは(スイス製薬メーカー)ノバルティスAGのフォーマットであり、原子を解読する。)

また、

Avalon fingerprint(hashed,graph‐basedfingerprints)

と表記された論文もありました。
また、実装はRdkitで難しくないため、使った感想は、
・defaultのBit数が128
・MACCS FPよりも良い印象
です。

実装は

from rdkit.Avalon.pyAvalonTools import GetAvalonFP
fp = GetAvalonFP(mol)

を前回記事(https://qiita.com/muuu4649/items/7ef341f57bbea3988517)

に挿入するだけです。

どんな特徴を抽出しているのだろう?

ノバルティスAGが出していたケミカルツールキットに入ってたらしいこのフィンガープリントは現在、DLはできるものの公式HPは閉じていた。しかし、ノバルティスAGが出していた過去資料を発見した。


図1ー参考
https://www.rdkit.org/UGM/2012/Landrum_RDKit_UGM.Fingerprints.Final.pptx.pdf

これを見るとC-C結合以外に結合しているHの数やその経路、環構造パターン、あるルールでの環の長さなどを取得してFingerprintを算出しているようです。

細かいところまで見ようとして(https://github.com/rdkit/rdkit-orig/blob/master/External/AvalonTools/Wrap/pyAvalonTools.cpp)
を見ていましたが、わからなくなりました。。。難しい。。

以上、また何かわかれば、追加修正します。