2006年06月22日

JOELibでDescriptorの計算

JOELibのDescriptorsは、"Native values","Atom properties","Fingerprints","Transformations"の4つのカテゴリーに分けられています。"Native values"は、Drug-likenessフィルタやQSARで利用可能な基本的なDescriptorsの集まりですので、今回は、この"Native values"の取得方法についてメモしたいと思います。

"Native values"に属するDescriptor名を知るには、DescriptorHelperクラスのインスタンスを生成し、getNativeDescs()メソッドを実行します。

 Vector nativeDes = DescriptorHelper.instance().getNativeDescs();
 String desName;
 for (int i = 0; i < nativeDes.size(); i++)
 {
  desName = (String)nativeDes.get(i);
  System.out.println(desName);
 }

ここで得られるdesNameがDescriptorの値を取得する際に必要となります。

実際に、Descriptorの値を取得するには、DescriptorFactoryクラスのgetDescriptor(String name)メソッドでDescriptorを取得し、calculate(JOEMol mol)メソッドによりDescriptorの値の計算を行います。

 Descriptor descHBA = DescriptorFactory.getDescriptor("Number_of_HBA_2");
 DescResult results = descHBA.calculate(mol);

Descriptorの値をint型にするには次のように記述します。

 int hba =((IntResult)results).getInt();

logPのようにdouble型のDescriptorの値をもつものは、次のように記述します。
 
 double logP =((DoubleResult)results).getDouble();

CDKと同様に、JOELibでもDescriptorの値を取得すれば、簡単にrule of fiveフィルタが作成でき便利です。
ちなみにJOELibでのlogPの計算は、以下の論文の手法が使われています。

 J. Chem. Inf. Comput. Sci., 1999, 39, 868-873.


banner_02.gif
人気ブログランキング(クリックして応援してね)


posted by わばのり at 08:29| Comment(0) | TrackBack(0) | JOELib | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。