2006年08月14日

CDKでMDL形式の読み込み その2

SDF形式では、'M END'と'$$$$'の間に様々な情報が付加されていることがあります。例えば以下のような情報が挙げられます。

....
M END
> <CAS_Number>
XXXXXX

> <Catolog_Number>
XXXXXX

> <logP>
XXX
$$$$

CDKではこれら付加情報も分子情報と共に読み込んでいますので、次のような方法で具体的な値を得ることができます。

  fr = new FileReader(new File(filename));
  imr = new IteratingMDLReader(fr,
     DefaultChemObjectBuilder.getInstance());
  while (imr.hasNext()){
   mol = (IMolecule)imr.next();
   String mol_id = (String)mol.getProperty("CAS_Number");
   String cat_num = (String)mol.getProperty("Catalog_Number");
   String logP = (String)mol.getProperty("logP");
   System.out.println(mol_id+" "+cat_num+" "+logP);
  }

内部的にはHashtableに'CAS_Number'はキー、'XXXXXX'は値として格納されています。getProperties()メソッドを用いれてば、一度に全てのキーと値の情報を取得することができ便利です。

 Hashtable ht = (Hashtable)mol.getProperties();
 System.out.println(ht);


banner_02.gif
人気ブログランキング(クリックして応援してね)
posted by わばのり at 07:45| Comment(0) | TrackBack(0) | CDK | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

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


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

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

この広告は1年以上新しい記事の投稿がないブログに表示されております。