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 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

この記事へのトラックバック