2006年08月29日

CDKでSSSR その2

前回、CDKを用いてSSSRの検出を行い、各ringをsdf形式で保存しました。今回は、以下のように結合しているring同士は1つのfragmentとして取り扱い、sdf形式で保存したいと思います。

sssrpa.png

まずは、SSSRFinderクラスのfindSSSR()メソッドを用いて、SSSRの検出を行います。SSSRはIRingSetとして取得します。ここまでは、前回と同じです。

 SSSRFinder sssrf = new SSSRFinder(mol);
 IRingSet rs = sssrf.findSSSR();

次にRingPartitionerクラスのpartitionRings(IRingSet ringSet)メソッドを用いて、結合しているring同士を1つのRingSetとし、Vectorで結果を取得します。

 Vector rings = RingPartitioner.partitionRings(rs);

最後に、convertToAtomContainer(IRingSet ringSet)メソッドを用いて、RingSetをAtomContainerへと変換し、ファイル出力します。

 for(int i=0;i<rings.size();i++){
  IRingSet crs = (IRingSet)rings.get(i);
  IAtomContainer ac = RingPartitioner.convertToAtomContainer(crs);
  try {
   mw.write(new Molecule(ac));
  } catch (CDKException e) {
   e.printStackTrace();
  }
 }


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

メールアドレス:

ホームページアドレス:

コメント:

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


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

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

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