@Override public IChemObject newTestObject() { return new ChemFile(); } });
/** * Returns a String representation of this class. It implements * RFC #9. * *@return String representation of the Object */ @Override public String toString() { StringBuffer buffer = new StringBuffer(); buffer.append("ChemFile(#S="); buffer.append(chemSequenceCount); if (chemSequenceCount > 0) { for (IChemSequence iChemSequence : chemSequences()) { buffer.append(", "); buffer.append(iChemSequence.toString()); } } buffer.append(')'); return buffer.toString(); }
/** * Allows for getting an clone of this object. * *@return a clone of this object */ @Override public Object clone() throws CloneNotSupportedException { ChemFile clone = (ChemFile) super.clone(); // clone the chemModels clone.chemSequenceCount = getChemSequenceCount(); clone.chemSequences = new ChemSequence[clone.chemSequenceCount]; for (int f = 0; f < clone.chemSequenceCount; f++) { clone.chemSequences[f] = (ChemSequence) ((ChemSequence) chemSequences[f]).clone(); } return clone; }
@Override public void remove() { removeChemSequence(--pointer); }
/** * Adds a ChemSequence to this container. * *@param chemSequence The chemSequence to be added to this container *@see #chemSequences */ @Override public void addChemSequence(IChemSequence chemSequence) { if (chemSequenceCount + 1 >= chemSequences.length) { growChemSequenceArray(); } chemSequences[chemSequenceCount] = chemSequence; chemSequenceCount++; }
@Override public void remove() { removeChemSequence(--pointer); }
/** * Adds a ChemSequence to this container. * *@param chemSequence The chemSequence to be added to this container *@see #chemSequences */ @Override public void addChemSequence(IChemSequence chemSequence) { if (chemSequenceCount + 1 >= chemSequences.length) { growChemSequenceArray(); } chemSequences[chemSequenceCount] = chemSequence; chemSequenceCount++; }
private IChemFile parseCMLString(String cmlString) throws Exception { IChemFile chemFile = null; CMLReader reader = new CMLReader(new ByteArrayInputStream(cmlString.getBytes())); chemFile = (IChemFile) reader.read(new ChemFile()); reader.close(); return chemFile; }
/** * Allows for getting an clone of this object. * *@return a clone of this object */ @Override public Object clone() throws CloneNotSupportedException { ChemFile clone = (ChemFile) super.clone(); // clone the chemModels clone.chemSequenceCount = getChemSequenceCount(); clone.chemSequences = new ChemSequence[clone.chemSequenceCount]; for (int f = 0; f < clone.chemSequenceCount; f++) { clone.chemSequences[f] = (ChemSequence) ((ChemSequence) chemSequences[f]).clone(); } return clone; }
/** * Returns a String representation of this class. It implements * RFC #9. * *@return String representation of the Object */ @Override public String toString() { StringBuffer buffer = new StringBuffer(); buffer.append("ChemFile(#S="); buffer.append(chemSequenceCount); if (chemSequenceCount > 0) { for (IChemSequence iChemSequence : chemSequences()) { buffer.append(", "); buffer.append(iChemSequence.toString()); } } buffer.append(')'); return buffer.toString(); }
@Test public void testChemFile() { IChemFile cs = new ChemFile(); Assert.assertNotNull(cs); }
@BeforeClass public static void setUp() { setTestObjectBuilder(new ITestObjectBuilder() { @Override public IChemObject newTestObject() { return new ChemFile(); } }); }
@Test public void testFile3() throws Exception { String filename = "data/cml/3.cml"; InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); CMLReader reader = new CMLReader(ins); IChemFile chemFile = (IChemFile) reader.read(new ChemFile()); // test the resulting ChemFile content Assert.assertNotNull(chemFile); IAtomContainer mol = ChemFileManipulator.getAllAtomContainers(chemFile).get(0); String[] expectedTypes = {"C.sp2", "N.sp2", "C.sp2", "N.sp3", "C.sp2", "N.sp2", "O.sp3", "C.sp2", "C.sp2", "C.sp2"}; assertAtomTypes(testedAtomTypes, expectedTypes, mol); }
@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 chemFile = (IChemFile) reader.read(new ChemFile()); // test the resulting ChemFile content Assert.assertNotNull(chemFile); IAtomContainer mol = ChemFileManipulator.getAllAtomContainers(chemFile).get(0); String[] expectedTypes = {"C.sp2", "C.sp2", "C.sp2", "C.sp2", "F", "C.sp2", "C.sp2", "C.sp2", "O.sp2", "C.sp3", "C.sp3", "C.sp3", "N.plus", "C.sp3", "C.sp3", "C.sp3", "C.sp3", "C.sp3", "C.sp2", "O.sp3", "C.sp2", "C.sp2", "C.sp2", "C.sp2", "C.sp2", "Cl"}; assertAtomTypes(testedAtomTypes, expectedTypes, mol); }
/** * @cdk.bug 3141611 */ @Test public void testBug3141611() throws Exception { String filename = "data/mdl/error.sdf"; InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); MDLV2000Reader reader = new MDLV2000Reader(ins); IChemFile chemFile = (IChemFile) reader.read(new ChemFile()); // test the resulting ChemFile content Assert.assertNotNull(chemFile); IAtomContainer mol = ChemFileManipulator.getAllAtomContainers(chemFile).get(0); String[] expectedTypes = {"C.sp3", "C.sp2", "O.sp2", "C.sp3", "C.sp3", "C.sp3", "C.sp3", "P.ate", "O.sp2", "O.minus"}; assertAtomTypes(testedAtomTypes, expectedTypes, mol); }
@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); } } }
/** * A unit test for JUnit * *@exception Exception Description of the Exception */ @Test public void testResolveOverlap2() throws Exception { logger.debug("Test case with neither bond nor atom overlap"); String filename = "data/cml/overlaptest2.cml"; InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); CMLReader reader = new CMLReader(ins); IChemFile chemFile = (IChemFile) reader.read(new ChemFile()); IAtomContainer atomContainer = (IAtomContainer) ChemFileManipulator.getAllAtomContainers(chemFile).get(0); //MoleculeViewer2D.display(new AtomContainer(atomContainer), false); double score = new OverlapResolver().getOverlapScore(atomContainer, new Vector(), new Vector()); Assert.assertEquals(0.0, score, 0.0001); logger.debug("End of test case with neither bond nor atom overlap"); }
/** * A unit test for JUnit * *@exception Exception Description of the Exception */ @Test public void testResolveOverlap3() throws Exception { logger.debug("Test case with bond overlap"); String filename = "data/cml/overlaptest3.cml"; InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); CMLReader reader = new CMLReader(ins); IChemFile chemFile = (IChemFile) reader.read(new ChemFile()); IAtomContainer atomContainer = (IAtomContainer) ChemFileManipulator.getAllAtomContainers(chemFile).get(0); //MoleculeViewer2D.display(new AtomContainer(atomContainer), false); double score = new OverlapResolver().getBondOverlapScore(atomContainer, new Vector()); Assert.assertTrue(score > 0); logger.debug("End of test case with bond overlap"); }
@Test public void cod1100784AtomCount() throws IOException, CDKException { InputStream in = getClass().getResourceAsStream("1100784.cif"); CIFReader cifReader = new CIFReader(in); IChemFile chemFile = cifReader.read(new ChemFile()); ICrystal crystal = chemFile.getChemSequence(0).getChemModel(0).getCrystal(); Assert.assertEquals(72, crystal.getAtomCount()); cifReader.close(); }
/** * A unit test for JUnit * *@exception Exception Description of the Exception */ @Test public void testResolveOverlap4() throws Exception { double overlapScore = 0; logger.debug("Test case with atom clash"); String filename = "data/cml/overlaptest.cml"; InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); CMLReader reader = new CMLReader(ins); IChemFile chemFile = (IChemFile) reader.read(new ChemFile()); IAtomContainer atomContainer = (IAtomContainer) ChemFileManipulator.getAllAtomContainers(chemFile).get(0); //MoleculeViewer2D.display(new AtomContainer(atomContainer), false); OverlapResolver or = new OverlapResolver(); overlapScore = or.resolveOverlap(atomContainer, null); //MoleculeViewer2D.display(new AtomContainer(atomContainer), false); Assert.assertEquals(0.0, overlapScore, 0.0001); logger.debug("End of test case with atom clash"); }