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

メールアドレス:

ホームページアドレス:

コメント:

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


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/23205126

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

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