From: Christoph S. <ste...@us...> - 2002-04-29 19:43:14
|
Update of /cvsroot/cdk/cdk/org/openscience/cdk/tools In directory usw-pr-cvs1:/tmp/cvs-serv8022/tools Modified Files: ElementFactory.java IsotopeFactory.java Log Message: Added a SMILES parser which can parse the SSMILES subset. Contains some non-functional code for parsing atom specifications in brackets Index: ElementFactory.java =================================================================== RCS file: /cvsroot/cdk/cdk/org/openscience/cdk/tools/ElementFactory.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** ElementFactory.java 6 Apr 2002 15:26:45 -0000 1.5 --- ElementFactory.java 29 Apr 2002 19:43:08 -0000 1.6 *************** *** 59,66 **** --- 59,80 ---- } + public Element getElement(int atomicNumber) + { + Isotope i = getMajorIsotope(atomicNumber); + + return (Element)i; + } + + public Atom configure(Atom atom) { Isotope isotope = getMajorIsotope(atom.getSymbol()); + return configure(atom, isotope); + } + + public Atom configure(Atom atom, Isotope isotope) + { atom.setAtomicMass(isotope.getAtomicMass()); + atom.setSymbol(isotope.getSymbol()); atom.setExactMass(isotope.getExactMass()); atom.setAtomicNumber(isotope.getAtomicNumber()); *************** *** 68,71 **** --- 82,86 ---- return atom; } + public void configureAtoms(AtomContainer ac) Index: IsotopeFactory.java =================================================================== RCS file: /cvsroot/cdk/cdk/org/openscience/cdk/tools/IsotopeFactory.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** IsotopeFactory.java 19 Oct 2001 10:32:10 -0000 1.5 --- IsotopeFactory.java 29 Apr 2002 19:43:08 -0000 1.6 *************** *** 118,121 **** --- 118,144 ---- return (Isotope[]) al.toArray(); } + + + /** + * Returns the major isotope with a given atomic number + * + * @param atomicNumber The atomicNumber for which an isotope is to be returned + * @return The isotope corresponding to the given atomic number + * @since + */ + public Isotope getMajorIsotope(int atomicNumber) + { + for (int f = 0; f < isotopes.size(); f++) + { + if (((Isotope) isotopes.elementAt(f)).getAtomicNumber() == atomicNumber) + { + if ((((Isotope) isotopes.elementAt(f))).getNaturalAbundance() == ((double)100)) + { + return (Isotope) ((Isotope) isotopes.elementAt(f)).clone(); + } + } + } + return null; + } } |