private static void serializeElementFields(Model model, Resource rdfObject, IElement element) { serializeChemObjectFields(model, rdfObject, element); if (element.getSymbol() != null) model.add(rdfObject, CDK.SYMBOL, element.getSymbol()); if (element.getAtomicNumber() != null) model.add(rdfObject, CDK.HASATOMICNUMBER, element.getAtomicNumber().toString()); }
@Test public void testClone_IAtomicNumber() throws Exception { IElement elem = (IElement) newChemObject(); elem.setAtomicNumber(6); IElement clone = (IElement) elem.clone(); // test cloning of atomic number elem.setAtomicNumber(5); // don't care about symbol Assert.assertEquals(6, clone.getAtomicNumber().intValue()); }
private static void makeReferencesExplicitForElement(IElement element) { int selfCounter = 0; element.setProperty(prefix + ":field:symbol", "chemical:atomSymbol"); element.setProperty(prefix + ":field:atomicNumber", "chemical:atomicNumber"); if (element.getSymbol().equals("C")) { element.setProperty(prefix + ":self:" + selfCounter++, "element:carbon"); } else if (element.getSymbol().equals("N")) { element.setProperty(prefix + ":self:" + selfCounter++, "element:nitrogen"); } else if (element.getSymbol().equals("O")) { element.setProperty(prefix + ":self:" + selfCounter++, "element:oxygen"); } else if (element.getSymbol().equals("H")) { element.setProperty(prefix + ":self:" + selfCounter++, "element:hydrogen"); } else if (element.getSymbol().equals("S")) { element.setProperty(prefix + ":self:" + selfCounter++, "element:sulphur"); } else if (element.getSymbol().equals("P")) { element.setProperty(prefix + ":self:" + selfCounter++, "element:phosphorus"); } }
/** * Returns a set of nodes excluding all the hydrogens. * * @param formula The IMolecularFormula * @return The heavyElements value into a List * * @cdk.keyword hydrogen, removal */ public static List<IElement> getHeavyElements(IMolecularFormula formula) { List<IElement> newEle = new ArrayList<IElement>(); for (IElement element : elements(formula)) { if (!element.getSymbol().equals("H")) { newEle.add(element); } } return newEle; }
/** * Constructs an empty by copying the symbol, atomic number, * flags, and identifier from the given IElement. It does * not copy the listeners and properties. * * @param element IElement to copy information from */ public Element(IElement element) { super(element); this.atomicNumber = element.getAtomicNumber(); }
/** * Compare two {@link IChemObject} classes and return the difference as an {@link IDifference}. * * @param first the first of the two classes to compare * @param second the second of the two classes to compare * @return an {@link IDifference} representation of the difference between the first and second {@link IChemObject}. */ public static IDifference difference(IChemObject first, IChemObject second) { if (!(first instanceof IElement && second instanceof IElement)) { return null; } IElement firstElem = (IElement) first; IElement secondElem = (IElement) second; ChemObjectDifference coDiff = new ChemObjectDifference("ElementDiff"); coDiff.addChild(StringDifference.construct("S", firstElem.getSymbol(), secondElem.getSymbol())); coDiff.addChild(StringDifference.construct("ID", firstElem.getID(), secondElem.getID())); coDiff.addChild(IntegerDifference.construct("AN", firstElem.getAtomicNumber(), secondElem.getAtomicNumber())); coDiff.addChild(ChemObjectDiff.difference(first, second)); if (coDiff.childCount() > 0) { return coDiff; } else { return null; } }
@Test public void testGetAtomicNumber() { IElement e = (IElement) newChemObject(); e.setAtomicNumber(1); Assert.assertEquals(1, e.getAtomicNumber().intValue()); }
private static void deserializeElementFields(Resource rdfObject, IElement element) { deserializeChemObjectFields(rdfObject, element); Statement symbol = rdfObject.getProperty(CDK.SYMBOL); if (symbol != null) element.setSymbol(symbol.getString()); Statement atomicNumber = rdfObject.getProperty(CDK.HASATOMICNUMBER); if (atomicNumber != null) element.setAtomicNumber(atomicNumber.getInt()); }
@Test public void testElement_IElement() { IElement element = new Element(); IElement e = element.getBuilder().newInstance(IElement.class, element); Assert.assertTrue(e instanceof IChemObject); }
/** * Get a list of IIsotope from a given IElement which is contained * molecular. The search is based only on the IElement. * * @param formula The MolecularFormula to check * @param element The IElement object * @return The list with the IIsotopes in this molecular formula */ public static List<IIsotope> getIsotopes(IMolecularFormula formula, IElement element) { List<IIsotope> isotopeList = new ArrayList<IIsotope>(); for (IIsotope isotope : formula.isotopes()) { if (isotope.getSymbol().equals(element.getSymbol())) isotopeList.add(isotope); } return isotopeList; }
/** * Constructs an empty by copying the symbol, atomic number, * flags, and identifier from the given IElement. It does * not copy the listeners and properties. * * @param element IElement to copy information from */ public Element(IElement element) { super(element); this.atomicNumber = element.getAtomicNumber(); }
@Test public void testSetAtomicNumber_Integer() { IElement e = (IElement) newChemObject(); e.setAtomicNumber(1); Assert.assertEquals(1, e.getAtomicNumber().intValue()); }
private static void makeReferencesExplicitForElement(IElement element) { int selfCounter = 0; element.setProperty(prefix + ":field:symbol", "chemical:atomSymbol"); element.setProperty(prefix + ":field:atomicNumber", "chemical:atomicNumber"); if (element.getSymbol().equals("C")) { element.setProperty(prefix + ":self:" + selfCounter++, "element:carbon"); } else if (element.getSymbol().equals("N")) { element.setProperty(prefix + ":self:" + selfCounter++, "element:nitrogen"); } else if (element.getSymbol().equals("O")) { element.setProperty(prefix + ":self:" + selfCounter++, "element:oxygen"); } else if (element.getSymbol().equals("H")) { element.setProperty(prefix + ":self:" + selfCounter++, "element:hydrogen"); } else if (element.getSymbol().equals("S")) { element.setProperty(prefix + ":self:" + selfCounter++, "element:sulphur"); } else if (element.getSymbol().equals("P")) { element.setProperty(prefix + ":self:" + selfCounter++, "element:phosphorus"); } }
private static void deserializeElementFields(Resource rdfObject, IElement element) { deserializeChemObjectFields(rdfObject, element); Statement symbol = rdfObject.getProperty(CDK.SYMBOL); if (symbol != null) element.setSymbol(symbol.getString()); Statement atomicNumber = rdfObject.getProperty(CDK.HASATOMICNUMBER); if (atomicNumber != null) element.setAtomicNumber(atomicNumber.getInt()); }
@Test public void testDebugPDBAtom_IElement() { IElement element = new DebugElement(); IAtom a = element.getBuilder().newInstance(IPDBAtom.class, element); Assert.assertNotNull(a); }
private static void serializeElementFields(Model model, Resource rdfObject, IElement element) { serializeChemObjectFields(model, rdfObject, element); if (element.getSymbol() != null) model.add(rdfObject, CDK.SYMBOL, element.getSymbol()); if (element.getAtomicNumber() != null) model.add(rdfObject, CDK.HASATOMICNUMBER, element.getAtomicNumber().toString()); }
/** * True, if the MolecularFormula contains the given element as IIsotope object. * * @param formula IMolecularFormula molecularFormula * @param element The element this MolecularFormula is searched for * @return True, if the MolecularFormula contains the given element object */ public static boolean containsElement(IMolecularFormula formula, IElement element) { for (IIsotope isotope : formula.isotopes()) { if (element.getSymbol().equals(isotope.getSymbol())) return true; } return false; }