2006年09月03日

CDKのPathToolsクラス

CDKのPathToolsクラスはmolecular graphsを処理するために利用できる便利なクラスです。今回は、このクラスのメソッドの1つであるgetAllPathsメソッドを利用して、任意の原子Aから原子Bまでの全ての経路を列挙させてみます。

例として、以下の分子の原子6から原子10までの全経路を列挙してみます。
path.png

 IAtom atomA = mol.getAtomAt(5);
 IAtom atomB = mol.getAtomAt(9);
 List all_path = PathTools.getAllPaths(mol,atomA,atomB);
 for(int i=0;i<all_path.size();i++){
  List path = (List)all_path.get(i);
  for(int j=0;j<path.size();j++){
   IAtom atom = (IAtom)path.get(j);
   System.out.print(mol.getAtomNumber(atom)+1+",");
  }
 System.out.println();
 }

 実行結果:
 6,4,7,1,8,2,10,
 6,4,7,1,8,2,3,9,5,10,
 6,4,3,9,5,10,
 6,4,3,2,10,

このような経路情報は、descriptorの計算などに利用できます。また、このクラスのcomputeFloydAPSP(int[][] C)メソッドを用いれば、全ての原子間の最短経路長が取得でき便利です。


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






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

広告


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

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

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