まずは、AtomContainerを引数にしてインスタンスを作成します。
NumericalSurface ns = new NumericalSurface(mol);
ASAの計算は、calculateSurface()メソッドで実施します。
ns.calculateSurface();
最後に、getTotalSurfaceArea()メソッドによりASAを出力します。
System.out.println("Total ASA: "+ns.getTotalSurfaceArea());
原子ごとのASAがほしい場合は、getSurfaceArea(int atomIdx)メソッドを用います。
for(int i=0;i<mol.getAtomCount();i++){
try {
double atom_asa = ns.getSurfaceArea(i);
System.out.println("Atom "
+ (i+1)
+ " "+atom_asa);
} catch (CDKException e) {
e.printStackTrace();
}
例として、ALAのASAを計算してみます。
出力:
Total ASA: 371.2141660913026
Atom 1 19.422585694045885
Atom 2 5.849449171443343
Atom 3 30.096359446619783
Atom 4 12.202076766236653
Atom 5 65.96169616886122
Atom 6 47.21116324776361
Atom 7 30.572670707796863
Atom 8 26.5907020193718
Atom 9 16.790634636192344
Atom 10 23.64846959959106
Atom 11 31.103599866253536
Atom 12 24.997914544001777
Atom 13 36.766844223124735
人気ブログランキング(クリックして応援してね)