HOSE(Hierarchical Organization of Spherical Environments)コード[1]は、部分構造を表現するコードの1つです。ある原子を中心に球形の層を第1層、第2層、第3層...と考慮することによりコード生成を行います。 CDKでは、HOSECodeGeneratorクラスを用いることにより、HOSEコードを生成させることができます。この例では、Caffeic acidを用い、9番目の原子を中心に第3層までコード化しています。 HOSECodeGenerator hcg = new HOSECodeGenerator(); try { String HOSE_CODE = hcg.getHOSECode(mol, mol.getAtomAt(9), 3); System.out.println(HOSE_CODE); } catch (CDKExc
分子エディタで分子を書いてmol形式などで保存すると各原子に番号付けがされます。しかし、その番号付けは原子を書いた順番であったり、分子エディタに依存していたりと一義的に決定されるわけではありません。n原子の分子ではn!通りの番号付けが可能となるわけです。 一義的な原子の番号付けは、データベースに化学構造を登録する際、検索効率を大幅にUPさせますし、CanonicalなSMILES表現も可能とします。この一義的な原子の番号付けを可能とするアルゴリズムが1965年にMorganによって発表されました(J. Chem. Doc. 1965,5,107)。現在でも様々な場面でその改良版が利用されていると思います。 JOELibでは、Morganクラスを用いることで一義的な原子の番号付けができます。 まずBasicTieResolverクラスのインスタンスをMorganクラスのコンストラクタに渡しま
OpenBabelでエネルギー計算ができるようになって、さらに便利になりました。そこで、超シンプルな配座探索プログラム(obconfopt)を作ってみました。 基本的には、ランダムに配座を発生させ、最安定な配座を探すというランダム探索法を採用しています。 Step 1. 初期配座の入力 ↓ Step 2. torsion角をランダムに設定し、新しい配座の生成。 ↓ Step 3. Energy Minimization ↓ Step 4. 前に発生させた配座と異なっていれば保持する。 ↓ Step 5. 終了判定 終了するまでは、Step2からStep5を繰り返します。 ここで、Step2はobrotateを、Step3はobenergyとobminimizeを、そしてStep4はobfitを参考にすることができます。簡単ですので、興味のある方は、作ってみてください。 例としてペンタンを使
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く