Skip to content

Commit a05ac94

Browse files
committed
Added element enum to IAtom. Replaced getSymbol usage in HBondDonorCountDescriptor
1 parent f1e1d76 commit a05ac94

File tree

2 files changed

+125
-2
lines changed

2 files changed

+125
-2
lines changed

base/interfaces/src/main/java/org/openscience/cdk/interfaces/IAtom.java

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,129 @@
3232
*/
3333
public interface IAtom extends IAtomType {
3434

35+
/**
36+
* Byte enum constants for element atomic numbers
37+
*/
38+
public static final byte Wildcard = 0;
39+
public static final byte H = 1;
40+
public static final byte He = 2;
41+
public static final byte Li = 3;
42+
public static final byte Be = 4;
43+
public static final byte B = 5;
44+
public static final byte C = 6;
45+
public static final byte N = 7;
46+
public static final byte O = 8;
47+
public static final byte F = 9;
48+
public static final byte Ne = 10;
49+
public static final byte Na = 11;
50+
public static final byte Mg = 12;
51+
public static final byte Al = 13;
52+
public static final byte Si = 14;
53+
public static final byte P = 15;
54+
public static final byte S = 16;
55+
public static final byte Cl = 17;
56+
public static final byte Ar = 18;
57+
public static final byte K = 19;
58+
public static final byte Ca = 20;
59+
public static final byte Sc = 21;
60+
public static final byte Ti = 22;
61+
public static final byte V = 23;
62+
public static final byte Cr = 24;
63+
public static final byte Mn = 25;
64+
public static final byte Fe = 26;
65+
public static final byte Co = 27;
66+
public static final byte Ni = 28;
67+
public static final byte Cu = 29;
68+
public static final byte Zn = 30;
69+
public static final byte Ga = 31;
70+
public static final byte Ge = 32;
71+
public static final byte As = 33;
72+
public static final byte Se = 34;
73+
public static final byte Br = 35;
74+
public static final byte Kr = 36;
75+
public static final byte Rb = 37;
76+
public static final byte Sr = 38;
77+
public static final byte Y = 39;
78+
public static final byte Zr = 40;
79+
public static final byte Nb = 41;
80+
public static final byte Mo = 42;
81+
public static final byte Tc = 43;
82+
public static final byte Ru = 44;
83+
public static final byte Rh = 45;
84+
public static final byte Pd = 46;
85+
public static final byte Ag = 47;
86+
public static final byte Cd = 48;
87+
public static final byte In = 49;
88+
public static final byte Sn = 50;
89+
public static final byte Sb = 51;
90+
public static final byte Te = 52;
91+
public static final byte I = 53;
92+
public static final byte Xe = 54;
93+
public static final byte Cs = 55;
94+
public static final byte Ba = 56;
95+
public static final byte La = 57;
96+
public static final byte Ce = 58;
97+
public static final byte Pr = 59;
98+
public static final byte Nd = 60;
99+
public static final byte Pm = 61;
100+
public static final byte Sm = 62;
101+
public static final byte Eu = 63;
102+
public static final byte Gd = 64;
103+
public static final byte Tb = 65;
104+
public static final byte Dy = 66;
105+
public static final byte Ho = 67;
106+
public static final byte Er = 68;
107+
public static final byte Tm = 69;
108+
public static final byte Yb = 70;
109+
public static final byte Lu = 71;
110+
public static final byte Hf = 72;
111+
public static final byte Ta = 73;
112+
public static final byte W = 74;
113+
public static final byte Re = 75;
114+
public static final byte Os = 76;
115+
public static final byte Ir = 77;
116+
public static final byte Pt = 78;
117+
public static final byte Au = 79;
118+
public static final byte Hg = 80;
119+
public static final byte Tl = 81;
120+
public static final byte Pb = 82;
121+
public static final byte Bi = 83;
122+
public static final byte Po = 84;
123+
public static final byte At = 85;
124+
public static final byte Rn = 86;
125+
public static final byte Fr = 87;
126+
public static final byte Ra = 88;
127+
public static final byte Ac = 89;
128+
public static final byte Th = 90;
129+
public static final byte Pa = 91;
130+
public static final byte U = 92;
131+
public static final byte Np = 93;
132+
public static final byte Pu = 94;
133+
public static final byte Am = 95;
134+
public static final byte Cm = 96;
135+
public static final byte Bk = 97;
136+
public static final byte Cf = 98;
137+
public static final byte Es = 99;
138+
public static final byte Fm = 100;
139+
public static final byte Md = 101;
140+
public static final byte No = 102;
141+
public static final byte Lr = 103;
142+
public static final byte Rf = 104;
143+
public static final byte Db = 105;
144+
public static final byte Sg = 106;
145+
public static final byte Bh = 107;
146+
public static final byte Hs = 108;
147+
public static final byte Mt = 109;
148+
public static final byte Ds = 110;
149+
public static final byte Rg = 111;
150+
public static final byte Cn = 112;
151+
public static final byte Nh = 113;
152+
public static final byte Fl = 114;
153+
public static final byte Mc = 115;
154+
public static final byte Lv = 116;
155+
public static final byte Ts = 117;
156+
public static final byte Og = 118;
157+
35158
/**
36159
* Sets the partial charge of this atom.
37160
*

descriptor/qsarmolecular/src/main/java/org/openscience/cdk/qsar/descriptors/molecular/HBondDonorCountDescriptor.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ public DescriptorValue calculate(IAtomContainer atomContainer) {
140140
atomloop: for (int atomIndex = 0; atomIndex < ac.getAtomCount(); atomIndex++) {
141141
IAtom atom = (IAtom) ac.getAtom(atomIndex);
142142
// checking for O and N atoms where the formal charge is >= 0
143-
if ((atom.getSymbol().equals("O") || atom.getSymbol().equals("N")) && atom.getFormalCharge() >= 0) {
143+
if ((atom.getAtomicNumber() == IAtom.O || atom.getAtomicNumber() == IAtom.N) && atom.getFormalCharge() >= 0) {
144144
// implicit hydrogens
145145
Integer implicitH = atom.getImplicitHydrogenCount();
146146
if (implicitH == CDKConstants.UNSET) implicitH = 0;
@@ -151,7 +151,7 @@ public DescriptorValue calculate(IAtomContainer atomContainer) {
151151
// explicit hydrogens
152152
java.util.List neighbours = ac.getConnectedAtomsList(atom);
153153
for (Object neighbour : neighbours) {
154-
if (((IAtom) neighbour).getSymbol().equals("H")) {
154+
if (((IAtom) neighbour).getAtomicNumber() == IAtom.H) {
155155
hBondDonors++;
156156
continue atomloop;
157157
}

0 commit comments

Comments
 (0)