rdkit-users-jp WEB pages
2023年10月13日に RDKit 2023.09.1 がリリースされました。この記事では新バージョンの重要な変更点を紹介します。より詳細な情報を知りたい方はリリースノートの原文 (2023_09_1 (Q3 2023) Release) と公式ブログの記事 (1, 2, 3, 4, 5) をご確認ください。
JSMol
とJSReaction
オブジェクトを返す全てのメソッドは、有効なオブジェクトの生成に失敗したときにnullptr
(JSではnull
)を返すようになりました。以前はis_valid()
メソッドがfalse
を返すオブジェクトを返していました。この新しい実装は、無効なオブジェクトに対してdelete()
を呼び出さなければならないオーバーヘッドを回避するもので、rdkit-js
GitHubリポジトリの公開ディスカッションで承認されました。MolIterator
がMolList
に変更されました。MolIterator
にはat()
、append()
、insert()
、pop()
メソッドが含まれるようになったため、MolIterator
は不適切に感じられたからです。これまでこのクラスにコンストラクタはなかったため、この変更による既存のJSコードへの影響は最小限に抑えられるはずです。JSコードの更新が必要なのは、JSMol::get_frags()
の返り値をパースするときだけです。戻り値はmolIterator
とmappings
という2つのキーを持つオブジェクトで構成されます。molIterator
キーはmolList
に変更されました。MCSParameters::FinalMatchChecker
関数は、ビルトインのFinalMatchChecker
関数の代わりではなく、ビルトインのFinalMatchChecker
関数の後に呼び出されるようになりました。これは設計上の欠陥であり、修正する価値があります。MCSParameters::Timeout
を0に設定すると、タイムアウトが0秒になるのではなく、タイムアウトがないことを意味するようになりました。0秒のタイムアウトは、MCSが即座にキャンセルされてしまうため、無意味です。MCSParameters::MatchRingFusionStrict
がtrue
の場合にFindMCS
によって生成されるSMARTS文字列が、より具体的な部分構造のマッチを確実にするために、適切な場合にはリングメンバーシップクエリを含むようになりました。SingleBondExcluded
がIndividualBondExcluded
に変更されました。GetProp()
の呼び出しで失敗した型変換からのエラーメッセージが、コンパイラによって若干異なるようになりました。”boost::bad_any cast”を常に含める代わりに、[B,b]ad any[\ ,_]cast
という正規表現でマッチさせる必要があります。(訳注: 省略します。ご興味のある方は原文をご確認ください。)
rdFMCS
モジュールのMCSProgress
、MCSBondCompare
、MCSAtomCompare
Pythonクラスから、compare
メソッドとcallback
メソッド(リリース2021.01から非推奨)が削除されました。compare
メソッドとcallback
メソッドの両方が __call__
で置き換えられました。SetAtomTyper
メソッドとSetBondTyper
メソッド(リリース2021.01から非推奨)がrdFMCS
モジュールのMCSParameters
Pythonクラスから削除されました。メソッドはそれぞれ、read-writeプロパティAtomTyper
とBondTyper
で置き換えられました。JSMol
とJSReaction
はもう存在できないため、常にtrueを返します。rdkit.Chem.MolStandardize.rdMolStandardize
の実装を使用してください。以上です。ドキュメントの誤りや改善点を見つけた場合はユーザー会のSlackかGitHubまでご連絡ください。