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 | このブログの読者になる | 更新情報をチェックする

広告


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

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

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