/** * Returns The number of Implicit Hydrogen Count for a given IAtom. * @param atom * @return Implicit Hydrogen Count */ public static int getImplicitHydrogenCount(IAtom atom) { return atom.getImplicitHydrogenCount() == CDKConstants.UNSET ? 0 : atom.getImplicitHydrogenCount(); }
@Override public boolean matches(IAtom atom) { // h counts should be set before match throw runtime exception? if (atom.getImplicitHydrogenCount() == null) return false; return atom.getImplicitHydrogenCount() == hcount; }
private void convertCMLToCDKHydrogenCounts() { for (IAtom atom : currentMolecule.atoms()) { if (atom.getImplicitHydrogenCount() != null) { int explicitHCount = AtomContainerManipulator.countExplicitHydrogens(currentMolecule, atom); if (explicitHCount != 0) { atom.setImplicitHydrogenCount(atom.getImplicitHydrogenCount() - explicitHCount); } } } }
private void convertCMLToCDKHydrogenCounts() { for (IAtom atom : currentMolecule.atoms()) { if (atom.getImplicitHydrogenCount() != null) { int explicitHCount = AtomContainerManipulator.countExplicitHydrogens(currentMolecule, atom); if (explicitHCount != 0) { atom.setImplicitHydrogenCount(atom.getImplicitHydrogenCount() - explicitHCount); } } } }
@Test public void testHCountF() { Expr expr = new Expr(IMPL_H_COUNT, 2); IAtom atom = mock(IAtom.class); when(atom.getImplicitHydrogenCount()).thenReturn(1); assertFalse(expr.matches(atom)); }
@Test public void atomicOxygen() throws CDKException { InChIToStructure parser = new InChIToStructure("InChI=1S/O", DefaultChemObjectBuilder.getInstance()); parser.generateAtomContainerFromInchi(SilentChemObjectBuilder.getInstance()); IAtomContainer container = parser.getAtomContainer(); Assert.assertThat(container, is(instanceOf(SilentChemObjectBuilder.getInstance().newAtomContainer().getClass()))); Assert.assertThat(container.getAtom(0).getImplicitHydrogenCount(), is(notNullValue())); Assert.assertThat(container.getAtom(0).getImplicitHydrogenCount(), is(0)); }
/** * A unit test for JUnit */ @org.junit.Test(timeout = 1000) public void testImplicitHydrogenCount2() throws Exception { String smiles = "CC"; IAtomContainer mol = sp.parseSmiles(smiles); Assert.assertEquals(2, mol.getAtomCount()); Assert.assertEquals(3, mol.getAtom(0).getImplicitHydrogenCount().intValue()); }
/** * A unit test for JUnit */ @org.junit.Test(timeout = 1000) public void testImplicitHydrogenCount2b() throws Exception { String smiles = "C=C"; IAtomContainer mol = sp.parseSmiles(smiles); Assert.assertEquals(2, mol.getAtomCount()); Assert.assertEquals(2, mol.getAtom(0).getImplicitHydrogenCount().intValue()); }
/** * A unit test for JUnit */ @org.junit.Test(timeout = 1000) public void testImplicitHydrogenCount() throws Exception { String smiles = "C"; IAtomContainer mol = sp.parseSmiles(smiles); Assert.assertEquals(1, mol.getAtomCount()); Assert.assertEquals(4, mol.getAtom(0).getImplicitHydrogenCount().intValue()); }
@Test public void methaneAtom() { IAtom a = g2c.toCDKAtom(AtomBuilder.aliphatic(Element.Carbon).hydrogens(4).build(), 4); assertThat(a.getSymbol(), is("C")); assertThat(a.getImplicitHydrogenCount(), is(4)); }
@Test public void tin_ii() { IAtomContainer container = new AtomContainer(); IAtom atom = new Atom("Sn"); atom.setValency(2); container.addAtom(atom); MDLValence.apply(container); assertThat(atom.getValency(), is(2)); assertThat(atom.getImplicitHydrogenCount(), is(2)); }
@Test public void carbon_anion() { IAtomContainer container = new AtomContainer(); IAtom atom = new Atom("C"); atom.setFormalCharge(+1); container.addAtom(atom); MDLValence.apply(container); assertThat(atom.getValency(), is(3)); assertThat(atom.getImplicitHydrogenCount(), is(3)); }
@Test public void oxidanide() { IAtom a = g2c.toCDKAtom(AtomBuilder.aliphatic(Element.Oxygen).hydrogens(1).anion().build(), 1); assertThat(a.getSymbol(), is("O")); assertThat(a.getImplicitHydrogenCount(), is(1)); assertThat(a.getFormalCharge(), is(-1)); }
@Test public void carbon_cation() { IAtomContainer container = new AtomContainer(); IAtom atom = new Atom("C"); atom.setFormalCharge(-1); container.addAtom(atom); MDLValence.apply(container); assertThat(atom.getValency(), is(3)); assertThat(atom.getImplicitHydrogenCount(), is(3)); }
@Test public void testPseudoAtom() throws Exception { IAtomContainer molecule = new AtomContainer(); molecule.addAtom(new PseudoAtom("Waterium")); findAndConfigureAtomTypesForAllAtoms(molecule); Assert.assertNull(molecule.getAtom(0).getImplicitHydrogenCount()); }
@Test public void testAtom_Ca2plus() { IAtom a = new Atom("Ca+2"); Assert.assertEquals("Ca", a.getSymbol()); Assert.assertEquals((Integer) 20, a.getAtomicNumber()); Assert.assertEquals(null, a.getImplicitHydrogenCount()); Assert.assertEquals(Integer.valueOf(+2), a.getFormalCharge()); Assert.assertNull(a.getPoint2d()); Assert.assertNull(a.getPoint3d()); Assert.assertNull(a.getFractionalPoint3d()); }
@Test public void testAtom_NH4plus() { IAtom a = new Atom("NH4+"); Assert.assertEquals("N", a.getSymbol()); Assert.assertEquals((Integer) 7, a.getAtomicNumber()); Assert.assertEquals((Integer) 4, a.getImplicitHydrogenCount()); Assert.assertEquals((Integer) 1, a.getFormalCharge()); Assert.assertNull(a.getPoint2d()); Assert.assertNull(a.getPoint3d()); Assert.assertNull(a.getFractionalPoint3d()); }
@Test public void testAtom_NH4plus_direct() { IAtom a = new Atom(7, 4, +1); Assert.assertEquals("N", a.getSymbol()); Assert.assertEquals((Integer) 7, a.getAtomicNumber()); Assert.assertEquals((Integer) 4, a.getImplicitHydrogenCount()); Assert.assertEquals((Integer) 1, a.getFormalCharge()); Assert.assertNull(a.getPoint2d()); Assert.assertNull(a.getPoint3d()); Assert.assertNull(a.getFractionalPoint3d()); }
@Test public void testAtom_Cl_direct() { IAtom a = new Atom(17); Assert.assertEquals("Cl", a.getSymbol()); Assert.assertEquals((Integer) 17, a.getAtomicNumber()); Assert.assertEquals((Integer) 0, a.getImplicitHydrogenCount()); Assert.assertEquals((Integer) 0, a.getFormalCharge()); Assert.assertNull(a.getPoint2d()); Assert.assertNull(a.getPoint3d()); Assert.assertNull(a.getFractionalPoint3d()); }
@Test public void testAtom_13CH3() { IAtom a = new Atom("13CH3"); Assert.assertEquals("C", a.getSymbol()); Assert.assertEquals((Integer) 13, a.getMassNumber()); Assert.assertEquals((Integer) 6, a.getAtomicNumber()); Assert.assertEquals((Integer) 3, a.getImplicitHydrogenCount()); Assert.assertEquals((Integer) 0, a.getFormalCharge()); Assert.assertNull(a.getPoint2d()); Assert.assertNull(a.getPoint3d()); Assert.assertNull(a.getFractionalPoint3d()); }