Skip to content

Commit e0e7904

Browse files
authored
Merge pull request #1107 from josemduarte/asafix-multimodel
ASA calculation should be done per model
2 parents be55381 + a5b46ab commit e0e7904

File tree

1 file changed

+20
-3
lines changed

1 file changed

+20
-3
lines changed

biojava-structure/src/main/java/org/biojava/nbio/structure/asa/AsaCalculator.java

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,16 +126,17 @@ static class IndexAndDistance {
126126
* Constructs a new AsaCalculator. Subsequently call {@link #calculateAsas()}
127127
* or {@link #getGroupAsas()} to calculate the ASAs
128128
* Only non-Hydrogen atoms are considered in the calculation.
129-
* @param structure the structure, all non-H atoms will be used
129+
* @param structure the structure, all non-H atoms of given model number will be used
130130
* @param probe the probe size
131131
* @param nSpherePoints the number of points to be used in generating the spherical
132132
* dot-density, the more points the more accurate (and slower) calculation
133133
* @param nThreads the number of parallel threads to use for the calculation
134134
* @param hetAtoms if true HET residues are considered, if false they aren't, equivalent to
135+
* @param modelNr the model number from which we want atoms extracted
135136
* NACCESS' -h option
136137
*/
137-
public AsaCalculator(Structure structure, double probe, int nSpherePoints, int nThreads, boolean hetAtoms) {
138-
this.atoms = StructureTools.getAllNonHAtomArray(structure, hetAtoms);
138+
public AsaCalculator(Structure structure, double probe, int nSpherePoints, int nThreads, boolean hetAtoms, int modelNr) {
139+
this.atoms = StructureTools.getAllNonHAtomArray(structure, hetAtoms, modelNr);
139140
this.atomCoords = Calc.atomsToPoints(atoms);
140141
this.probe = probe;
141142
this.nThreads = nThreads;
@@ -151,6 +152,22 @@ public AsaCalculator(Structure structure, double probe, int nSpherePoints, int n
151152
initSpherePoints(nSpherePoints);
152153
}
153154

155+
/**
156+
* Constructs a new AsaCalculator. Subsequently call {@link #calculateAsas()}
157+
* or {@link #getGroupAsas()} to calculate the ASAs
158+
* Only non-Hydrogen atoms are considered in the calculation.
159+
* @param structure the structure, all non-H atoms of model 1 will be used
160+
* @param probe the probe size
161+
* @param nSpherePoints the number of points to be used in generating the spherical
162+
* dot-density, the more points the more accurate (and slower) calculation
163+
* @param nThreads the number of parallel threads to use for the calculation
164+
* @param hetAtoms if true HET residues are considered, if false they aren't, equivalent to
165+
* NACCESS' -h option
166+
*/
167+
public AsaCalculator(Structure structure, double probe, int nSpherePoints, int nThreads, boolean hetAtoms) {
168+
this(structure, probe, nSpherePoints, nThreads, hetAtoms, 0);
169+
}
170+
154171
/**
155172
* Constructs a new AsaCalculator. Subsequently call {@link #calculateAsas()}
156173
* or {@link #getGroupAsas()} to calculate the ASAs.

0 commit comments

Comments
 (0)