📄 mdlv2000readertest.java
字号:
assertNotNull(chemFile); List containersList = ChemFileManipulator.getAllAtomContainers(chemFile); assertEquals(1, containersList.size()); assertTrue(((IAtomContainer)containersList.get(0)).getAtomCount() > 0); assertTrue(((IAtomContainer)containersList.get(0)).getBondCount() > 0); } public void testReserpine() throws Exception { String filename = "data/mdl/reserpine.mol"; logger.info("Testing: " + filename); InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); MDLV2000Reader reader = new MDLV2000Reader(ins); ChemFile chemFile = (ChemFile)reader.read((ChemObject)new ChemFile()); assertNotNull(chemFile); List containersList = ChemFileManipulator.getAllAtomContainers(chemFile); assertEquals(1, containersList.size()); assertTrue(((IAtomContainer)containersList.get(0)).getAtomCount() > 0); assertTrue(((IAtomContainer)containersList.get(0)).getBondCount() > 0); } public void testSixRing() throws Exception { String filename = "data/mdl/six-ring-4x4.mol"; logger.info("Testing: " + filename); InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); MDLV2000Reader reader = new MDLV2000Reader(ins); ChemFile chemFile = (ChemFile)reader.read((ChemObject)new ChemFile()); assertNotNull(chemFile); List containersList = ChemFileManipulator.getAllAtomContainers(chemFile); assertEquals(1, containersList.size()); assertTrue(((IAtomContainer)containersList.get(0)).getAtomCount() > 0); assertTrue(((IAtomContainer)containersList.get(0)).getBondCount() > 0); } public void testSuperspiro() throws Exception { String filename = "data/mdl/superspiro.mol"; logger.info("Testing: " + filename); InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); MDLV2000Reader reader = new MDLV2000Reader(ins); ChemFile chemFile = (ChemFile)reader.read((ChemObject)new ChemFile()); assertNotNull(chemFile); List containersList = ChemFileManipulator.getAllAtomContainers(chemFile); assertEquals(1, containersList.size()); assertTrue(((IAtomContainer)containersList.get(0)).getAtomCount() > 0); assertTrue(((IAtomContainer)containersList.get(0)).getBondCount() > 0); } public void testGhemicalOutput() throws Exception { String filename = "data/mdl/butanoic_acid.mol"; logger.info("Testing: " + filename); InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); MDLV2000Reader reader = new MDLV2000Reader(ins); ChemFile chemFile = (ChemFile)reader.read((ChemObject)new ChemFile()); assertNotNull(chemFile); List containersList = ChemFileManipulator.getAllAtomContainers(chemFile); assertEquals(1, containersList.size()); assertTrue(((IAtomContainer)containersList.get(0)).getAtomCount() > 0); assertTrue(((IAtomContainer)containersList.get(0)).getBondCount() > 0); } public void testUsesGivenMolecule() throws Exception { String filename = "data/mdl/superspiro.mol"; // just a random file InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); MDLV2000Reader reader = new MDLV2000Reader(ins); Molecule superspiro = new Molecule(); superspiro.setID("superspiro"); Molecule result = (Molecule)reader.read(superspiro); assertEquals(superspiro.getID(), result.getID()); } /** * @cdk.bug 835571 */ public void testReadFromStringReader () throws Exception { String mdl = "cyclopropane.mol\n" + "\n" + "\n" + " 9 9 0 0 0 1 V2000\n" + " -0.0073 -0.5272 0.9655 C 0 0 0 0 0\n" + " -0.6776 -0.7930 -0.3498 C 0 0 0 0 0\n" + " 0.2103 0.4053 -0.1891 C 0 0 0 0 0\n" + " 0.8019 -1.1711 1.2970 H 0 0 0 0 0\n" + " -0.6000 -0.2021 1.8155 H 0 0 0 0 0\n" + " -1.7511 -0.6586 -0.4435 H 0 0 0 0 0\n" + " -0.3492 -1.6277 -0.9620 H 0 0 0 0 0\n" + " 1.1755 0.4303 -0.6860 H 0 0 0 0 0\n" + " -0.2264 1.3994 -0.1675 H 0 0 0 0 0\n" + " 1 2 1 6 0 0\n" + " 1 3 1 6 0 0\n" + " 1 4 1 0 0 0\n" + " 1 5 1 1 0 0\n" + " 2 3 1 0 0 0\n" + " 2 6 1 0 0 0\n" + " 2 7 1 6 0 0\n" + " 3 8 1 6 0 0\n" + " 3 9 1 0 0 0\n" + "M END\n"; MDLV2000Reader reader = new MDLV2000Reader(new StringReader(mdl)); ChemFile chemFile = (ChemFile) reader.read(new ChemFile()); assertNotNull(chemFile); assertEquals(1, chemFile.getChemSequenceCount()); org.openscience.cdk.interfaces.IChemSequence seq = chemFile.getChemSequence(0); assertNotNull(seq); assertEquals(1, seq.getChemModelCount()); org.openscience.cdk.interfaces.IChemModel model = seq.getChemModel(0); assertNotNull(model); org.openscience.cdk.interfaces.IMoleculeSet som = model.getMoleculeSet(); assertNotNull(som); assertEquals(1, som.getMoleculeCount()); org.openscience.cdk.interfaces.IMolecule m = som.getMolecule(0); assertNotNull(m); assertEquals(9, m.getAtomCount()); assertEquals(9, m.getBondCount()); } public void testRGroup() throws Exception { String filename = "data/mdl/SARGROUPTEST.sdf"; logger.info("Testing: " + filename); InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); MDLV2000Reader reader = new MDLV2000Reader(ins); Molecule mol = (Molecule)reader.read(new Molecule()); assertEquals("R2",((PseudoAtom)mol.getAtom(19)).getLabel()); } public void testAliasPropertyGroup() throws Exception { String filename = "data/mdl/AliasPropertyRGroup.sdf"; logger.info("Testing: " + filename); InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); MDLV2000Reader reader = new MDLV2000Reader(ins); Molecule mol = (Molecule)reader.read(new Molecule()); IAtom atom = mol.getAtom(3); assertTrue(atom instanceof PseudoAtom); assertEquals("R1", ((PseudoAtom)atom).getLabel()); } /** * @cdk.bug 1587283 */ public void testBug1587283() throws Exception { String filename = "data/mdl/bug1587283.mol"; logger.info("Testing: " + filename); InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); MDLV2000Reader reader = new MDLV2000Reader(ins); ChemFile chemFile = (ChemFile)reader.read((ChemObject)new ChemFile()); assertNotNull(chemFile); List containersList = ChemFileManipulator.getAllAtomContainers(chemFile); assertEquals(1, containersList.size()); assertTrue(((IAtomContainer)containersList.get(0)).getAtomCount() > 0); assertTrue(((IAtomContainer)containersList.get(0)).getBondCount() > 0); } public void testReadProton() throws Exception { String mdl = "proton.mol\n" + "\n" + "\n" + " 1 0 0 0 0 1 V2000\n" + " -0.0073 -0.5272 0.9655 H 0 0 0 0 0\n" + "M CHG 1 1 1\n" + "M END\n"; MDLV2000Reader reader = new MDLV2000Reader(new StringReader(mdl)); Molecule mol = (Molecule)reader.read(new Molecule()); assertNotNull(mol); assertEquals(1, mol.getAtomCount()); assertEquals(0, mol.getBondCount()); assertEquals(1, AtomContainerManipulator.getTotalFormalCharge(mol)); IAtom atom = mol.getAtom(0); assertEquals(1, atom.getFormalCharge()); } public void testReadingCharges() throws CDKException { String filename = "data/mdl/withcharges.mol"; logger.info("Testing: " + filename); InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); MDLV2000Reader reader = new MDLV2000Reader(ins); IChemFile chemFile = (IChemFile) reader.read((IChemObject) new org.openscience.cdk.ChemFile()); assertEquals(1,chemFile.getChemSequence(0).getChemModel(0).getMoleculeSet().getMolecule(0).getAtom(6).getFormalCharge()); assertEquals(-1,chemFile.getChemSequence(0).getChemModel(0).getMoleculeSet().getMolecule(0).getAtom(8).getFormalCharge()); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -