【W3】部分構造による化合物フィルタリング_02_Step1
【本パート(W3)の目的】
いくつか私たちのスクリーニングライブラリーに含めたくない部分構造があります。このトークトリアルでは、そのような好ましくない部分構造の様々なタイプを学び、そしてRDKitを使ってそれらの部分構造を見つけ、ハイライトする方法を学びます。
上記はPython版のT3の説明ですが、W3の目的も同じです。
概要については既に書きました。
【RDKit Molecule Catalog Filter】
Step1では既存のRDKit Molecule Catalog FilterノードでPAINSフィルターをかけます。
標準的なカタログのセットから取られたフィルタを適用して、分子のテーブルをフィルタリングします。
2番目の出力テーブルには、分子がフィルタリングされた理由が非常に詳細に表示されます。
このノードには、ルールにマッチした原子のインデックスを含む1つまたは複数の原子リスト列を生成するオプションがあります。
この情報は、RDKit Molecule Highlightingノードを使用して、関連する部分構造に色を付けることができます。
上記はノード説明書き(Description)を日本語化したものです。
Infocomの皆さまに感謝しつつ。実際の設定を見ていきましょう。
今回はPAINSのフルセットを利用したいのでApplyウィンドウに”PAINS”一つだけを加えてあります。
それぞれのフィルターについては下記に記載がありました。
FilterCatalogs give RDKit the ability to screen out or reject undesirable molecules based on various criteria. Supplied with RDKIt are the following filter sets:
* PAINS - Pan assay interference patterns.
These are separated into three sets PAINS_A, PAINS_B and PAINS_C.
Reference: Baell JB, Holloway GA. New Substructure Filters for Removal of Pan Assay
Interference Compounds (PAINS) from Screening Libraries and for Their Exclusion in Bioassays.
J Med Chem 53 (2010) 2719Ð40. doi:10.1021/jm901137j.
* BRENK - filters unwanted functionality due to potential tox reasons or unfavorable pharmacokinetics.
Reference: Brenk R et al. Lessons Learnt from Assembling Screening Libraries for Drug Discovery for Neglected Diseases.
ChemMedChem 3 (2008) 435-444. doi:10.1002/cmdc.200700139.
* NIH - annotated compounds with problematic functional groups
Reference: Doveston R, et al. A Unified Lead-oriented Synthesis of over Fifty Molecular Scaffolds. Org Biomol Chem 13 (2014) 859Ð65.
doi:10.1039/C4OB02287D.
Reference: Jadhav A, et al. Quantitative Analyses of Aggregation, Autofluorescence, and Reactivity Artifacts in a Screen for Inhibitors of a Thiol Protease.
J Med Chem 53 (2009) 37Ð51. doi:10.1021/jm901070c.
* ZINC - Filtering based on drug-likeness and unwanted functional groups
Reference: http://blaster.docking.org/filtering/
RDKitコミュニティの玄人の皆さんは丁寧に情報の公開をし、ともに技術を磨いておられます。
KNIMEユーザもその恩恵を受けていますね。本当にありがたいことです。
デモデータで実行結果を見てみます。ノードを右クリックして
Good moleculesで上のポートからの出力を閲覧
Bad moleculesで下のポートからの出力を閲覧
ですね。
【Good molecules】
デモデータはW2の出力4510化合物でした。
PAINSフィルターをかけて残ったのは4115化合物です。Tableの構成は入力と同じですので新たにコメントはありません。
【Bad molecules】
一方で、PAINSフィルターにひっかかったのは394化合物でした。
フィルタリングされた根拠となる情報などが新たに追加されたテーブルになっています。
少し見ていきましょう。
奇しくもいきなり1行目がパーキンソン病の基本的な治療薬の一つレボドパでした。
なぜPAINSに分類されたかを見てみましょう。
上記のTable画面のカラムを並べ替えたり、大きさを変えたり、Viewメニューからフォントサイズを変えたりして以下のようにしてみました。
Row3のレボドパを例に見ていきます。
Catalogs: 今回はPAINSのみです。複数のカタログでフィルターにかかるとリスト内に列記されます。
Match Counts: PAINSリストにある忌避構造ルールにヒットした数。今回は1つ。
Rules: どのルール群にあたったか。今回はPAINSの3種のうちのBだったようです。
Descriptions: 忌避構造ルールの名前、今回はカテコール構造が引っ掛かったとわかります。
References: 忌避構造ルールの根拠となった文献情報。今回は先述の
[Baell JB, Holloway GA. New Substructure Filters for Removal of Pan Assay Interference Compounds (PAINS) from Screening Libraries and for Their Exclusion in Bioassays. J Med Chem 53 (2010) 2719D40. doi:10.1021/jm901137j.]
Atom List: 忌避構造と判定された部分の原子群のID番号。のちのStep3で可視化する時に使うデータです。
以上のように、カテコールを持っていると医薬品であろうともPAINSにヒットします。
このように、RDKitノード群を利用すれば、ルールベースの化合物フィルタリングを初心者でも簡単にできてしまうことが分かります。先達への感謝をあらためて胸にしてStep2へ進めます。
おまけ:
【PAINSルールA(296)の"mannich"とは?】
余談として、もし詳しい方は教えて欲しいのですが、上図でRow19とRow56は[mannich_A(296)]
でPAINSと判定されていました。下記のマンニッヒ型反応の基質となりうるということでしょうか?