magattacaのブログ

日付以外誤報

Miscellaneous Tips and Hints 〜RDKit 直訳 Day22〜

(12/30追記)試訳をまとめたテストサイトを作成しました。よろしければご参照ください。

こちらはRDKit直訳 Advent Calendar 2018 - Adventar 22日目の記事です。基本的な進め方は1日目の記事をご覧ください。

本日の訳出に困った用語
inertia: 慣性
principal moment of inertia: 主慣性モーメント

以下、訳

雑多なテクニックとヒント(Miscellaneous Tips and Hints)

[Link] https://www.rdkit.org/docs/GettingStartedInPython.html#miscellaneous-tips-and-hints

ChemかAllChemか(Chem vs AllChem)

[Link] https://www.rdkit.org/docs/GettingStartedInPython.html#chem-vs-allchem

"基本的な"化学に関する機能の大部分(例: 分子の読み込み・書き出し、部分構造検索、分子を綺麗に整える、など)はrdkit.Chemモジュールに入っています。より発展的で、使用頻度が低い機能はrdkit.Chem.AllChemに入っています。両者の違いは、操作を開始するまでのスピードを速くするか、それともインポートの回数を少なくするかにあります。2、3の分子を読み込んだり、書き出したりすることに興味があるだけなら、2Dの分子を3Dにするライブラリーや力場の実装を読み込むのは無駄です。もしChem/AllChemの選択が煩わしいなら、pythonの"import ... as ..."構文を使ってストレスをなくすことができます:

[link] rdkit.Chem
[link] rdkit.Chem.AllChem

>>> from rdkit.Chem import AllChem as Chem
>>> m = Chem.MolFromSmiles('CCC')

SSSR問題(The SSSR Problem)

[Link] https://www.rdkit.org/docs/GettingStartedInPython.html#the-sssr-problem

他の人たちが、私が意図していたよりも大きなエネルギーと雄弁さでわめき出したように、分子の「最小の環構造の最小のセット(smallest set of smallest rings:SSSR)」の定義は一つではありません。対称性の高い分子では"本当の"SSSRで得られる結果は魅力的ではありません。例えばキュバンのSSSRは環構造を5つとしますが、"明らかに"6つあります。この問題は、対称的な結果を返す、「最小の環構造の(最小ではなく)小さいセット」のアルゴリズムを実装することで修正することができます。これがRDKitで用いている手法です。

分子に含まれるSSSR 環構造の数を数えることができると役に立つこともあるので、rdkit.Chem.rdmolops.GetSSSR()関数が提供されていますが、これはSSSRの数を返すだけで、潜在的に一意ではない環構造のセットを返すわけではありません。

[link] rdkit.Chem.rdmolops.GetSSSR()

利用可能な記述子のリスト(List of Available Descriptors)

[Link] https://www.rdkit.org/docs/GettingStartedInPython.html#list-of-available-descriptors

記述子/記述子のファミリー 注釈 言語
Gasteiger/Marsili Partial Charges Tetrahedron 36:3219-28 (1980) C++
BalabanJ Chem. Phys. Lett. 89:399-404 (1982) Python
BertzCT J. Am. Chem. Soc. 103:3599-601 (1981) Python
Ipc J. Chem. Phys. 67:4517-33 (1977) Python
HallKierAlpha Rev. Comput. Chem. 2:367-422 (1991) C++
Kappa1 - Kappa3 Rev. Comput. Chem. 2:367-422 (1991) C++
Chi0, Chi1 Rev. Comput. Chem. 2:367-422 (1991) Python
Chi0n - Chi4n Rev. Comput. Chem. 2:367-422 (1991) C++
Chi0v - Chi4v Rev. Comput. Chem. 2:367-422 (1991) C++
MolLogP Wildman and Crippen JCICS 39:868-73 (1999) C++
MolMR Wildman and Crippen JCICS 39:868-73 (1999) C++
MolWt C++
ExactMolWt C++
HeavyAtomCount C++
HeavyAtomMolWt C++
NHOHCount C++
NOCount C++
NumHAcceptors C++
NumHDonors C++
NumHeteroatoms C++
NumRotatableBonds C++
NumValenceElectrons C++
NumAmideBonds C++
Num{Aromatic,Saturated,Aliphatic}Rings C++
Num{Aromatic,Saturated,Aliphatic}{Hetero,Carbo}cycles C++
RingCount C++
FractionCSP3 C++
NumSpiroAtoms スピロ原子の数
(正確に一つの原子を共有する環構造の間で共有されている原子)
C++
NumBridgeheadAtoms 橋頭位原子の数
(少なくとも二つの結合を共有する環構造の間で共有されている原子)
C++
TPSA J. Med. Chem. 43:3714-7, (2000)
原文献との違いはthe RDKi bookのセクションを参照
C++
LabuteASA J. Mol. Graph. Mod. 18:464-77 (2000) C++
PEOE_VSA1 - PEOE_VSA14 部分電荷と表面積の寄与を使ったMOEタイプの記述子
http://www.chemcomp.com/journal/vsadesc.htm
C++
SMR_VSA1 - SMR_VSA10 MRの寄与と表面積の寄与を使ったMOEタイプの記述子
http://www.chemcomp.com/journal/vsadesc.htm
C++
SlogP_VSA1 - SlogP_VSA12 LogPの寄与と表面積の寄与を使ったMOEタイプの記述子
http://www.chemcomp.com/journal/vsadesc.htm
C++
EState_VSA1 - EState_VSA11 EStateインデックスと表面積の寄与を使ったMOEタイプの記述子(RDで開発され、CCGペーパーには記述されていない) Python
VSA_EState1 - VSA_EState10 EStateインデックスと表面積の寄与を使ったMOEタイプの記述子(RDで開発され、CCGペーパーには記述されていない) Python
MQNs Nguyen et al. ChemMedChem 4:1803-5 (2009) C++
Topliss fragments $(RDBASE)/Data/FragmentDescriptors.csv のSMARTS定義のセットを使った実装 Python
Autocorr2D 2017.09リリースで新しく導入
Todeschini and Consoni “Descriptors from Molecular Geometry” Handbook of Chemoinformatics
http://dx.doi.org/10.1002/9783527618279.ch37
C++

利用可能な3D記述子のリスト(List of Available 3D Descriptors)

[Link] https://www.rdkit.org/docs/GettingStartedInPython.html#list-of-available-3d-descriptors

これらは全て分子が3次元のコンフォマーをもつことを必要とします。

記述子/記述子のファミリー 注釈 言語
Plane of best fit (PBF) Nicholas C. Firth, Nathan Brown, and Julian Blagg, JCIM 52:2516-25 C++
PMI1, PMI2, PMI3 主慣性モーメント C++
NPR1, NPR2 標準化された主モーメントの比
Sauer and Schwarz JCIM 43:987-1003 (2003)
C++
Radius of gyration G. A. Arteca “Molecular Shape Descriptors” Reviews in Computational Chemistry vol 9
http://dx.doi.org/10.1002/9780470125861.ch5
C++
Inertial shape factor Todeschini and Consoni “Descriptors from Molecular Geometry” Handbook of Chemoinformatics
http://dx.doi.org/10.1002/9783527618279.ch37
C++
Eccentricity G. A. Arteca “Molecular Shape Descriptors” Reviews in Computational Chemistry vol 9
http://dx.doi.org/10.1002/9780470125861.ch5
C++
Asphericity A. Baumgaertner, “Shapes of flexible vesicles” J. Chem. Phys. 98:7496 (1993)
http://dx.doi.org/10.1063/1.464689
C++
Spherocity Index Todeschini and Consoni “Descriptors from Molecular Geometry” Handbook of Chemoinformatics
http://dx.doi.org/10.1002/9783527618279.ch37
C++
Autocorr3D 2017.09リリースで新しく導入。
Todeschini and Consoni “Descriptors from Molecular Geometry” Handbook of Chemoinformatics
http://dx.doi.org/10.1002/9783527618279.ch37
C++
RDF 2017.09リリースで新しく導入。
Todeschini and Consoni “Descriptors from Molecular Geometry” Handbook of Chemoinformatics
http://dx.doi.org/10.1002/9783527618279.ch37
C++
MORSE 2017.09リリースで新しく導入。
Todeschini and Consoni “Descriptors from Molecular Geometry” Handbook of Chemoinformatics
http://dx.doi.org/10.1002/9783527618279.ch37
C++
WHIM 2017.09リリースで新しく導入。
Todeschini and Consoni “Descriptors from Molecular Geometry” Handbook of Chemoinformatics
http://dx.doi.org/10.1002/9783527618279.ch37
注意 DRAGONを使って求めたこれらの記述子の値を正確に再現するには十分な情報が手にはいりません。 我々はこれが近い実装と信じています。
C++
GETAWAY 2017.09リリースで新しく導入。
Todeschini and Consoni “Descriptors from Molecular Geometry” Handbook of Chemoinformatics
http://dx.doi.org/10.1002/9783527618279.ch37
注意 DRAGONを使って求めたこれらの記述子の値を正確に再現するには十分な情報が手にはいりません。 我々はこれが近い実装と信じています。
C++

利用可能なフィンガープリントのリスト(List of Available Fingerprints)

[Link] https://www.rdkit.org/docs/GettingStartedInPython.html#list-of-available-fingerprints

フィンガープリントのタイプ 注釈 言語
RDKit 分子サブグラフのハッシュ化に基づくDaylight類似のフィンガープリント C++
Atom Pairs JCICS 25:64-73 (1985) C++
Topological Torsions JCICS 27:82-5 (1987) C++
MACCS keys 166の公開キーを使いSMARTSで実装 C++
Morgan/Circular ECFP/FCFPフィンガープリントに類似した、Morganアルゴリズムに基づくフィンガープリント
JCIM 50:742-54 (2010).
C++
2D Pharmacophore ファーマコフォアポイント間のトポロジカルな距離を使用 C++
Pattern 部分構造探索に最適化されたトポロジカルなフィンガープリント C++
Extended Reduced Graphs JCIM 46:208-20(2006)で提案されたStieflらによるErGフィンガープリントから派生
注意: これらの関数は通常のフィンガープリントタイプではなくfloat型のアレイを返す
C++

Morganフィンガープリントで使われているフィーチャーの定義(Feature Definitions Used in the Morgan Fingerprints)

[Link] https://www.rdkit.org/docs/GettingStartedInPython.html#feature-definitions-used-in-the-morgan-fingerprints

これらはGobbi, A. & Poppinger, D. “Genetic optimization of combinatorial libraries.” Biotechnology and Bioengineering 61, 47-54 (1998)に記載されている定義を用いて作られています。

フィーチャー SMARTS
Donor [$([N;!H0;v3,v4&+1]),$([O,S;H1;+0]),n&H1&+0]
Acceptor [$([O,S;H1;v2;!$(*-*=[O,N,P,S])]),$([O,S;H0;v2]),$([O,S;-]),$([N;v3;!$(N-*=[O,N,P,S])]),n&H0&+0,$([o,s;+0;!$([o,s]:n);!$([o,s]:c:n)])]
Aromatic [a]
Halogen [F,Cl,Br,I]
Basic [#7;+,$([N;H2&+0][$([C,a]);!$([C,a](=O))]),$([N;H1&+0]([$([C,a]);!$([C,a](=O))])[$([C,a]);!$([C,a](=O))]),$([N;H0&+0]([C;!$(C(=O))])([C;!$(C(=O))])[C;!$(C(=O))])]
Acidic [$([C,S](=[O,S,P])-[O;H1,-1])]

12/22/2018

このブログ記事のライセンス

以上はRDKit Documentationの試訳です。
ライセンスはCC BY-SA 4.0で、Greg Landrum氏の功績の元に作成しています。
Creative Commons — Attribution-ShareAlike 4.0 International — CC BY-SA 4.0