From 54382726952c00eac3f0cc3b2e81258b469617dc Mon Sep 17 00:00:00 2001 From: John Mayfield Date: Mon, 7 Feb 2022 14:28:27 +0000 Subject: [PATCH 01/15] Interface constants are public static final by default. It is much more convient if these are ints rather than bytes. --- .../openscience/cdk/interfaces/IElement.java | 256 +++++++++--------- 1 file changed, 130 insertions(+), 126 deletions(-) diff --git a/base/interfaces/src/main/java/org/openscience/cdk/interfaces/IElement.java b/base/interfaces/src/main/java/org/openscience/cdk/interfaces/IElement.java index f53eb5287fc..b311adad041 100644 --- a/base/interfaces/src/main/java/org/openscience/cdk/interfaces/IElement.java +++ b/base/interfaces/src/main/java/org/openscience/cdk/interfaces/IElement.java @@ -29,128 +29,132 @@ */ public interface IElement extends IChemObject { - /** - * Byte enum constants for element atomic numbers - */ - public static final byte Wildcard = 0; - public static final byte H = 1; - public static final byte He = 2; - public static final byte Li = 3; - public static final byte Be = 4; - public static final byte B = 5; - public static final byte C = 6; - public static final byte N = 7; - public static final byte O = 8; - public static final byte F = 9; - public static final byte Ne = 10; - public static final byte Na = 11; - public static final byte Mg = 12; - public static final byte Al = 13; - public static final byte Si = 14; - public static final byte P = 15; - public static final byte S = 16; - public static final byte Cl = 17; - public static final byte Ar = 18; - public static final byte K = 19; - public static final byte Ca = 20; - public static final byte Sc = 21; - public static final byte Ti = 22; - public static final byte V = 23; - public static final byte Cr = 24; - public static final byte Mn = 25; - public static final byte Fe = 26; - public static final byte Co = 27; - public static final byte Ni = 28; - public static final byte Cu = 29; - public static final byte Zn = 30; - public static final byte Ga = 31; - public static final byte Ge = 32; - public static final byte As = 33; - public static final byte Se = 34; - public static final byte Br = 35; - public static final byte Kr = 36; - public static final byte Rb = 37; - public static final byte Sr = 38; - public static final byte Y = 39; - public static final byte Zr = 40; - public static final byte Nb = 41; - public static final byte Mo = 42; - public static final byte Tc = 43; - public static final byte Ru = 44; - public static final byte Rh = 45; - public static final byte Pd = 46; - public static final byte Ag = 47; - public static final byte Cd = 48; - public static final byte In = 49; - public static final byte Sn = 50; - public static final byte Sb = 51; - public static final byte Te = 52; - public static final byte I = 53; - public static final byte Xe = 54; - public static final byte Cs = 55; - public static final byte Ba = 56; - public static final byte La = 57; - public static final byte Ce = 58; - public static final byte Pr = 59; - public static final byte Nd = 60; - public static final byte Pm = 61; - public static final byte Sm = 62; - public static final byte Eu = 63; - public static final byte Gd = 64; - public static final byte Tb = 65; - public static final byte Dy = 66; - public static final byte Ho = 67; - public static final byte Er = 68; - public static final byte Tm = 69; - public static final byte Yb = 70; - public static final byte Lu = 71; - public static final byte Hf = 72; - public static final byte Ta = 73; - public static final byte W = 74; - public static final byte Re = 75; - public static final byte Os = 76; - public static final byte Ir = 77; - public static final byte Pt = 78; - public static final byte Au = 79; - public static final byte Hg = 80; - public static final byte Tl = 81; - public static final byte Pb = 82; - public static final byte Bi = 83; - public static final byte Po = 84; - public static final byte At = 85; - public static final byte Rn = 86; - public static final byte Fr = 87; - public static final byte Ra = 88; - public static final byte Ac = 89; - public static final byte Th = 90; - public static final byte Pa = 91; - public static final byte U = 92; - public static final byte Np = 93; - public static final byte Pu = 94; - public static final byte Am = 95; - public static final byte Cm = 96; - public static final byte Bk = 97; - public static final byte Cf = 98; - public static final byte Es = 99; - public static final byte Fm = 100; - public static final byte Md = 101; - public static final byte No = 102; - public static final byte Lr = 103; - public static final byte Rf = 104; - public static final byte Db = 105; - public static final byte Sg = 106; - public static final byte Bh = 107; - public static final byte Hs = 108; - public static final byte Mt = 109; - public static final byte Ds = 110; - public static final byte Rg = 111; - public static final byte Cn = 112; - public static final byte Nh = 113; - public static final byte Fl = 114; - public static final byte Mc = 115; - public static final byte Lv = 116; - public static final byte Ts = 117; - public static final byte Og = 118; + // Integer enum constants for element atomic numbers + + /** Wildcard atom is atomic number 0 */ + int Wildcard = 0; + /** Hydrogen atomic number */ + int H = 1; + int He = 2; + int Li = 3; + int Be = 4; + int B = 5; + /** Carbon atomic number */ + int C = 6; + /** Nitrogen atomic number */ + int N = 7; + /** Oxygen atomic number */ + int O = 8; + int F = 9; + int Ne = 10; + int Na = 11; + int Mg = 12; + int Al = 13; + int Si = 14; + int P = 15; + int S = 16; + int Cl = 17; + int Ar = 18; + int K = 19; + int Ca = 20; + int Sc = 21; + int Ti = 22; + int V = 23; + int Cr = 24; + int Mn = 25; + int Fe = 26; + int Co = 27; + int Ni = 28; + int Cu = 29; + int Zn = 30; + int Ga = 31; + int Ge = 32; + int As = 33; + int Se = 34; + int Br = 35; + int Kr = 36; + int Rb = 37; + int Sr = 38; + int Y = 39; + int Zr = 40; + int Nb = 41; + int Mo = 42; + int Tc = 43; + int Ru = 44; + int Rh = 45; + int Pd = 46; + int Ag = 47; + int Cd = 48; + int In = 49; + int Sn = 50; + int Sb = 51; + int Te = 52; + int I = 53; + int Xe = 54; + int Cs = 55; + int Ba = 56; + int La = 57; + int Ce = 58; + int Pr = 59; + int Nd = 60; + int Pm = 61; + int Sm = 62; + int Eu = 63; + int Gd = 64; + int Tb = 65; + int Dy = 66; + int Ho = 67; + int Er = 68; + int Tm = 69; + int Yb = 70; + int Lu = 71; + int Hf = 72; + int Ta = 73; + int W = 74; + int Re = 75; + int Os = 76; + int Ir = 77; + int Pt = 78; + int Au = 79; + int Hg = 80; + int Tl = 81; + int Pb = 82; + int Bi = 83; + int Po = 84; + int At = 85; + int Rn = 86; + int Fr = 87; + int Ra = 88; + int Ac = 89; + int Th = 90; + int Pa = 91; + int U = 92; + int Np = 93; + int Pu = 94; + int Am = 95; + int Cm = 96; + int Bk = 97; + int Cf = 98; + int Es = 99; + int Fm = 100; + int Md = 101; + int No = 102; + int Lr = 103; + int Rf = 104; + int Db = 105; + int Sg = 106; + int Bh = 107; + int Hs = 108; + int Mt = 109; + int Ds = 110; + int Rg = 111; + int Cn = 112; + int Nh = 113; + int Fl = 114; + int Mc = 115; + int Lv = 116; + int Ts = 117; + int Og = 118; /** * Returns the atomic number of this element. @@ -168,7 +172,7 @@ public interface IElement extends IChemObject { * * @see #setAtomicNumber */ - public Integer getAtomicNumber(); + Integer getAtomicNumber(); /** * Sets the atomic number of this element. @@ -177,7 +181,7 @@ public interface IElement extends IChemObject { * * @see #getAtomicNumber */ - public void setAtomicNumber(Integer atomicNumber); + void setAtomicNumber(Integer atomicNumber); /** * Returns the element symbol of this element. @@ -186,7 +190,7 @@ public interface IElement extends IChemObject { * * @see #setSymbol */ - public String getSymbol(); + String getSymbol(); /** * Sets the element symbol of this element. @@ -195,6 +199,6 @@ public interface IElement extends IChemObject { * * @see #getSymbol */ - public void setSymbol(String symbol); + void setSymbol(String symbol); } From b2b9475fcd8015ba2169ffa8dfa0560717d14d73 Mon Sep 17 00:00:00 2001 From: John Mayfield Date: Mon, 7 Feb 2022 20:51:40 +0000 Subject: [PATCH 02/15] First batch of converting symbol equality to int comparissions --- .../cdk/atomtype/CDKAtomTypeMatcher.java | 9 ++--- .../ConjugatedPiSystemsDetector.java | 2 +- .../type/CarbonylEliminationReaction.java | 5 +-- .../type/HyperconjugationReaction.java | 5 +-- .../RadicalChargeSiteInitiationHReaction.java | 5 +-- .../RadicalChargeSiteInitiationReaction.java | 5 +-- .../type/RadicalSiteHrAlphaReaction.java | 9 ++--- .../type/RadicalSiteHrBetaReaction.java | 9 ++--- .../type/RadicalSiteHrDeltaReaction.java | 9 ++--- .../type/RadicalSiteHrGammaReaction.java | 13 ++++---- .../type/RadicalSiteInitiationHReaction.java | 5 +-- .../type/RadicalSiteInitiationReaction.java | 5 +-- .../type/RadicalSiteRrAlphaReaction.java | 5 +-- .../type/RadicalSiteRrBetaReaction.java | 5 +-- .../type/RadicalSiteRrDeltaReaction.java | 5 +-- .../type/RadicalSiteRrGammaReaction.java | 5 +-- .../type/TautomerizationReaction.java | 5 +-- .../type/ElectronImpactPDBReactionTest.java | 3 +- .../type/ElectronImpactSDBReactionTest.java | 3 +- .../cdk/geometry/GeometryUtil.java | 5 +-- .../UniversalIsomorphismTester.java | 33 ++++++++++--------- .../cdk/tools/HOSECodeGenerator.java | 5 +-- .../manipulator/AminoAcidManipulator.java | 3 +- .../manipulator/AtomContainerComparator.java | 3 +- .../manipulator/AtomContainerManipulator.java | 2 +- .../openscience/cdk/graph/PathToolsTest.java | 5 +-- .../atomtype/EStateAtomTypeMatcherTest.java | 3 +- .../cdk/tools/ATASaturationCheckerTest.java | 33 ++++++++++--------- .../cdk/tools/CDKHydrogenAdderTest.java | 12 +++---- .../org/openscience/cdk/test/CDKTestCase.java | 3 +- .../generators/BasicAtomGenerator.java | 3 +- .../aromaticity/AromaticityCalculator.java | 5 +-- .../cdk/atomtype/MM2AtomTypeMatcher.java | 3 +- .../cdk/geometry/GeometryTools.java | 5 +-- .../matchers/smarts/HydrogenAtom.java | 5 +-- .../cdk/normalize/SMSDNormalizer.java | 5 +-- .../IPMolecularLearningDescriptor.java | 5 +-- .../cdk/smiles/DeduceBondSystemTool.java | 15 +++++---- .../cdk/smsd/algorithm/rgraph/CDKMCS.java | 33 ++++++++++--------- .../smsd/algorithm/single/SingleMapping.java | 7 ++-- .../tools/ExtAtomContainerManipulator.java | 5 +-- .../cdk/smsd/tools/MoleculeSanityCheck.java | 3 +- .../openscience/cdk/tools/CDKUtilities.java | 19 ++++++----- .../cdk/tools/DeAromatizationTool.java | 3 +- .../CDKHueckelAromaticityDetectorTest.java | 13 ++++---- ...eBondAcceptingAromaticityDetectorTest.java | 13 ++++---- .../tools/IonizationPotentialToolTest.java | 3 +- .../invariant/EquivalentClassPartitioner.java | 9 ++--- .../cdk/validate/BasicValidator.java | 4 +-- .../cdk/tools/BremserPredictorTest.java | 3 +- .../cdk/io/MDLV2000ReaderTest.java | 17 +++++----- .../cdk/io/RGroupQueryReaderTest.java | 13 ++++---- .../org/openscience/cdk/io/HINReaderTest.java | 3 +- .../org/openscience/cdk/io/cml/CML2Test.java | 5 +-- .../cdk/smiles/SmilesGeneratorTest.java | 5 +-- .../cdk/smiles/SmilesParserTest.java | 15 +++++---- .../MolecularFormulaManipulator.java | 2 +- .../cdk/layout/HydrogenPlacer.java | 3 +- .../cdk/layout/StructureDiagramGenerator.java | 3 +- .../layout/StructureDiagramGeneratorTest.java | 11 ++++--- 60 files changed, 256 insertions(+), 201 deletions(-) diff --git a/base/core/src/main/java/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java b/base/core/src/main/java/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java index 46b2351d816..f074ddca996 100755 --- a/base/core/src/main/java/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java +++ b/base/core/src/main/java/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java @@ -38,6 +38,7 @@ import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.interfaces.IBond.Order; import org.openscience.cdk.interfaces.IChemObjectBuilder; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IPseudoAtom; import org.openscience.cdk.interfaces.ISingleElectron; import org.openscience.cdk.ringsearch.RingSearch; @@ -1029,7 +1030,7 @@ private boolean isAmide(IAtom atom, IAtomContainer atomContainer, List co if (connectedBonds.size() < 1) return false; for (IBond bond : connectedBonds) { IAtom neighbor = bond.getOther(atom); - if (neighbor.getSymbol().equals("C")) { + if (neighbor.getAtomicNumber() == IElement.C) { if (countAttachedDoubleBonds(atomContainer.getConnectedBondsList(neighbor), neighbor, "O") == 1) return true; } } @@ -1040,7 +1041,7 @@ private boolean isThioAmide(IAtom atom, IAtomContainer atomContainer, List connectedBonds) { int count = 0; for (IBond bond : connectedBonds) { IAtom aAtom = bond.getOther(atom); - if (aAtom.getSymbol().equals("H")) { + if (aAtom.getAtomicNumber() == IElement.H) { count++; } } @@ -1067,7 +1068,7 @@ private int countExplicitHydrogens(IAtom atom, List connectedBonds) { private List heavyBonds(final List bonds) { final List heavy = new ArrayList(bonds.size()); for (final IBond bond : bonds) { - if (!(bond.getBegin().getSymbol().equals("H") && bond.getEnd().getSymbol().equals("H"))) { + if (!(bond.getBegin().getAtomicNumber() == IElement.H && bond.getEnd().getAtomicNumber() == IElement.H)) { heavy.add(bond); } } diff --git a/base/reaction/src/main/java/org/openscience/cdk/graph/invariant/ConjugatedPiSystemsDetector.java b/base/reaction/src/main/java/org/openscience/cdk/graph/invariant/ConjugatedPiSystemsDetector.java index 31318148c6e..a4feedd35ed 100644 --- a/base/reaction/src/main/java/org/openscience/cdk/graph/invariant/ConjugatedPiSystemsDetector.java +++ b/base/reaction/src/main/java/org/openscience/cdk/graph/invariant/ConjugatedPiSystemsDetector.java @@ -158,7 +158,7 @@ private static int checkAtom(IAtomContainer ac, IAtom currentAtom) { if (se == 1) { check = 0; //// DETECTION of radicals } else if (ac.getConnectedLonePairsCount(currentAtom) > 0 - /* && (currentAtom.getSymbol().equals("N") */) { + /* && (currentAtom.getAtomicNumber() == IElement.N */) { check = 0; //// DETECTION of lone pair } else { int highOrderBondCount = 0; diff --git a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/CarbonylEliminationReaction.java b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/CarbonylEliminationReaction.java index f8c2ca81beb..440887dec07 100644 --- a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/CarbonylEliminationReaction.java +++ b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/CarbonylEliminationReaction.java @@ -24,6 +24,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IAtomContainerSet; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IReaction; import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.reaction.IReactionProcess; @@ -125,7 +126,7 @@ public IReactionSet initiate(IAtomContainerSet reactants, IAtomContainerSet agen Iterator atomis = reactant.atoms().iterator(); while (atomis.hasNext()) { IAtom atomi = atomis.next(); - if (atomi.getFlag(CDKConstants.REACTIVE_CENTER) && atomi.getSymbol().equals("O") + if (atomi.getFlag(CDKConstants.REACTIVE_CENTER) && atomi.getAtomicNumber() == IElement.O && atomi.getFormalCharge() == 1) { Iterator bondis = reactant.getConnectedBondsList(atomi).iterator(); @@ -192,7 +193,7 @@ private void setActiveCenters(IAtomContainer reactant) throws CDKException { Iterator atomis = reactant.atoms().iterator(); while (atomis.hasNext()) { IAtom atomi = atomis.next(); - if (atomi.getSymbol().equals("O") && atomi.getFormalCharge() == 1) { + if (atomi.getAtomicNumber() == IElement.O && atomi.getFormalCharge() == 1) { Iterator bondis = reactant.getConnectedBondsList(atomi).iterator(); while (bondis.hasNext()) { diff --git a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/HyperconjugationReaction.java b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/HyperconjugationReaction.java index 01db8739cf1..9ac3c8732d0 100644 --- a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/HyperconjugationReaction.java +++ b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/HyperconjugationReaction.java @@ -24,6 +24,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IAtomContainerSet; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IReaction; import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.reaction.IReactionProcess; @@ -152,7 +153,7 @@ public IReactionSet initiate(IAtomContainerSet reactants, IAtomContainerSet agen if (atomk.getFlag(CDKConstants.REACTIVE_CENTER) && reactant.getConnectedSingleElectronsCount(atomk) == 0 && (atomk.getFormalCharge() == CDKConstants.UNSET ? 0 : atomk - .getFormalCharge()) == 0 && atomk.getSymbol().equals("H")) { + .getFormalCharge()) == 0 && atomk.getAtomicNumber() == IElement.H) { ArrayList atomList = new ArrayList(); atomList.add(atomi); @@ -220,7 +221,7 @@ private void setActiveCenters(IAtomContainer reactant) throws CDKException { IAtom atomk = bondj.getOther(atomj); if (reactant.getConnectedSingleElectronsCount(atomk) == 0 && (atomk.getFormalCharge() == CDKConstants.UNSET ? 0 : atomk - .getFormalCharge()) == 0 && atomk.getSymbol().equals("H")) { + .getFormalCharge()) == 0 && atomk.getAtomicNumber() == IElement.H) { atomi.setFlag(CDKConstants.REACTIVE_CENTER, true); atomj.setFlag(CDKConstants.REACTIVE_CENTER, true); diff --git a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalChargeSiteInitiationHReaction.java b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalChargeSiteInitiationHReaction.java index cbfacedaf36..db05831229c 100644 --- a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalChargeSiteInitiationHReaction.java +++ b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalChargeSiteInitiationHReaction.java @@ -24,6 +24,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IAtomContainerSet; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IReaction; import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.reaction.IReactionProcess; @@ -149,7 +150,7 @@ public IReactionSet initiate(IAtomContainerSet reactants, IAtomContainerSet agen && bondj.getOrder() == IBond.Order.SINGLE) { IAtom atomk = bondj.getOther(atomj); - if (atomk.getFlag(CDKConstants.REACTIVE_CENTER) && atomk.getSymbol().equals("H") + if (atomk.getFlag(CDKConstants.REACTIVE_CENTER) && atomk.getAtomicNumber() == IElement.H && atomk.getFormalCharge() == 0) { ArrayList atomList = new ArrayList(); @@ -218,7 +219,7 @@ private void setActiveCenters(IAtomContainer reactant) throws CDKException { if (bondj.getOrder() == IBond.Order.SINGLE) { IAtom atomk = bondj.getOther(atomj); - if (atomk.getSymbol().equals("H") && atomk.getFormalCharge() == 0) { + if (atomk.getAtomicNumber() == IElement.H && atomk.getFormalCharge() == 0) { atomi.setFlag(CDKConstants.REACTIVE_CENTER, true); atomj.setFlag(CDKConstants.REACTIVE_CENTER, true); atomk.setFlag(CDKConstants.REACTIVE_CENTER, true); diff --git a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalChargeSiteInitiationReaction.java b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalChargeSiteInitiationReaction.java index 9127c1f709f..f8d9fef6518 100644 --- a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalChargeSiteInitiationReaction.java +++ b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalChargeSiteInitiationReaction.java @@ -24,6 +24,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IAtomContainerSet; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IReaction; import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.reaction.IReactionProcess; @@ -149,7 +150,7 @@ public IReactionSet initiate(IAtomContainerSet reactants, IAtomContainerSet agen && bondj.getOrder() == IBond.Order.SINGLE) { IAtom atomk = bondj.getOther(atomj); - if (atomk.getFlag(CDKConstants.REACTIVE_CENTER) && atomk.getSymbol().equals("C") + if (atomk.getFlag(CDKConstants.REACTIVE_CENTER) && atomk.getAtomicNumber() == IElement.C && atomk.getFormalCharge() == 0) { ArrayList atomList = new ArrayList(); @@ -221,7 +222,7 @@ private void setActiveCenters(IAtomContainer reactant) throws CDKException { if (bondj.getOrder() == IBond.Order.SINGLE) { IAtom atomk = bondj.getOther(atomj); - if (atomk.getSymbol().equals("C") && atomk.getFormalCharge() == 0) { + if (atomk.getAtomicNumber() == IElement.C && atomk.getFormalCharge() == 0) { atomi.setFlag(CDKConstants.REACTIVE_CENTER, true); atomj.setFlag(CDKConstants.REACTIVE_CENTER, true); atomk.setFlag(CDKConstants.REACTIVE_CENTER, true); diff --git a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteHrAlphaReaction.java b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteHrAlphaReaction.java index 3c69f3f05ce..ad58f6640c7 100644 --- a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteHrAlphaReaction.java +++ b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteHrAlphaReaction.java @@ -25,6 +25,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IAtomContainerSet; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IReaction; import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.interfaces.IRing; @@ -154,13 +155,13 @@ public IReactionSet initiate(IAtomContainerSet reactants, IAtomContainerSet agen if (atoml != null && atoml.getFlag(CDKConstants.REACTIVE_CENTER) && !atoml.getFlag(CDKConstants.ISINRING) && (atoml.getFormalCharge() == CDKConstants.UNSET ? 0 : atoml.getFormalCharge()) == 0 - && !atoml.getSymbol().equals("H") && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { + && atoml.getAtomicNumber() != IElement.H && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { Iterator atomhs = reactant.getConnectedAtomsList(atoml).iterator(); while (atomhs.hasNext()) { IAtom atomh = atomhs.next(); if (reactant.getBond(atomh, atoml).getFlag(CDKConstants.REACTIVE_CENTER) - && atomh.getFlag(CDKConstants.REACTIVE_CENTER) && atomh.getSymbol().equals("H")) { + && atomh.getFlag(CDKConstants.REACTIVE_CENTER) && atomh.getAtomicNumber() == IElement.H) { ArrayList atomList = new ArrayList(); atomList.add(atomh); @@ -213,12 +214,12 @@ private void setActiveCenters(IAtomContainer reactant) throws CDKException { IAtom atoml = atomls.next(); if (atoml != null && !atoml.getFlag(CDKConstants.ISINRING) && (atoml.getFormalCharge() == CDKConstants.UNSET ? 0 : atoml.getFormalCharge()) == 0 - && !atoml.getSymbol().equals("H") && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { + && atoml.getAtomicNumber() != IElement.H && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { Iterator atomhs = reactant.getConnectedAtomsList(atoml).iterator(); while (atomhs.hasNext()) { IAtom atomh = atomhs.next(); - if (atomh.getSymbol().equals("H")) { + if (atomh.getAtomicNumber() == IElement.H) { atomi.setFlag(CDKConstants.REACTIVE_CENTER, true); atoml.setFlag(CDKConstants.REACTIVE_CENTER, true); atomh.setFlag(CDKConstants.REACTIVE_CENTER, true); diff --git a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteHrBetaReaction.java b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteHrBetaReaction.java index 5e62da2ec4d..9bc946dbeef 100644 --- a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteHrBetaReaction.java +++ b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteHrBetaReaction.java @@ -25,6 +25,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IAtomContainerSet; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IReaction; import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.interfaces.IRing; @@ -154,13 +155,13 @@ public IReactionSet initiate(IAtomContainerSet reactants, IAtomContainerSet agen if (atoml != null && atoml.getFlag(CDKConstants.REACTIVE_CENTER) && !atoml.getFlag(CDKConstants.ISINRING) && (atoml.getFormalCharge() == CDKConstants.UNSET ? 0 : atoml.getFormalCharge()) == 0 - && !atoml.getSymbol().equals("H") && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { + && atoml.getAtomicNumber() != IElement.H && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { Iterator atomhs = reactant.getConnectedAtomsList(atoml).iterator(); while (atomhs.hasNext()) { IAtom atomh = atomhs.next(); if (reactant.getBond(atomh, atoml).getFlag(CDKConstants.REACTIVE_CENTER) - && atomh.getFlag(CDKConstants.REACTIVE_CENTER) && atomh.getSymbol().equals("H")) { + && atomh.getFlag(CDKConstants.REACTIVE_CENTER) && atomh.getAtomicNumber() == IElement.H) { ArrayList atomList = new ArrayList(); atomList.add(atomh); @@ -213,12 +214,12 @@ private void setActiveCenters(IAtomContainer reactant) throws CDKException { IAtom atoml = atomls.next(); if (atoml != null && !atoml.getFlag(CDKConstants.ISINRING) && (atoml.getFormalCharge() == CDKConstants.UNSET ? 0 : atoml.getFormalCharge()) == 0 - && !atoml.getSymbol().equals("H") && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { + && atoml.getAtomicNumber() != IElement.H && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { Iterator atomhs = reactant.getConnectedAtomsList(atoml).iterator(); while (atomhs.hasNext()) { IAtom atomh = atomhs.next(); - if (atomh.getSymbol().equals("H")) { + if (atomh.getAtomicNumber() == IElement.H) { atomi.setFlag(CDKConstants.REACTIVE_CENTER, true); atoml.setFlag(CDKConstants.REACTIVE_CENTER, true); atomh.setFlag(CDKConstants.REACTIVE_CENTER, true); diff --git a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteHrDeltaReaction.java b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteHrDeltaReaction.java index a002ffbca56..c18b5632aa0 100644 --- a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteHrDeltaReaction.java +++ b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteHrDeltaReaction.java @@ -25,6 +25,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IAtomContainerSet; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IReaction; import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.interfaces.IRing; @@ -154,13 +155,13 @@ public IReactionSet initiate(IAtomContainerSet reactants, IAtomContainerSet agen if (atoml != null && atoml.getFlag(CDKConstants.REACTIVE_CENTER) && !atoml.getFlag(CDKConstants.ISINRING) && (atoml.getFormalCharge() == CDKConstants.UNSET ? 0 : atoml.getFormalCharge()) == 0 - && !atoml.getSymbol().equals("H") && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { + && atoml.getAtomicNumber() != IElement.H && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { Iterator atomhs = reactant.getConnectedAtomsList(atoml).iterator(); while (atomhs.hasNext()) { IAtom atomh = atomhs.next(); if (reactant.getBond(atomh, atoml).getFlag(CDKConstants.REACTIVE_CENTER) - && atomh.getFlag(CDKConstants.REACTIVE_CENTER) && atomh.getSymbol().equals("H")) { + && atomh.getFlag(CDKConstants.REACTIVE_CENTER) && atomh.getAtomicNumber() == IElement.H) { ArrayList atomList = new ArrayList(); atomList.add(atomh); @@ -213,12 +214,12 @@ private void setActiveCenters(IAtomContainer reactant) throws CDKException { IAtom atoml = atomls.next(); if (atoml != null && !atoml.getFlag(CDKConstants.ISINRING) && (atoml.getFormalCharge() == CDKConstants.UNSET ? 0 : atoml.getFormalCharge()) == 0 - && !atoml.getSymbol().equals("H") && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { + && atoml.getAtomicNumber() != IElement.H && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { Iterator atomhs = reactant.getConnectedAtomsList(atoml).iterator(); while (atomhs.hasNext()) { IAtom atomh = atomhs.next(); - if (atomh.getSymbol().equals("H")) { + if (atomh.getAtomicNumber() == IElement.H) { atomi.setFlag(CDKConstants.REACTIVE_CENTER, true); atoml.setFlag(CDKConstants.REACTIVE_CENTER, true); atomh.setFlag(CDKConstants.REACTIVE_CENTER, true); diff --git a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteHrGammaReaction.java b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteHrGammaReaction.java index 6903b522fc5..d5fdeaf1838 100644 --- a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteHrGammaReaction.java +++ b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteHrGammaReaction.java @@ -25,6 +25,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IAtomContainerSet; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IReaction; import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.interfaces.IRing; @@ -145,7 +146,7 @@ public IReactionSet initiate(IAtomContainerSet reactants, IAtomContainerSet agen Iterator atomis = reactant.atoms().iterator(); while (atomis.hasNext()) { IAtom atomi = atomis.next(); - if (atomi.getFlag(CDKConstants.REACTIVE_CENTER) && atomi.getSymbol().equals("C") + if (atomi.getFlag(CDKConstants.REACTIVE_CENTER) && atomi.getAtomicNumber() == IElement.C && reactant.getConnectedSingleElectronsCount(atomi) == 1) { hcg.getSpheres(reactant, atomi, 4, true); @@ -155,13 +156,13 @@ public IReactionSet initiate(IAtomContainerSet reactants, IAtomContainerSet agen if (atoml != null && atoml.getFlag(CDKConstants.REACTIVE_CENTER) && !atoml.getFlag(CDKConstants.ISINRING) && (atoml.getFormalCharge() == CDKConstants.UNSET ? 0 : atoml.getFormalCharge()) == 0 - && !atoml.getSymbol().equals("H") && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { + && atoml.getAtomicNumber() != IElement.H && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { Iterator atomhs = reactant.getConnectedAtomsList(atoml).iterator(); while (atomhs.hasNext()) { IAtom atomh = atomhs.next(); if (reactant.getBond(atomh, atoml).getFlag(CDKConstants.REACTIVE_CENTER) - && atomh.getFlag(CDKConstants.REACTIVE_CENTER) && atomh.getSymbol().equals("H")) { + && atomh.getFlag(CDKConstants.REACTIVE_CENTER) && atomh.getAtomicNumber() == IElement.H) { ArrayList atomList = new ArrayList(); atomList.add(atomh); @@ -206,7 +207,7 @@ private void setActiveCenters(IAtomContainer reactant) throws CDKException { Iterator atomis = reactant.atoms().iterator(); while (atomis.hasNext()) { IAtom atomi = atomis.next(); - if (atomi.getSymbol().equals("C") && reactant.getConnectedSingleElectronsCount(atomi) == 1) { + if (atomi.getAtomicNumber() == IElement.C && reactant.getConnectedSingleElectronsCount(atomi) == 1) { hcg.getSpheres(reactant, atomi, 4, true); Iterator atomls = hcg.getNodesInSphere(4).iterator(); @@ -214,12 +215,12 @@ private void setActiveCenters(IAtomContainer reactant) throws CDKException { IAtom atoml = atomls.next(); if (atoml != null && !atoml.getFlag(CDKConstants.ISINRING) && (atoml.getFormalCharge() == CDKConstants.UNSET ? 0 : atoml.getFormalCharge()) == 0 - && !atoml.getSymbol().equals("H") && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { + && atoml.getAtomicNumber() != IElement.H && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { Iterator atomhs = reactant.getConnectedAtomsList(atoml).iterator(); while (atomhs.hasNext()) { IAtom atomh = atomhs.next(); - if (atomh.getSymbol().equals("H")) { + if (atomh.getAtomicNumber() == IElement.H) { atomi.setFlag(CDKConstants.REACTIVE_CENTER, true); atoml.setFlag(CDKConstants.REACTIVE_CENTER, true); atomh.setFlag(CDKConstants.REACTIVE_CENTER, true); diff --git a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteInitiationHReaction.java b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteInitiationHReaction.java index c566eb29f33..6cd23d74397 100644 --- a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteInitiationHReaction.java +++ b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteInitiationHReaction.java @@ -24,6 +24,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IAtomContainerSet; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IReaction; import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.reaction.IReactionProcess; @@ -148,7 +149,7 @@ public IReactionSet initiate(IAtomContainerSet reactants, IAtomContainerSet agen && bondj.getOrder() == IBond.Order.SINGLE) { IAtom atomk = bondj.getOther(atomj); - if (atomk.getFlag(CDKConstants.REACTIVE_CENTER) && atomk.getSymbol().equals("H") + if (atomk.getFlag(CDKConstants.REACTIVE_CENTER) && atomk.getAtomicNumber() == IElement.H && atomk.getFormalCharge() == 0) { ArrayList atomList = new ArrayList(); @@ -217,7 +218,7 @@ private void setActiveCenters(IAtomContainer reactant) throws CDKException { if (bondj.getOrder() == IBond.Order.SINGLE) { IAtom atomk = bondj.getOther(atomj); - if (atomk.getSymbol().equals("H") && atomk.getFormalCharge() == 0) { + if (atomk.getAtomicNumber() == IElement.H && atomk.getFormalCharge() == 0) { atomi.setFlag(CDKConstants.REACTIVE_CENTER, true); atomj.setFlag(CDKConstants.REACTIVE_CENTER, true); atomk.setFlag(CDKConstants.REACTIVE_CENTER, true); diff --git a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteInitiationReaction.java b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteInitiationReaction.java index b90738862ea..832ec81294e 100644 --- a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteInitiationReaction.java +++ b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteInitiationReaction.java @@ -24,6 +24,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IAtomContainerSet; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IReaction; import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.reaction.IReactionProcess; @@ -148,7 +149,7 @@ public IReactionSet initiate(IAtomContainerSet reactants, IAtomContainerSet agen && bondj.getOrder() == IBond.Order.SINGLE) { IAtom atomk = bondj.getOther(atomj); - if (atomk.getFlag(CDKConstants.REACTIVE_CENTER) && atomk.getSymbol().equals("C") + if (atomk.getFlag(CDKConstants.REACTIVE_CENTER) && atomk.getAtomicNumber() == IElement.C && atomk.getFormalCharge() == 0) { ArrayList atomList = new ArrayList(); @@ -220,7 +221,7 @@ private void setActiveCenters(IAtomContainer reactant) throws CDKException { if (bondj.getOrder() == IBond.Order.SINGLE) { IAtom atomk = bondj.getOther(atomj); - if (atomk.getSymbol().equals("C") && atomk.getFormalCharge() == 0) { + if (atomk.getAtomicNumber() == IElement.C && atomk.getFormalCharge() == 0) { atomi.setFlag(CDKConstants.REACTIVE_CENTER, true); atomj.setFlag(CDKConstants.REACTIVE_CENTER, true); atomk.setFlag(CDKConstants.REACTIVE_CENTER, true); diff --git a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteRrAlphaReaction.java b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteRrAlphaReaction.java index 5f207da282c..5a5ab879dc4 100644 --- a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteRrAlphaReaction.java +++ b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteRrAlphaReaction.java @@ -25,6 +25,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IAtomContainerSet; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IReaction; import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.interfaces.IRing; @@ -158,7 +159,7 @@ public IReactionSet initiate(IAtomContainerSet reactants, IAtomContainerSet agen if (atoml != null && atoml.getFlag(CDKConstants.REACTIVE_CENTER) && !atoml.getFlag(CDKConstants.ISINRING) && (atoml.getFormalCharge() == CDKConstants.UNSET ? 0 : atoml.getFormalCharge()) == 0 - && !atoml.getSymbol().equals("H") && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { + && atoml.getAtomicNumber() != IElement.H && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { Iterator atomRs = reactant.getConnectedAtomsList(atoml).iterator(); while (atomRs.hasNext()) { @@ -222,7 +223,7 @@ private void setActiveCenters(IAtomContainer reactant) throws CDKException { IAtom atoml = atomls.next(); if (atoml != null && !atoml.getFlag(CDKConstants.ISINRING) && (atoml.getFormalCharge() == CDKConstants.UNSET ? 0 : atoml.getFormalCharge()) == 0 - && !atoml.getSymbol().equals("H") && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { + && atoml.getAtomicNumber() != IElement.H && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { Iterator atomRs = reactant.getConnectedAtomsList(atoml).iterator(); while (atomRs.hasNext()) { diff --git a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteRrBetaReaction.java b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteRrBetaReaction.java index 740eaa6c589..cf4a999d005 100644 --- a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteRrBetaReaction.java +++ b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteRrBetaReaction.java @@ -25,6 +25,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IAtomContainerSet; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IReaction; import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.interfaces.IRing; @@ -158,7 +159,7 @@ public IReactionSet initiate(IAtomContainerSet reactants, IAtomContainerSet agen if (atoml != null && atoml.getFlag(CDKConstants.REACTIVE_CENTER) && !atoml.getFlag(CDKConstants.ISINRING) && (atoml.getFormalCharge() == CDKConstants.UNSET ? 0 : atoml.getFormalCharge()) == 0 - && !atoml.getSymbol().equals("H") && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { + && atoml.getAtomicNumber() != IElement.H && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { Iterator atomRs = reactant.getConnectedAtomsList(atoml).iterator(); while (atomRs.hasNext()) { @@ -222,7 +223,7 @@ private void setActiveCenters(IAtomContainer reactant) throws CDKException { IAtom atoml = atomls.next(); if (atoml != null && !atoml.getFlag(CDKConstants.ISINRING) && (atoml.getFormalCharge() == CDKConstants.UNSET ? 0 : atoml.getFormalCharge()) == 0 - && !atoml.getSymbol().equals("H") && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { + && atoml.getAtomicNumber() != IElement.H && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { Iterator atomRs = reactant.getConnectedAtomsList(atoml).iterator(); while (atomRs.hasNext()) { diff --git a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteRrDeltaReaction.java b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteRrDeltaReaction.java index 235165f7f3e..106196e2b9e 100644 --- a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteRrDeltaReaction.java +++ b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteRrDeltaReaction.java @@ -25,6 +25,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IAtomContainerSet; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IReaction; import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.interfaces.IRing; @@ -158,7 +159,7 @@ public IReactionSet initiate(IAtomContainerSet reactants, IAtomContainerSet agen if (atoml != null && atoml.getFlag(CDKConstants.REACTIVE_CENTER) && !atoml.getFlag(CDKConstants.ISINRING) && (atoml.getFormalCharge() == CDKConstants.UNSET ? 0 : atoml.getFormalCharge()) == 0 - && !atoml.getSymbol().equals("H") && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { + && atoml.getAtomicNumber() != IElement.H && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { Iterator atomRs = reactant.getConnectedAtomsList(atoml).iterator(); while (atomRs.hasNext()) { @@ -222,7 +223,7 @@ private void setActiveCenters(IAtomContainer reactant) throws CDKException { IAtom atoml = atomls.next(); if (atoml != null && !atoml.getFlag(CDKConstants.ISINRING) && (atoml.getFormalCharge() == CDKConstants.UNSET ? 0 : atoml.getFormalCharge()) == 0 - && !atoml.getSymbol().equals("H") && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { + && atoml.getAtomicNumber() != IElement.H && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { Iterator atomRs = reactant.getConnectedAtomsList(atoml).iterator(); while (atomRs.hasNext()) { diff --git a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteRrGammaReaction.java b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteRrGammaReaction.java index d2d816b1d5f..f94d9ae5484 100644 --- a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteRrGammaReaction.java +++ b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/RadicalSiteRrGammaReaction.java @@ -25,6 +25,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IAtomContainerSet; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IReaction; import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.interfaces.IRing; @@ -158,7 +159,7 @@ public IReactionSet initiate(IAtomContainerSet reactants, IAtomContainerSet agen if (atoml != null && atoml.getFlag(CDKConstants.REACTIVE_CENTER) && !atoml.getFlag(CDKConstants.ISINRING) && (atoml.getFormalCharge() == CDKConstants.UNSET ? 0 : atoml.getFormalCharge()) == 0 - && !atoml.getSymbol().equals("H") && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { + && atoml.getAtomicNumber() != IElement.H && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { Iterator atomRs = reactant.getConnectedAtomsList(atoml).iterator(); while (atomRs.hasNext()) { @@ -222,7 +223,7 @@ private void setActiveCenters(IAtomContainer reactant) throws CDKException { IAtom atoml = atomls.next(); if (atoml != null && !atoml.getFlag(CDKConstants.ISINRING) && (atoml.getFormalCharge() == CDKConstants.UNSET ? 0 : atoml.getFormalCharge()) == 0 - && !atoml.getSymbol().equals("H") && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { + && atoml.getAtomicNumber() != IElement.H && reactant.getMaximumBondOrder(atoml) == IBond.Order.SINGLE) { Iterator atomRs = reactant.getConnectedAtomsList(atoml).iterator(); while (atomRs.hasNext()) { diff --git a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/TautomerizationReaction.java b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/TautomerizationReaction.java index 67c628612f6..9dd4d37d1de 100644 --- a/base/reaction/src/main/java/org/openscience/cdk/reaction/type/TautomerizationReaction.java +++ b/base/reaction/src/main/java/org/openscience/cdk/reaction/type/TautomerizationReaction.java @@ -24,6 +24,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IAtomContainerSet; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IReaction; import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.reaction.IReactionProcess; @@ -159,7 +160,7 @@ public IReactionSet initiate(IAtomContainerSet reactants, IAtomContainerSet agen && bondk.getOrder() == IBond.Order.SINGLE) { IAtom atoml = bondk.getOther(atomk); // Atom pos 4 if (atoml.getFlag(CDKConstants.REACTIVE_CENTER) - && atoml.getSymbol().equals("H")) { + && atoml.getAtomicNumber() == IElement.H) { ArrayList atomList = new ArrayList(); atomList.add(atomi); @@ -243,7 +244,7 @@ private void setActiveCenters(IAtomContainer reactant) throws CDKException { if (bondk.equals(bondj)) continue; if (bondk.getOrder() == IBond.Order.SINGLE) { IAtom atoml = bondk.getOther(atomk); // Atom pos 4 - if (atoml.getSymbol().equals("H")) { + if (atoml.getAtomicNumber() == IElement.H) { atomi.setFlag(CDKConstants.REACTIVE_CENTER, true); atomj.setFlag(CDKConstants.REACTIVE_CENTER, true); atomk.setFlag(CDKConstants.REACTIVE_CENTER, true); diff --git a/base/reaction/src/test/java/org/openscience/cdk/reaction/type/ElectronImpactPDBReactionTest.java b/base/reaction/src/test/java/org/openscience/cdk/reaction/type/ElectronImpactPDBReactionTest.java index 985c392761d..7b31c85e1b1 100644 --- a/base/reaction/src/test/java/org/openscience/cdk/reaction/type/ElectronImpactPDBReactionTest.java +++ b/base/reaction/src/test/java/org/openscience/cdk/reaction/type/ElectronImpactPDBReactionTest.java @@ -29,6 +29,7 @@ import org.openscience.cdk.interfaces.IAtomContainerSet; import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.interfaces.IChemObjectBuilder; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.reaction.IReactionProcess; import org.openscience.cdk.reaction.ReactionProcessTest; @@ -102,7 +103,7 @@ public void testInitiate_IAtomContainerSet_IAtomContainerSet() throws Exception IBond bond = (IBond) bonds.next(); IAtom atom1 = bond.getBegin(); IAtom atom2 = bond.getEnd(); - if (bond.getOrder() == IBond.Order.DOUBLE && atom1.getSymbol().equals("C") && atom2.getSymbol().equals("C")) { + if (bond.getOrder() == IBond.Order.DOUBLE && atom1.getAtomicNumber() == IElement.C && atom2.getAtomicNumber() == IElement.C) { bond.setFlag(CDKConstants.REACTIVE_CENTER, true); atom1.setFlag(CDKConstants.REACTIVE_CENTER, true); atom2.setFlag(CDKConstants.REACTIVE_CENTER, true); diff --git a/base/reaction/src/test/java/org/openscience/cdk/reaction/type/ElectronImpactSDBReactionTest.java b/base/reaction/src/test/java/org/openscience/cdk/reaction/type/ElectronImpactSDBReactionTest.java index bcb4307966f..fb8cd4782a0 100644 --- a/base/reaction/src/test/java/org/openscience/cdk/reaction/type/ElectronImpactSDBReactionTest.java +++ b/base/reaction/src/test/java/org/openscience/cdk/reaction/type/ElectronImpactSDBReactionTest.java @@ -29,6 +29,7 @@ import org.openscience.cdk.interfaces.IAtomContainerSet; import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.interfaces.IChemObjectBuilder; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.reaction.IReactionProcess; import org.openscience.cdk.reaction.ReactionProcessTest; @@ -86,7 +87,7 @@ public void testInitiate_IAtomContainerSet_IAtomContainerSet() throws Exception IBond bond = (IBond) bonds.next(); IAtom atom1 = bond.getBegin(); IAtom atom2 = bond.getEnd(); - if (bond.getOrder() == IBond.Order.SINGLE && atom1.getSymbol().equals("C") && atom2.getSymbol().equals("C")) { + if (bond.getOrder() == IBond.Order.SINGLE && atom1.getAtomicNumber() == IElement.C && atom2.getAtomicNumber() == IElement.C) { bond.setFlag(CDKConstants.REACTIVE_CENTER, true); atom1.setFlag(CDKConstants.REACTIVE_CENTER, true); atom2.setFlag(CDKConstants.REACTIVE_CENTER, true); diff --git a/base/standard/src/main/java/org/openscience/cdk/geometry/GeometryUtil.java b/base/standard/src/main/java/org/openscience/cdk/geometry/GeometryUtil.java index 85130834b6f..b5171518e41 100644 --- a/base/standard/src/main/java/org/openscience/cdk/geometry/GeometryUtil.java +++ b/base/standard/src/main/java/org/openscience/cdk/geometry/GeometryUtil.java @@ -30,6 +30,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.interfaces.IChemModel; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IReaction; import org.openscience.cdk.interfaces.IRingSet; import org.openscience.cdk.sgroup.Sgroup; @@ -1640,7 +1641,7 @@ public static double getHeavyAtomRMSD(IAtomContainer firstAtomContainer, IAtomCo secondAtomNumber = mappedAtoms.get(firstAtomNumber); IAtom firstAtom = firstAtomContainer.getAtom(firstAtomNumber); if (hetAtomOnly) { - if (!firstAtom.getSymbol().equals("H") && !firstAtom.getSymbol().equals("C")) { + if (firstAtom.getAtomicNumber() != IElement.H && firstAtom.getAtomicNumber() != IElement.C) { if (Coords3d) { sum = sum + Math.pow( @@ -1656,7 +1657,7 @@ public static double getHeavyAtomRMSD(IAtomContainer firstAtomContainer, IAtomCo } } } else { - if (!firstAtom.getSymbol().equals("H")) { + if (firstAtom.getAtomicNumber() != IElement.H) { if (Coords3d) { sum = sum + Math.pow( diff --git a/base/standard/src/main/java/org/openscience/cdk/isomorphism/UniversalIsomorphismTester.java b/base/standard/src/main/java/org/openscience/cdk/isomorphism/UniversalIsomorphismTester.java index 2c6e05b0288..3cf6633d784 100644 --- a/base/standard/src/main/java/org/openscience/cdk/isomorphism/UniversalIsomorphismTester.java +++ b/base/standard/src/main/java/org/openscience/cdk/isomorphism/UniversalIsomorphismTester.java @@ -31,6 +31,7 @@ import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.isomorphism.matchers.IQueryAtom; import org.openscience.cdk.isomorphism.matchers.IQueryAtomContainer; import org.openscience.cdk.isomorphism.matchers.IQueryBond; @@ -1022,40 +1023,40 @@ else if (bond.getOrder() == IBond.Order.DOUBLE) for (int i = 0; i < ac1.getAtomCount(); i++) { atom = ac1.getAtom(i); - if (atom.getSymbol().equals("S")) + if (atom.getAtomicNumber() == IElement.S) ac1SCount++; - else if (atom.getSymbol().equals("N")) + else if (atom.getAtomicNumber() == IElement.N) ac1NCount++; - else if (atom.getSymbol().equals("O")) + else if (atom.getAtomicNumber() == IElement.O) ac1OCount++; - else if (atom.getSymbol().equals("F")) + else if (atom.getAtomicNumber() == IElement.F) ac1FCount++; - else if (atom.getSymbol().equals("Cl")) + else if (atom.getAtomicNumber() == IElement.Cl) ac1ClCount++; - else if (atom.getSymbol().equals("Br")) + else if (atom.getAtomicNumber() == IElement.Br) ac1BrCount++; - else if (atom.getSymbol().equals("I")) + else if (atom.getAtomicNumber() == IElement.I) ac1ICount++; - else if (atom.getSymbol().equals("C")) ac1CCount++; + else if (atom.getAtomicNumber() == IElement.C) ac1CCount++; } for (int i = 0; i < ac2.getAtomCount(); i++) { atom = ac2.getAtom(i); if (atom instanceof IQueryAtom) continue; - if (atom.getSymbol().equals("S")) + if (atom.getAtomicNumber() == IElement.S) ac2SCount++; - else if (atom.getSymbol().equals("N")) + else if (atom.getAtomicNumber() == IElement.N) ac2NCount++; - else if (atom.getSymbol().equals("O")) + else if (atom.getAtomicNumber() == IElement.O) ac2OCount++; - else if (atom.getSymbol().equals("F")) + else if (atom.getAtomicNumber() == IElement.F) ac2FCount++; - else if (atom.getSymbol().equals("Cl")) + else if (atom.getAtomicNumber() == IElement.Cl) ac2ClCount++; - else if (atom.getSymbol().equals("Br")) + else if (atom.getAtomicNumber() == IElement.Br) ac2BrCount++; - else if (atom.getSymbol().equals("I")) + else if (atom.getAtomicNumber() == IElement.I) ac2ICount++; - else if (atom.getSymbol().equals("C")) ac2CCount++; + else if (atom.getAtomicNumber() == IElement.C) ac2CCount++; } if (ac1SCount < ac2SCount) return false; diff --git a/base/standard/src/main/java/org/openscience/cdk/tools/HOSECodeGenerator.java b/base/standard/src/main/java/org/openscience/cdk/tools/HOSECodeGenerator.java index ca99ac0aeba..69d027e3a5f 100644 --- a/base/standard/src/main/java/org/openscience/cdk/tools/HOSECodeGenerator.java +++ b/base/standard/src/main/java/org/openscience/cdk/tools/HOSECodeGenerator.java @@ -39,6 +39,7 @@ import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IIsotope; import org.openscience.cdk.interfaces.IRing; import org.openscience.cdk.interfaces.IRingSet; @@ -334,7 +335,7 @@ private void breadthFirstSearch(IAtom root, boolean addTreeNode) throws CDKExcep for (int i = 0; i < conAtoms.size(); i++) { try { atom = conAtoms.get(i); - if (atom.getSymbol().equals("H")) continue; + if (atom.getAtomicNumber() == IElement.H) continue; bond = atomContainer.getBond(root, atom); /* * In the first sphere the atoms are labeled with their own atom @@ -386,7 +387,7 @@ private void nextSphere(List sphereNodes) throws CDKException { treeNode = (TreeNode) sphereNodes.get(i); if (!("&;#:,".indexOf(treeNode.symbol) >= 0)) { node = treeNode.atom; - if (node.getSymbol().equals("H")) continue; + if (node.getAtomicNumber() == IElement.H) continue; conAtoms = atomContainer.getConnectedAtomsList(node); if (conAtoms.size() == 1) { diff --git a/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AminoAcidManipulator.java b/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AminoAcidManipulator.java index a246dc0c731..3690e7f3273 100644 --- a/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AminoAcidManipulator.java +++ b/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AminoAcidManipulator.java @@ -27,6 +27,7 @@ import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.interfaces.IBond.Order; +import org.openscience.cdk.interfaces.IElement; /** * Class with convenience methods that provide methods to manipulate @@ -54,7 +55,7 @@ public static void removeAcidicOxygen(IAminoAcid acid) throws CDKException { for (IBond bond : bonds) { if (bond.getOrder() == Order.SINGLE) { for (int j = 0; j < bond.getAtomCount(); j++) { - if (bond.getAtom(j).getSymbol().equals("O")) { + if (bond.getAtom(j).getAtomicNumber() == IElement.O) { // yes, we found a singly bonded oxygen! acid.removeAtom(bond.getAtom(j)); } diff --git a/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AtomContainerComparator.java b/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AtomContainerComparator.java index aa84f96b8fd..0790c82c6db 100644 --- a/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AtomContainerComparator.java +++ b/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AtomContainerComparator.java @@ -30,6 +30,7 @@ import org.openscience.cdk.exception.CDKException; import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IIsotope; import org.openscience.cdk.tools.ILoggingTool; import org.openscience.cdk.tools.LoggingToolFactory; @@ -137,7 +138,7 @@ private double getMolecularWeight(IAtomContainer atomContainer) throws CDKExcept final IsotopeFactory isotopeFactory = Isotopes.getInstance(); for (IAtom atom : atomContainer.atoms()) { - if (!atom.getSymbol().equals("H")) { + if (atom.getAtomicNumber() != IElement.H) { final IIsotope majorIsotope = isotopeFactory.getMajorIsotope(atom.getSymbol()); if (majorIsotope != null && majorIsotope.getExactMass() != null) { diff --git a/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AtomContainerManipulator.java b/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AtomContainerManipulator.java index c6990a7ef02..d3b37130f1a 100644 --- a/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AtomContainerManipulator.java +++ b/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AtomContainerManipulator.java @@ -768,7 +768,7 @@ public static IAtomContainer removeNonChiralHydrogens(IAtomContainer org) { if (stereoElement instanceof ITetrahedralChirality) { ITetrahedralChirality tetChirality = (ITetrahedralChirality) stereoElement; for (IAtom atom : tetChirality.getLigands()) { - if (atom.getSymbol().equals("H") && remove.contains(atom)) { + if (atom.getAtomicNumber() == IElement.H && remove.contains(atom)) { remove.remove(atom); addClone(atom, cpy, map); } diff --git a/base/test-core/src/test/java/org/openscience/cdk/graph/PathToolsTest.java b/base/test-core/src/test/java/org/openscience/cdk/graph/PathToolsTest.java index f9c15acc90a..ecacbb02f32 100644 --- a/base/test-core/src/test/java/org/openscience/cdk/graph/PathToolsTest.java +++ b/base/test-core/src/test/java/org/openscience/cdk/graph/PathToolsTest.java @@ -30,6 +30,7 @@ import org.openscience.cdk.AtomContainer; import org.openscience.cdk.Bond; import org.openscience.cdk.CDKConstants; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.test.CDKTestCase; import org.openscience.cdk.DefaultChemObjectBuilder; import org.openscience.cdk.exception.CDKException; @@ -289,7 +290,7 @@ public void testDepthFirstTargetSearch_IAtomContainer_IAtom_IAtom_IAtomContainer atoms = molecule.atoms().iterator(); while (atoms.hasNext()) { IAtom atom = atoms.next(); - if (atom.getSymbol().equals("F")) { + if (atom.getAtomicNumber() == IElement.F) { target = atom; break; } @@ -344,7 +345,7 @@ public void testFindClosestByBond() throws InvalidSmilesException { IAtomContainer container = sp.parseSmiles("CCN(CSCP)CCCOF"); IAtom queryAtom = null; for (IAtom atom : container.atoms()) { - if (atom.getSymbol().equals("N")) { + if (atom.getAtomicNumber() == IElement.N) { queryAtom = atom; break; } diff --git a/base/test-standard/src/test/java/org/openscience/cdk/atomtype/EStateAtomTypeMatcherTest.java b/base/test-standard/src/test/java/org/openscience/cdk/atomtype/EStateAtomTypeMatcherTest.java index 7c7682715b7..fb72d74771c 100644 --- a/base/test-standard/src/test/java/org/openscience/cdk/atomtype/EStateAtomTypeMatcherTest.java +++ b/base/test-standard/src/test/java/org/openscience/cdk/atomtype/EStateAtomTypeMatcherTest.java @@ -26,6 +26,7 @@ import org.openscience.cdk.Atom; import org.openscience.cdk.AtomContainer; import org.openscience.cdk.CDKConstants; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.test.CDKTestCase; import org.openscience.cdk.DefaultChemObjectBuilder; import org.openscience.cdk.aromaticity.Aromaticity; @@ -364,7 +365,7 @@ public void testBenzeneFromSmiles() throws Exception { Iterator atoms = mol.atoms().iterator(); while (atoms.hasNext()) { IAtom atom = atoms.next(); - if (atom.getSymbol().equals("C")) { + if (atom.getAtomicNumber() == IElement.C) { Assert.assertTrue(testAtom("SaaCH", atom)); } } diff --git a/base/test-valencycheck/src/test/java/org/openscience/cdk/tools/ATASaturationCheckerTest.java b/base/test-valencycheck/src/test/java/org/openscience/cdk/tools/ATASaturationCheckerTest.java index af5008025c1..5b971cf6571 100644 --- a/base/test-valencycheck/src/test/java/org/openscience/cdk/tools/ATASaturationCheckerTest.java +++ b/base/test-valencycheck/src/test/java/org/openscience/cdk/tools/ATASaturationCheckerTest.java @@ -33,6 +33,7 @@ import org.openscience.cdk.interfaces.IAtomType; import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.interfaces.IBond.Order; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.silent.AtomContainer; import org.openscience.cdk.silent.SilentChemObjectBuilder; import org.openscience.cdk.smiles.SmilesParser; @@ -153,36 +154,36 @@ public void testQuinone() throws Exception { Assert.assertTrue(mol.getAtom(1).getHybridization() == IAtomType.Hybridization.SP2); - Assert.assertTrue(mol.getBond(0).getEnd().getSymbol().equals("C")); - Assert.assertTrue(mol.getBond(0).getBegin().getSymbol().equals("O")); + Assert.assertTrue(mol.getBond(0).getEnd().getAtomicNumber() == IElement.C); + Assert.assertTrue(mol.getBond(0).getBegin().getAtomicNumber() == IElement.O); Assert.assertEquals(mol.getBond(0).getOrder(), IBond.Order.DOUBLE); - Assert.assertTrue(mol.getBond(1).getBegin().getSymbol().equals("C")); - Assert.assertTrue(mol.getBond(1).getEnd().getSymbol().equals("C")); + Assert.assertTrue(mol.getBond(1).getBegin().getAtomicNumber() == IElement.C); + Assert.assertTrue(mol.getBond(1).getEnd().getAtomicNumber() == IElement.C); Assert.assertEquals(mol.getBond(1).getOrder(), IBond.Order.SINGLE); - Assert.assertTrue(mol.getBond(2).getBegin().getSymbol().equals("C")); - Assert.assertTrue(mol.getBond(2).getEnd().getSymbol().equals("C")); + Assert.assertTrue(mol.getBond(2).getBegin().getAtomicNumber() == IElement.C); + Assert.assertTrue(mol.getBond(2).getEnd().getAtomicNumber() == IElement.C); Assert.assertEquals(mol.getBond(2).getOrder(), IBond.Order.DOUBLE); - Assert.assertTrue(mol.getBond(3).getBegin().getSymbol().equals("C")); - Assert.assertTrue(mol.getBond(3).getEnd().getSymbol().equals("C")); + Assert.assertTrue(mol.getBond(3).getBegin().getAtomicNumber() == IElement.C); + Assert.assertTrue(mol.getBond(3).getEnd().getAtomicNumber() == IElement.C); Assert.assertEquals(mol.getBond(3).getOrder(), IBond.Order.SINGLE); - Assert.assertTrue(mol.getBond(4).getEnd().getSymbol().equals("O")); - Assert.assertTrue(mol.getBond(4).getBegin().getSymbol().equals("C")); + Assert.assertTrue(mol.getBond(4).getEnd().getAtomicNumber() == IElement.O); + Assert.assertTrue(mol.getBond(4).getBegin().getAtomicNumber() == IElement.C); Assert.assertEquals(mol.getBond(4).getOrder(), IBond.Order.DOUBLE); - Assert.assertTrue(mol.getBond(5).getBegin().getSymbol().equals("C")); - Assert.assertTrue(mol.getBond(5).getEnd().getSymbol().equals("C")); + Assert.assertTrue(mol.getBond(5).getBegin().getAtomicNumber() == IElement.C); + Assert.assertTrue(mol.getBond(5).getEnd().getAtomicNumber() == IElement.C); Assert.assertTrue(mol.getBond(5).getOrder() == IBond.Order.SINGLE); - Assert.assertTrue(mol.getBond(6).getBegin().getSymbol().equals("C")); - Assert.assertTrue(mol.getBond(6).getEnd().getSymbol().equals("C")); + Assert.assertTrue(mol.getBond(6).getBegin().getAtomicNumber() == IElement.C); + Assert.assertTrue(mol.getBond(6).getEnd().getAtomicNumber() == IElement.C); Assert.assertEquals(mol.getBond(6).getOrder(), IBond.Order.DOUBLE); - Assert.assertTrue(mol.getBond(7).getBegin().getSymbol().equals("C")); - Assert.assertTrue(mol.getBond(7).getEnd().getSymbol().equals("C")); + Assert.assertTrue(mol.getBond(7).getBegin().getAtomicNumber() == IElement.C); + Assert.assertTrue(mol.getBond(7).getEnd().getAtomicNumber() == IElement.C); Assert.assertEquals(mol.getBond(7).getOrder(), IBond.Order.SINGLE); Assert.assertEquals(mol.getBond(0).getEnd(), mol.getBond(7).getBegin()); diff --git a/base/test-valencycheck/src/test/java/org/openscience/cdk/tools/CDKHydrogenAdderTest.java b/base/test-valencycheck/src/test/java/org/openscience/cdk/tools/CDKHydrogenAdderTest.java index 8e6909aa2cd..541205b12e5 100644 --- a/base/test-valencycheck/src/test/java/org/openscience/cdk/tools/CDKHydrogenAdderTest.java +++ b/base/test-valencycheck/src/test/java/org/openscience/cdk/tools/CDKHydrogenAdderTest.java @@ -761,13 +761,13 @@ public void testBug1627763() throws Exception { int hCount = 0; Iterator neighbors = mol.getConnectedAtomsList(mol.getAtom(0)).iterator(); while (neighbors.hasNext()) { - if (neighbors.next().getSymbol().equals("H")) hCount++; + if (neighbors.next().getAtomicNumber() == IElement.H) hCount++; } Assert.assertEquals(3, hCount); hCount = 0; neighbors = mol.getConnectedAtomsList(mol.getAtom(1)).iterator(); while (neighbors.hasNext()) { - if (neighbors.next().getSymbol().equals("H")) hCount++; + if (neighbors.next().getAtomicNumber() == IElement.H) hCount++; } Assert.assertEquals(1, hCount); } @@ -789,25 +789,25 @@ public void testMercaptan() throws Exception { int hCount = 0; Iterator neighbors = mol.getConnectedAtomsList(mol.getAtom(0)).iterator(); while (neighbors.hasNext()) { - if (neighbors.next().getSymbol().equals("H")) hCount++; + if (neighbors.next().getAtomicNumber() == IElement.H) hCount++; } Assert.assertEquals(2, hCount); hCount = 0; neighbors = mol.getConnectedAtomsList(mol.getAtom(1)).iterator(); while (neighbors.hasNext()) { - if (neighbors.next().getSymbol().equals("H")) hCount++; + if (neighbors.next().getAtomicNumber() == IElement.H) hCount++; } Assert.assertEquals(1, hCount); hCount = 0; neighbors = mol.getConnectedAtomsList(mol.getAtom(2)).iterator(); while (neighbors.hasNext()) { - if (neighbors.next().getSymbol().equals("H")) hCount++; + if (neighbors.next().getAtomicNumber() == IElement.H) hCount++; } Assert.assertEquals(2, hCount); hCount = 0; neighbors = mol.getConnectedAtomsList(mol.getAtom(3)).iterator(); while (neighbors.hasNext()) { - if (neighbors.next().getSymbol().equals("H")) hCount++; + if (neighbors.next().getAtomicNumber() == IElement.H) hCount++; } Assert.assertEquals(1, hCount); } diff --git a/base/test/src/main/java/org/openscience/cdk/test/CDKTestCase.java b/base/test/src/main/java/org/openscience/cdk/test/CDKTestCase.java index a2a5aa01c3c..cee5f07c05c 100644 --- a/base/test/src/main/java/org/openscience/cdk/test/CDKTestCase.java +++ b/base/test/src/main/java/org/openscience/cdk/test/CDKTestCase.java @@ -13,6 +13,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IAtomType; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.tools.CDKHydrogenAdder; import org.openscience.cdk.tools.manipulator.AtomContainerManipulator; @@ -187,7 +188,7 @@ protected void assertAllSingleOrAromatic(IAtomContainer container) throws Except } for (IAtom atom : container.atoms()) { - if (atom.getSymbol().equals("H")) + if (atom.getAtomicNumber() == IElement.H) Assert.assertFalse(atom.getSymbol() + container.indexOf(atom) + " was aromatic", atom.getFlag(CDKConstants.ISAROMATIC)); else diff --git a/display/renderbasic/src/main/java/org/openscience/cdk/renderer/generators/BasicAtomGenerator.java b/display/renderbasic/src/main/java/org/openscience/cdk/renderer/generators/BasicAtomGenerator.java index 92501f204f7..56efe7f245e 100644 --- a/display/renderbasic/src/main/java/org/openscience/cdk/renderer/generators/BasicAtomGenerator.java +++ b/display/renderbasic/src/main/java/org/openscience/cdk/renderer/generators/BasicAtomGenerator.java @@ -27,6 +27,7 @@ import org.openscience.cdk.geometry.GeometryUtil; import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IPseudoAtom; import org.openscience.cdk.renderer.RendererModel; import org.openscience.cdk.renderer.color.CDK2DAtomColors; @@ -320,7 +321,7 @@ public IRenderingElement generate(IAtomContainer atomContainer, IAtom atom, Rend return this.generateCompactElement(atom, model); } else { int alignment = 0; - if (atom.getSymbol().equals("C")) { + if (atom.getAtomicNumber() == IElement.C) { alignment = GeometryUtil.getBestAlignmentForLabel(atomContainer, atom); } else { alignment = GeometryUtil.getBestAlignmentForLabelXY(atomContainer, atom); diff --git a/legacy/src/main/java/org/openscience/cdk/aromaticity/AromaticityCalculator.java b/legacy/src/main/java/org/openscience/cdk/aromaticity/AromaticityCalculator.java index e6173cf10ca..c9ba7235fca 100644 --- a/legacy/src/main/java/org/openscience/cdk/aromaticity/AromaticityCalculator.java +++ b/legacy/src/main/java/org/openscience/cdk/aromaticity/AromaticityCalculator.java @@ -27,6 +27,7 @@ import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IRing; /** @@ -85,12 +86,12 @@ else if (conectedBond.getFlag(CDKConstants.ISAROMATIC) && ring.contains(conected if (numDoubleBond == 1) { //C or heteroatoms both contibute 1 electron in sp2 hybridized form eCount++; - } else if (!atom.getSymbol().equals("C")) { + } else if (atom.getAtomicNumber() != IElement.C) { //Heteroatom probably in sp3 hybrid therefore 2 electrons contributed. eCount = eCount + 2; } else if (atom.getFlag(CDKConstants.ISAROMATIC)) { eCount++; - } else if (allConnectedBondsSingle && atom.getSymbol().equals("C") && atom.getFormalCharge() == 1.0) { + } else if (allConnectedBondsSingle && atom.getAtomicNumber() == IElement.C && atom.getFormalCharge() == 1.0) { // This is for tropylium and kinds. // Dependence on hybridisation would be better: // empty p-orbital is needed diff --git a/legacy/src/main/java/org/openscience/cdk/atomtype/MM2AtomTypeMatcher.java b/legacy/src/main/java/org/openscience/cdk/atomtype/MM2AtomTypeMatcher.java index d3981933820..1ab5e314402 100755 --- a/legacy/src/main/java/org/openscience/cdk/atomtype/MM2AtomTypeMatcher.java +++ b/legacy/src/main/java/org/openscience/cdk/atomtype/MM2AtomTypeMatcher.java @@ -29,6 +29,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IAtomType; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IPseudoAtom; import org.openscience.cdk.tools.AtomTypeTools; import org.openscience.cdk.tools.ILoggingTool; @@ -151,7 +152,7 @@ public IAtomType findMatchingAtomType(IAtomContainer atomContainer, IAtom atomIn } } - if (atom.getSymbol().equals("S")) { + if (atom.getAtomicNumber() == IElement.S) { if (atomChemicalGroupConstant == AtomTypeTools.THIOPHENE_RING) { ID = "Sthi"; } else { diff --git a/legacy/src/main/java/org/openscience/cdk/geometry/GeometryTools.java b/legacy/src/main/java/org/openscience/cdk/geometry/GeometryTools.java index 4b6d8a309f1..f8147a28dc2 100644 --- a/legacy/src/main/java/org/openscience/cdk/geometry/GeometryTools.java +++ b/legacy/src/main/java/org/openscience/cdk/geometry/GeometryTools.java @@ -44,6 +44,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.interfaces.IChemModel; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IReaction; import org.openscience.cdk.interfaces.IRing; import org.openscience.cdk.interfaces.IRingSet; @@ -1574,7 +1575,7 @@ public static double getHeavyAtomRMSD(IAtomContainer firstAtomContainer, IAtomCo secondAtomNumber = mappedAtoms.get(firstAtomNumber); IAtom firstAtom = firstAtomContainer.getAtom(firstAtomNumber); if (hetAtomOnly) { - if (!firstAtom.getSymbol().equals("H") && !firstAtom.getSymbol().equals("C")) { + if (firstAtom.getAtomicNumber() != IElement.H && firstAtom.getAtomicNumber() != IElement.C) { if (Coords3d) { sum = sum + Math.pow( @@ -1590,7 +1591,7 @@ public static double getHeavyAtomRMSD(IAtomContainer firstAtomContainer, IAtomCo } } } else { - if (!firstAtom.getSymbol().equals("H")) { + if (firstAtom.getAtomicNumber() != IElement.H) { if (Coords3d) { sum = sum + Math.pow( diff --git a/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/smarts/HydrogenAtom.java b/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/smarts/HydrogenAtom.java index f09b43d964c..e6c5e53c2d2 100644 --- a/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/smarts/HydrogenAtom.java +++ b/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/smarts/HydrogenAtom.java @@ -20,6 +20,7 @@ import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IChemObjectBuilder; +import org.openscience.cdk.interfaces.IElement; import java.util.List; @@ -46,7 +47,7 @@ public HydrogenAtom(IChemObjectBuilder builder) { */ @Override public boolean matches(IAtom atom) { - if (!atom.getSymbol().equals("H")) { + if (atom.getAtomicNumber() != IElement.H) { return false; } @@ -57,7 +58,7 @@ public boolean matches(IAtom atom) { // hydrogens connected to other hydrogens, e.g., molecular hydrogen List list = invariants(atom).target().getConnectedAtomsList(atom); for (IAtom connAtom : list) { - if (connAtom.getSymbol().equals("H")) { + if (connAtom.getAtomicNumber() == IElement.H) { return true; } } diff --git a/legacy/src/main/java/org/openscience/cdk/normalize/SMSDNormalizer.java b/legacy/src/main/java/org/openscience/cdk/normalize/SMSDNormalizer.java index 77965766b56..80a3cc20092 100644 --- a/legacy/src/main/java/org/openscience/cdk/normalize/SMSDNormalizer.java +++ b/legacy/src/main/java/org/openscience/cdk/normalize/SMSDNormalizer.java @@ -44,6 +44,7 @@ import org.openscience.cdk.interfaces.IAtomType; import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.interfaces.IBond.Order; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.ILonePair; import org.openscience.cdk.interfaces.IPseudoAtom; import org.openscience.cdk.interfaces.IRing; @@ -187,7 +188,7 @@ public static int getExplicitHydrogenCount(IAtomContainer atomContainer, IAtom a int hCount = 0; for (IAtom iAtom : atomContainer.getConnectedAtomsList(atom)) { IAtom connectedAtom = iAtom; - if (connectedAtom.getSymbol().equals("H")) { + if (connectedAtom.getAtomicNumber() == IElement.H) { hCount++; } } @@ -232,7 +233,7 @@ public static IAtomContainer removeHydrogensAndPreserveAtomID(IAtomContainer ato for (int i = 0; i < count; i++) { // Clone/remove this atom? IAtom atom = atomContainer.getAtom(i); - if (!atom.getSymbol().equals("H")) { + if (atom.getAtomicNumber() != IElement.H) { IAtom clonedAtom = null; try { clonedAtom = (IAtom) atom.clone(); diff --git a/legacy/src/main/java/org/openscience/cdk/qsar/descriptors/molecular/IPMolecularLearningDescriptor.java b/legacy/src/main/java/org/openscience/cdk/qsar/descriptors/molecular/IPMolecularLearningDescriptor.java index b83a087fcc9..9b650d754b3 100644 --- a/legacy/src/main/java/org/openscience/cdk/qsar/descriptors/molecular/IPMolecularLearningDescriptor.java +++ b/legacy/src/main/java/org/openscience/cdk/qsar/descriptors/molecular/IPMolecularLearningDescriptor.java @@ -25,6 +25,7 @@ import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.qsar.AbstractMolecularDescriptor; import org.openscience.cdk.qsar.DescriptorSpecification; import org.openscience.cdk.qsar.DescriptorValue; @@ -170,8 +171,8 @@ public DescriptorValue calculatePlus(IAtomContainer container) throws CDKExcepti } for (Iterator itB = container.bonds().iterator(); itB.hasNext();) { IBond bond = itB.next(); - if (bond.getOrder() == IBond.Order.DOUBLE & bond.getBegin().getSymbol().equals("C") - & bond.getEnd().getSymbol().equals("C")) { + if (bond.getOrder() == IBond.Order.DOUBLE & bond.getBegin().getAtomicNumber() == IElement.C + & bond.getEnd().getAtomicNumber() == IElement.C) { double value = IonizationPotentialTool.predictIP(container, bond); if (value != 0) dar.add(value); diff --git a/legacy/src/main/java/org/openscience/cdk/smiles/DeduceBondSystemTool.java b/legacy/src/main/java/org/openscience/cdk/smiles/DeduceBondSystemTool.java index 50d4665d5c3..fdee83c1561 100644 --- a/legacy/src/main/java/org/openscience/cdk/smiles/DeduceBondSystemTool.java +++ b/legacy/src/main/java/org/openscience/cdk/smiles/DeduceBondSystemTool.java @@ -35,6 +35,7 @@ import org.openscience.cdk.interfaces.IAtomType; import org.openscience.cdk.interfaces.IAtomType.Hybridization; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IRing; import org.openscience.cdk.interfaces.IRingSet; import org.openscience.cdk.ringsearch.AllRingsFinder; @@ -224,11 +225,11 @@ private void FixPyridineNOxides(IAtomContainer atomContainer, IRingSet ringSet) for (int i = 0; i < atomContainer.getAtomCount(); i++) { IAtom ai = atomContainer.getAtom(i); - if (ai.getSymbol().equals("N") && (ai.getFormalCharge() == null || ai.getFormalCharge() == 0)) { + if (ai.getAtomicNumber() == IElement.N && (ai.getFormalCharge() == null || ai.getFormalCharge() == 0)) { if (inRingSet(ai, ringSet)) { List ca = atomContainer.getConnectedAtomsList(ai); for (IAtom caj : ca) { - if (caj.getSymbol().equals("O") + if (caj.getAtomicNumber() == IElement.O && atomContainer.getBond(ai, caj).getOrder() == IBond.Order.DOUBLE) { ai.setFormalCharge(1); caj.setFormalCharge(-1); @@ -237,7 +238,7 @@ private void FixPyridineNOxides(IAtomContainer atomContainer, IRingSet ringSet) }// end for (int j=0;j 2) { count++; } @@ -734,7 +735,7 @@ private IRingSet removeExtraRings(IAtomContainer m) { i--; // go back continue iloop; // NonSP2Count++; - // if (r.getAtom(j).getSymbol().equals("C")) { + // if (r.getAtom(j).getAtomicNumber() == IElement.C) { // rs.removeAtomContainer(i); // i--; // go back // continue iloop; @@ -784,7 +785,7 @@ private boolean[] findRingsToCheck(IRingSet rs) { if (r.getAtom(j).getHybridization() == CDKConstants.UNSET || r.getAtom(j).getHybridization() != Hybridization.SP2) { NonSP2Count++; - if (r.getAtom(j).getSymbol().equals("C")) { + if (r.getAtom(j).getAtomicNumber() == IElement.C) { Check[i] = false; continue iloop; } diff --git a/legacy/src/main/java/org/openscience/cdk/smsd/algorithm/rgraph/CDKMCS.java b/legacy/src/main/java/org/openscience/cdk/smsd/algorithm/rgraph/CDKMCS.java index e54758b9d9e..7d44ab14cef 100644 --- a/legacy/src/main/java/org/openscience/cdk/smsd/algorithm/rgraph/CDKMCS.java +++ b/legacy/src/main/java/org/openscience/cdk/smsd/algorithm/rgraph/CDKMCS.java @@ -61,6 +61,7 @@ import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.isomorphism.matchers.IQueryAtom; import org.openscience.cdk.isomorphism.matchers.IQueryAtomContainer; import org.openscience.cdk.isomorphism.matchers.IQueryBond; @@ -1095,21 +1096,21 @@ private static boolean testSubgraphHeuristics(IAtomContainer ac1, IAtomContainer for (int i = 0; i < ac1.getAtomCount(); i++) { atom = ac1.getAtom(i); - if (atom.getSymbol().equals("S")) { + if (atom.getAtomicNumber() == IElement.S) { ac1SCount++; - } else if (atom.getSymbol().equals("N")) { + } else if (atom.getAtomicNumber() == IElement.N) { ac1NCount++; - } else if (atom.getSymbol().equals("O")) { + } else if (atom.getAtomicNumber() == IElement.O) { ac1OCount++; - } else if (atom.getSymbol().equals("F")) { + } else if (atom.getAtomicNumber() == IElement.F) { ac1FCount++; - } else if (atom.getSymbol().equals("Cl")) { + } else if (atom.getAtomicNumber() == IElement.Cl) { ac1ClCount++; - } else if (atom.getSymbol().equals("Br")) { + } else if (atom.getAtomicNumber() == IElement.Br) { ac1BrCount++; - } else if (atom.getSymbol().equals("I")) { + } else if (atom.getAtomicNumber() == IElement.I) { ac1ICount++; - } else if (atom.getSymbol().equals("C")) { + } else if (atom.getAtomicNumber() == IElement.C) { ac1CCount++; } } @@ -1118,21 +1119,21 @@ private static boolean testSubgraphHeuristics(IAtomContainer ac1, IAtomContainer if (atom instanceof IQueryAtom) { continue; } - if (atom.getSymbol().equals("S")) { + if (atom.getAtomicNumber() == IElement.S) { ac2SCount++; - } else if (atom.getSymbol().equals("N")) { + } else if (atom.getAtomicNumber() == IElement.N) { ac2NCount++; - } else if (atom.getSymbol().equals("O")) { + } else if (atom.getAtomicNumber() == IElement.O) { ac2OCount++; - } else if (atom.getSymbol().equals("F")) { + } else if (atom.getAtomicNumber() == IElement.F) { ac2FCount++; - } else if (atom.getSymbol().equals("Cl")) { + } else if (atom.getAtomicNumber() == IElement.Cl) { ac2ClCount++; - } else if (atom.getSymbol().equals("Br")) { + } else if (atom.getAtomicNumber() == IElement.Br) { ac2BrCount++; - } else if (atom.getSymbol().equals("I")) { + } else if (atom.getAtomicNumber() == IElement.I) { ac2ICount++; - } else if (atom.getSymbol().equals("C")) { + } else if (atom.getAtomicNumber() == IElement.C) { ac2CCount++; } } diff --git a/legacy/src/main/java/org/openscience/cdk/smsd/algorithm/single/SingleMapping.java b/legacy/src/main/java/org/openscience/cdk/smsd/algorithm/single/SingleMapping.java index fffb9c20912..e2ee0d654de 100644 --- a/legacy/src/main/java/org/openscience/cdk/smsd/algorithm/single/SingleMapping.java +++ b/legacy/src/main/java/org/openscience/cdk/smsd/algorithm/single/SingleMapping.java @@ -37,6 +37,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.interfaces.IBond.Order; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.isomorphism.matchers.IQueryAtom; import org.openscience.cdk.isomorphism.matchers.IQueryAtomContainer; import org.openscience.cdk.smsd.tools.BondEnergies; @@ -122,7 +123,7 @@ private void setSourceSingleAtomMap(IQueryAtomContainer source, boolean removeHy BondEnergies be = BondEnergies.getInstance(); for (IAtom sourceAtom : source.atoms()) { IQueryAtom smartAtom = (IQueryAtom) sourceAtom; - if ((removeHydrogen && !smartAtom.getSymbol().equals("H")) || (!removeHydrogen)) { + if ((removeHydrogen && smartAtom.getAtomicNumber() != IElement.H) || (!removeHydrogen)) { for (IAtom targetAtom : target.atoms()) { Map mapAtoms = new HashMap(); if (smartAtom.matches(targetAtom)) { @@ -151,7 +152,7 @@ private void setSourceSingleAtomMap(boolean removeHydrogen) throws CDKException int counter = 0; BondEnergies be = BondEnergies.getInstance(); for (IAtom sourceAtom : source.atoms()) { - if ((removeHydrogen && !sourceAtom.getSymbol().equals("H")) || (!removeHydrogen)) { + if ((removeHydrogen && sourceAtom.getAtomicNumber() != IElement.H) || (!removeHydrogen)) { for (IAtom targetAtom : target.atoms()) { Map mapAtoms = new HashMap(); if (sourceAtom.getSymbol().equalsIgnoreCase(targetAtom.getSymbol())) { @@ -180,7 +181,7 @@ private void setTargetSingleAtomMap(boolean removeHydrogen) throws CDKException int counter = 0; BondEnergies be = BondEnergies.getInstance(); for (IAtom targetAtom : target.atoms()) { - if ((removeHydrogen && !targetAtom.getSymbol().equals("H")) || (!removeHydrogen)) { + if ((removeHydrogen && targetAtom.getAtomicNumber() != IElement.H) || (!removeHydrogen)) { for (IAtom sourceAtoms : source.atoms()) { Map mapAtoms = new HashMap(); diff --git a/legacy/src/main/java/org/openscience/cdk/smsd/tools/ExtAtomContainerManipulator.java b/legacy/src/main/java/org/openscience/cdk/smsd/tools/ExtAtomContainerManipulator.java index 04e4591c57e..c5f857149ad 100644 --- a/legacy/src/main/java/org/openscience/cdk/smsd/tools/ExtAtomContainerManipulator.java +++ b/legacy/src/main/java/org/openscience/cdk/smsd/tools/ExtAtomContainerManipulator.java @@ -42,6 +42,7 @@ import org.openscience.cdk.interfaces.IAtomType; import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.interfaces.IBond.Order; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.ILonePair; import org.openscience.cdk.interfaces.IPseudoAtom; import org.openscience.cdk.interfaces.IRing; @@ -189,7 +190,7 @@ public static int getExplicitHydrogenCount(IAtomContainer atomContainer, IAtom a int hCount = 0; for (IAtom iAtom : atomContainer.getConnectedAtomsList(atom)) { IAtom connectedAtom = iAtom; - if (connectedAtom.getSymbol().equals("H")) { + if (connectedAtom.getAtomicNumber() == IElement.H) { hCount++; } } @@ -233,7 +234,7 @@ public static IAtomContainer removeHydrogensExceptSingleAndPreserveAtomID(IAtomC for (int i = 0; i < count; i++) { // Clone/remove this atom? IAtom atom = atomContainer.getAtom(i); - if (!atom.getSymbol().equals("H")) { + if (atom.getAtomicNumber() != IElement.H) { IAtom clonedAtom = null; try { clonedAtom = (IAtom) atom.clone(); diff --git a/legacy/src/main/java/org/openscience/cdk/smsd/tools/MoleculeSanityCheck.java b/legacy/src/main/java/org/openscience/cdk/smsd/tools/MoleculeSanityCheck.java index d80f7d6d09c..bbd526f5fc0 100644 --- a/legacy/src/main/java/org/openscience/cdk/smsd/tools/MoleculeSanityCheck.java +++ b/legacy/src/main/java/org/openscience/cdk/smsd/tools/MoleculeSanityCheck.java @@ -31,6 +31,7 @@ import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IAtomContainerSet; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IRing; import org.openscience.cdk.interfaces.IRingSet; import org.openscience.cdk.ringsearch.AllRingsFinder; @@ -56,7 +57,7 @@ public class MoleculeSanityCheck { public static IAtomContainer checkAndCleanMolecule(IAtomContainer molecule) { boolean isMarkush = false; for (IAtom atom : molecule.atoms()) { - if (atom.getSymbol().equals("R")) { + if (atom.getAtomicNumber() == IElement.Wildcard) { isMarkush = true; break; } diff --git a/legacy/src/main/java/org/openscience/cdk/tools/CDKUtilities.java b/legacy/src/main/java/org/openscience/cdk/tools/CDKUtilities.java index f33de1dd333..a8293cfbba2 100644 --- a/legacy/src/main/java/org/openscience/cdk/tools/CDKUtilities.java +++ b/legacy/src/main/java/org/openscience/cdk/tools/CDKUtilities.java @@ -23,6 +23,7 @@ import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IRing; import org.openscience.cdk.interfaces.IRingSet; import org.openscience.cdk.ringsearch.AllRingsFinder; @@ -64,7 +65,7 @@ private static boolean fixNitroGroups(IAtomContainer m) { try { for (int i = 0; i <= m.getAtomCount() - 1; i++) { IAtom a = m.getAtom(i); - if (a.getSymbol().equals("N")) { + if (a.getAtomicNumber() == IElement.N) { List ca = m.getConnectedAtomsList(a); if (ca.size() == 3) { @@ -74,7 +75,7 @@ private static boolean fixNitroGroups(IAtomContainer m) { int count = 0; for (int j = 0; j <= 2; j++) { - if (((IAtom) ca.get(j)).getSymbol().equals("O")) { + if (((IAtom) ca.get(j)).getAtomicNumber() == IElement.O) { count++; } } @@ -84,7 +85,7 @@ private static boolean fixNitroGroups(IAtomContainer m) { count = 0; for (int j = 0; j <= 2; j++) { IAtom caj = (IAtom) ca.get(j); - if (caj.getSymbol().equals("O")) { + if (caj.getAtomicNumber() == IElement.O) { if (m.getConnectedBondsCount(caj) == 1) {// account for possibility of ONO2 cao[count] = caj; count++; @@ -124,7 +125,7 @@ public static boolean fixNitroGroups2(IAtomContainer m) { try { for (int i = 0; i <= m.getAtomCount() - 1; i++) { IAtom a = m.getAtom(i); - if (a.getSymbol().equals("N")) { + if (a.getAtomicNumber() == IElement.N) { List ca = m.getConnectedAtomsList(a); if (ca.size() == 3) { @@ -135,7 +136,7 @@ public static boolean fixNitroGroups2(IAtomContainer m) { for (int j = 0; j <= 2; j++) { IAtom caj = ca.get(j); - if (caj.getSymbol().equals("O")) { + if (caj.getAtomicNumber() == IElement.O) { count++; } } @@ -145,7 +146,7 @@ public static boolean fixNitroGroups2(IAtomContainer m) { count = 0; for (int j = 0; j <= 2; j++) { IAtom caj = (IAtom) ca.get(j); - if (caj.getSymbol().equals("O")) { + if (caj.getAtomicNumber() == IElement.O) { if (m.getConnectedBondsCount(caj) == 1) {// account for possibility of ONO2 cao[count] = caj; count++; @@ -246,14 +247,14 @@ public static void fixSulphurH(IAtomContainer m) { for (int i = 0; i <= m.getAtomCount() - 1; i++) { IAtom a = m.getAtom(i); - if (a.getSymbol().equals("S")) { + if (a.getAtomicNumber() == IElement.S) { List connectedAtoms = m.getConnectedAtomsList(a); int bondOrderSum = 0; for (int j = 0; j < connectedAtoms.size(); j++) { IAtom conAtom = connectedAtoms.get(j); - if (!conAtom.getSymbol().equals("H")) { + if (conAtom.getAtomicNumber() != IElement.H) { IBond bond = m.getBond(a, conAtom); if (bond.getOrder() == IBond.Order.SINGLE) { bondOrderSum += 1; @@ -270,7 +271,7 @@ public static void fixSulphurH(IAtomContainer m) { if (bondOrderSum > 1) { for (int j = 0; j < connectedAtoms.size(); j++) { IAtom conAtom = (IAtom) connectedAtoms.get(j); - if (conAtom.getSymbol().equals("H")) { + if (conAtom.getAtomicNumber() == IElement.H) { m.removeAtom(conAtom); } } diff --git a/legacy/src/main/java/org/openscience/cdk/tools/DeAromatizationTool.java b/legacy/src/main/java/org/openscience/cdk/tools/DeAromatizationTool.java index 98c7b35ac4d..46428670892 100644 --- a/legacy/src/main/java/org/openscience/cdk/tools/DeAromatizationTool.java +++ b/legacy/src/main/java/org/openscience/cdk/tools/DeAromatizationTool.java @@ -28,6 +28,7 @@ import org.openscience.cdk.CDKConstants; import org.openscience.cdk.Element; import org.openscience.cdk.interfaces.IAtomContainer; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IRing; import org.openscience.cdk.interfaces.IRingSet; import org.openscience.cdk.interfaces.IAtom; @@ -100,7 +101,7 @@ private static boolean deAromatizePyrolle(IRing ring) { if (ring.getBondCount() != 5) return false; for (int i = 0; i < ring.getAtomCount(); i++) { IAtom atom = ring.getAtom(i); - if (atom.getSymbol().equals("N")) { + if (atom.getAtomicNumber() == IElement.N) { int done = 0; IBond bond = null; int count = 0; diff --git a/legacy/src/test/java/org/openscience/cdk/aromaticity/CDKHueckelAromaticityDetectorTest.java b/legacy/src/test/java/org/openscience/cdk/aromaticity/CDKHueckelAromaticityDetectorTest.java index c02670a0733..3252a455d94 100644 --- a/legacy/src/test/java/org/openscience/cdk/aromaticity/CDKHueckelAromaticityDetectorTest.java +++ b/legacy/src/test/java/org/openscience/cdk/aromaticity/CDKHueckelAromaticityDetectorTest.java @@ -29,6 +29,7 @@ import org.openscience.cdk.Atom; import org.openscience.cdk.AtomContainer; import org.openscience.cdk.CDKConstants; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.test.CDKTestCase; import org.openscience.cdk.DefaultChemObjectBuilder; import org.openscience.cdk.exception.CDKException; @@ -663,12 +664,12 @@ public void test3Amino2MethylPyridine() throws Exception { int nNaliph = 0; while (atoms.hasNext()) { IAtom atom = atoms.next(); - if (atom.getSymbol().equals("C")) { + if (atom.getAtomicNumber() == IElement.C) { if (atom.getFlag(CDKConstants.ISAROMATIC)) nCarom++; else nCalip++; - } else if (atom.getSymbol().equals("N")) { + } else if (atom.getAtomicNumber() == IElement.N) { if (atom.getFlag(CDKConstants.ISAROMATIC)) nNarom++; else @@ -765,7 +766,7 @@ public void testAromaticNOxide() throws Exception { AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol); Assert.assertTrue(Aromaticity.cdkLegacy().apply(mol)); for (IAtom atom : mol.atoms()) { - if (atom.getSymbol().equals("O")) continue; + if (atom.getAtomicNumber() == IElement.O) continue; Assert.assertTrue(atom.getSymbol() + " was not aromatic but should have been", atom.getFlag(CDKConstants.ISAROMATIC)); } @@ -783,7 +784,7 @@ public void testAromaticNOxideCharged() throws Exception { AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol); Assert.assertTrue(Aromaticity.cdkLegacy().apply(mol)); for (IAtom atom : mol.atoms()) { - if (atom.getSymbol().equals("O")) continue; + if (atom.getAtomicNumber() == IElement.O) continue; Assert.assertTrue(atom.getSymbol() + " was not aromatic but should have been", atom.getFlag(CDKConstants.ISAROMATIC)); } @@ -833,7 +834,7 @@ public void test3001616() throws Exception { AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol); Assert.assertTrue(Aromaticity.cdkLegacy().apply(mol)); for (IAtom atom : mol.atoms()) { - if (atom.getSymbol().equals("N")) { + if (atom.getAtomicNumber() == IElement.N) { Assert.assertTrue(atom.getFlag(CDKConstants.ISAROMATIC)); List conbonds = mol.getConnectedBondsList(atom); if (conbonds.size() == 2) { @@ -866,7 +867,7 @@ public void testBug2853035() throws Exception { AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol); Assert.assertTrue(Aromaticity.cdkLegacy().apply(mol)); for (IAtom atom : mol.atoms()) { - if (atom.getSymbol().equals("N")) { + if (atom.getAtomicNumber() == IElement.N) { Assert.assertTrue(atom.getFlag(CDKConstants.ISAROMATIC)); List conbonds = mol.getConnectedBondsList(atom); for (IBond bond : conbonds) { diff --git a/legacy/src/test/java/org/openscience/cdk/aromaticity/DoubleBondAcceptingAromaticityDetectorTest.java b/legacy/src/test/java/org/openscience/cdk/aromaticity/DoubleBondAcceptingAromaticityDetectorTest.java index 5d540f3a814..a1f671be7cd 100644 --- a/legacy/src/test/java/org/openscience/cdk/aromaticity/DoubleBondAcceptingAromaticityDetectorTest.java +++ b/legacy/src/test/java/org/openscience/cdk/aromaticity/DoubleBondAcceptingAromaticityDetectorTest.java @@ -29,6 +29,7 @@ import org.junit.Test; import org.openscience.cdk.Atom; import org.openscience.cdk.CDKConstants; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.test.CDKTestCase; import org.openscience.cdk.DefaultChemObjectBuilder; import org.openscience.cdk.exception.CDKException; @@ -615,12 +616,12 @@ public void test3Amino2MethylPyridine() throws Exception { int nNaliph = 0; while (atoms.hasNext()) { IAtom atom = atoms.next(); - if (atom.getSymbol().equals("C")) { + if (atom.getAtomicNumber() == IElement.C) { if (atom.getFlag(CDKConstants.ISAROMATIC)) nCarom++; else nCalip++; - } else if (atom.getSymbol().equals("N")) { + } else if (atom.getAtomicNumber() == IElement.N) { if (atom.getFlag(CDKConstants.ISAROMATIC)) nNarom++; else @@ -717,7 +718,7 @@ public void testAromaticNOxide() throws Exception { AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol); Assert.assertTrue(DoubleBondAcceptingAromaticityDetector.detectAromaticity(mol)); for (IAtom atom : mol.atoms()) { - if (atom.getSymbol().equals("O")) continue; + if (atom.getAtomicNumber() == IElement.O) continue; Assert.assertTrue(atom.getSymbol() + " was not aromatic but should have been", atom.getFlag(CDKConstants.ISAROMATIC)); } @@ -735,7 +736,7 @@ public void testAromaticNOxideCharged() throws Exception { AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol); Assert.assertTrue(DoubleBondAcceptingAromaticityDetector.detectAromaticity(mol)); for (IAtom atom : mol.atoms()) { - if (atom.getSymbol().equals("O")) { + if (atom.getAtomicNumber() == IElement.O) { Assert.assertFalse("The oxygen should not be labeled as aromatic", atom.getFlag(CDKConstants.ISAROMATIC)); continue; @@ -789,7 +790,7 @@ public void test3001616() throws Exception { AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol); Assert.assertTrue(DoubleBondAcceptingAromaticityDetector.detectAromaticity(mol)); for (IAtom atom : mol.atoms()) { - if (atom.getSymbol().equals("N")) { + if (atom.getAtomicNumber() == IElement.N) { Assert.assertTrue(atom.getFlag(CDKConstants.ISAROMATIC)); List conbonds = mol.getConnectedBondsList(atom); if (conbonds.size() == 2) { @@ -822,7 +823,7 @@ public void testBug2853035() throws Exception { AtomContainerManipulator.percieveAtomTypesAndConfigureAtoms(mol); Assert.assertTrue(DoubleBondAcceptingAromaticityDetector.detectAromaticity(mol)); for (IAtom atom : mol.atoms()) { - if (atom.getSymbol().equals("N")) { + if (atom.getAtomicNumber() == IElement.N) { Assert.assertTrue(atom.getFlag(CDKConstants.ISAROMATIC)); List conbonds = mol.getConnectedBondsList(atom); for (IBond bond : conbonds) { diff --git a/legacy/src/test/java/org/openscience/cdk/tools/IonizationPotentialToolTest.java b/legacy/src/test/java/org/openscience/cdk/tools/IonizationPotentialToolTest.java index aa9ebaa509c..f7377d69b43 100644 --- a/legacy/src/test/java/org/openscience/cdk/tools/IonizationPotentialToolTest.java +++ b/legacy/src/test/java/org/openscience/cdk/tools/IonizationPotentialToolTest.java @@ -20,6 +20,7 @@ import org.junit.Assert; import org.junit.Test; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.test.CDKTestCase; import org.openscience.cdk.DefaultChemObjectBuilder; import org.openscience.cdk.aromaticity.Aromaticity; @@ -73,7 +74,7 @@ public void testBenzene() throws Exception { Iterator atoms = molecule.atoms().iterator(); while (atoms.hasNext()) { IAtom atom = atoms.next(); - if (atom.getSymbol().equals("H")) continue; + if (atom.getAtomicNumber() == IElement.H) continue; carbonIPs.add(IonizationPotentialTool.predictIP(molecule, atom)); } diff --git a/misc/extra/src/main/java/org/openscience/cdk/graph/invariant/EquivalentClassPartitioner.java b/misc/extra/src/main/java/org/openscience/cdk/graph/invariant/EquivalentClassPartitioner.java index 79f341f9938..35558e16456 100644 --- a/misc/extra/src/main/java/org/openscience/cdk/graph/invariant/EquivalentClassPartitioner.java +++ b/misc/extra/src/main/java/org/openscience/cdk/graph/invariant/EquivalentClassPartitioner.java @@ -28,6 +28,7 @@ import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.tools.ILoggingTool; import org.openscience.cdk.tools.LoggingToolFactory; @@ -256,13 +257,13 @@ else if (order0 == IBond.Order.SINGLE || order1 == IBond.Order.SINGLE logger.debug("in case of a new node, " + "please report this bug to cdk-devel@lists.sf.net."); } } else if (bonds.size() == 4) { - if (atom.getSymbol().equals("C")) + if (atom.getAtomicNumber() == IElement.C) nodeSequence[i] = 7;// >C< - else if (atom.getSymbol().equals("N")) + else if (atom.getAtomicNumber() == IElement.N) nodeSequence[i] = 24;// >N(=)- - else if (atom.getSymbol().equals("S")) + else if (atom.getAtomicNumber() == IElement.S) nodeSequence[i] = 36;// >S(=)= - else if (atom.getSymbol().equals("P")) + else if (atom.getAtomicNumber() == IElement.P) nodeSequence[i] = 41;// =P<- else { logger.debug("in case of a new node, " + "please report this bug to cdk-devel@lists.sf.net."); diff --git a/misc/extra/src/main/java/org/openscience/cdk/validate/BasicValidator.java b/misc/extra/src/main/java/org/openscience/cdk/validate/BasicValidator.java index 04257fe00fd..10d77b20bf8 100644 --- a/misc/extra/src/main/java/org/openscience/cdk/validate/BasicValidator.java +++ b/misc/extra/src/main/java/org/openscience/cdk/validate/BasicValidator.java @@ -124,8 +124,8 @@ public ValidationReport validateReaction(IReaction subject) { private ValidationReport validateCharge(IAtom atom) { ValidationReport report = new ValidationReport(); ValidationTest tooCharged = new ValidationTest(atom, "Atom has an unlikely large positive or negative charge"); - if (atom.getSymbol().equals("O") || atom.getSymbol().equals("N") || atom.getSymbol().equals("C") - || atom.getSymbol().equals("H")) { + if (atom.getAtomicNumber() == IElement.O || atom.getAtomicNumber() == IElement.N || atom.getAtomicNumber() == IElement.C + || atom.getAtomicNumber() == IElement.H) { if (atom.getFormalCharge() == 0) { report.addOK(tooCharged); } else { diff --git a/misc/test-extra/src/test/java/org/openscience/cdk/tools/BremserPredictorTest.java b/misc/test-extra/src/test/java/org/openscience/cdk/tools/BremserPredictorTest.java index fc575f2d836..7addacbc341 100644 --- a/misc/test-extra/src/test/java/org/openscience/cdk/tools/BremserPredictorTest.java +++ b/misc/test-extra/src/test/java/org/openscience/cdk/tools/BremserPredictorTest.java @@ -28,6 +28,7 @@ import org.junit.Assert; import org.junit.Test; import org.openscience.cdk.AtomContainer; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.test.CDKTestCase; import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.io.IChemObjectReader.Mode; @@ -159,7 +160,7 @@ private void removeHydrogens(IAtomContainer ac) { do { atom = ac.getAtom(f); - if (atom.getSymbol().equals("H")) { + if (atom.getAtomicNumber() == IElement.H) { ac.removeAtom(atom); } f--; diff --git a/storage/ctab/src/test/java/org/openscience/cdk/io/MDLV2000ReaderTest.java b/storage/ctab/src/test/java/org/openscience/cdk/io/MDLV2000ReaderTest.java index e1ab12f1118..99b317bfd27 100644 --- a/storage/ctab/src/test/java/org/openscience/cdk/io/MDLV2000ReaderTest.java +++ b/storage/ctab/src/test/java/org/openscience/cdk/io/MDLV2000ReaderTest.java @@ -43,6 +43,7 @@ import org.openscience.cdk.interfaces.IBond.Order; import org.openscience.cdk.interfaces.IChemFile; import org.openscience.cdk.interfaces.IChemObjectBuilder; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IPseudoAtom; import org.openscience.cdk.interfaces.IStereoElement; import org.openscience.cdk.interfaces.ITetrahedralChirality; @@ -781,13 +782,13 @@ public void testRGroupHashNumbering() throws Exception { partner = bond.getBegin(); rGroup = (IPseudoAtom) bond.getEnd(); } - if (partner.getSymbol().equals("N")) { + if (partner.getAtomicNumber() == IElement.N) { Assert.assertEquals(rGroup.getLabel(), "R4"); - } else if (partner.getSymbol().equals("P")) { + } else if (partner.getAtomicNumber() == IElement.P) { Assert.assertEquals(rGroup.getLabel(), "R1"); - } else if (partner.getSymbol().equals("As")) { + } else if (partner.getAtomicNumber() == IElement.As) { Assert.assertEquals(rGroup.getLabel(), "R4"); - } else if (partner.getSymbol().equals("Si")) { + } else if (partner.getAtomicNumber() == IElement.Si) { Assert.assertEquals(rGroup.getLabel(), "R"); } } @@ -899,7 +900,7 @@ public void testAtomValueLines() throws Exception { IAtomContainer result = reader.read(testMolecule); reader.close(); IAtom oxygen = result.getAtom(0); - assertTrue(oxygen.getSymbol().equals("O")); + assertTrue(oxygen.getAtomicNumber() == IElement.O); Assert.assertEquals(oxygen.getProperty(CDKConstants.COMMENT), "Oxygen comment"); } @@ -920,7 +921,7 @@ public void testDeuterium() throws Exception { reader.close(); int deuteriumCount = 0; for (IAtom atom : molecule.atoms()) - if (atom.getSymbol().equals("H") && atom.getMassNumber() != null && atom.getMassNumber() == 2) + if (atom.getAtomicNumber() == IElement.H && atom.getMassNumber() != null && atom.getMassNumber() == 2) deuteriumCount++; Assert.assertEquals(3, deuteriumCount); } @@ -948,7 +949,7 @@ public void testTritium() throws Exception { reader.close(); int tritiumCount = 0; for (IAtom atom : molecule.atoms()) - if (atom.getSymbol().equals("H") && atom.getMassNumber() != null && atom.getMassNumber() == 3) + if (atom.getAtomicNumber() == IElement.H && atom.getMassNumber() != null && atom.getMassNumber() == 3) tritiumCount++; Assert.assertEquals(1, tritiumCount); } @@ -979,7 +980,7 @@ public void testQueryBondType8() throws Exception { int queryBondCount = 0; for (IAtom atom : atc.atoms()) { - if (atom.getSymbol().equals("Ir")) { + if (atom.getAtomicNumber() == IElement.Ir) { for (IBond bond : atc.getConnectedBondsList(atom)) { if (bond instanceof QueryBond) { if (((QueryBond) bond).getExpression().type() == Expr.Type.TRUE) { diff --git a/storage/ctab/src/test/java/org/openscience/cdk/io/RGroupQueryReaderTest.java b/storage/ctab/src/test/java/org/openscience/cdk/io/RGroupQueryReaderTest.java index a86789f2b8f..e03768a3776 100644 --- a/storage/ctab/src/test/java/org/openscience/cdk/io/RGroupQueryReaderTest.java +++ b/storage/ctab/src/test/java/org/openscience/cdk/io/RGroupQueryReaderTest.java @@ -31,6 +31,7 @@ import org.openscience.cdk.CDKConstants; import org.openscience.cdk.DefaultChemObjectBuilder; import org.openscience.cdk.PseudoAtom; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.test.SlowTest; import org.openscience.cdk.exception.CDKException; import org.openscience.cdk.interfaces.IAtom; @@ -116,7 +117,7 @@ public void testRgroupQueryFile1() throws Exception { if (bond.contains(at)) { Assert.assertEquals(bond, apoBonds.get(1)); for (IAtom atInApo : bond.atoms()) { - Assert.assertTrue(atInApo.getSymbol().equals("R") || atInApo.getSymbol().equals("P")); + Assert.assertTrue(atInApo.getAtomicNumber() == IElement.Wildcard || atInApo.getAtomicNumber() == IElement.P); } } } @@ -146,7 +147,7 @@ public void testRgroupQueryFile1() throws Exception { for (IAtomContainer atc : configurations) { if (atc.getAtomCount() == 6) { for (IAtom atom : atc.atoms()) { - if (atom.getSymbol().equals("P")) { + if (atom.getAtomicNumber() == IElement.P) { Assert.assertNotNull(atom.getProperty(CDKConstants.REST_H)); Assert.assertEquals(atom.getProperty(CDKConstants.REST_H), true); restH_Identified = true; @@ -192,7 +193,7 @@ public void testRgroupQueryFile2() throws Exception { Map apoBonds = rootApo.get(at); Assert.assertEquals(apoBonds.size(), 2); Assert.assertEquals(apoBonds.get(1).getOther(at).getSymbol(), "N"); - Assert.assertTrue(apoBonds.get(2).getOther(at).getSymbol().equals("C")); + Assert.assertTrue(apoBonds.get(2).getOther(at).getAtomicNumber() == IElement.C); //Test: Oxygens are the 2nd APO's for R1 IRGroupList rList = rGroupQuery.getRGroupDefinitions().get(1); Assert.assertEquals(rList.getRGroups().size(), 2); @@ -235,7 +236,7 @@ public void testRgroupQueryFile2() throws Exception { for (IAtom atom : atc.atoms()) { if (atom.getProperty(CDKConstants.REST_H) != null) { countRestHForSmallestConfigurations++; - if (atom.getSymbol().equals("P")) + if (atom.getAtomicNumber() == IElement.P) Assert.assertEquals(atom.getProperty(CDKConstants.REST_H), true); } } @@ -273,10 +274,10 @@ public void testRgroupQueryFile3() throws Exception { Assert.assertEquals(apoBonds.size(), 2); IAtom boundAtom1 = apoBonds.get(1).getOther(at); - Assert.assertTrue(boundAtom1.getSymbol().equals("Te") || boundAtom1.getSymbol().equals("S")); + Assert.assertTrue(boundAtom1.getAtomicNumber() == IElement.Te || boundAtom1.getAtomicNumber() == IElement.S); IAtom boundAtom2 = apoBonds.get(2).getOther(at); - Assert.assertTrue(boundAtom2.getSymbol().equals("Po") || boundAtom2.getSymbol().equals("O")); + Assert.assertTrue(boundAtom2.getAtomicNumber() == IElement.Po || boundAtom2.getAtomicNumber() == IElement.O); } } diff --git a/storage/io/src/test/java/org/openscience/cdk/io/HINReaderTest.java b/storage/io/src/test/java/org/openscience/cdk/io/HINReaderTest.java index ecad8402ca5..bb10409761c 100644 --- a/storage/io/src/test/java/org/openscience/cdk/io/HINReaderTest.java +++ b/storage/io/src/test/java/org/openscience/cdk/io/HINReaderTest.java @@ -35,6 +35,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IAtomContainerSet; import org.openscience.cdk.interfaces.IChemFile; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.test.io.SimpleChemObjectReaderTest; import org.openscience.cdk.tools.ILoggingTool; import org.openscience.cdk.tools.LoggingToolFactory; @@ -194,7 +195,7 @@ public void testReadAromaticRingsKeyword() throws Exception { // make sure that only the phenyl C's were marked as aromatic for (IAtom atom : mol.atoms()) { - if (atom.getSymbol().equals("C")) + if (atom.getAtomicNumber() == IElement.C) Assert.assertTrue(atom.getSymbol() + " (index " + mol.indexOf(atom) + ") was wrongly marked as aromatic", atom.getFlag(CDKConstants.ISAROMATIC)); } diff --git a/storage/libiocml/src/test/java/org/openscience/cdk/io/cml/CML2Test.java b/storage/libiocml/src/test/java/org/openscience/cdk/io/cml/CML2Test.java index 8e1055ef282..e001445b025 100644 --- a/storage/libiocml/src/test/java/org/openscience/cdk/io/cml/CML2Test.java +++ b/storage/libiocml/src/test/java/org/openscience/cdk/io/cml/CML2Test.java @@ -29,6 +29,7 @@ import org.junit.Assert; import org.junit.Test; import org.openscience.cdk.CDKConstants; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.test.CDKTestCase; import org.openscience.cdk.ChemFile; import org.openscience.cdk.geometry.GeometryUtil; @@ -123,7 +124,7 @@ public void testCOONa() throws Exception { Iterator atoms = mol.atoms().iterator(); while (atoms.hasNext()) { org.openscience.cdk.interfaces.IAtom atom = atoms.next(); - if (atom.getSymbol().equals("Na")) Assert.assertEquals(+1, atom.getFormalCharge().intValue()); + if (atom.getAtomicNumber() == IElement.Na) Assert.assertEquals(+1, atom.getFormalCharge().intValue()); } } @@ -157,7 +158,7 @@ public void testNitrate() throws Exception { Iterator atoms = mol.atoms().iterator(); while (atoms.hasNext()) { org.openscience.cdk.interfaces.IAtom atom = atoms.next(); - if (atom.getSymbol().equals("N")) Assert.assertEquals(+1, atom.getFormalCharge().intValue()); + if (atom.getAtomicNumber() == IElement.N) Assert.assertEquals(+1, atom.getFormalCharge().intValue()); } } diff --git a/storage/smiles/src/test/java/org/openscience/cdk/smiles/SmilesGeneratorTest.java b/storage/smiles/src/test/java/org/openscience/cdk/smiles/SmilesGeneratorTest.java index 14ee9ef5c37..e4c93b17a4b 100644 --- a/storage/smiles/src/test/java/org/openscience/cdk/smiles/SmilesGeneratorTest.java +++ b/storage/smiles/src/test/java/org/openscience/cdk/smiles/SmilesGeneratorTest.java @@ -24,6 +24,7 @@ import org.openscience.cdk.Atom; import org.openscience.cdk.AtomContainer; import org.openscience.cdk.exception.InvalidSmilesException; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.test.CDKTestCase; import org.openscience.cdk.ChemFile; import org.openscience.cdk.DefaultChemObjectBuilder; @@ -631,9 +632,9 @@ private void fixCarbonHCount(IAtomContainer mol) { atom = mol.getAtom(f); bondCount = mol.getBondOrderSum(atom); int correction = (int) bondCount - (atom.getCharge() != null ? atom.getCharge().intValue() : 0); - if (atom.getSymbol().equals("C")) { + if (atom.getAtomicNumber() == IElement.C) { atom.setImplicitHydrogenCount(4 - correction); - } else if (atom.getSymbol().equals("N")) { + } else if (atom.getAtomicNumber() == IElement.N) { atom.setImplicitHydrogenCount(3 - correction); } } diff --git a/storage/smiles/src/test/java/org/openscience/cdk/smiles/SmilesParserTest.java b/storage/smiles/src/test/java/org/openscience/cdk/smiles/SmilesParserTest.java index baa401a97c7..db255a6320c 100644 --- a/storage/smiles/src/test/java/org/openscience/cdk/smiles/SmilesParserTest.java +++ b/storage/smiles/src/test/java/org/openscience/cdk/smiles/SmilesParserTest.java @@ -31,6 +31,7 @@ import org.junit.Ignore; import org.junit.Test; import org.openscience.cdk.CDKConstants; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.test.CDKTestCase; import org.openscience.cdk.DefaultChemObjectBuilder; import org.openscience.cdk.aromaticity.Aromaticity; @@ -176,7 +177,7 @@ public void testBug1579235() throws Exception { assertTrue(Aromaticity.cdkLegacy().apply(mol)); Assert.assertEquals("N", mol.getAtom(6).getSymbol()); for (IAtom atom : mol.atoms()) { - if (atom.getSymbol().equals("C")) { + if (atom.getAtomicNumber() == IElement.C) { Assert.assertEquals(IAtomType.Hybridization.SP2, atom.getHybridization()); } else { Assert.assertEquals(IAtomType.Hybridization.PLANAR3, atom.getHybridization()); @@ -208,9 +209,9 @@ public void testBug1579230() throws Exception { assertTrue(Aromaticity.cdkLegacy().apply(mol)); for (int i = 1; i < 13; i++) { // first atom is not aromatic IAtom atom = mol.getAtom(i); - if (atom.getSymbol().equals("C")) + if (atom.getAtomicNumber() == IElement.C) Assert.assertEquals(IAtomType.Hybridization.SP2, atom.getHybridization()); - if (atom.getSymbol().equals("N") || atom.getSymbol().equals("S")) { + if (atom.getAtomicNumber() == IElement.N || atom.getAtomicNumber() == IElement.S) { assertTrue(IAtomType.Hybridization.SP2 == atom.getHybridization() || IAtomType.Hybridization.PLANAR3 == atom.getHybridization()); } @@ -859,7 +860,7 @@ public void testPyrrole() throws Exception { String smiles = "c1ccc[NH]1"; IAtomContainer mol = sp.parseSmiles(smiles); for (int i = 0; i < mol.getAtomCount(); i++) { - if (mol.getAtom(i).getSymbol().equals("N")) { + if (mol.getAtom(i).getAtomicNumber() == IElement.N) { Assert.assertEquals(IBond.Order.SINGLE, ((IBond) mol.getConnectedBondsList(mol.getAtom(i)).get(0)).getOrder()); Assert.assertEquals(IBond.Order.SINGLE, @@ -1262,8 +1263,8 @@ public void testBug1365547_2() throws Exception { Assert.assertEquals(17, mol.getBondCount()); for (int i = 0; i < 17; i++) { IBond bond = mol.getBond(i); - if (bond.getBegin().getSymbol().equals("H") || bond.getBegin().getSymbol().equals("Br") - || bond.getEnd().getSymbol().equals("H") || bond.getEnd().getSymbol().equals("Br")) { + if (bond.getBegin().getAtomicNumber() == IElement.H || bond.getBegin().getAtomicNumber() == IElement.Br + || bond.getEnd().getAtomicNumber() == IElement.H || bond.getEnd().getAtomicNumber() == IElement.Br) { assertFalse(bond.getFlag(CDKConstants.ISAROMATIC)); } else { assertTrue(bond.getFlag(CDKConstants.ISAROMATIC)); @@ -1313,7 +1314,7 @@ public void testBug1530926() throws Exception { Assert.assertEquals(7, mol.getBondCount()); for (int i = 0; i < 7; i++) { IBond bond = mol.getBond(i); - if (bond.getBegin().getSymbol().equals("O") || bond.getEnd().getSymbol().equals("O")) { + if (bond.getBegin().getAtomicNumber() == IElement.O || bond.getEnd().getAtomicNumber() == IElement.O) { assertFalse(bond.getFlag(CDKConstants.ISAROMATIC)); } else { assertTrue(bond.getFlag(CDKConstants.ISAROMATIC)); diff --git a/tool/formula/src/main/java/org/openscience/cdk/tools/manipulator/MolecularFormulaManipulator.java b/tool/formula/src/main/java/org/openscience/cdk/tools/manipulator/MolecularFormulaManipulator.java index 084a321cf6a..f7f5fd124d7 100644 --- a/tool/formula/src/main/java/org/openscience/cdk/tools/manipulator/MolecularFormulaManipulator.java +++ b/tool/formula/src/main/java/org/openscience/cdk/tools/manipulator/MolecularFormulaManipulator.java @@ -1298,7 +1298,7 @@ public static boolean compare(IMolecularFormula formula1, IMolecularFormula form public static List getHeavyElements(IMolecularFormula formula) { List newEle = new ArrayList(); for (IElement element : elements(formula)) { - if (!element.getSymbol().equals("H")) { + if (element.getAtomicNumber() != IElement.H) { newEle.add(element); } } diff --git a/tool/sdg/src/main/java/org/openscience/cdk/layout/HydrogenPlacer.java b/tool/sdg/src/main/java/org/openscience/cdk/layout/HydrogenPlacer.java index 853cc0650e4..cd8cb593127 100644 --- a/tool/sdg/src/main/java/org/openscience/cdk/layout/HydrogenPlacer.java +++ b/tool/sdg/src/main/java/org/openscience/cdk/layout/HydrogenPlacer.java @@ -25,6 +25,7 @@ import org.openscience.cdk.geometry.GeometryUtil; import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.tools.ILoggingTool; import org.openscience.cdk.tools.LoggingToolFactory; @@ -116,7 +117,7 @@ public void placeHydrogens2D(IAtomContainer container, IAtom atom, double bondLe // divide connected atoms into those which are have and haven't been placed for (final IAtom conAtom : connected) { if (conAtom.getPoint2d() == null) { - if (conAtom.getSymbol().equals("H")) { + if (conAtom.getAtomicNumber() == IElement.H) { unplaced.addAtom(conAtom); } else { throw new IllegalArgumentException("cannot place hydrogens, atom has connected" diff --git a/tool/sdg/src/main/java/org/openscience/cdk/layout/StructureDiagramGenerator.java b/tool/sdg/src/main/java/org/openscience/cdk/layout/StructureDiagramGenerator.java index 91d07f03d88..a8e451d94fb 100644 --- a/tool/sdg/src/main/java/org/openscience/cdk/layout/StructureDiagramGenerator.java +++ b/tool/sdg/src/main/java/org/openscience/cdk/layout/StructureDiagramGenerator.java @@ -36,6 +36,7 @@ import org.openscience.cdk.interfaces.IAtomContainerSet; import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.interfaces.IChemObjectBuilder; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IPseudoAtom; import org.openscience.cdk.interfaces.IReaction; import org.openscience.cdk.interfaces.IRing; @@ -576,7 +577,7 @@ public void generateExperimentalCoordinates(Vector2d firstBondVector) throws CDK // delete single-bonded H's from //IAtom[] atoms = shallowCopy.getAtoms(); for (IAtom curAtom : shallowCopy.atoms()) { - if (curAtom.getSymbol().equals("H")) { + if (curAtom.getAtomicNumber() == IElement.H) { if (shallowCopy.getConnectedBondsCount(curAtom) < 2) { shallowCopy.removeAtom(curAtom); curAtom.setPoint2d(null); diff --git a/tool/sdg/src/test/java/org/openscience/cdk/layout/StructureDiagramGeneratorTest.java b/tool/sdg/src/test/java/org/openscience/cdk/layout/StructureDiagramGeneratorTest.java index 84c7d255aa4..0fcfb0e0b76 100644 --- a/tool/sdg/src/test/java/org/openscience/cdk/layout/StructureDiagramGeneratorTest.java +++ b/tool/sdg/src/test/java/org/openscience/cdk/layout/StructureDiagramGeneratorTest.java @@ -25,6 +25,7 @@ import org.openscience.cdk.Atom; import org.openscience.cdk.AtomContainer; import org.openscience.cdk.CDKConstants; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.test.CDKTestCase; import org.openscience.cdk.ChemFile; import org.openscience.cdk.ChemObject; @@ -990,15 +991,15 @@ public void multipleSalts() throws Exception { Set chlorines = new HashSet<>(); Set oxygens = new HashSet<>(); for (IAtom atom : mol.atoms()) { - if (atom.getSymbol().equals("Cl")) + if (atom.getAtomicNumber() == IElement.Cl) chlorines.add(atom); - else if (atom.getSymbol().equals("O")) + else if (atom.getAtomicNumber() == IElement.O) oxygens.add(atom); - else if (atom.getSymbol().equals("Al")) + else if (atom.getAtomicNumber() == IElement.Al) aluminiums.add(atom); - else if (atom.getSymbol().equals("K")) + else if (atom.getAtomicNumber() == IElement.K) potassiums.add(atom); - else if (atom.getSymbol().equals("Pt")) + else if (atom.getAtomicNumber() == IElement.Pt) platinum = atom; } From 07adbd22863e376bfef37c40ea15f0a6a358e5d2 Mon Sep 17 00:00:00 2001 From: John Mayfield Date: Mon, 7 Feb 2022 20:54:16 +0000 Subject: [PATCH 03/15] Negation of {string}.equals({var}.getSymbol()). --- .../org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java | 6 +++--- .../main/java/org/openscience/cdk/geometry/BondTools.java | 6 +++--- .../cdk/tools/manipulator/AtomContainerManipulator.java | 6 +++--- .../cdk/charges/GasteigerPEPEPartialCharges.java | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/base/core/src/main/java/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java b/base/core/src/main/java/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java index f074ddca996..ae291657597 100755 --- a/base/core/src/main/java/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java +++ b/base/core/src/main/java/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java @@ -664,7 +664,7 @@ private boolean isCarboxylate(IAtomContainer container, IAtom atom, List // assumes that the oxygen only has one neighbor (C=O, or C-[O-]) if (connectedBonds.size() != 1) return false; IAtom carbon = connectedBonds.get(0).getOther(atom); - if (!"C".equals(carbon.getSymbol())) return false; + if (carbon.getAtomicNumber() != IElement.C) return false; List carbonBonds = container.getConnectedBondsList(carbon); if (carbonBonds.size() < 2) return false; @@ -1003,13 +1003,13 @@ private boolean isSingleHeteroAtom(IAtom atom, IAtomContainer container) { if (!aromatic) continue; // found a hetroatom - we're not a single hetroatom - if (!"C".equals(atom1.getSymbol())) return false; + if (atom1.getAtomicNumber() != IElement.C) return false; // check the second sphere for (IAtom atom2 : container.getConnectedAtomsList(atom1)) { if (!atom2.equals(atom) && container.getBond(atom1, atom2).isAromatic() - && !"C".equals(atom2.getSymbol())) { + && atom2.getAtomicNumber() != IElement.C) { return false; } diff --git a/base/standard/src/main/java/org/openscience/cdk/geometry/BondTools.java b/base/standard/src/main/java/org/openscience/cdk/geometry/BondTools.java index 264d86ae016..f531cfd2697 100644 --- a/base/standard/src/main/java/org/openscience/cdk/geometry/BondTools.java +++ b/base/standard/src/main/java/org/openscience/cdk/geometry/BondTools.java @@ -232,7 +232,7 @@ private static boolean isEndOfDoubleBond(IAtomContainer container, IAtom atom, I String[] morgannumbers = MorganNumbersTools.getMorganNumbersWithElementSymbol(container); if ((one != null && two == null && "N".equals(atom.getSymbol()) && Math.abs(giveAngleBothMethods( parent, atom, one, true)) > Math.PI / 10) - || (!"N".equals(atom.getSymbol()) && one != null && two != null && !morgannumbers[container + || (atom.getAtomicNumber() != IElement.N && one != null && two != null && !morgannumbers[container .indexOf(one)].equals(morgannumbers[container.indexOf(two)]))) { return (true); } else { @@ -264,7 +264,7 @@ private static boolean isStartOfDoubleBond(IAtomContainer container, IAtom a, IA int lengthAtom = container.getConnectedAtomsList(a).size() + hcount; - if (lengthAtom != 3 && (lengthAtom != 2 && !"N".equals(a.getSymbol()))) { + if (lengthAtom != 3 && (lengthAtom != 2 && a.getAtomicNumber() != IElement.N)) { return (false); } List atoms = container.getConnectedAtomsList(a); @@ -286,7 +286,7 @@ && isEndOfDoubleBond(container, atom, a, doubleBondConfiguration)) { } String[] morgannumbers = MorganNumbersTools.getMorganNumbersWithElementSymbol(container); if (one != null - && ((!"N".equals(a.getSymbol()) + && ((a.getAtomicNumber() != IElement.N && two != null && !morgannumbers[container.indexOf(one)].equals(morgannumbers[container .indexOf(two)]) && doubleBond && doubleBondConfiguration[container.indexOf(container.getBond( diff --git a/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AtomContainerManipulator.java b/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AtomContainerManipulator.java index d3b37130f1a..a48d7fc889c 100644 --- a/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AtomContainerManipulator.java +++ b/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AtomContainerManipulator.java @@ -617,7 +617,7 @@ public static void convertImplicitToExplicitHydrogens(IAtomContainer atomContain Map hNeighbor = new HashMap<>(2*atomContainer.getAtomCount()); for (IAtom atom : atomContainer.atoms()) { - if (!"H".equals(atom.getSymbol())) { + if (atom.getAtomicNumber() != IElement.H) { Integer hCount = atom.getImplicitHydrogenCount(); if (hCount != null) { for (int i = 0; i < hCount; i++) { @@ -1174,7 +1174,7 @@ public static IAtomContainer removeHydrogens(IAtomContainer org) { */ private static boolean suppressibleHydrogen(final IAtomContainer container, final IAtom atom) { // is the atom a hydrogen - if (!"H".equals(atom.getSymbol())) return false; + if (atom.getAtomicNumber() != IElement.H) return false; // is the hydrogen an ion? if (atom.getFormalCharge() != null && atom.getFormalCharge() != 0) return false; // is the hydrogen deuterium / tritium? @@ -1225,7 +1225,7 @@ private static boolean suppressibleHydrogen(final IAtomContainer container, fina IAtom atom = container.getAtom(v); // is the atom a hydrogen - if (!"H".equals(atom.getSymbol())) return false; + if (atom.getAtomicNumber() != IElement.H) return false; // is the hydrogen an ion? if (atom.getFormalCharge() != null && atom.getFormalCharge() != 0) return false; // is the hydrogen deuterium / tritium? diff --git a/tool/charges/src/main/java/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java b/tool/charges/src/main/java/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java index 4fa228d7784..ac56569cf89 100644 --- a/tool/charges/src/main/java/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java +++ b/tool/charges/src/main/java/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java @@ -531,7 +531,7 @@ private IAtomContainerSet getHyperconjugationInteractions(IAtomContainer ac, IAt for (int k = 0; k < ati.getBondCount(); k++) { IAtom a0 = ati.getBond(k).getBegin(); IAtom a1 = ati.getBond(k).getEnd(); - if (!"H".equals(a0.getSymbol()) || !"H".equals(a1.getSymbol())) + if (a0.getAtomicNumber() != IElement.H || a1.getAtomicNumber() != IElement.H) if ((a0.getID().equals(ac.getBond(i).getBegin().getID()) && a1.getID().equals( ac.getBond(i).getEnd().getID())) || (a1.getID().equals(ac.getBond(i).getBegin().getID()) && a0.getID().equals( From 1955e63f41d73302666f004d22c4b8c8211967be Mon Sep 17 00:00:00 2001 From: John Mayfield Date: Mon, 7 Feb 2022 20:55:42 +0000 Subject: [PATCH 04/15] {string}.equals({var}.getSymbol()) --- .../cdk/atomtype/EStateAtomTypeMatcher.java | 2 +- .../cdk/atomtype/SybylAtomTypeMatcher.java | 8 +- .../cdk/atomtype/CDKAtomTypeMatcher.java | 140 +++++++++--------- .../openscience/cdk/geometry/BondTools.java | 10 +- .../manipulator/AtomContainerManipulator.java | 4 +- .../cdk/tools/SaturationChecker.java | 2 +- .../substance/OxygenAtomCountDescriptor.java | 2 +- .../generators/BasicAtomGenerator.java | 4 +- .../generators/BasicBondGenerator.java | 2 +- .../CDKHueckelAromaticityDetectorTest.java | 4 +- ...eBondAcceptingAromaticityDetectorTest.java | 4 +- .../cdk/graph/invariant/HuLuIndexTool.java | 2 +- .../openscience/cdk/io/MDLV2000Writer.java | 2 +- .../openscience/cdk/libio/cml/Convertor.java | 2 +- .../cdk/charges/Polarizability.java | 2 +- .../MolecularFormulaManipulator.java | 2 +- .../MolecularFormulaManipulatorTest.java | 4 +- .../openscience/cdk/hash/AtomSuppression.java | 2 +- .../cdk/layout/StructureDiagramGenerator.java | 2 +- 19 files changed, 100 insertions(+), 100 deletions(-) diff --git a/base/atomtype/src/main/java/org/openscience/cdk/atomtype/EStateAtomTypeMatcher.java b/base/atomtype/src/main/java/org/openscience/cdk/atomtype/EStateAtomTypeMatcher.java index 5d07b7a8b56..20ca843c7e5 100644 --- a/base/atomtype/src/main/java/org/openscience/cdk/atomtype/EStateAtomTypeMatcher.java +++ b/base/atomtype/src/main/java/org/openscience/cdk/atomtype/EStateAtomTypeMatcher.java @@ -78,7 +78,7 @@ public IAtomType findMatchingAtomType(IAtomContainer atomContainer, IAtom atom) for (int j = 0; j <= attachedAtoms.size() - 1; j++) { IAtom attached = (IAtom) attachedAtoms.get(j); IBond b = atomContainer.getBond(atom, attached); - if ("H".equals(attached.getSymbol())) NumHAtoms++; + if (attached.getAtomicNumber() == IElement.H) NumHAtoms++; if (atom.getFlag(CDKConstants.ISAROMATIC) && attached.getFlag(CDKConstants.ISAROMATIC)) { diff --git a/base/atomtype/src/main/java/org/openscience/cdk/atomtype/SybylAtomTypeMatcher.java b/base/atomtype/src/main/java/org/openscience/cdk/atomtype/SybylAtomTypeMatcher.java index 46a94b14b87..d65e335c16a 100644 --- a/base/atomtype/src/main/java/org/openscience/cdk/atomtype/SybylAtomTypeMatcher.java +++ b/base/atomtype/src/main/java/org/openscience/cdk/atomtype/SybylAtomTypeMatcher.java @@ -112,13 +112,13 @@ public IAtomType[] findMatchingAtomTypes(IAtomContainer atomContainer) throws CD @Override public IAtomType findMatchingAtomType(IAtomContainer atomContainer, IAtom atom) throws CDKException { IAtomType type = cdkMatcher.findMatchingAtomType(atomContainer, atom); - if ("Cr".equals(atom.getSymbol())) { + if (atom.getAtomicNumber() == IElement.Cr) { // if only I had good descriptions of the Sybyl atom types int neighbors = atomContainer.getConnectedBondsCount(atom); if (neighbors > 4 && neighbors <= 6) return factory.getAtomType("Cr.oh"); else if (neighbors > 0) return factory.getAtomType("Cr.th"); - } else if ("Co".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Co) { // if only I had good descriptions of the Sybyl atom types int neibors = atomContainer.getConnectedBondsCount(atom); if (neibors == 6) return factory.getAtomType("Co.oh"); @@ -142,7 +142,7 @@ private boolean isCarbonyl(IAtomContainer atomContainer, IAtom atom) { if (neighbors.size() != 1) return false; IBond neighbor = neighbors.get(0); IAtom neighborAtom = neighbor.getOther(atom); - if ("C".equals(neighborAtom.getSymbol())) { + if (neighborAtom.getAtomicNumber() == IElement.C) { if (neighbor.getOrder() == IBond.Order.SINGLE) { if (countAttachedBonds(atomContainer, neighborAtom, IBond.Order.DOUBLE, "O") == 1) return true; } else if (neighbor.getOrder() == IBond.Order.DOUBLE) { @@ -157,7 +157,7 @@ private boolean isNitro(IAtomContainer atomContainer, IAtom atom) { if (neighbors.size() != 3) return false; int oxygenCount = 0; for (IAtom neighbor : neighbors) - if ("O".equals(neighbor.getSymbol())) oxygenCount++; + if (neighbor.getAtomicNumber() == IElement.O) oxygenCount++; return (oxygenCount == 2); } diff --git a/base/core/src/main/java/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java b/base/core/src/main/java/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java index ae291657597..88911d5ed70 100755 --- a/base/core/src/main/java/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java +++ b/base/core/src/main/java/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java @@ -128,103 +128,103 @@ private IAtomType findMatchingAtomType(IAtomContainer atomContainer, IAtom atom, if (atom instanceof IPseudoAtom) { return factory.getAtomType("X"); } - if ("C".equals(atom.getSymbol())) { + if (atom.getAtomicNumber() == IElement.C) { type = perceiveCarbons(atomContainer, atom, searcher, connectedBonds); - } else if ("H".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.H) { type = perceiveHydrogens(atomContainer, atom, connectedBonds); - } else if ("O".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.O) { type = perceiveOxygens(atomContainer, atom, searcher, connectedBonds); - } else if ("N".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.N) { type = perceiveNitrogens(atomContainer, atom, searcher, connectedBonds); - } else if ("S".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.S) { type = perceiveSulphurs(atomContainer, atom, searcher, connectedBonds); - } else if ("P".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.P) { type = perceivePhosphors(atomContainer, atom, connectedBonds); - } else if ("Si".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Si) { type = perceiveSilicon(atomContainer, atom); - } else if ("Li".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Li) { type = perceiveLithium(atomContainer, atom); - } else if ("B".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.B) { type = perceiveBorons(atomContainer, atom); - } else if ("Be".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Be) { type = perceiveBeryllium(atomContainer, atom); - } else if ("Cr".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Cr) { type = perceiveChromium(atomContainer, atom); - } else if ("Se".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Se) { type = perceiveSelenium(atomContainer, atom, connectedBonds); - } else if ("Mo".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Mo) { type = perceiveMolybdenum(atomContainer, atom); - } else if ("Rb".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Rb) { type = perceiveRubidium(atomContainer, atom); - } else if ("Te".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Te) { type = perceiveTellurium(atomContainer, atom); - } else if ("Cu".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Cu) { type = perceiveCopper(atomContainer, atom); - } else if ("Ba".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Ba) { type = perceiveBarium(atomContainer, atom); - } else if ("Ga".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Ga) { type = perceiveGallium(atomContainer, atom); - } else if ("Ru".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Ru) { type = perceiveRuthenium(atomContainer, atom); - } else if ("Zn".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Zn) { type = perceiveZinc(atomContainer, atom); - } else if ("Al".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Al) { type = perceiveAluminium(atomContainer, atom); - } else if ("Ni".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Ni) { type = perceiveNickel(atomContainer, atom); - } else if ("Gd".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Gd) { type = perceiveGadolinum(atomContainer, atom); - } else if ("Ge".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Ge) { type = perceiveGermanium(atomContainer, atom); - } else if ("Co".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Co) { type = perceiveCobalt(atomContainer, atom); - } else if ("Br".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Br) { type = perceiveBromine(atomContainer, atom); - } else if ("V".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.V) { type = perceiveVanadium(atomContainer, atom); - } else if ("Ti".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Ti) { type = perceiveTitanium(atomContainer, atom); - } else if ("Sr".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Sr) { type = perceiveStrontium(atomContainer, atom); - } else if ("Pb".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Pb) { type = perceiveLead(atomContainer, atom); - } else if ("Tl".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Tl) { type = perceiveThallium(atomContainer, atom); - } else if ("Sb".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Sb) { type = perceiveAntimony(atomContainer, atom); - } else if ("Pt".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Pt) { type = perceivePlatinum(atomContainer, atom); - } else if ("Hg".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Hg) { type = perceiveMercury(atomContainer, atom); - } else if ("Fe".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Fe) { type = perceiveIron(atomContainer, atom); - } else if ("Ra".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Ra) { type = perceiveRadium(atomContainer, atom); - } else if ("Au".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Au) { type = perceiveGold(atomContainer, atom); - } else if ("Ag".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Ag) { type = perceiveSilver(atomContainer, atom); - } else if ("Cl".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Cl) { type = perceiveChlorine(atomContainer, atom, connectedBonds); - } else if ("In".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.In) { type = perceiveIndium(atomContainer, atom); - } else if ("Pu".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Pu) { type = perceivePlutonium(atomContainer, atom); - } else if ("Th".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Th) { type = perceiveThorium(atomContainer, atom); - } else if ("K".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.K) { type = perceivePotassium(atomContainer, atom); - } else if ("Mn".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Mn) { type = perceiveManganese(atomContainer, atom); - } else if ("Mg".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Mg) { type = perceiveMagnesium(atomContainer, atom); - } else if ("Na".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Na) { type = perceiveSodium(atomContainer, atom); - } else if ("As".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.As) { type = perceiveArsenic(atomContainer, atom); - } else if ("Cd".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Cd) { type = perceiveCadmium(atomContainer, atom); - } else if ("Ca".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Ca) { type = perceiveCalcium(atomContainer, atom); } else { if (type == null) type = perceiveHalogens(atomContainer, atom, connectedBonds); @@ -268,7 +268,7 @@ private IAtomType perceiveGermanium(IAtomContainer atomContainer, IAtom atom) th } private IAtomType perceiveSelenium(IAtomContainer atomContainer, IAtom atom, List connectedBonds) throws CDKException { - if ("Se".equals(atom.getSymbol())) { + if (atom.getAtomicNumber() == IElement.Se) { if (connectedBonds == null) connectedBonds = atomContainer.getConnectedBondsList(atom); int doublebondcount = countAttachedDoubleBonds(connectedBonds, atom); if (isCharge(atom, 0)) { @@ -673,7 +673,7 @@ private boolean isCarboxylate(IAtomContainer container, IAtom atom, List int doubleBondedOxygenCount = 0; for (IBond cBond : carbonBonds) { IAtom neighbor = cBond.getOther(carbon); - if ("O".equals(neighbor.getSymbol())) { + if (neighbor.getAtomicNumber() == IElement.O) { oxygenCount++; IBond.Order order = cBond.getOrder(); Integer charge = neighbor.getFormalCharge(); @@ -1076,7 +1076,7 @@ private List heavyBonds(final List bonds) { } private IAtomType perceiveIron(IAtomContainer atomContainer, IAtom atom) throws CDKException { - if ("Fe".equals(atom.getSymbol())) { + if (atom.getAtomicNumber() == IElement.Fe) { if (hasOneSingleElectron(atomContainer, atom)) { // no idea how to deal with this yet return null; @@ -1156,7 +1156,7 @@ private IAtomType perceiveIron(IAtomContainer atomContainer, IAtom atom) throws } private IAtomType perceiveMercury(IAtomContainer atomContainer, IAtom atom) throws CDKException { - if ("Hg".equals(atom.getSymbol())) { + if (atom.getAtomicNumber() == IElement.Hg) { if (hasOneSingleElectron(atomContainer, atom)) { // no idea how to deal with this yet return null; @@ -1445,7 +1445,7 @@ private IAtomType perceiveLithium(IAtomContainer atomContainer, IAtom atom) thro private IAtomType perceiveHalogens(IAtomContainer atomContainer, IAtom atom, List connectedBonds) throws CDKException { if (connectedBonds == null) connectedBonds = atomContainer.getConnectedBondsList(atom); - if ("F".equals(atom.getSymbol())) { + if (atom.getAtomicNumber() == IElement.F) { if (hasOneSingleElectron(atomContainer, atom)) { if (connectedBonds.size() == 0) { if (isCharge(atom, +1)) { @@ -1481,7 +1481,7 @@ private IAtomType perceiveHalogens(IAtomContainer atomContainer, IAtom atom, Lis IAtomType type = getAtomType("F"); if (isAcceptable(atom, atomContainer, type, connectedBonds)) return type; } - } else if ("I".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.I) { return perceiveIodine(atomContainer, atom, connectedBonds); } @@ -1531,7 +1531,7 @@ private IAtomType perceiveArsenic(IAtomContainer atomContainer, IAtom atom) thro } private IAtomType perceiveThorium(IAtomContainer atomContainer, IAtom atom) throws CDKException { - if ("Th".equals(atom.getSymbol())) { + if (atom.getAtomicNumber() == IElement.Th) { if (isCharge(atom, 0) && atomContainer.getConnectedBondsCount(atom) == 0) { IAtomType type = getAtomType("Th"); if (isAcceptable(atom, atomContainer, type)) { @@ -1560,7 +1560,7 @@ private IAtomType perceiveRubidium(IAtomContainer atomContainer, IAtom atom) thr } private IAtomType perceiveCommonSalts(IAtomContainer atomContainer, IAtom atom) throws CDKException { - if ("Mg".equals(atom.getSymbol())) { + if (atom.getAtomicNumber() == IElement.Mg) { if (hasOneSingleElectron(atomContainer, atom)) { // no idea how to deal with this yet return null; @@ -1568,7 +1568,7 @@ private IAtomType perceiveCommonSalts(IAtomContainer atomContainer, IAtom atom) IAtomType type = getAtomType("Mg.2plus"); if (isAcceptable(atom, atomContainer, type)) return type; } - } else if ("Co".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Co) { if (hasOneSingleElectron(atomContainer, atom)) { // no idea how to deal with this yet return null; @@ -1582,7 +1582,7 @@ private IAtomType perceiveCommonSalts(IAtomContainer atomContainer, IAtom atom) IAtomType type = getAtomType("Co.metallic"); if (isAcceptable(atom, atomContainer, type)) return type; } - } else if ("W".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.W) { if (hasOneSingleElectron(atomContainer, atom)) { // no idea how to deal with this yet return null; @@ -1711,7 +1711,7 @@ private IAtomType perceiveChromium(IAtomContainer atomContainer, IAtom atom) thr if (isAcceptable(atom, atomContainer, type)) { return type; } - } else if ("Cr".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Cr) { if (isCharge(atom, 3) && atomContainer.getConnectedBondsCount(atom) == 0) { IAtomType type = getAtomType("Cr.3plus"); @@ -1724,7 +1724,7 @@ private IAtomType perceiveChromium(IAtomContainer atomContainer, IAtom atom) thr } private IAtomType perceiveOrganometallicCenters(IAtomContainer atomContainer, IAtom atom) throws CDKException { - if ("Po".equals(atom.getSymbol())) { + if (atom.getAtomicNumber() == IElement.Po) { if (hasOneSingleElectron(atomContainer, atom)) { // no idea how to deal with this yet return null; @@ -1732,7 +1732,7 @@ private IAtomType perceiveOrganometallicCenters(IAtomContainer atomContainer, IA IAtomType type = getAtomType("Po"); if (isAcceptable(atom, atomContainer, type)) return type; } - } else if ("Sn".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Sn) { if (hasOneSingleElectron(atomContainer, atom)) { // no idea how to deal with this yet return null; @@ -1741,7 +1741,7 @@ private IAtomType perceiveOrganometallicCenters(IAtomContainer atomContainer, IA IAtomType type = getAtomType("Sn.sp3"); if (isAcceptable(atom, atomContainer, type)) return type; } - } else if ("Sc".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Sc) { if (isCharge(atom, -3) && atomContainer.getConnectedBondsCount(atom) == 6) { IAtomType type = getAtomType("Sc.3minus"); @@ -1783,7 +1783,7 @@ private IAtomType perceiveNickel(IAtomContainer atomContainer, IAtom atom) throw } private IAtomType perceiveNobelGases(IAtomContainer atomContainer, IAtom atom) throws CDKException { - if ("He".equals(atom.getSymbol())) { + if (atom.getAtomicNumber() == IElement.He) { if (hasOneSingleElectron(atomContainer, atom)) { // no idea how to deal with this yet return null; @@ -1791,7 +1791,7 @@ private IAtomType perceiveNobelGases(IAtomContainer atomContainer, IAtom atom) t IAtomType type = getAtomType("He"); if (isAcceptable(atom, atomContainer, type)) return type; } - } else if ("Ne".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Ne) { if (hasOneSingleElectron(atomContainer, atom)) { // no idea how to deal with this yet return null; @@ -1799,7 +1799,7 @@ private IAtomType perceiveNobelGases(IAtomContainer atomContainer, IAtom atom) t IAtomType type = getAtomType("Ne"); if (isAcceptable(atom, atomContainer, type)) return type; } - } else if ("Ar".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Ar) { if (hasOneSingleElectron(atomContainer, atom)) { // no idea how to deal with this yet return null; @@ -1807,7 +1807,7 @@ private IAtomType perceiveNobelGases(IAtomContainer atomContainer, IAtom atom) t IAtomType type = getAtomType("Ar"); if (isAcceptable(atom, atomContainer, type)) return type; } - } else if ("Kr".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Kr) { if (hasOneSingleElectron(atomContainer, atom)) { // no idea how to deal with this yet return null; @@ -1815,7 +1815,7 @@ private IAtomType perceiveNobelGases(IAtomContainer atomContainer, IAtom atom) t IAtomType type = getAtomType("Kr"); if (isAcceptable(atom, atomContainer, type)) return type; } - } else if ("Xe".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Xe) { if (hasOneSingleElectron(atomContainer, atom)) { // no idea how to deal with this yet return null; @@ -1828,7 +1828,7 @@ private IAtomType perceiveNobelGases(IAtomContainer atomContainer, IAtom atom) t if (isAcceptable(atom, atomContainer, type)) return type; } } - } else if ("Rn".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() == IElement.Rn) { if (hasOneSingleElectron(atomContainer, atom)) { // no idea how to deal with this yet return null; @@ -2149,7 +2149,7 @@ private IAtomType perceiveRadium(IAtomContainer atomContainer, IAtom atom) throw } private IAtomType perceiveCalcium(IAtomContainer atomContainer, IAtom atom) throws CDKException { - if ("Ca".equals(atom.getSymbol())) { + if (atom.getAtomicNumber() == IElement.Ca) { if (hasOneSingleElectron(atomContainer, atom)) { // no idea how to deal with this yet return null; diff --git a/base/standard/src/main/java/org/openscience/cdk/geometry/BondTools.java b/base/standard/src/main/java/org/openscience/cdk/geometry/BondTools.java index f531cfd2697..ebdff5c9f0d 100644 --- a/base/standard/src/main/java/org/openscience/cdk/geometry/BondTools.java +++ b/base/standard/src/main/java/org/openscience/cdk/geometry/BondTools.java @@ -217,8 +217,8 @@ private static boolean isEndOfDoubleBond(IAtomContainer container, IAtom atom, I if (container.getBond(atom, parent) != null) { if (container.getBond(atom, parent).getOrder() == Order.DOUBLE - && (lengthAtom == 3 || (lengthAtom == 2 && "N".equals(atom.getSymbol()))) - && (lengthParent == 3 || (lengthParent == 2 && "N".equals(parent.getSymbol())))) { + && (lengthAtom == 3 || (lengthAtom == 2 && atom.getAtomicNumber() == IElement.N)) + && (lengthParent == 3 || (lengthParent == 2 && parent.getAtomicNumber() == IElement.N))) { List atoms = container.getConnectedAtomsList(atom); IAtom one = null; IAtom two = null; @@ -230,7 +230,7 @@ private static boolean isEndOfDoubleBond(IAtomContainer container, IAtom atom, I } } String[] morgannumbers = MorganNumbersTools.getMorganNumbersWithElementSymbol(container); - if ((one != null && two == null && "N".equals(atom.getSymbol()) && Math.abs(giveAngleBothMethods( + if ((one != null && two == null && atom.getAtomicNumber() == IElement.N && Math.abs(giveAngleBothMethods( parent, atom, one, true)) > Math.PI / 10) || (atom.getAtomicNumber() != IElement.N && one != null && two != null && !morgannumbers[container .indexOf(one)].equals(morgannumbers[container.indexOf(two)]))) { @@ -290,7 +290,7 @@ && isEndOfDoubleBond(container, atom, a, doubleBondConfiguration)) { && two != null && !morgannumbers[container.indexOf(one)].equals(morgannumbers[container .indexOf(two)]) && doubleBond && doubleBondConfiguration[container.indexOf(container.getBond( - a, nextAtom))]) || (doubleBond && "N".equals(a.getSymbol()) && Math.abs(giveAngleBothMethods( + a, nextAtom))]) || (doubleBond && a.getAtomicNumber() == IElement.N && Math.abs(giveAngleBothMethods( nextAtom, a, parent, true)) > Math.PI / 10))) { return (true); } else { @@ -559,7 +559,7 @@ public static void makeUpDownBonds(IAtomContainer container) { up++; } else if (stereo == IBond.Stereo.DOWN) { down++; - } else if (stereo == IBond.Stereo.NONE && "H".equals(conAtom.getSymbol())) { + } else if (stereo == IBond.Stereo.NONE && conAtom.getAtomicNumber() == IElement.H) { h = conAtom; hs++; } else { diff --git a/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AtomContainerManipulator.java b/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AtomContainerManipulator.java index a48d7fc889c..59bb9577a05 100644 --- a/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AtomContainerManipulator.java +++ b/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AtomContainerManipulator.java @@ -747,7 +747,7 @@ public static IAtomContainer removeNonChiralHydrogens(IAtomContainer org) { if (bondStereo != null && bondStereo != IBond.Stereo.NONE) addToRemove = false; IAtom neighboursNeighbour = bond.getOther(neighbour); // remove in any case if the hetero atom is connected to more than one hydrogen - if ("H".equals(neighboursNeighbour.getSymbol()) && !neighboursNeighbour.equals(atom)) { + if (neighboursNeighbour.getAtomicNumber() == IElement.H && !neighboursNeighbour.equals(atom)) { addToRemove = true; break; } @@ -877,7 +877,7 @@ public static IAtomContainer suppressHydrogens(IAtomContainer org) { boolean anyHydrogenPresent = false; for (IAtom atom : org.atoms()) { - if ("H".equals(atom.getSymbol())) { + if (atom.getAtomicNumber() == IElement.H) { anyHydrogenPresent = true; break; } diff --git a/base/valencycheck/src/main/java/org/openscience/cdk/tools/SaturationChecker.java b/base/valencycheck/src/main/java/org/openscience/cdk/tools/SaturationChecker.java index 519cb7d4cd7..cca78590deb 100644 --- a/base/valencycheck/src/main/java/org/openscience/cdk/tools/SaturationChecker.java +++ b/base/valencycheck/src/main/java/org/openscience/cdk/tools/SaturationChecker.java @@ -611,7 +611,7 @@ public int calculateNumberOfImplicitHydrogens(IAtom atom, double bondOrderSum, d int missingHydrogen = 0; if (atom instanceof IPseudoAtom) { // don't figure it out... it simply does not lack H's - } else if (atom.getAtomicNumber() != null && atom.getAtomicNumber() == 1 || "H".equals(atom.getSymbol())) { + } else if (atom.getAtomicNumber() != null && atom.getAtomicNumber() == 1 || atom.getAtomicNumber() == IElement.H) { missingHydrogen = (int) (1 - bondOrderSum - singleElectronSum - atom.getFormalCharge()); } else { logger.info("Calculating number of missing hydrogen atoms"); diff --git a/descriptor/qsarsubstance/src/main/java/org/openscience/cdk/qsar/descriptors/substance/OxygenAtomCountDescriptor.java b/descriptor/qsarsubstance/src/main/java/org/openscience/cdk/qsar/descriptors/substance/OxygenAtomCountDescriptor.java index 21bf8e44b0b..060d0c3fe47 100644 --- a/descriptor/qsarsubstance/src/main/java/org/openscience/cdk/qsar/descriptors/substance/OxygenAtomCountDescriptor.java +++ b/descriptor/qsarsubstance/src/main/java/org/openscience/cdk/qsar/descriptors/substance/OxygenAtomCountDescriptor.java @@ -76,7 +76,7 @@ public DescriptorValue calculate(ISubstance substance) { if (substance != null) { for (IAtomContainer container : substance.atomContainers()) { for (IAtom atom : container.atoms()) { - if ("O".equals(atom.getSymbol()) || 8 == atom.getAtomicNumber()) + if (atom.getAtomicNumber() == IElement.O || 8 == atom.getAtomicNumber()) count++; } } diff --git a/display/renderbasic/src/main/java/org/openscience/cdk/renderer/generators/BasicAtomGenerator.java b/display/renderbasic/src/main/java/org/openscience/cdk/renderer/generators/BasicAtomGenerator.java index 56efe7f245e..c3019db88e0 100644 --- a/display/renderbasic/src/main/java/org/openscience/cdk/renderer/generators/BasicAtomGenerator.java +++ b/display/renderbasic/src/main/java/org/openscience/cdk/renderer/generators/BasicAtomGenerator.java @@ -239,7 +239,7 @@ protected boolean hasCoordinates(IAtom atom) { * @return true, if the atom is a hydrogen, and false, otherwise. */ protected boolean isHydrogen(IAtom atom) { - return "H".equals(atom.getSymbol()); + return atom.getAtomicNumber() == IElement.H; } /** @@ -249,7 +249,7 @@ protected boolean isHydrogen(IAtom atom) { * @return true, if the atom is a carbon, and false, otherwise. */ private boolean isCarbon(IAtom atom) { - return "C".equals(atom.getSymbol()); + return atom.getAtomicNumber() == IElement.C; } /** diff --git a/display/renderbasic/src/main/java/org/openscience/cdk/renderer/generators/BasicBondGenerator.java b/display/renderbasic/src/main/java/org/openscience/cdk/renderer/generators/BasicBondGenerator.java index 0a935e842bb..ef7c35b6df5 100644 --- a/display/renderbasic/src/main/java/org/openscience/cdk/renderer/generators/BasicBondGenerator.java +++ b/display/renderbasic/src/main/java/org/openscience/cdk/renderer/generators/BasicBondGenerator.java @@ -478,7 +478,7 @@ private boolean isStereoBond(IBond bond) { protected boolean bindsHydrogen(IBond bond) { for (int i = 0; i < bond.getAtomCount(); i++) { IAtom atom = bond.getAtom(i); - if ("H".equals(atom.getSymbol())) return true; + if (atom.getAtomicNumber() == IElement.H) return true; } return false; } diff --git a/legacy/src/test/java/org/openscience/cdk/aromaticity/CDKHueckelAromaticityDetectorTest.java b/legacy/src/test/java/org/openscience/cdk/aromaticity/CDKHueckelAromaticityDetectorTest.java index 3252a455d94..af9436597b4 100644 --- a/legacy/src/test/java/org/openscience/cdk/aromaticity/CDKHueckelAromaticityDetectorTest.java +++ b/legacy/src/test/java/org/openscience/cdk/aromaticity/CDKHueckelAromaticityDetectorTest.java @@ -711,13 +711,13 @@ public void testPolyCyclicSystem() throws Exception { // double bond locations may alter. So, we can expect things like in a 'diff': "BondDiff{order:SINGLE/DOUBLE}" // but, we should not see aromaticity differences for (IAtom atom : aromaticForm.atoms()) { - if ("C".equals(atom.getSymbol())) { + if (atom.getAtomicNumber() == IElement.C) { Assert.assertEquals("C.sp2", atom.getAtomTypeName()); Assert.assertTrue(atom.getFlag(CDKConstants.ISAROMATIC)); } } for (IAtom atom : kekuleForm.atoms()) { - if ("C".equals(atom.getSymbol())) { + if (atom.getAtomicNumber() == IElement.C) { Assert.assertEquals("C.sp2", atom.getAtomTypeName()); Assert.assertTrue(atom.getFlag(CDKConstants.ISAROMATIC)); } diff --git a/legacy/src/test/java/org/openscience/cdk/aromaticity/DoubleBondAcceptingAromaticityDetectorTest.java b/legacy/src/test/java/org/openscience/cdk/aromaticity/DoubleBondAcceptingAromaticityDetectorTest.java index a1f671be7cd..cc337884a39 100644 --- a/legacy/src/test/java/org/openscience/cdk/aromaticity/DoubleBondAcceptingAromaticityDetectorTest.java +++ b/legacy/src/test/java/org/openscience/cdk/aromaticity/DoubleBondAcceptingAromaticityDetectorTest.java @@ -663,13 +663,13 @@ public void testPolyCyclicSystem() throws Exception { // double bond locations may alter. So, we can expect things like in a 'diff': "BondDiff{order:SINGLE/DOUBLE}" // but, we should not see aromaticity differences for (IAtom atom : aromaticForm.atoms()) { - if ("C".equals(atom.getSymbol())) { + if (atom.getAtomicNumber() == IElement.C) { Assert.assertEquals("C.sp2", atom.getAtomTypeName()); Assert.assertTrue(atom.getFlag(CDKConstants.ISAROMATIC)); } } for (IAtom atom : kekuleForm.atoms()) { - if ("C".equals(atom.getSymbol())) { + if (atom.getAtomicNumber() == IElement.C) { Assert.assertEquals("C.sp2", atom.getAtomTypeName()); Assert.assertTrue(atom.getFlag(CDKConstants.ISAROMATIC)); } diff --git a/misc/extra/src/main/java/org/openscience/cdk/graph/invariant/HuLuIndexTool.java b/misc/extra/src/main/java/org/openscience/cdk/graph/invariant/HuLuIndexTool.java index 5d76cd1a814..2e42218118e 100644 --- a/misc/extra/src/main/java/org/openscience/cdk/graph/invariant/HuLuIndexTool.java +++ b/misc/extra/src/main/java/org/openscience/cdk/graph/invariant/HuLuIndexTool.java @@ -138,7 +138,7 @@ public static double[] getAtomWeights(IAtomContainer atomContainer) throws NoSuc } //weightArray[k] = atom.getValenceElectronsCount() - atom.getHydrogenCount(); // method unfinished - if ("O".equals(atom.getSymbol())) + if (atom.getAtomicNumber() == IElement.O) weightArray[i] = 6 - atom.getImplicitHydrogenCount(); else weightArray[i] = 4 - atom.getImplicitHydrogenCount(); diff --git a/storage/ctab/src/main/java/org/openscience/cdk/io/MDLV2000Writer.java b/storage/ctab/src/main/java/org/openscience/cdk/io/MDLV2000Writer.java index 3a112f07ae6..02a5511d544 100644 --- a/storage/ctab/src/main/java/org/openscience/cdk/io/MDLV2000Writer.java +++ b/storage/ctab/src/main/java/org/openscience/cdk/io/MDLV2000Writer.java @@ -473,7 +473,7 @@ public void writeMolecule(IAtomContainer container) throws Exception { // firstly check if it's a numbered R group Matcher matcher = NUMERED_R_GROUP.matcher(label); - if ("R".equals(pseudoAtom.getSymbol()) && !label.isEmpty() && matcher.matches()) { + if (pseudoAtom.getAtomicNumber() == IElement.R && !label.isEmpty() && matcher.matches()) { line.append("R# "); if (rgroups == null) { diff --git a/storage/libiocml/src/main/java/org/openscience/cdk/libio/cml/Convertor.java b/storage/libiocml/src/main/java/org/openscience/cdk/libio/cml/Convertor.java index 8fc8dcacdf2..35e86d26444 100644 --- a/storage/libiocml/src/main/java/org/openscience/cdk/libio/cml/Convertor.java +++ b/storage/libiocml/src/main/java/org/openscience/cdk/libio/cml/Convertor.java @@ -614,7 +614,7 @@ public CMLAtom cdkAtomToCMLAtom(IAtomContainer container, IAtom cdkAtom) { Iterator atoms = (bonds.next()).atoms().iterator(); while (atoms.hasNext()) { IAtom atom = atoms.next(); - if ("H".equals(atom.getSymbol()) && !Objects.equals(atom, cdkAtom)) totalHydrogen++; + if (atom.getAtomicNumber() == IElement.H && !Objects.equals(atom, cdkAtom)) totalHydrogen++; } } } // else: it is the implicit hydrogen count diff --git a/tool/charges/src/main/java/org/openscience/cdk/charges/Polarizability.java b/tool/charges/src/main/java/org/openscience/cdk/charges/Polarizability.java index 09ba04b0803..3447151e935 100644 --- a/tool/charges/src/main/java/org/openscience/cdk/charges/Polarizability.java +++ b/tool/charges/src/main/java/org/openscience/cdk/charges/Polarizability.java @@ -301,7 +301,7 @@ private int getNumberOfHydrogen(IAtomContainer atomContainer, IAtom atom) { int hCounter = 0; for (IBond bond : bonds) { connectedAtom = bond.getOther(atom); - if ("H".equals(connectedAtom.getSymbol())) { + if (connectedAtom.getAtomicNumber() == IElement.H) { hCounter += 1; } } diff --git a/tool/formula/src/main/java/org/openscience/cdk/tools/manipulator/MolecularFormulaManipulator.java b/tool/formula/src/main/java/org/openscience/cdk/tools/manipulator/MolecularFormulaManipulator.java index f7f5fd124d7..64e1a4a5bae 100644 --- a/tool/formula/src/main/java/org/openscience/cdk/tools/manipulator/MolecularFormulaManipulator.java +++ b/tool/formula/src/main/java/org/openscience/cdk/tools/manipulator/MolecularFormulaManipulator.java @@ -1547,7 +1547,7 @@ public static boolean adjustProtonation(IMolecularFormula mf, int hcnt) { int pcount = 0; for (IIsotope iso : mf.isotopes()) { - if ("H".equals(iso.getSymbol())) { + if (iso.getAtomicNumber() == IElement.H) { final int count = mf.getIsotopeCount(iso); if (count < hcnt) continue; diff --git a/tool/formula/src/test/java/org/openscience/cdk/tools/manipulator/MolecularFormulaManipulatorTest.java b/tool/formula/src/test/java/org/openscience/cdk/tools/manipulator/MolecularFormulaManipulatorTest.java index b9626b208cf..1a04c0a39d1 100644 --- a/tool/formula/src/test/java/org/openscience/cdk/tools/manipulator/MolecularFormulaManipulatorTest.java +++ b/tool/formula/src/test/java/org/openscience/cdk/tools/manipulator/MolecularFormulaManipulatorTest.java @@ -805,9 +805,9 @@ public void testGetAtomContainer_AddsAtomicNumbers() { Assert.assertEquals(6, ac.getAtomCount()); Assert.assertNotNull(ac.getAtom(0).getAtomicNumber()); for (IAtom atom : ac.atoms()) { - if ("C".equals(atom.getSymbol())) + if (atom.getAtomicNumber() == IElement.C) Assert.assertEquals(6, atom.getAtomicNumber().intValue()); - else if ("H".equals(atom.getSymbol())) + else if (atom.getAtomicNumber() == IElement.H) Assert.assertEquals(1, atom.getAtomicNumber().intValue()); else Assert.fail("Unexcepted element: " + atom.getSymbol()); diff --git a/tool/hash/src/main/java/org/openscience/cdk/hash/AtomSuppression.java b/tool/hash/src/main/java/org/openscience/cdk/hash/AtomSuppression.java index 31141ee7c8e..707d23a15d3 100644 --- a/tool/hash/src/main/java/org/openscience/cdk/hash/AtomSuppression.java +++ b/tool/hash/src/main/java/org/openscience/cdk/hash/AtomSuppression.java @@ -69,7 +69,7 @@ Suppressed suppress(IAtomContainer container) { BitSet hydrogens = new BitSet(); for (int i = 0; i < container.getAtomCount(); i++) { IAtom atom = container.getAtom(i); - hydrogens.set(i, "H".equals(atom.getSymbol())); + hydrogens.set(i, atom.getAtomicNumber() == IElement.H); } return Suppressed.fromBitSet(hydrogens); } diff --git a/tool/sdg/src/main/java/org/openscience/cdk/layout/StructureDiagramGenerator.java b/tool/sdg/src/main/java/org/openscience/cdk/layout/StructureDiagramGenerator.java index a8e451d94fb..6578e40f096 100644 --- a/tool/sdg/src/main/java/org/openscience/cdk/layout/StructureDiagramGenerator.java +++ b/tool/sdg/src/main/java/org/openscience/cdk/layout/StructureDiagramGenerator.java @@ -1656,7 +1656,7 @@ private boolean lookupRingSystem(IRingSet rs, IAtomContainer molecule, boolean a */ private static boolean isHydrogen(IAtom atom) { if (atom.getAtomicNumber() != null) return atom.getAtomicNumber() == 1; - return "H".equals(atom.getSymbol()); + return atom.getAtomicNumber() == IElement.H; } /** From ae5ebb51e395b0f3212d17214959307cd7739ccc Mon Sep 17 00:00:00 2001 From: John Mayfield Date: Mon, 7 Feb 2022 20:59:21 +0000 Subject: [PATCH 05/15] Some missing imports --- .../cdk/atomtype/EStateAtomTypeMatcher.java | 1 + .../openscience/cdk/geometry/BondTools.java | 1 + .../cdk/tools/SaturationChecker.java | 1 + .../substance/OxygenAtomCountDescriptor.java | 1 + .../generators/BasicBondGenerator.java | 1 + .../cdk/graph/invariant/HuLuIndexTool.java | 1 + .../openscience/cdk/io/MDLV2000Writer.java | 3 ++- .../openscience/cdk/libio/cml/Convertor.java | 20 +------------------ .../charges/GasteigerPEPEPartialCharges.java | 1 + .../cdk/charges/Polarizability.java | 1 + .../openscience/cdk/hash/AtomSuppression.java | 1 + 11 files changed, 12 insertions(+), 20 deletions(-) diff --git a/base/atomtype/src/main/java/org/openscience/cdk/atomtype/EStateAtomTypeMatcher.java b/base/atomtype/src/main/java/org/openscience/cdk/atomtype/EStateAtomTypeMatcher.java index 20ca843c7e5..a99d13174f6 100644 --- a/base/atomtype/src/main/java/org/openscience/cdk/atomtype/EStateAtomTypeMatcher.java +++ b/base/atomtype/src/main/java/org/openscience/cdk/atomtype/EStateAtomTypeMatcher.java @@ -26,6 +26,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IAtomType; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IRing; import org.openscience.cdk.interfaces.IRingSet; diff --git a/base/standard/src/main/java/org/openscience/cdk/geometry/BondTools.java b/base/standard/src/main/java/org/openscience/cdk/geometry/BondTools.java index ebdff5c9f0d..d76e7ed7c3f 100644 --- a/base/standard/src/main/java/org/openscience/cdk/geometry/BondTools.java +++ b/base/standard/src/main/java/org/openscience/cdk/geometry/BondTools.java @@ -30,6 +30,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.interfaces.IBond.Order; +import org.openscience.cdk.interfaces.IElement; import javax.vecmath.Point2d; diff --git a/base/valencycheck/src/main/java/org/openscience/cdk/tools/SaturationChecker.java b/base/valencycheck/src/main/java/org/openscience/cdk/tools/SaturationChecker.java index cca78590deb..14c8ea35340 100644 --- a/base/valencycheck/src/main/java/org/openscience/cdk/tools/SaturationChecker.java +++ b/base/valencycheck/src/main/java/org/openscience/cdk/tools/SaturationChecker.java @@ -36,6 +36,7 @@ import org.openscience.cdk.interfaces.IBond; import org.openscience.cdk.interfaces.IBond.Order; import org.openscience.cdk.interfaces.IChemObjectBuilder; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IPseudoAtom; import org.openscience.cdk.interfaces.IRingSet; import org.openscience.cdk.ringsearch.RingPartitioner; diff --git a/descriptor/qsarsubstance/src/main/java/org/openscience/cdk/qsar/descriptors/substance/OxygenAtomCountDescriptor.java b/descriptor/qsarsubstance/src/main/java/org/openscience/cdk/qsar/descriptors/substance/OxygenAtomCountDescriptor.java index 060d0c3fe47..fe5b6bc321d 100644 --- a/descriptor/qsarsubstance/src/main/java/org/openscience/cdk/qsar/descriptors/substance/OxygenAtomCountDescriptor.java +++ b/descriptor/qsarsubstance/src/main/java/org/openscience/cdk/qsar/descriptors/substance/OxygenAtomCountDescriptor.java @@ -20,6 +20,7 @@ import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IChemObjectBuilder; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.ISubstance; import org.openscience.cdk.qsar.DescriptorSpecification; import org.openscience.cdk.qsar.DescriptorValue; diff --git a/display/renderbasic/src/main/java/org/openscience/cdk/renderer/generators/BasicBondGenerator.java b/display/renderbasic/src/main/java/org/openscience/cdk/renderer/generators/BasicBondGenerator.java index ef7c35b6df5..89572b96bd8 100644 --- a/display/renderbasic/src/main/java/org/openscience/cdk/renderer/generators/BasicBondGenerator.java +++ b/display/renderbasic/src/main/java/org/openscience/cdk/renderer/generators/BasicBondGenerator.java @@ -35,6 +35,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IAtomContainerSet; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IRing; import org.openscience.cdk.interfaces.IRingSet; import org.openscience.cdk.renderer.RendererModel; diff --git a/misc/extra/src/main/java/org/openscience/cdk/graph/invariant/HuLuIndexTool.java b/misc/extra/src/main/java/org/openscience/cdk/graph/invariant/HuLuIndexTool.java index 2e42218118e..841d68c165f 100644 --- a/misc/extra/src/main/java/org/openscience/cdk/graph/invariant/HuLuIndexTool.java +++ b/misc/extra/src/main/java/org/openscience/cdk/graph/invariant/HuLuIndexTool.java @@ -31,6 +31,7 @@ import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.tools.ILoggingTool; import org.openscience.cdk.tools.LoggingToolFactory; diff --git a/storage/ctab/src/main/java/org/openscience/cdk/io/MDLV2000Writer.java b/storage/ctab/src/main/java/org/openscience/cdk/io/MDLV2000Writer.java index 02a5511d544..13c7a001b5e 100644 --- a/storage/ctab/src/main/java/org/openscience/cdk/io/MDLV2000Writer.java +++ b/storage/ctab/src/main/java/org/openscience/cdk/io/MDLV2000Writer.java @@ -36,6 +36,7 @@ import org.openscience.cdk.interfaces.IChemModel; import org.openscience.cdk.interfaces.IChemObject; import org.openscience.cdk.interfaces.IChemSequence; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IIsotope; import org.openscience.cdk.interfaces.IPseudoAtom; import org.openscience.cdk.interfaces.IStereoElement; @@ -473,7 +474,7 @@ public void writeMolecule(IAtomContainer container) throws Exception { // firstly check if it's a numbered R group Matcher matcher = NUMERED_R_GROUP.matcher(label); - if (pseudoAtom.getAtomicNumber() == IElement.R && !label.isEmpty() && matcher.matches()) { + if (pseudoAtom.getAtomicNumber() == IElement.Wildcard && !label.isEmpty() && matcher.matches()) { line.append("R# "); if (rgroups == null) { diff --git a/storage/libiocml/src/main/java/org/openscience/cdk/libio/cml/Convertor.java b/storage/libiocml/src/main/java/org/openscience/cdk/libio/cml/Convertor.java index 35e86d26444..e34f1ec6dfa 100644 --- a/storage/libiocml/src/main/java/org/openscience/cdk/libio/cml/Convertor.java +++ b/storage/libiocml/src/main/java/org/openscience/cdk/libio/cml/Convertor.java @@ -37,26 +37,8 @@ import org.openscience.cdk.dict.DictRef; import org.openscience.cdk.dict.DictionaryDatabase; import org.openscience.cdk.geometry.CrystalGeometryTools; -import org.openscience.cdk.interfaces.IAtom; -import org.openscience.cdk.interfaces.IAtomContainer; -import org.openscience.cdk.interfaces.IAtomContainerSet; -import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.*; import org.openscience.cdk.interfaces.IBond.Order; -import org.openscience.cdk.interfaces.IChemFile; -import org.openscience.cdk.interfaces.IChemModel; -import org.openscience.cdk.interfaces.IChemObject; -import org.openscience.cdk.interfaces.IChemSequence; -import org.openscience.cdk.interfaces.ICrystal; -import org.openscience.cdk.interfaces.IIsotope; -import org.openscience.cdk.interfaces.IMolecularFormula; -import org.openscience.cdk.interfaces.IMolecularFormulaSet; -import org.openscience.cdk.interfaces.IMonomer; -import org.openscience.cdk.interfaces.IPDBPolymer; -import org.openscience.cdk.interfaces.IPseudoAtom; -import org.openscience.cdk.interfaces.IReaction; -import org.openscience.cdk.interfaces.IReactionScheme; -import org.openscience.cdk.interfaces.IReactionSet; -import org.openscience.cdk.interfaces.IStrand; import org.openscience.cdk.tools.IDCreator; import org.openscience.cdk.tools.ILoggingTool; import org.openscience.cdk.tools.LoggingToolFactory; diff --git a/tool/charges/src/main/java/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java b/tool/charges/src/main/java/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java index ac56569cf89..b1207929498 100644 --- a/tool/charges/src/main/java/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java +++ b/tool/charges/src/main/java/org/openscience/cdk/charges/GasteigerPEPEPartialCharges.java @@ -32,6 +32,7 @@ import org.openscience.cdk.interfaces.IAtomContainerSet; import org.openscience.cdk.interfaces.IAtomType; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IReactionSet; import org.openscience.cdk.reaction.IReactionProcess; import org.openscience.cdk.reaction.type.HeterolyticCleavagePBReaction; diff --git a/tool/charges/src/main/java/org/openscience/cdk/charges/Polarizability.java b/tool/charges/src/main/java/org/openscience/cdk/charges/Polarizability.java index 3447151e935..1d0a6ba42d0 100644 --- a/tool/charges/src/main/java/org/openscience/cdk/charges/Polarizability.java +++ b/tool/charges/src/main/java/org/openscience/cdk/charges/Polarizability.java @@ -25,6 +25,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IAtomType; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.tools.CDKHydrogenAdder; import org.openscience.cdk.tools.ILoggingTool; import org.openscience.cdk.tools.LoggingToolFactory; diff --git a/tool/hash/src/main/java/org/openscience/cdk/hash/AtomSuppression.java b/tool/hash/src/main/java/org/openscience/cdk/hash/AtomSuppression.java index 707d23a15d3..8c41118f1a9 100644 --- a/tool/hash/src/main/java/org/openscience/cdk/hash/AtomSuppression.java +++ b/tool/hash/src/main/java/org/openscience/cdk/hash/AtomSuppression.java @@ -26,6 +26,7 @@ import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IPseudoAtom; import java.util.BitSet; From 4d9715efdf5e8da32ba236df654513a5d08c71e2 Mon Sep 17 00:00:00 2001 From: John Mayfield Date: Mon, 7 Feb 2022 21:04:04 +0000 Subject: [PATCH 06/15] Mocked object needs updating --- .../test/java/org/openscience/cdk/hash/AtomSuppressionTest.java | 1 + 1 file changed, 1 insertion(+) diff --git a/tool/hash/src/test/java/org/openscience/cdk/hash/AtomSuppressionTest.java b/tool/hash/src/test/java/org/openscience/cdk/hash/AtomSuppressionTest.java index bb45689c02b..002f1d3e00f 100644 --- a/tool/hash/src/test/java/org/openscience/cdk/hash/AtomSuppressionTest.java +++ b/tool/hash/src/test/java/org/openscience/cdk/hash/AtomSuppressionTest.java @@ -63,6 +63,7 @@ public void anyHydrogens() throws Exception { when(carbon.getSymbol()).thenReturn("C"); when(hydrogen.getSymbol()).thenReturn("H"); + when(hydrogen.getAtomicNumber()).thenReturn(1); when(container.getAtom(0)).thenReturn(carbon); when(container.getAtom(1)).thenReturn(hydrogen); From 9affa182ab8a28e6c3ab194142a4bfb00deb8dda Mon Sep 17 00:00:00 2001 From: John Mayfield Date: Mon, 7 Feb 2022 21:04:38 +0000 Subject: [PATCH 07/15] Also now if atomic num is null --- .../java/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base/core/src/main/java/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java b/base/core/src/main/java/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java index 88911d5ed70..f52d06079c4 100755 --- a/base/core/src/main/java/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java +++ b/base/core/src/main/java/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java @@ -125,7 +125,7 @@ public IAtomType findMatchingAtomType(IAtomContainer atomContainer, IAtom atom) private IAtomType findMatchingAtomType(IAtomContainer atomContainer, IAtom atom, RingSearch searcher, List connectedBonds) throws CDKException { IAtomType type = null; - if (atom instanceof IPseudoAtom) { + if (atom instanceof IPseudoAtom || atom.getAtomicNumber() == null) { return factory.getAtomType("X"); } if (atom.getAtomicNumber() == IElement.C) { From bacb2cc0083a35a724ec15b99b2f15782af97173 Mon Sep 17 00:00:00 2001 From: John Mayfield Date: Mon, 7 Feb 2022 21:04:53 +0000 Subject: [PATCH 08/15] Replace with switch --- .../cdk/atomtype/CDKAtomTypeMatcher.java | 257 +++++++++++------- 1 file changed, 154 insertions(+), 103 deletions(-) diff --git a/base/core/src/main/java/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java b/base/core/src/main/java/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java index f52d06079c4..a79a44b32b7 100755 --- a/base/core/src/main/java/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java +++ b/base/core/src/main/java/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java @@ -128,109 +128,160 @@ private IAtomType findMatchingAtomType(IAtomContainer atomContainer, IAtom atom, if (atom instanceof IPseudoAtom || atom.getAtomicNumber() == null) { return factory.getAtomType("X"); } - if (atom.getAtomicNumber() == IElement.C) { - type = perceiveCarbons(atomContainer, atom, searcher, connectedBonds); - } else if (atom.getAtomicNumber() == IElement.H) { - type = perceiveHydrogens(atomContainer, atom, connectedBonds); - } else if (atom.getAtomicNumber() == IElement.O) { - type = perceiveOxygens(atomContainer, atom, searcher, connectedBonds); - } else if (atom.getAtomicNumber() == IElement.N) { - type = perceiveNitrogens(atomContainer, atom, searcher, connectedBonds); - } else if (atom.getAtomicNumber() == IElement.S) { - type = perceiveSulphurs(atomContainer, atom, searcher, connectedBonds); - } else if (atom.getAtomicNumber() == IElement.P) { - type = perceivePhosphors(atomContainer, atom, connectedBonds); - } else if (atom.getAtomicNumber() == IElement.Si) { - type = perceiveSilicon(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Li) { - type = perceiveLithium(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.B) { - type = perceiveBorons(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Be) { - type = perceiveBeryllium(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Cr) { - type = perceiveChromium(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Se) { - type = perceiveSelenium(atomContainer, atom, connectedBonds); - } else if (atom.getAtomicNumber() == IElement.Mo) { - type = perceiveMolybdenum(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Rb) { - type = perceiveRubidium(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Te) { - type = perceiveTellurium(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Cu) { - type = perceiveCopper(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Ba) { - type = perceiveBarium(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Ga) { - type = perceiveGallium(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Ru) { - type = perceiveRuthenium(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Zn) { - type = perceiveZinc(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Al) { - type = perceiveAluminium(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Ni) { - type = perceiveNickel(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Gd) { - type = perceiveGadolinum(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Ge) { - type = perceiveGermanium(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Co) { - type = perceiveCobalt(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Br) { - type = perceiveBromine(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.V) { - type = perceiveVanadium(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Ti) { - type = perceiveTitanium(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Sr) { - type = perceiveStrontium(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Pb) { - type = perceiveLead(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Tl) { - type = perceiveThallium(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Sb) { - type = perceiveAntimony(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Pt) { - type = perceivePlatinum(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Hg) { - type = perceiveMercury(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Fe) { - type = perceiveIron(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Ra) { - type = perceiveRadium(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Au) { - type = perceiveGold(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Ag) { - type = perceiveSilver(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Cl) { - type = perceiveChlorine(atomContainer, atom, connectedBonds); - } else if (atom.getAtomicNumber() == IElement.In) { - type = perceiveIndium(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Pu) { - type = perceivePlutonium(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Th) { - type = perceiveThorium(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.K) { - type = perceivePotassium(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Mn) { - type = perceiveManganese(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Mg) { - type = perceiveMagnesium(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Na) { - type = perceiveSodium(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.As) { - type = perceiveArsenic(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Cd) { - type = perceiveCadmium(atomContainer, atom); - } else if (atom.getAtomicNumber() == IElement.Ca) { - type = perceiveCalcium(atomContainer, atom); - } else { - if (type == null) type = perceiveHalogens(atomContainer, atom, connectedBonds); - if (type == null) type = perceiveCommonSalts(atomContainer, atom); - if (type == null) type = perceiveOrganometallicCenters(atomContainer, atom); - if (type == null) type = perceiveNobelGases(atomContainer, atom); + switch (atom.getAtomicNumber()) { + case IElement.C: + type = perceiveCarbons(atomContainer, atom, searcher, connectedBonds); + break; + case IElement.H: + type = perceiveHydrogens(atomContainer, atom, connectedBonds); + break; + case IElement.O: + type = perceiveOxygens(atomContainer, atom, searcher, connectedBonds); + break; + case IElement.N: + type = perceiveNitrogens(atomContainer, atom, searcher, connectedBonds); + break; + case IElement.S: + type = perceiveSulphurs(atomContainer, atom, searcher, connectedBonds); + break; + case IElement.P: + type = perceivePhosphors(atomContainer, atom, connectedBonds); + break; + case IElement.Si: + type = perceiveSilicon(atomContainer, atom); + break; + case IElement.Li: + type = perceiveLithium(atomContainer, atom); + break; + case IElement.B: + type = perceiveBorons(atomContainer, atom); + break; + case IElement.Be: + type = perceiveBeryllium(atomContainer, atom); + break; + case IElement.Cr: + type = perceiveChromium(atomContainer, atom); + break; + case IElement.Se: + type = perceiveSelenium(atomContainer, atom, connectedBonds); + break; + case IElement.Mo: + type = perceiveMolybdenum(atomContainer, atom); + break; + case IElement.Rb: + type = perceiveRubidium(atomContainer, atom); + break; + case IElement.Te: + type = perceiveTellurium(atomContainer, atom); + break; + case IElement.Cu: + type = perceiveCopper(atomContainer, atom); + break; + case IElement.Ba: + type = perceiveBarium(atomContainer, atom); + break; + case IElement.Ga: + type = perceiveGallium(atomContainer, atom); + break; + case IElement.Ru: + type = perceiveRuthenium(atomContainer, atom); + break; + case IElement.Zn: + type = perceiveZinc(atomContainer, atom); + break; + case IElement.Al: + type = perceiveAluminium(atomContainer, atom); + break; + case IElement.Ni: + type = perceiveNickel(atomContainer, atom); + break; + case IElement.Gd: + type = perceiveGadolinum(atomContainer, atom); + break; + case IElement.Ge: + type = perceiveGermanium(atomContainer, atom); + break; + case IElement.Co: + type = perceiveCobalt(atomContainer, atom); + break; + case IElement.Br: + type = perceiveBromine(atomContainer, atom); + break; + case IElement.V: + type = perceiveVanadium(atomContainer, atom); + break; + case IElement.Ti: + type = perceiveTitanium(atomContainer, atom); + break; + case IElement.Sr: + type = perceiveStrontium(atomContainer, atom); + break; + case IElement.Pb: + type = perceiveLead(atomContainer, atom); + break; + case IElement.Tl: + type = perceiveThallium(atomContainer, atom); + break; + case IElement.Sb: + type = perceiveAntimony(atomContainer, atom); + break; + case IElement.Pt: + type = perceivePlatinum(atomContainer, atom); + break; + case IElement.Hg: + type = perceiveMercury(atomContainer, atom); + break; + case IElement.Fe: + type = perceiveIron(atomContainer, atom); + break; + case IElement.Ra: + type = perceiveRadium(atomContainer, atom); + break; + case IElement.Au: + type = perceiveGold(atomContainer, atom); + break; + case IElement.Ag: + type = perceiveSilver(atomContainer, atom); + break; + case IElement.Cl: + type = perceiveChlorine(atomContainer, atom, connectedBonds); + break; + case IElement.In: + type = perceiveIndium(atomContainer, atom); + break; + case IElement.Pu: + type = perceivePlutonium(atomContainer, atom); + break; + case IElement.Th: + type = perceiveThorium(atomContainer, atom); + break; + case IElement.K: + type = perceivePotassium(atomContainer, atom); + break; + case IElement.Mn: + type = perceiveManganese(atomContainer, atom); + break; + case IElement.Mg: + type = perceiveMagnesium(atomContainer, atom); + break; + case IElement.Na: + type = perceiveSodium(atomContainer, atom); + break; + case IElement.As: + type = perceiveArsenic(atomContainer, atom); + break; + case IElement.Cd: + type = perceiveCadmium(atomContainer, atom); + break; + case IElement.Ca: + type = perceiveCalcium(atomContainer, atom); + break; + default: + if (type == null) type = perceiveHalogens(atomContainer, atom, connectedBonds); + if (type == null) type = perceiveCommonSalts(atomContainer, atom); + if (type == null) type = perceiveOrganometallicCenters(atomContainer, atom); + if (type == null) type = perceiveNobelGases(atomContainer, atom); + break; } // if no atom type can be assigned we set the atom type to 'X', this flags From ae6f54430189ce6dfd47f4015620cfaa07957599 Mon Sep 17 00:00:00 2001 From: John Mayfield Date: Mon, 7 Feb 2022 21:13:01 +0000 Subject: [PATCH 09/15] Additional null check --- .../cdk/atomtype/SybylAtomTypeMatcher.java | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/base/atomtype/src/main/java/org/openscience/cdk/atomtype/SybylAtomTypeMatcher.java b/base/atomtype/src/main/java/org/openscience/cdk/atomtype/SybylAtomTypeMatcher.java index d65e335c16a..8389a8ea37c 100644 --- a/base/atomtype/src/main/java/org/openscience/cdk/atomtype/SybylAtomTypeMatcher.java +++ b/base/atomtype/src/main/java/org/openscience/cdk/atomtype/SybylAtomTypeMatcher.java @@ -112,16 +112,18 @@ public IAtomType[] findMatchingAtomTypes(IAtomContainer atomContainer) throws CD @Override public IAtomType findMatchingAtomType(IAtomContainer atomContainer, IAtom atom) throws CDKException { IAtomType type = cdkMatcher.findMatchingAtomType(atomContainer, atom); - if (atom.getAtomicNumber() == IElement.Cr) { - // if only I had good descriptions of the Sybyl atom types - int neighbors = atomContainer.getConnectedBondsCount(atom); - if (neighbors > 4 && neighbors <= 6) - return factory.getAtomType("Cr.oh"); - else if (neighbors > 0) return factory.getAtomType("Cr.th"); - } else if (atom.getAtomicNumber() == IElement.Co) { - // if only I had good descriptions of the Sybyl atom types - int neibors = atomContainer.getConnectedBondsCount(atom); - if (neibors == 6) return factory.getAtomType("Co.oh"); + if (atom.getAtomicNumber() != null) { + if (atom.getAtomicNumber() == IElement.Cr) { + // if only I had good descriptions of the Sybyl atom types + int neighbors = atomContainer.getConnectedBondsCount(atom); + if (neighbors > 4 && neighbors <= 6) + return factory.getAtomType("Cr.oh"); + else if (neighbors > 0) return factory.getAtomType("Cr.th"); + } else if (atom.getAtomicNumber() == IElement.Co) { + // if only I had good descriptions of the Sybyl atom types + int neibors = atomContainer.getConnectedBondsCount(atom); + if (neibors == 6) return factory.getAtomType("Co.oh"); + } } if (type == null) return null; From 498bd3b36839290afe6e8fcbb5856713b6dac70e Mon Sep 17 00:00:00 2001 From: John Mayfield Date: Mon, 7 Feb 2022 21:16:37 +0000 Subject: [PATCH 10/15] A few equalsIgnoreCases --- .../org/openscience/cdk/fingerprint/SimpleAtomComparator.java | 2 +- .../smsd/algorithm/mcsplus/GenerateCompatibilityGraph.java | 2 +- .../openscience/cdk/smsd/algorithm/single/SingleMapping.java | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/descriptor/fingerprint/src/main/java/org/openscience/cdk/fingerprint/SimpleAtomComparator.java b/descriptor/fingerprint/src/main/java/org/openscience/cdk/fingerprint/SimpleAtomComparator.java index 76c208a5095..ec49fee16c8 100644 --- a/descriptor/fingerprint/src/main/java/org/openscience/cdk/fingerprint/SimpleAtomComparator.java +++ b/descriptor/fingerprint/src/main/java/org/openscience/cdk/fingerprint/SimpleAtomComparator.java @@ -46,7 +46,7 @@ public class SimpleAtomComparator implements Comparator, Serializable { @Override public int compare(IAtom o1, IAtom o2) { - if (o1.getSymbol().equalsIgnoreCase(o2.getSymbol())) { + if (o1.getAtomicNumber().equals(o2.getAtomicNumber())) { if (o1.getHybridization() != null && o2.getHybridization() != null) { return o1.getHybridization().compareTo(o2.getHybridization()); } diff --git a/legacy/src/main/java/org/openscience/cdk/smsd/algorithm/mcsplus/GenerateCompatibilityGraph.java b/legacy/src/main/java/org/openscience/cdk/smsd/algorithm/mcsplus/GenerateCompatibilityGraph.java index 6fe6494ff73..f4b164a731e 100644 --- a/legacy/src/main/java/org/openscience/cdk/smsd/algorithm/mcsplus/GenerateCompatibilityGraph.java +++ b/legacy/src/main/java/org/openscience/cdk/smsd/algorithm/mcsplus/GenerateCompatibilityGraph.java @@ -271,7 +271,7 @@ protected Integer compatibilityGraphNodesIfCEdgeIsZero() throws IOException { //You can also check object equal or charge, hydrogen count etc - if (atom1.getSymbol().equalsIgnoreCase(atom2.getSymbol()) && (!map.contains(i + "_" + j))) { + if (atom1.getAtomicNumber().equals(atom2.getAtomicNumber()) && (!map.contains(i + "_" + j))) { compGraphNodesCZero.add(i); compGraphNodesCZero.add(j); compGraphNodesCZero.add(labelContainer.getLabelID(atom1.getSymbol())); //i.e C is label 1 diff --git a/legacy/src/main/java/org/openscience/cdk/smsd/algorithm/single/SingleMapping.java b/legacy/src/main/java/org/openscience/cdk/smsd/algorithm/single/SingleMapping.java index e2ee0d654de..015c0058e96 100644 --- a/legacy/src/main/java/org/openscience/cdk/smsd/algorithm/single/SingleMapping.java +++ b/legacy/src/main/java/org/openscience/cdk/smsd/algorithm/single/SingleMapping.java @@ -155,7 +155,7 @@ private void setSourceSingleAtomMap(boolean removeHydrogen) throws CDKException if ((removeHydrogen && sourceAtom.getAtomicNumber() != IElement.H) || (!removeHydrogen)) { for (IAtom targetAtom : target.atoms()) { Map mapAtoms = new HashMap(); - if (sourceAtom.getSymbol().equalsIgnoreCase(targetAtom.getSymbol())) { + if (sourceAtom.getAtomicNumber().equals(targetAtom.getAtomicNumber())) { mapAtoms.put(sourceAtom, targetAtom); List bonds = target.getConnectedBondsList(targetAtom); @@ -185,7 +185,7 @@ private void setTargetSingleAtomMap(boolean removeHydrogen) throws CDKException for (IAtom sourceAtoms : source.atoms()) { Map mapAtoms = new HashMap(); - if (targetAtom.getSymbol().equalsIgnoreCase(sourceAtoms.getSymbol())) { + if (targetAtom.getAtomicNumber().equals(sourceAtoms.getAtomicNumber())) { mapAtoms.put(sourceAtoms, targetAtom); List bonds = source.getConnectedBondsList(sourceAtoms); From 3dc4015808f897e9793c6f5d9ecacc5852fa1d09 Mon Sep 17 00:00:00 2001 From: John Mayfield Date: Mon, 7 Feb 2022 21:22:52 +0000 Subject: [PATCH 11/15] Replace comparisson between atom ref with Integer rather than String --- .../java/org/openscience/cdk/formula/MolecularFormula.java | 2 +- .../cdk/isomorphism/matchers/SymbolChargeIDQueryAtom.java | 2 +- .../java/org/openscience/cdk/silent/MolecularFormula.java | 2 +- .../java/org/openscience/cdk/geometry/GeometryUtil.java | 2 +- .../org/openscience/cdk/isomorphism/AtomMappingTools.java | 2 +- .../org/openscience/cdk/isomorphism/IsomorphismTester.java | 2 +- .../cdk/isomorphism/UniversalIsomorphismTester.java | 6 +++--- .../cdk/tools/manipulator/AtomContainerManipulator.java | 4 ++-- .../java/org/openscience/cdk/geometry/GeometryTools.java | 2 +- .../cdk/isomorphism/matchers/SymbolAndChargeQueryAtom.java | 2 +- .../cdk/isomorphism/matchers/SymbolQueryAtom.java | 2 +- .../isomorphism/matchers/smarts/AliphaticSymbolAtom.java | 2 +- .../cdk/isomorphism/matchers/smarts/AromaticSymbolAtom.java | 2 +- .../org/openscience/cdk/smsd/algorithm/rgraph/CDKMCS.java | 6 +++--- .../org/openscience/cdk/smsd/filters/ChemicalFilters.java | 4 ++-- .../org/openscience/cdk/formula/MolecularFormulaRange.java | 2 +- .../cdk/tools/manipulator/MolecularFormulaManipulator.java | 6 +++--- .../openscience/cdk/pharmacophore/PharmacophoreMatcher.java | 6 +++--- 18 files changed, 28 insertions(+), 28 deletions(-) diff --git a/base/data/src/main/java/org/openscience/cdk/formula/MolecularFormula.java b/base/data/src/main/java/org/openscience/cdk/formula/MolecularFormula.java index baad5a73d24..e8da4524bf1 100644 --- a/base/data/src/main/java/org/openscience/cdk/formula/MolecularFormula.java +++ b/base/data/src/main/java/org/openscience/cdk/formula/MolecularFormula.java @@ -393,7 +393,7 @@ protected boolean isTheSame(IIsotope isotopeOne, IIsotope isotopeTwo) { if (exactMass1 == null) exactMass1 = -1.0; if (exactMass2 == null) exactMass2 = -1.0; - if (!isotopeOne.getSymbol().equals(isotopeTwo.getSymbol())) return false; + if (!isotopeOne.getAtomicNumber().equals(isotopeTwo.getAtomicNumber())) return false; if (natAbund1.doubleValue() != natAbund2) return false; return exactMass1.doubleValue() == exactMass2; } diff --git a/base/isomorphism/src/main/java/org/openscience/cdk/isomorphism/matchers/SymbolChargeIDQueryAtom.java b/base/isomorphism/src/main/java/org/openscience/cdk/isomorphism/matchers/SymbolChargeIDQueryAtom.java index c77c6182640..0cc622461db 100644 --- a/base/isomorphism/src/main/java/org/openscience/cdk/isomorphism/matchers/SymbolChargeIDQueryAtom.java +++ b/base/isomorphism/src/main/java/org/openscience/cdk/isomorphism/matchers/SymbolChargeIDQueryAtom.java @@ -45,7 +45,7 @@ public void setOperator(String str) {} @Override public boolean matches(IAtom atom) { - return this.getSymbol().equals(atom.getSymbol()) && Objects.equals(this.getFormalCharge(), atom.getFormalCharge()) + return this.getAtomicNumber().equals(atom.getAtomicNumber()) && Objects.equals(this.getFormalCharge(), atom.getFormalCharge()) && this.getID().equals(atom.getID()); }; diff --git a/base/silent/src/main/java/org/openscience/cdk/silent/MolecularFormula.java b/base/silent/src/main/java/org/openscience/cdk/silent/MolecularFormula.java index 04649f91831..f3cb409d19a 100644 --- a/base/silent/src/main/java/org/openscience/cdk/silent/MolecularFormula.java +++ b/base/silent/src/main/java/org/openscience/cdk/silent/MolecularFormula.java @@ -389,7 +389,7 @@ protected boolean isTheSame(IIsotope isotopeOne, IIsotope isotopeTwo) { if (exactMass1 == null) exactMass1 = -1.0; if (exactMass2 == null) exactMass2 = -1.0; - if (!isotopeOne.getSymbol().equals(isotopeTwo.getSymbol())) return false; + if (!isotopeOne.getAtomicNumber().equals(isotopeTwo.getAtomicNumber())) return false; if (natAbund1.doubleValue() != natAbund2) return false; return exactMass1.doubleValue() == exactMass2; } diff --git a/base/standard/src/main/java/org/openscience/cdk/geometry/GeometryUtil.java b/base/standard/src/main/java/org/openscience/cdk/geometry/GeometryUtil.java index b5171518e41..f3eee806ce9 100644 --- a/base/standard/src/main/java/org/openscience/cdk/geometry/GeometryUtil.java +++ b/base/standard/src/main/java/org/openscience/cdk/geometry/GeometryUtil.java @@ -1428,7 +1428,7 @@ private static boolean checkAtomMapping(IAtomContainer firstAC, IAtomContainer s IAtom firstAtom = firstAC.getAtom(posFirstAtom); IAtom secondAtom = secondAC.getAtom(posSecondAtom); // XXX: floating point comparision! - return firstAtom.getSymbol().equals(secondAtom.getSymbol()) + return firstAtom.getAtomicNumber().equals(secondAtom.getAtomicNumber()) && firstAC.getConnectedAtomsList(firstAtom).size() == secondAC.getConnectedAtomsList(secondAtom).size() && firstAtom.getBondOrderSum().equals(secondAtom.getBondOrderSum()) && firstAtom.getMaxBondOrder() == secondAtom.getMaxBondOrder(); diff --git a/base/standard/src/main/java/org/openscience/cdk/isomorphism/AtomMappingTools.java b/base/standard/src/main/java/org/openscience/cdk/isomorphism/AtomMappingTools.java index 0c42cac242f..78df5ec05ce 100644 --- a/base/standard/src/main/java/org/openscience/cdk/isomorphism/AtomMappingTools.java +++ b/base/standard/src/main/java/org/openscience/cdk/isomorphism/AtomMappingTools.java @@ -90,7 +90,7 @@ private static boolean checkAtomMapping(IAtomContainer firstAC, IAtomContainer s IAtom firstAtom = firstAC.getAtom(posFirstAtom); IAtom secondAtom = secondAC.getAtom(posSecondAtom); // XXX: floating point comparision! - if (firstAtom.getSymbol().equals(secondAtom.getSymbol()) + if (firstAtom.getAtomicNumber().equals(secondAtom.getAtomicNumber()) && firstAC.getConnectedAtomsList(firstAtom).size() == secondAC.getConnectedAtomsList(secondAtom).size() && Objects.equals(firstAtom.getBondOrderSum(), secondAtom.getBondOrderSum()) && firstAtom.getMaxBondOrder() == secondAtom.getMaxBondOrder()) { diff --git a/base/standard/src/main/java/org/openscience/cdk/isomorphism/IsomorphismTester.java b/base/standard/src/main/java/org/openscience/cdk/isomorphism/IsomorphismTester.java index 36ca4ce6604..e6958515d62 100644 --- a/base/standard/src/main/java/org/openscience/cdk/isomorphism/IsomorphismTester.java +++ b/base/standard/src/main/java/org/openscience/cdk/isomorphism/IsomorphismTester.java @@ -105,7 +105,7 @@ public boolean isIsomorphic(IAtomContainer mol2) { if (baseTable[f] == compareTable[g]) { atom1 = base.getAtom(f); atom2 = compare.getAtom(g); - if (!(atom1.getSymbol().equals(atom2.getSymbol())) + if (!(atom1.getAtomicNumber().equals(atom2.getAtomicNumber())) && Objects.equals(atom1.getImplicitHydrogenCount(), atom2.getImplicitHydrogenCount())) { return false; } diff --git a/base/standard/src/main/java/org/openscience/cdk/isomorphism/UniversalIsomorphismTester.java b/base/standard/src/main/java/org/openscience/cdk/isomorphism/UniversalIsomorphismTester.java index 3cf6633d784..ee481339fe8 100644 --- a/base/standard/src/main/java/org/openscience/cdk/isomorphism/UniversalIsomorphismTester.java +++ b/base/standard/src/main/java/org/openscience/cdk/isomorphism/UniversalIsomorphismTester.java @@ -329,7 +329,7 @@ public boolean isSubgraph(IAtomContainer g1, IAtomContainer g2) throws CDKExcept IQueryAtom qAtom = (IQueryAtom) atom2; if (qAtom.matches(atom)) return true; } else { - if (atom2.getSymbol().equals(atom.getSymbol())) return true; + if (atom2.getAtomicNumber().equals(atom.getAtomicNumber())) return true; } } return false; @@ -443,7 +443,7 @@ public List> search(IAtomContainer g1, IAtomContainer g2, BitSet c1, } } else { for (IAtom atom : g1.atoms()) { - if (queryAtom.getSymbol().equals(atom.getSymbol())) { + if (queryAtom.getAtomicNumber().equals(atom.getAtomicNumber())) { List lmap = new ArrayList(); lmap.add(new RMap(g1.indexOf(atom), 0)); matches.add(lmap); @@ -638,7 +638,7 @@ public static List checkSingleAtomCases(IAtomContainer g1, IAtomContainer IQueryAtom qAtom = (IQueryAtom) atom2; if (qAtom.matches(atom)) arrayList.add(new RMap(0, i)); } else { - if (atom2.getSymbol().equals(atom.getSymbol())) arrayList.add(new RMap(0, i)); + if (atom2.getAtomicNumber().equals(atom.getAtomicNumber())) arrayList.add(new RMap(0, i)); } } return arrayList; diff --git a/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AtomContainerManipulator.java b/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AtomContainerManipulator.java index 59bb9577a05..73bf321bc5c 100644 --- a/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AtomContainerManipulator.java +++ b/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AtomContainerManipulator.java @@ -537,7 +537,7 @@ public static int getTotalHydrogenCount(IAtomContainer container) { int hydrogens = 0; for (IAtom atom : container.atoms()) { - if (Elements.HYDROGEN.getSymbol().equals(atom.getSymbol())) { + if (Elements.HYDROGEN.getAtomicNumber().equals(atom.getAtomicNumber())) { hydrogens++; } @@ -588,7 +588,7 @@ public static int countExplicitHydrogens(IAtomContainer atomContainer, IAtom ato throw new IllegalArgumentException("null container or atom provided"); int hCount = 0; for (IAtom connected : atomContainer.getConnectedAtomsList(atom)) { - if (Elements.HYDROGEN.getSymbol().equals(connected.getSymbol())) { + if (Elements.HYDROGEN.getAtomicNumber().equals(connected.getAtomicNumber())) { hCount++; } } diff --git a/legacy/src/main/java/org/openscience/cdk/geometry/GeometryTools.java b/legacy/src/main/java/org/openscience/cdk/geometry/GeometryTools.java index f8147a28dc2..81f9654f24c 100644 --- a/legacy/src/main/java/org/openscience/cdk/geometry/GeometryTools.java +++ b/legacy/src/main/java/org/openscience/cdk/geometry/GeometryTools.java @@ -1359,7 +1359,7 @@ private static boolean checkAtomMapping(IAtomContainer firstAC, IAtomContainer s int posSecondAtom) { IAtom firstAtom = firstAC.getAtom(posFirstAtom); IAtom secondAtom = secondAC.getAtom(posSecondAtom); - if (firstAtom.getSymbol().equals(secondAtom.getSymbol()) + if (firstAtom.getAtomicNumber().equals(secondAtom.getAtomicNumber()) && firstAC.getConnectedAtomsList(firstAtom).size() == secondAC.getConnectedAtomsList(secondAtom).size() && Objects.equals(firstAtom.getBondOrderSum(), secondAtom.getBondOrderSum()) && firstAtom.getMaxBondOrder() == secondAtom.getMaxBondOrder()) { diff --git a/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/SymbolAndChargeQueryAtom.java b/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/SymbolAndChargeQueryAtom.java index dd6e54db64c..860147284be 100644 --- a/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/SymbolAndChargeQueryAtom.java +++ b/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/SymbolAndChargeQueryAtom.java @@ -45,7 +45,7 @@ public void setOperator(String str) {} public boolean matches(IAtom atom) { int requiredCharge = this.getFormalCharge() == null ? 0 : this.getFormalCharge(); int foundCharge = atom.getFormalCharge() == null ? 0 : atom.getFormalCharge(); - return this.getSymbol().equals(atom.getSymbol()) && requiredCharge == foundCharge; + return this.getAtomicNumber().equals(atom.getAtomicNumber()) && requiredCharge == foundCharge; }; @Override diff --git a/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/SymbolQueryAtom.java b/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/SymbolQueryAtom.java index 29a849b530f..ca5b949ba6e 100644 --- a/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/SymbolQueryAtom.java +++ b/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/SymbolQueryAtom.java @@ -51,7 +51,7 @@ public boolean matches(IAtom atom) { else if (ID == null && HCount != 0) { return (this.getImplicitHydrogenCount() == HCount); } else - return this.getSymbol().equals(atom.getSymbol()); + return this.getAtomicNumber().equals(atom.getAtomicNumber()); }; public void setOperator(String str) { diff --git a/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/smarts/AliphaticSymbolAtom.java b/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/smarts/AliphaticSymbolAtom.java index 0c78266a1d0..e35e3f07ef4 100644 --- a/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/smarts/AliphaticSymbolAtom.java +++ b/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/smarts/AliphaticSymbolAtom.java @@ -50,7 +50,7 @@ public AliphaticSymbolAtom(String symbol, IChemObjectBuilder builder) { */ @Override public boolean matches(IAtom atom) { - return !atom.isAromatic() && atom.getSymbol().equals(this.getSymbol()); + return !atom.isAromatic() && atom.getAtomicNumber().equals(this.getAtomicNumber()); } /* diff --git a/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/smarts/AromaticSymbolAtom.java b/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/smarts/AromaticSymbolAtom.java index 0ad1e4274f7..5f9001d2abe 100644 --- a/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/smarts/AromaticSymbolAtom.java +++ b/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/smarts/AromaticSymbolAtom.java @@ -39,7 +39,7 @@ public AromaticSymbolAtom(String symbol, IChemObjectBuilder builder) { @Override public boolean matches(IAtom atom) { - return atom.isAromatic() && atom.getSymbol().equals(this.getSymbol()); + return atom.isAromatic() && atom.getAtomicNumber().equals(this.getAtomicNumber()); } @Override diff --git a/legacy/src/main/java/org/openscience/cdk/smsd/algorithm/rgraph/CDKMCS.java b/legacy/src/main/java/org/openscience/cdk/smsd/algorithm/rgraph/CDKMCS.java index 7d44ab14cef..2f5299a782d 100644 --- a/legacy/src/main/java/org/openscience/cdk/smsd/algorithm/rgraph/CDKMCS.java +++ b/legacy/src/main/java/org/openscience/cdk/smsd/algorithm/rgraph/CDKMCS.java @@ -372,7 +372,7 @@ public static boolean isSubgraph(IAtomContainer sourceGraph, IAtomContainer targ return true; } } else { - if (atom2.getSymbol().equals(atom.getSymbol())) { + if (atom2.getAtomicNumber().equals(atom.getAtomicNumber())) { return true; } } @@ -494,7 +494,7 @@ public static List> search(IAtomContainer sourceGraph, IAtomContai } } else { for (IAtom atom : sourceGraph.atoms()) { - if (queryAtom.getSymbol().equals(atom.getSymbol())) { + if (queryAtom.getAtomicNumber().equals(atom.getAtomicNumber())) { List lmap = new ArrayList(); lmap.add(new CDKRMap(sourceGraph.indexOf(atom), 0)); matches.add(lmap); @@ -673,7 +673,7 @@ public static List checkSingleAtomCases(IAtomContainer sourceGraph, IAt arrayList.add(new CDKRMap(0, i)); } } else { - if (atom2.getSymbol().equals(atom.getSymbol())) { + if (atom2.getAtomicNumber().equals(atom.getAtomicNumber())) { arrayList.add(new CDKRMap(0, i)); } } diff --git a/legacy/src/main/java/org/openscience/cdk/smsd/filters/ChemicalFilters.java b/legacy/src/main/java/org/openscience/cdk/smsd/filters/ChemicalFilters.java index 39355721076..47a43cfdfb3 100644 --- a/legacy/src/main/java/org/openscience/cdk/smsd/filters/ChemicalFilters.java +++ b/legacy/src/main/java/org/openscience/cdk/smsd/filters/ChemicalFilters.java @@ -603,7 +603,7 @@ private double getBondFormalChargeMatches(IBond rBond, IBond pBond) { IAtom patom1 = pBond.getBegin(); IAtom patom2 = pBond.getEnd(); - if (ratom1.getSymbol().equals(patom1.getSymbol()) && ratom1.getSymbol().equals(patom1.getSymbol())) { + if (ratom1.getAtomicNumber().equals(patom1.getAtomicNumber()) && ratom1.getAtomicNumber().equals(patom1.getAtomicNumber())) { if ((!Objects.equals(ratom1.getFormalCharge(), patom1.getFormalCharge())) || !Objects.equals(ratom2.getFormalCharge(), patom2.getFormalCharge())) { if (convertBondOrder(rBond) != convertBondOrder(pBond)) { @@ -618,7 +618,7 @@ private double getBondFormalChargeMatches(IBond rBond, IBond pBond) { && (convertBondOrder(rBond) - convertBondOrder(pBond)) == 0) { score += 100; } - } else if (ratom1.getSymbol().equals(patom2.getSymbol()) && ratom2.getSymbol().equals(patom1.getSymbol())) { + } else if (ratom1.getAtomicNumber().equals(patom2.getAtomicNumber()) && ratom2.getAtomicNumber().equals(patom1.getAtomicNumber())) { if ((!Objects.equals(ratom1.getFormalCharge(), patom2.getFormalCharge())) || !Objects.equals(ratom2.getFormalCharge(), patom1.getFormalCharge())) { if (convertBondOrder(rBond) != convertBondOrder(pBond)) { diff --git a/tool/formula/src/main/java/org/openscience/cdk/formula/MolecularFormulaRange.java b/tool/formula/src/main/java/org/openscience/cdk/formula/MolecularFormulaRange.java index e8a2a5c9095..95643c56d9d 100644 --- a/tool/formula/src/main/java/org/openscience/cdk/formula/MolecularFormulaRange.java +++ b/tool/formula/src/main/java/org/openscience/cdk/formula/MolecularFormulaRange.java @@ -215,7 +215,7 @@ public Object clone() throws CloneNotSupportedException { */ private boolean isTheSame(IIsotope isotopeOne, IIsotope isotopeTwo) { - if (!isotopeOne.getSymbol().equals(isotopeTwo.getSymbol())) return false; + if (!isotopeOne.getAtomicNumber().equals(isotopeTwo.getAtomicNumber())) return false; // XXX: floating point comparision! if (!Objects.equals(isotopeOne.getNaturalAbundance(), isotopeTwo.getNaturalAbundance())) return false; if (!Objects.equals(isotopeOne.getExactMass(), isotopeTwo.getExactMass())) return false; diff --git a/tool/formula/src/main/java/org/openscience/cdk/tools/manipulator/MolecularFormulaManipulator.java b/tool/formula/src/main/java/org/openscience/cdk/tools/manipulator/MolecularFormulaManipulator.java index 64e1a4a5bae..ca92a757818 100644 --- a/tool/formula/src/main/java/org/openscience/cdk/tools/manipulator/MolecularFormulaManipulator.java +++ b/tool/formula/src/main/java/org/openscience/cdk/tools/manipulator/MolecularFormulaManipulator.java @@ -119,7 +119,7 @@ public static int getElementCount(IMolecularFormula formula, IElement element) { int count = 0; for (IIsotope isotope : formula.isotopes()) { - if (isotope.getSymbol().equals(element.getSymbol())) count += formula.getIsotopeCount(isotope); + if (isotope.getAtomicNumber().equals(element.getAtomicNumber())) count += formula.getIsotopeCount(isotope); } return count; } @@ -160,7 +160,7 @@ public static List getIsotopes(IMolecularFormula formula, IElement ele List isotopeList = new ArrayList(); for (IIsotope isotope : formula.isotopes()) { - if (isotope.getSymbol().equals(element.getSymbol())) isotopeList.add(isotope); + if (isotope.getAtomicNumber().equals(element.getAtomicNumber())) isotopeList.add(isotope); } return isotopeList; @@ -197,7 +197,7 @@ public static List elements(IMolecularFormula formula) { public static boolean containsElement(IMolecularFormula formula, IElement element) { for (IIsotope isotope : formula.isotopes()) { - if (element.getSymbol().equals(isotope.getSymbol())) return true; + if (element.getAtomicNumber().equals(isotope.getAtomicNumber())) return true; } return false; diff --git a/tool/pcore/src/main/java/org/openscience/cdk/pharmacophore/PharmacophoreMatcher.java b/tool/pcore/src/main/java/org/openscience/cdk/pharmacophore/PharmacophoreMatcher.java index 89057c1ba0d..36dcd24d6d2 100644 --- a/tool/pcore/src/main/java/org/openscience/cdk/pharmacophore/PharmacophoreMatcher.java +++ b/tool/pcore/src/main/java/org/openscience/cdk/pharmacophore/PharmacophoreMatcher.java @@ -432,9 +432,9 @@ private IAtomContainer getPharmacophoreMolecule(IAtomContainer input) throws CDK List endl = new ArrayList(); for (IAtom tatom : pharmacophoreMolecule.atoms()) { - if (tatom.getSymbol().equals(startQAtom.getSymbol())) startl.add(tatom); - if (tatom.getSymbol().equals(middleQAtom.getSymbol())) middlel.add(tatom); - if (tatom.getSymbol().equals(endQAtom.getSymbol())) endl.add(tatom); + if (tatom.getAtomicNumber().equals(startQAtom.getAtomicNumber())) startl.add(tatom); + if (tatom.getAtomicNumber().equals(middleQAtom.getAtomicNumber())) middlel.add(tatom); + if (tatom.getAtomicNumber().equals(endQAtom.getAtomicNumber())) endl.add(tatom); } // now we form the relevant angles, but we will From 99ca0b42c54e1e726d6f30a5e9afff39f5aeec78 Mon Sep 17 00:00:00 2001 From: John Mayfield Date: Mon, 7 Feb 2022 21:24:44 +0000 Subject: [PATCH 12/15] Replace String comparission on chained symbol access. --- .../openscience/cdk/graph/invariant/MorganNumbersTools.java | 3 ++- .../cdk/tools/manipulator/AtomContainerManipulator.java | 6 +++--- .../java/org/openscience/cdk/tools/SaturationChecker.java | 4 ++-- .../geometry/cip/rules/CombinedAtomicMassNumberRule.java | 3 ++- .../cdk/isomorphism/matchers/SymbolAndChargeQueryAtom.java | 2 +- .../cdk/isomorphism/matchers/SymbolQueryAtom.java | 2 +- .../isomorphism/matchers/smarts/AliphaticSymbolAtom.java | 2 +- .../cdk/isomorphism/matchers/smarts/AromaticSymbolAtom.java | 2 +- .../java/org/openscience/cdk/smiles/FixBondOrdersTool.java | 3 ++- .../org/openscience/cdk/graph/invariant/HuLuIndexTool.java | 4 ++-- .../main/java/org/openscience/cdk/tools/AtomTypeTools.java | 3 ++- .../cdk/charges/GasteigerMarsiliPartialCharges.java | 5 +++-- .../cdk/forcefield/mmff/MmffAtomTypeMatcher.java | 3 ++- .../openscience/cdk/pharmacophore/PharmacophoreMatcher.java | 6 +++--- 14 files changed, 27 insertions(+), 21 deletions(-) diff --git a/base/standard/src/main/java/org/openscience/cdk/graph/invariant/MorganNumbersTools.java b/base/standard/src/main/java/org/openscience/cdk/graph/invariant/MorganNumbersTools.java index 5ca80184655..304680e2307 100644 --- a/base/standard/src/main/java/org/openscience/cdk/graph/invariant/MorganNumbersTools.java +++ b/base/standard/src/main/java/org/openscience/cdk/graph/invariant/MorganNumbersTools.java @@ -21,6 +21,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import java.util.Arrays; @@ -69,7 +70,7 @@ public static long[] getMorganNumbers(IAtomContainer molecule) { int[] nonHydrogens = new int[order]; for (int v = 0; v < order; v++) - nonHydrogens[v] = "H".equals(molecule.getAtom(v).getSymbol()) ? 0 : 1; + nonHydrogens[v] = molecule.getAtom(v).getAtomicNumber() == IElement.H ? 0 : 1; // build the graph and initialise the current connectivity // value to the number of connected non-hydrogens diff --git a/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AtomContainerManipulator.java b/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AtomContainerManipulator.java index 73bf321bc5c..1f4edc1bc57 100644 --- a/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AtomContainerManipulator.java +++ b/base/standard/src/main/java/org/openscience/cdk/tools/manipulator/AtomContainerManipulator.java @@ -1183,7 +1183,7 @@ private static boolean suppressibleHydrogen(final IAtomContainer container, fina if (atom.getImplicitHydrogenCount() != null && atom.getImplicitHydrogenCount() != 0) return false; // molecule hydrogen List neighbors = container.getConnectedAtomsList(atom); - if (neighbors.size() == 1 && ("H".equals(neighbors.get(0).getSymbol()) || + if (neighbors.size() == 1 && (neighbors.get(0).getAtomicNumber() == IElement.H || neighbors.get(0) instanceof IPseudoAtom)) return false; // what about bridging hydrogens? // hydrogens with atom-atom mapping? @@ -1237,7 +1237,7 @@ private static boolean suppressibleHydrogen(final IAtomContainer container, fina // okay the hydrogen has one neighbor, if that neighbor is a // hydrogen (i.e. molecular hydrogen) then we can not suppress it - if ("H".equals(container.getAtom(graph[v][0]).getSymbol())) + if (container.getAtom(graph[v][0]).getAtomicNumber() == IElement.H) return false; // can not nicely suppress hydrogens on pseudo atoms if (container.getAtom(graph[v][0]) instanceof IPseudoAtom) @@ -1595,7 +1595,7 @@ public static IBond.Order getMaximumBondOrder(IAtomContainer container) { public static List getHeavyAtoms(IAtomContainer container) { List newAc = new ArrayList(); for (int f = 0; f < container.getAtomCount(); f++) { - if (!"H".equals(container.getAtom(f).getSymbol())) { + if (container.getAtom(f).getAtomicNumber() != IElement.H) { newAc.add(container.getAtom(f)); } } diff --git a/base/valencycheck/src/main/java/org/openscience/cdk/tools/SaturationChecker.java b/base/valencycheck/src/main/java/org/openscience/cdk/tools/SaturationChecker.java index 14c8ea35340..900a843ce17 100644 --- a/base/valencycheck/src/main/java/org/openscience/cdk/tools/SaturationChecker.java +++ b/base/valencycheck/src/main/java/org/openscience/cdk/tools/SaturationChecker.java @@ -274,9 +274,9 @@ public void newSaturate(IAtomContainer atomContainer) throws CDKException { boolean succeeded = newSaturate(bonds, atomContainer); for (int i = 0; i < bonds.length; i++) { if (bonds[i].getOrder() == IBond.Order.DOUBLE && bonds[i].getFlag(CDKConstants.ISAROMATIC) - && ("N".equals(bonds[i].getBegin().getSymbol()) && "N".equals(bonds[i].getEnd().getSymbol()))) { + && (bonds[i].getBegin().getAtomicNumber() == IElement.N && bonds[i].getEnd().getAtomicNumber() == IElement.N)) { int atomtohandle = 0; - if ("N".equals(bonds[i].getBegin().getSymbol())) atomtohandle = 1; + if (bonds[i].getBegin().getAtomicNumber() == IElement.N) atomtohandle = 1; List bondstohandle = atomContainer.getConnectedBondsList(bonds[i].getAtom(atomtohandle)); for (int k = 0; k < bondstohandle.size(); k++) { IBond bond = bondstohandle.get(k); diff --git a/descriptor/cip/src/main/java/org/openscience/cdk/geometry/cip/rules/CombinedAtomicMassNumberRule.java b/descriptor/cip/src/main/java/org/openscience/cdk/geometry/cip/rules/CombinedAtomicMassNumberRule.java index 13288ab2bee..1b4834eabf0 100644 --- a/descriptor/cip/src/main/java/org/openscience/cdk/geometry/cip/rules/CombinedAtomicMassNumberRule.java +++ b/descriptor/cip/src/main/java/org/openscience/cdk/geometry/cip/rules/CombinedAtomicMassNumberRule.java @@ -23,6 +23,7 @@ package org.openscience.cdk.geometry.cip.rules; import org.openscience.cdk.geometry.cip.ILigand; +import org.openscience.cdk.interfaces.IElement; /** * Compares to {@link ILigand}s based on CIP sequences sub rules. The used CIP sub rules are: @@ -48,7 +49,7 @@ public int compare(ILigand ligand1, ILigand ligand2) { int massNumberComp = massNumberRule.compare(ligand1, ligand2); if (massNumberComp != 0) return massNumberComp; - if ("H".equals(ligand1.getLigandAtom().getSymbol())) { + if (ligand1.getLigandAtom().getAtomicNumber() == IElement.H) { // both atoms are hydrogens return 0; } diff --git a/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/SymbolAndChargeQueryAtom.java b/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/SymbolAndChargeQueryAtom.java index 860147284be..dd6e54db64c 100644 --- a/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/SymbolAndChargeQueryAtom.java +++ b/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/SymbolAndChargeQueryAtom.java @@ -45,7 +45,7 @@ public void setOperator(String str) {} public boolean matches(IAtom atom) { int requiredCharge = this.getFormalCharge() == null ? 0 : this.getFormalCharge(); int foundCharge = atom.getFormalCharge() == null ? 0 : atom.getFormalCharge(); - return this.getAtomicNumber().equals(atom.getAtomicNumber()) && requiredCharge == foundCharge; + return this.getSymbol().equals(atom.getSymbol()) && requiredCharge == foundCharge; }; @Override diff --git a/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/SymbolQueryAtom.java b/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/SymbolQueryAtom.java index ca5b949ba6e..29a849b530f 100644 --- a/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/SymbolQueryAtom.java +++ b/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/SymbolQueryAtom.java @@ -51,7 +51,7 @@ public boolean matches(IAtom atom) { else if (ID == null && HCount != 0) { return (this.getImplicitHydrogenCount() == HCount); } else - return this.getAtomicNumber().equals(atom.getAtomicNumber()); + return this.getSymbol().equals(atom.getSymbol()); }; public void setOperator(String str) { diff --git a/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/smarts/AliphaticSymbolAtom.java b/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/smarts/AliphaticSymbolAtom.java index e35e3f07ef4..0c78266a1d0 100644 --- a/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/smarts/AliphaticSymbolAtom.java +++ b/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/smarts/AliphaticSymbolAtom.java @@ -50,7 +50,7 @@ public AliphaticSymbolAtom(String symbol, IChemObjectBuilder builder) { */ @Override public boolean matches(IAtom atom) { - return !atom.isAromatic() && atom.getAtomicNumber().equals(this.getAtomicNumber()); + return !atom.isAromatic() && atom.getSymbol().equals(this.getSymbol()); } /* diff --git a/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/smarts/AromaticSymbolAtom.java b/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/smarts/AromaticSymbolAtom.java index 5f9001d2abe..0ad1e4274f7 100644 --- a/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/smarts/AromaticSymbolAtom.java +++ b/legacy/src/main/java/org/openscience/cdk/isomorphism/matchers/smarts/AromaticSymbolAtom.java @@ -39,7 +39,7 @@ public AromaticSymbolAtom(String symbol, IChemObjectBuilder builder) { @Override public boolean matches(IAtom atom) { - return atom.isAromatic() && atom.getAtomicNumber().equals(this.getAtomicNumber()); + return atom.isAromatic() && atom.getSymbol().equals(this.getSymbol()); } @Override diff --git a/legacy/src/main/java/org/openscience/cdk/smiles/FixBondOrdersTool.java b/legacy/src/main/java/org/openscience/cdk/smiles/FixBondOrdersTool.java index 555a0655028..dbc21cc80e7 100644 --- a/legacy/src/main/java/org/openscience/cdk/smiles/FixBondOrdersTool.java +++ b/legacy/src/main/java/org/openscience/cdk/smiles/FixBondOrdersTool.java @@ -35,6 +35,7 @@ import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IAtomType.Hybridization; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IRing; import org.openscience.cdk.interfaces.IRingSet; import org.openscience.cdk.tools.CDKHydrogenAdder; @@ -448,7 +449,7 @@ private List getFreeValenciesForRingGroup(IAtomContainer molecule, List int j = atomsToCheck.get(i); //Put in an implicit hydrogen atom for Planar3 C- atoms in 5-membered rings (it doesn't get put in by the Smiles parser) - if (("C".equals(molecule.getAtom(j).getSymbol())) + if ((molecule.getAtom(j).getAtomicNumber() == IElement.C) && (molecule.getAtom(j).getHybridization() == Hybridization.PLANAR3)) { //Check that ring containing the atom is five-membered diff --git a/misc/extra/src/main/java/org/openscience/cdk/graph/invariant/HuLuIndexTool.java b/misc/extra/src/main/java/org/openscience/cdk/graph/invariant/HuLuIndexTool.java index 841d68c165f..5888f00735c 100644 --- a/misc/extra/src/main/java/org/openscience/cdk/graph/invariant/HuLuIndexTool.java +++ b/misc/extra/src/main/java/org/openscience/cdk/graph/invariant/HuLuIndexTool.java @@ -85,7 +85,7 @@ public static double[][] getExtendedAdjacenyMatrix(IAtomContainer atomContainer) for (int i = 0; i < adjaMatrix.length; i++) { for (int j = 0; j < adjaMatrix.length; j++) { if (i == j) { - if ("O".equals(atomContainer.getAtom(i).getSymbol())) { + if (atomContainer.getAtom(i).getAtomicNumber() == IElement.O) { adjaMatrix[i][j] = Math.sqrt(0.74) / 6; } else { adjaMatrix[i][j] = Math.sqrt(0.74) / 6; @@ -145,7 +145,7 @@ public static double[] getAtomWeights(IAtomContainer atomContainer) throws NoSuc weightArray[i] = 4 - atom.getImplicitHydrogenCount(); for (int j = 0; j < apspMatrix.length; j++) { - if ("O".equals(atomContainer.getAtom(j).getSymbol())) + if (atomContainer.getAtom(j).getAtomicNumber() == IElement.O) valenceSum[apspMatrix[j][i]] += 6 - atomContainer.getAtom(j).getImplicitHydrogenCount(); else valenceSum[apspMatrix[j][i]] += 4 - atomContainer.getAtom(j).getImplicitHydrogenCount(); diff --git a/misc/extra/src/main/java/org/openscience/cdk/tools/AtomTypeTools.java b/misc/extra/src/main/java/org/openscience/cdk/tools/AtomTypeTools.java index 34e2603d052..54da51ed61c 100644 --- a/misc/extra/src/main/java/org/openscience/cdk/tools/AtomTypeTools.java +++ b/misc/extra/src/main/java/org/openscience/cdk/tools/AtomTypeTools.java @@ -26,6 +26,7 @@ import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.interfaces.IRing; import org.openscience.cdk.interfaces.IRingSet; import org.openscience.cdk.smiles.SmilesGenerator; @@ -229,7 +230,7 @@ else if (smile.equals(BENZENE_SMI)) int ncount = 0; for (int i = 0; i < ring.getAtomCount(); i++) { - if ("N".equals(ring.getAtom(i).getSymbol())) { + if (ring.getAtom(i).getAtomicNumber() == IElement.N) { ncount = ncount + 1; } } diff --git a/tool/charges/src/main/java/org/openscience/cdk/charges/GasteigerMarsiliPartialCharges.java b/tool/charges/src/main/java/org/openscience/cdk/charges/GasteigerMarsiliPartialCharges.java index 3040b9d91fd..71e3800dc03 100644 --- a/tool/charges/src/main/java/org/openscience/cdk/charges/GasteigerMarsiliPartialCharges.java +++ b/tool/charges/src/main/java/org/openscience/cdk/charges/GasteigerMarsiliPartialCharges.java @@ -24,6 +24,7 @@ import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; /** *

The calculation of the Gasteiger Marsili (PEOE) partial charges is based on @@ -169,13 +170,13 @@ public IAtomContainer assignGasteigerMarsiliSigmaPartialCharges(IAtomContainer a atom2 = ac.indexOf(bond.getEnd()); if (gasteigerFactors[STEP_SIZE * atom1 + atom1 + 4] >= gasteigerFactors[STEP_SIZE * atom2 + atom2 + 4]) { - if ("H".equals(ac.getAtom(atom2).getSymbol())) { + if (ac.getAtom(atom2).getAtomicNumber() == IElement.H) { deoc = DEOC_HYDROGEN; } else { deoc = gasteigerFactors[STEP_SIZE * atom2 + atom2 + 3]; } } else { - if ("H".equals(ac.getAtom(atom1).getSymbol())) { + if (ac.getAtom(atom1).getAtomicNumber() == IElement.H) { deoc = DEOC_HYDROGEN; } else { deoc = gasteigerFactors[STEP_SIZE * atom1 + atom1 + 3]; diff --git a/tool/forcefield/src/main/java/org/openscience/cdk/forcefield/mmff/MmffAtomTypeMatcher.java b/tool/forcefield/src/main/java/org/openscience/cdk/forcefield/mmff/MmffAtomTypeMatcher.java index ab36c79b8ce..dbebab3b43a 100644 --- a/tool/forcefield/src/main/java/org/openscience/cdk/forcefield/mmff/MmffAtomTypeMatcher.java +++ b/tool/forcefield/src/main/java/org/openscience/cdk/forcefield/mmff/MmffAtomTypeMatcher.java @@ -30,6 +30,7 @@ import org.openscience.cdk.interfaces.IAtom; import org.openscience.cdk.interfaces.IAtomContainer; import org.openscience.cdk.interfaces.IBond; +import org.openscience.cdk.interfaces.IElement; import org.openscience.cdk.isomorphism.Pattern; import org.openscience.cdk.smarts.SmartsPattern; @@ -186,7 +187,7 @@ private void checkPreconditions(IAtomContainer container) { */ private void assignHydrogenTypes(IAtomContainer container, String[] symbs, int[][] graph) { for (int v = 0; v < graph.length; v++) { - if ("H".equals(container.getAtom(v).getSymbol()) && graph[v].length == 1) { + if (container.getAtom(v).getAtomicNumber() == IElement.H && graph[v].length == 1) { int w = graph[v][0]; symbs[v] = this.hydrogenMap.get(symbs[w]); } diff --git a/tool/pcore/src/main/java/org/openscience/cdk/pharmacophore/PharmacophoreMatcher.java b/tool/pcore/src/main/java/org/openscience/cdk/pharmacophore/PharmacophoreMatcher.java index 36dcd24d6d2..89057c1ba0d 100644 --- a/tool/pcore/src/main/java/org/openscience/cdk/pharmacophore/PharmacophoreMatcher.java +++ b/tool/pcore/src/main/java/org/openscience/cdk/pharmacophore/PharmacophoreMatcher.java @@ -432,9 +432,9 @@ private IAtomContainer getPharmacophoreMolecule(IAtomContainer input) throws CDK List endl = new ArrayList(); for (IAtom tatom : pharmacophoreMolecule.atoms()) { - if (tatom.getAtomicNumber().equals(startQAtom.getAtomicNumber())) startl.add(tatom); - if (tatom.getAtomicNumber().equals(middleQAtom.getAtomicNumber())) middlel.add(tatom); - if (tatom.getAtomicNumber().equals(endQAtom.getAtomicNumber())) endl.add(tatom); + if (tatom.getSymbol().equals(startQAtom.getSymbol())) startl.add(tatom); + if (tatom.getSymbol().equals(middleQAtom.getSymbol())) middlel.add(tatom); + if (tatom.getSymbol().equals(endQAtom.getSymbol())) endl.add(tatom); } // now we form the relevant angles, but we will From 1e2f936f4180a0b9501d7b57ad5f937de6e48d51 Mon Sep 17 00:00:00 2001 From: John Mayfield Date: Tue, 8 Feb 2022 09:44:34 +0000 Subject: [PATCH 13/15] Bug detected by SonarCloud - the if condition does nothing. Reading the original paper we see this is meant to be the SQRT(RADII) where this is different for each atom type. --- .../cdk/graph/invariant/HuLuIndexTool.java | 37 +++++++++++++++---- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/misc/extra/src/main/java/org/openscience/cdk/graph/invariant/HuLuIndexTool.java b/misc/extra/src/main/java/org/openscience/cdk/graph/invariant/HuLuIndexTool.java index 5888f00735c..eccb2ed5427 100644 --- a/misc/extra/src/main/java/org/openscience/cdk/graph/invariant/HuLuIndexTool.java +++ b/misc/extra/src/main/java/org/openscience/cdk/graph/invariant/HuLuIndexTool.java @@ -21,8 +21,6 @@ */ package org.openscience.cdk.graph.invariant; -import java.util.Iterator; - import org.openscience.cdk.exception.NoSuchAtomException; import org.openscience.cdk.graph.PathTools; import org.openscience.cdk.graph.invariant.exception.BadMatrixFormatException; @@ -35,6 +33,8 @@ import org.openscience.cdk.tools.ILoggingTool; import org.openscience.cdk.tools.LoggingToolFactory; +import java.util.Iterator; + /** * Collection of methods for the calculation of topological indices of a * molecular graph. @@ -45,6 +45,33 @@ public class HuLuIndexTool { private final static ILoggingTool logger = LoggingToolFactory.createLoggingTool(HuLuIndexTool.class); + // Figure 1. in paper, could precompute the sqrt but hopefully the compiler + // does that for us + public static double getSqrtRadii(IAtom atom) { + if (atom.getAtomicNumber() == null) + throw new NullPointerException("Atomic Number not set"); + switch (atom.getAtomicNumber()) { + case IElement.H: return Math.sqrt(0.37); + case IElement.Li: return Math.sqrt(1.225); + case IElement.Be: return Math.sqrt(0.889); + case IElement.B: return Math.sqrt(0.80); + case IElement.C: // fallthrough + case IElement.N: // fallthrough + case IElement.O: return Math.sqrt(0.74); + case IElement.F: return Math.sqrt(0.72); + case IElement.Na: return Math.sqrt(1.572); + case IElement.Mg: return Math.sqrt(1.364); + case IElement.Al: return Math.sqrt(1.248); + case IElement.Si: return Math.sqrt(1.173); + case IElement.P: return Math.sqrt(1.10); + case IElement.S: return Math.sqrt(1.04); + case IElement.Cl: return Math.sqrt(0.994); + case IElement.Br: return Math.sqrt(1.142); + case IElement.I: return Math.sqrt(1.334); + default: throw new IllegalArgumentException("Unsupported element: " + atom.getSymbol()); + } + } + /** * Calculates the extended adjacency matrix index. * An implementation of the algorithm published in {@cdk.cite HU96}. @@ -85,11 +112,7 @@ public static double[][] getExtendedAdjacenyMatrix(IAtomContainer atomContainer) for (int i = 0; i < adjaMatrix.length; i++) { for (int j = 0; j < adjaMatrix.length; j++) { if (i == j) { - if (atomContainer.getAtom(i).getAtomicNumber() == IElement.O) { - adjaMatrix[i][j] = Math.sqrt(0.74) / 6; - } else { - adjaMatrix[i][j] = Math.sqrt(0.74) / 6; - } + adjaMatrix[i][j] = getSqrtRadii(atomContainer.getAtom(i)) / 6; } else { adjaMatrix[i][j] = (Math.sqrt(atomWeights[i] / atomWeights[j]) + Math.sqrt(atomWeights[j] / atomWeights[i])) From 430e80972d69b51b5f843be8723fe9162a51205b Mon Sep 17 00:00:00 2001 From: John Mayfield Date: Tue, 8 Feb 2022 11:00:26 +0000 Subject: [PATCH 14/15] Less code smell --- .../cdk/atomtype/CDKAtomTypeMatcher.java | 9 +++-- .../cdk/tools/ATASaturationCheckerTest.java | 36 +++++++++---------- .../cdk/geometry/GeometryTools.java | 12 +++---- .../IPMolecularLearningDescriptor.java | 4 +-- .../openscience/cdk/tools/CDKUtilities.java | 2 +- .../cdk/io/MDLV2000ReaderTest.java | 2 +- .../cdk/io/RGroupQueryReaderTest.java | 2 +- 7 files changed, 33 insertions(+), 34 deletions(-) diff --git a/base/core/src/main/java/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java b/base/core/src/main/java/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java index a79a44b32b7..a482b6e57b3 100755 --- a/base/core/src/main/java/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java +++ b/base/core/src/main/java/org/openscience/cdk/atomtype/CDKAtomTypeMatcher.java @@ -277,7 +277,7 @@ private IAtomType findMatchingAtomType(IAtomContainer atomContainer, IAtom atom, type = perceiveCalcium(atomContainer, atom); break; default: - if (type == null) type = perceiveHalogens(atomContainer, atom, connectedBonds); + type = perceiveHalogens(atomContainer, atom, connectedBonds); if (type == null) type = perceiveCommonSalts(atomContainer, atom); if (type == null) type = perceiveOrganometallicCenters(atomContainer, atom); if (type == null) type = perceiveNobelGases(atomContainer, atom); @@ -1495,7 +1495,11 @@ private IAtomType perceiveLithium(IAtomContainer atomContainer, IAtom atom) thro } private IAtomType perceiveHalogens(IAtomContainer atomContainer, IAtom atom, List connectedBonds) throws CDKException { - if (connectedBonds == null) connectedBonds = atomContainer.getConnectedBondsList(atom); + + if (connectedBonds == null) { + connectedBonds = atomContainer.getConnectedBondsList(atom); + } + if (atom.getAtomicNumber() == IElement.F) { if (hasOneSingleElectron(atomContainer, atom)) { if (connectedBonds.size() == 0) { @@ -1535,7 +1539,6 @@ private IAtomType perceiveHalogens(IAtomContainer atomContainer, IAtom atom, Lis } else if (atom.getAtomicNumber() == IElement.I) { return perceiveIodine(atomContainer, atom, connectedBonds); } - return null; } diff --git a/base/test-valencycheck/src/test/java/org/openscience/cdk/tools/ATASaturationCheckerTest.java b/base/test-valencycheck/src/test/java/org/openscience/cdk/tools/ATASaturationCheckerTest.java index 5b971cf6571..1058c392f40 100644 --- a/base/test-valencycheck/src/test/java/org/openscience/cdk/tools/ATASaturationCheckerTest.java +++ b/base/test-valencycheck/src/test/java/org/openscience/cdk/tools/ATASaturationCheckerTest.java @@ -152,38 +152,38 @@ public void testQuinone() throws Exception { atasc.decideBondOrder(mol, true); - Assert.assertTrue(mol.getAtom(1).getHybridization() == IAtomType.Hybridization.SP2); + Assert.assertSame(mol.getAtom(1).getHybridization(), IAtomType.Hybridization.SP2); - Assert.assertTrue(mol.getBond(0).getEnd().getAtomicNumber() == IElement.C); - Assert.assertTrue(mol.getBond(0).getBegin().getAtomicNumber() == IElement.O); + Assert.assertEquals(IElement.C, (int) mol.getBond(0).getEnd().getAtomicNumber()); + Assert.assertEquals(IElement.O, (int) mol.getBond(0).getBegin().getAtomicNumber()); Assert.assertEquals(mol.getBond(0).getOrder(), IBond.Order.DOUBLE); - Assert.assertTrue(mol.getBond(1).getBegin().getAtomicNumber() == IElement.C); - Assert.assertTrue(mol.getBond(1).getEnd().getAtomicNumber() == IElement.C); + Assert.assertEquals(IElement.C, (int) mol.getBond(1).getBegin().getAtomicNumber()); + Assert.assertEquals(IElement.C, (int) mol.getBond(1).getEnd().getAtomicNumber()); Assert.assertEquals(mol.getBond(1).getOrder(), IBond.Order.SINGLE); - Assert.assertTrue(mol.getBond(2).getBegin().getAtomicNumber() == IElement.C); - Assert.assertTrue(mol.getBond(2).getEnd().getAtomicNumber() == IElement.C); + Assert.assertEquals(IElement.C, (int) mol.getBond(2).getBegin().getAtomicNumber()); + Assert.assertEquals(IElement.C, (int) mol.getBond(2).getEnd().getAtomicNumber()); Assert.assertEquals(mol.getBond(2).getOrder(), IBond.Order.DOUBLE); - Assert.assertTrue(mol.getBond(3).getBegin().getAtomicNumber() == IElement.C); - Assert.assertTrue(mol.getBond(3).getEnd().getAtomicNumber() == IElement.C); + Assert.assertEquals(IElement.C, (int) mol.getBond(3).getBegin().getAtomicNumber()); + Assert.assertEquals(IElement.C, (int) mol.getBond(3).getEnd().getAtomicNumber()); Assert.assertEquals(mol.getBond(3).getOrder(), IBond.Order.SINGLE); - Assert.assertTrue(mol.getBond(4).getEnd().getAtomicNumber() == IElement.O); - Assert.assertTrue(mol.getBond(4).getBegin().getAtomicNumber() == IElement.C); + Assert.assertEquals(IElement.O, (int) mol.getBond(4).getEnd().getAtomicNumber()); + Assert.assertEquals(IElement.C, (int) mol.getBond(4).getBegin().getAtomicNumber()); Assert.assertEquals(mol.getBond(4).getOrder(), IBond.Order.DOUBLE); - Assert.assertTrue(mol.getBond(5).getBegin().getAtomicNumber() == IElement.C); - Assert.assertTrue(mol.getBond(5).getEnd().getAtomicNumber() == IElement.C); - Assert.assertTrue(mol.getBond(5).getOrder() == IBond.Order.SINGLE); + Assert.assertEquals(IElement.C, (int) mol.getBond(5).getBegin().getAtomicNumber()); + Assert.assertEquals(IElement.C, (int) mol.getBond(5).getEnd().getAtomicNumber()); + Assert.assertSame(mol.getBond(5).getOrder(), Order.SINGLE); - Assert.assertTrue(mol.getBond(6).getBegin().getAtomicNumber() == IElement.C); - Assert.assertTrue(mol.getBond(6).getEnd().getAtomicNumber() == IElement.C); + Assert.assertEquals(IElement.C, (int) mol.getBond(6).getBegin().getAtomicNumber()); + Assert.assertEquals(IElement.C, (int) mol.getBond(6).getEnd().getAtomicNumber()); Assert.assertEquals(mol.getBond(6).getOrder(), IBond.Order.DOUBLE); - Assert.assertTrue(mol.getBond(7).getBegin().getAtomicNumber() == IElement.C); - Assert.assertTrue(mol.getBond(7).getEnd().getAtomicNumber() == IElement.C); + Assert.assertEquals(IElement.C, (int) mol.getBond(7).getBegin().getAtomicNumber()); + Assert.assertEquals(IElement.C, (int) mol.getBond(7).getEnd().getAtomicNumber()); Assert.assertEquals(mol.getBond(7).getOrder(), IBond.Order.SINGLE); Assert.assertEquals(mol.getBond(0).getEnd(), mol.getBond(7).getBegin()); diff --git a/legacy/src/main/java/org/openscience/cdk/geometry/GeometryTools.java b/legacy/src/main/java/org/openscience/cdk/geometry/GeometryTools.java index 81f9654f24c..0cb6fde2bee 100644 --- a/legacy/src/main/java/org/openscience/cdk/geometry/GeometryTools.java +++ b/legacy/src/main/java/org/openscience/cdk/geometry/GeometryTools.java @@ -1359,14 +1359,10 @@ private static boolean checkAtomMapping(IAtomContainer firstAC, IAtomContainer s int posSecondAtom) { IAtom firstAtom = firstAC.getAtom(posFirstAtom); IAtom secondAtom = secondAC.getAtom(posSecondAtom); - if (firstAtom.getAtomicNumber().equals(secondAtom.getAtomicNumber()) - && firstAC.getConnectedAtomsList(firstAtom).size() == secondAC.getConnectedAtomsList(secondAtom).size() - && Objects.equals(firstAtom.getBondOrderSum(), secondAtom.getBondOrderSum()) - && firstAtom.getMaxBondOrder() == secondAtom.getMaxBondOrder()) { - return true; - } else { - return false; - } + return firstAtom.getAtomicNumber().equals(secondAtom.getAtomicNumber()) + && firstAC.getConnectedAtomsList(firstAtom).size() == secondAC.getConnectedAtomsList(secondAtom).size() + && Objects.equals(firstAtom.getBondOrderSum(), secondAtom.getBondOrderSum()) + && firstAtom.getMaxBondOrder() == secondAtom.getMaxBondOrder(); } private static IAtomContainer setVisitedFlagsToFalse(IAtomContainer atomContainer) { diff --git a/legacy/src/main/java/org/openscience/cdk/qsar/descriptors/molecular/IPMolecularLearningDescriptor.java b/legacy/src/main/java/org/openscience/cdk/qsar/descriptors/molecular/IPMolecularLearningDescriptor.java index 9b650d754b3..75f26826bf0 100644 --- a/legacy/src/main/java/org/openscience/cdk/qsar/descriptors/molecular/IPMolecularLearningDescriptor.java +++ b/legacy/src/main/java/org/openscience/cdk/qsar/descriptors/molecular/IPMolecularLearningDescriptor.java @@ -171,8 +171,8 @@ public DescriptorValue calculatePlus(IAtomContainer container) throws CDKExcepti } for (Iterator itB = container.bonds().iterator(); itB.hasNext();) { IBond bond = itB.next(); - if (bond.getOrder() == IBond.Order.DOUBLE & bond.getBegin().getAtomicNumber() == IElement.C - & bond.getEnd().getAtomicNumber() == IElement.C) { + if (bond.getOrder() == IBond.Order.DOUBLE && bond.getBegin().getAtomicNumber() == IElement.C + && bond.getEnd().getAtomicNumber() == IElement.C) { double value = IonizationPotentialTool.predictIP(container, bond); if (value != 0) dar.add(value); diff --git a/legacy/src/main/java/org/openscience/cdk/tools/CDKUtilities.java b/legacy/src/main/java/org/openscience/cdk/tools/CDKUtilities.java index a8293cfbba2..566ae82d8cb 100644 --- a/legacy/src/main/java/org/openscience/cdk/tools/CDKUtilities.java +++ b/legacy/src/main/java/org/openscience/cdk/tools/CDKUtilities.java @@ -75,7 +75,7 @@ private static boolean fixNitroGroups(IAtomContainer m) { int count = 0; for (int j = 0; j <= 2; j++) { - if (((IAtom) ca.get(j)).getAtomicNumber() == IElement.O) { + if (ca.get(j).getAtomicNumber() == IElement.O) { count++; } } diff --git a/storage/ctab/src/test/java/org/openscience/cdk/io/MDLV2000ReaderTest.java b/storage/ctab/src/test/java/org/openscience/cdk/io/MDLV2000ReaderTest.java index 99b317bfd27..ccd183c1387 100644 --- a/storage/ctab/src/test/java/org/openscience/cdk/io/MDLV2000ReaderTest.java +++ b/storage/ctab/src/test/java/org/openscience/cdk/io/MDLV2000ReaderTest.java @@ -900,7 +900,7 @@ public void testAtomValueLines() throws Exception { IAtomContainer result = reader.read(testMolecule); reader.close(); IAtom oxygen = result.getAtom(0); - assertTrue(oxygen.getAtomicNumber() == IElement.O); + Assert.assertEquals(IElement.O, (int) oxygen.getAtomicNumber()); Assert.assertEquals(oxygen.getProperty(CDKConstants.COMMENT), "Oxygen comment"); } diff --git a/storage/ctab/src/test/java/org/openscience/cdk/io/RGroupQueryReaderTest.java b/storage/ctab/src/test/java/org/openscience/cdk/io/RGroupQueryReaderTest.java index e03768a3776..5772081c6c9 100644 --- a/storage/ctab/src/test/java/org/openscience/cdk/io/RGroupQueryReaderTest.java +++ b/storage/ctab/src/test/java/org/openscience/cdk/io/RGroupQueryReaderTest.java @@ -193,7 +193,7 @@ public void testRgroupQueryFile2() throws Exception { Map apoBonds = rootApo.get(at); Assert.assertEquals(apoBonds.size(), 2); Assert.assertEquals(apoBonds.get(1).getOther(at).getSymbol(), "N"); - Assert.assertTrue(apoBonds.get(2).getOther(at).getAtomicNumber() == IElement.C); + Assert.assertEquals(IElement.C, (int) apoBonds.get(2).getOther(at).getAtomicNumber()); //Test: Oxygens are the 2nd APO's for R1 IRGroupList rList = rGroupQuery.getRGroupDefinitions().get(1); Assert.assertEquals(rList.getRGroups().size(), 2); From eb4eee135bd6baab7a2b1cd101d49ff9c034f057 Mon Sep 17 00:00:00 2001 From: John Mayfield Date: Tue, 8 Feb 2022 11:23:15 +0000 Subject: [PATCH 15/15] Swap ordering of test assertions --- .../cdk/tools/ATASaturationCheckerTest.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/base/test-valencycheck/src/test/java/org/openscience/cdk/tools/ATASaturationCheckerTest.java b/base/test-valencycheck/src/test/java/org/openscience/cdk/tools/ATASaturationCheckerTest.java index 1058c392f40..26cccbb51fe 100644 --- a/base/test-valencycheck/src/test/java/org/openscience/cdk/tools/ATASaturationCheckerTest.java +++ b/base/test-valencycheck/src/test/java/org/openscience/cdk/tools/ATASaturationCheckerTest.java @@ -152,39 +152,39 @@ public void testQuinone() throws Exception { atasc.decideBondOrder(mol, true); - Assert.assertSame(mol.getAtom(1).getHybridization(), IAtomType.Hybridization.SP2); + Assert.assertSame(IAtomType.Hybridization.SP2, mol.getAtom(1).getHybridization()); Assert.assertEquals(IElement.C, (int) mol.getBond(0).getEnd().getAtomicNumber()); Assert.assertEquals(IElement.O, (int) mol.getBond(0).getBegin().getAtomicNumber()); - Assert.assertEquals(mol.getBond(0).getOrder(), IBond.Order.DOUBLE); + Assert.assertEquals(IBond.Order.DOUBLE, mol.getBond(0).getOrder()); Assert.assertEquals(IElement.C, (int) mol.getBond(1).getBegin().getAtomicNumber()); Assert.assertEquals(IElement.C, (int) mol.getBond(1).getEnd().getAtomicNumber()); - Assert.assertEquals(mol.getBond(1).getOrder(), IBond.Order.SINGLE); + Assert.assertEquals(IBond.Order.SINGLE, mol.getBond(1).getOrder()); Assert.assertEquals(IElement.C, (int) mol.getBond(2).getBegin().getAtomicNumber()); Assert.assertEquals(IElement.C, (int) mol.getBond(2).getEnd().getAtomicNumber()); - Assert.assertEquals(mol.getBond(2).getOrder(), IBond.Order.DOUBLE); + Assert.assertEquals(IBond.Order.DOUBLE, mol.getBond(2).getOrder()); Assert.assertEquals(IElement.C, (int) mol.getBond(3).getBegin().getAtomicNumber()); Assert.assertEquals(IElement.C, (int) mol.getBond(3).getEnd().getAtomicNumber()); - Assert.assertEquals(mol.getBond(3).getOrder(), IBond.Order.SINGLE); + Assert.assertEquals(IBond.Order.SINGLE, mol.getBond(3).getOrder()); Assert.assertEquals(IElement.O, (int) mol.getBond(4).getEnd().getAtomicNumber()); Assert.assertEquals(IElement.C, (int) mol.getBond(4).getBegin().getAtomicNumber()); - Assert.assertEquals(mol.getBond(4).getOrder(), IBond.Order.DOUBLE); + Assert.assertEquals(IBond.Order.DOUBLE, mol.getBond(4).getOrder()); Assert.assertEquals(IElement.C, (int) mol.getBond(5).getBegin().getAtomicNumber()); Assert.assertEquals(IElement.C, (int) mol.getBond(5).getEnd().getAtomicNumber()); - Assert.assertSame(mol.getBond(5).getOrder(), Order.SINGLE); + Assert.assertSame(Order.SINGLE, mol.getBond(5).getOrder()); Assert.assertEquals(IElement.C, (int) mol.getBond(6).getBegin().getAtomicNumber()); Assert.assertEquals(IElement.C, (int) mol.getBond(6).getEnd().getAtomicNumber()); - Assert.assertEquals(mol.getBond(6).getOrder(), IBond.Order.DOUBLE); + Assert.assertEquals(IBond.Order.DOUBLE, mol.getBond(6).getOrder()); Assert.assertEquals(IElement.C, (int) mol.getBond(7).getBegin().getAtomicNumber()); Assert.assertEquals(IElement.C, (int) mol.getBond(7).getEnd().getAtomicNumber()); - Assert.assertEquals(mol.getBond(7).getOrder(), IBond.Order.SINGLE); + Assert.assertEquals(IBond.Order.SINGLE, mol.getBond(7).getOrder()); Assert.assertEquals(mol.getBond(0).getEnd(), mol.getBond(7).getBegin()); }