IAtom n3 = neighbours.get(2); IAtom n4 = neighbours.get(3); Stereo stereo = getStereo(n1, n2, n3, n4); IAtom[] ligands = new IAtom[]{n1, n2, n3, n4}; ITetrahedralChirality stereoCenter
@Test public void testOla28() throws Exception { String filename = "data/cml/mol28.cml"; InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); CMLReader reader = new CMLReader(ins); IChemFile file = reader.read(new ChemFile()); reader.close(); IAtomContainer mol = ChemFileManipulator.getAllAtomContainers(file).get(0); for (IAtom atom : mol.atoms()) { List<IAtom> neighbors = mol.getConnectedAtomsList(atom); if (neighbors.size() == 4) { Stereo stereo = StereoTool.getStereo(neighbors.get(0), neighbors.get(1), neighbors.get(2), neighbors.get(3)); ITetrahedralChirality stereoCenter = new TetrahedralChirality(mol.getAtom(0), neighbors.toArray(new IAtom[]{}), stereo); CIP_CHIRALITY chirality = CIPTool.getCIPChirality(mol, stereoCenter); } } }
@Test public void getStereoACWTest() { IAtom closestAtomToViewer = new Atom("F", new Point3d(1, 1, 1)); IAtom highestCIPPriority = new Atom("I", new Point3d(0, 1, 2)); IAtom middleCIPPriority = new Atom("Br", new Point3d(0, 0, 0)); IAtom nearlylowestCIPPriority = new Atom("Cl", new Point3d(0, 2, 0)); Assert.assertEquals(Stereo.ANTI_CLOCKWISE, StereoTool.getStereo(closestAtomToViewer, highestCIPPriority, middleCIPPriority, nearlylowestCIPPriority)); }
@Test public void getStereoCWTest() { IAtom closestAtomToViewer = new Atom("F", new Point3d(1, 1, 1)); IAtom highestCIPPriority = new Atom("I", new Point3d(0, 1, 2)); IAtom middleCIPPriority = new Atom("Br", new Point3d(0, 2, 0)); IAtom nearlylowestCIPPriority = new Atom("Cl", new Point3d(0, 0, 0)); Assert.assertEquals(Stereo.CLOCKWISE, StereoTool.getStereo(closestAtomToViewer, highestCIPPriority, middleCIPPriority, nearlylowestCIPPriority)); } }
ligandAtoms[2] = a34; // Me ligandAtoms[3] = a31; // rest of molecule Stereo stereo = StereoTool.getStereo(ligandAtoms[0], ligandAtoms[1], ligandAtoms[2], ligandAtoms[3]); ITetrahedralChirality tetraStereo = new TetrahedralChirality(a32, ligandAtoms, stereo);