RDKit 2023.03.1 がリリースされました
2023年4月30日に RDKit 2023.03.1 がリリースされました。この記事では新バージョンの重要な変更点を紹介します。より詳細な情報を知りたい方はリリースノートの原文 (2023_03_1 (Q1 2023) Release)と公式ブログの記事 をご確認ください。
リリースノートより
ハイライト
- 複雑な環系を扱う場合、2次元座標生成がオプションでテンプレートを使用できるようになりました。今後のリリースでもこの機能を改善していきます。
Descriptors.CalcMolDescriptors()
関数だけで分子に対して利用可能なすべての2D記述子を計算できるようになりました(訳注: 公式ブログにコード例があります)
- 有機金属分子の取扱いが改善しました。構造の描画が改善され、フェロセンなどの系において配位結合と多中心結合の視点切り替えを行う新しいコードが提供されます(訳注: 公式ブログにコード例があります)
- フィンガープリント生成コードが改善され、サポート済みフィンガープリント (Morgan・RDKit・topological torsion・atom pairs) についてはユーザーが新しいコードに完全に切り替えることができるように拡張されました。
後方互換性のない変更
- 分子に既に環情報がある場合でも環検出関数が実行できるようになりました。以前のバージョンのRDKitでは、既に環の情報がある場合は、それがたとえ異なるアルゴリズムで生成されたものであっても常に現在の環情報が返されていました。
- 環検出関数はデフォルトでは配位結合を環を構成する可能性のある結合として考慮しなくなりました。この動作を変更するための新しいオプション引数
includeDativeBonds
が環検出関数全てに追加されました。
- 2D座標生成が分子に対して環検出を実行する副作用を持たなくなりました。
- 拡張立体化学(ステレオグループ)を持つ分子に対して生成されるカノニカルSMILESおよびCXSMILESは、以前のバージョンとは異なります。拡張立体化学情報およびステレオグループ自体がカノニカルになりました。この変更は拡張立体化学を持たない分子には影響せず、isomericでないSMILESを生成した場合には何も影響しません。この変更は、拡張立体化学を持つ分子に適用されるMolHashおよびRegistrationHashの出力にも影響します。
- JavaおよびC#のROMol.MolToSmiles()における doIsomericSmiles パラメータはtrueがデフォルトになりました(以前はfalse)。これによりC++およびPythonの動作と同じになりました。
- 分子がパースされるか、引数
cleanIt
がTrueに設定された状態で AssignStereochemistry()
が呼び出されたときに、クロス表記と指定された(訳注: 立体配置未同定、原文: marked as crossed)二重結合(つまりBond.GetBondDir() == Bond.BondDir.EITHERDOUBLE
)はBondStereoがBond.BondStereo.STEREOANY
に設定され、BondDir情報がデフォルトで削除されます。
- (訳注: 窒素原子やリン原子のような)三置換キラル中心を持つ分子に対して生成される構造が少し異なります。これは#5883の修正によるものです。
- MolまたはSDFファイルから読み込まれる分子は
_MolFileChiralFlag
プロパティが常にCTABのキラルフラグの値に応じて設定されるようになりました。以前のバージョンではキラルフラグが0の場合にこのプロパティが設定されませんでした。
バグ修正・クリーンアップ・新機能及び改善
(訳注: 省略します。ご興味のある方は原文をご確認ください。)
このリリースで削除されたコード
SmilesParserParams
の useLegacyStereo
オプションが削除されました。代わりに SetUseLegacyStereoPerception()
を使用してください。
- 複数の個別パラメータを取っていた以下のJavaScriptメソッド
- generate_aligned_coords()
- get_morgan_fp()
- get_morgan_fp_as_uint8array()
- get_pattern_fp()
- get_pattern_fp_as_uint8array()
は削除されました。今後は一つのJSON文字列パラメータを取るバージョンを利用してください。
PandasTools
内の PrintAsBase64PNGString
関数は削除されました。代わりに PrintAsImageString
を利用してください。
公式ブログで紹介されている新機能
以上です。ドキュメントの誤りや改善点を見つけた場合はユーザー会のSlackかGitHubまでご連絡ください。