📄 conjugatedpisystemsdetectortest.java
字号:
String filename = "data/mdl/piSystemCumulative.mol"; InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); MDLReader reader = new MDLReader(ins); IChemFile chemFile = (IChemFile)reader.read((ChemObject)new ChemFile()); mol = chemFile.getChemSequence(0).getChemModel(0).getMoleculeSet().getMolecule(0); HueckelAromaticityDetector.detectAromaticity(mol); AtomContainerSet acSet = ConjugatedPiSystemsDetector.detect(mol); assertEquals(2, acSet.getAtomContainerCount()); IAtomContainer ac1 = acSet.getAtomContainer(0); assertEquals(4, ac1.getAtomCount()); assertEquals(3, ac1.getBondCount()); for (int i = 0; i < ac1.getAtomCount(); i++) { assertTrue(mol.contains(ac1.getAtom(i))); } for (int i = 0; i < ac1.getBondCount(); i++) { assertTrue(mol.contains(ac1.getBond(i))); } IAtomContainer ac2 = acSet.getAtomContainer(0); assertEquals(4, ac2.getAtomCount()); assertEquals(3, ac2.getBondCount()); for (int i = 0; i < ac2.getAtomCount(); i++) { assertTrue(mol.contains(ac1.getAtom(i))); } for (int i = 0; i < ac2.getBondCount(); i++) { assertTrue(mol.contains(ac1.getBond(i))); } } /** * A unit test for JUnit * *@return Description of the Return Value */ public void testAceticAcid() throws Exception { IMolecule mol = null; mol = (new SmilesParser(org.openscience.cdk.DefaultChemObjectBuilder.getInstance())).parseSmiles("CC(=O)O"); HydrogenAdder adder = new HydrogenAdder(); adder.addImplicitHydrogensToSatisfyValency(mol); LonePairElectronChecker lpcheck = new LonePairElectronChecker(); lpcheck.newSaturate(mol); HueckelAromaticityDetector.detectAromaticity(mol); AtomContainerSet acSet = ConjugatedPiSystemsDetector.detect(mol); assertEquals(1, acSet.getAtomContainerCount()); IAtomContainer ac1 = acSet.getAtomContainer(0); assertEquals(3, ac1.getAtomCount()); assertEquals(2, ac1.getBondCount()); for (int i = 0; i < ac1.getAtomCount(); i++) { assertTrue(mol.contains(ac1.getAtom(i))); } for (int i = 0; i < ac1.getBondCount(); i++) { assertTrue(mol.contains(ac1.getBond(i))); } } /** * A unit test for JUnit * *@return Description of the Return Value */ public void testNN_dimethylaniline_cation() throws Exception { IMolecule mol = null; String filename = "data/mdl/NN_dimethylaniline.mol"; InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); MDLReader reader = new MDLReader(ins); IChemFile chemFile = (IChemFile)reader.read((ChemObject)new ChemFile()); mol = chemFile.getChemSequence(0).getChemModel(0).getMoleculeSet().getMolecule(0); // for(int i =0;i<mol.getAtomCount();i++)// System.out.println(i+", "+mol.getAtom(i).getSymbol()+" "+mol.getAtom(i).getHydrogenCount());// mol.getAtomAt(6).setFormalCharge(1); HydrogenAdder adder = new HydrogenAdder(); adder.addImplicitHydrogensToSatisfyValency(mol); LonePairElectronChecker lpcheck = new LonePairElectronChecker(); lpcheck.newSaturate(mol); HueckelAromaticityDetector.detectAromaticity(mol); AtomContainerSet acSet = ConjugatedPiSystemsDetector.detect(mol); assertEquals(1, acSet.getAtomContainerCount()); IAtomContainer ac1 = acSet.getAtomContainer(0); assertEquals(6, ac1.getAtomCount()); assertEquals(5, ac1.getBondCount()); } /** * A unit test for JUnit * *@return Description of the Return Value */ public void test1_fluorobutadienene() throws Exception { IMolecule mol = null; mol = (new SmilesParser(org.openscience.cdk.DefaultChemObjectBuilder.getInstance())).parseSmiles("FC=CC=C"); HydrogenAdder adder = new HydrogenAdder(); adder.addImplicitHydrogensToSatisfyValency(mol); LonePairElectronChecker lpcheck = new LonePairElectronChecker(); lpcheck.newSaturate(mol); HueckelAromaticityDetector.detectAromaticity(mol); AtomContainerSet acSet = ConjugatedPiSystemsDetector.detect(mol); assertEquals(1, acSet.getAtomContainerCount()); IAtomContainer ac1 = acSet.getAtomContainer(0); assertEquals(5, ac1.getAtomCount()); assertEquals(4, ac1.getBondCount()); } /** * A unit test for JUnit * *@return Description of the Return Value */ public void testEthyne_difluoro() throws Exception { IMolecule mol = null; mol = (new SmilesParser(org.openscience.cdk.DefaultChemObjectBuilder.getInstance())).parseSmiles("FC#CF"); HydrogenAdder adder = new HydrogenAdder(); adder.addImplicitHydrogensToSatisfyValency(mol); LonePairElectronChecker lpcheck = new LonePairElectronChecker(); lpcheck.newSaturate(mol); HueckelAromaticityDetector.detectAromaticity(mol); AtomContainerSet acSet = ConjugatedPiSystemsDetector.detect(mol); assertEquals(1, acSet.getAtomContainerCount()); IAtomContainer ac1 = acSet.getAtomContainer(0); assertEquals(4, ac1.getAtomCount()); assertEquals(3, ac1.getBondCount()); } /** * A unit test for JUnit * *@return Description of the Return Value */ public void test3Aminomethane_cation() throws Exception { IMolecule mol = null; mol = (new SmilesParser(org.openscience.cdk.DefaultChemObjectBuilder.getInstance())).parseSmiles("CN(C)C(N(C)C)N(C)C"); mol.getAtom(3).setFormalCharge(+1); HydrogenAdder adder = new HydrogenAdder(); adder.addImplicitHydrogensToSatisfyValency(mol); LonePairElectronChecker lpcheck = new LonePairElectronChecker(); lpcheck.newSaturate(mol); HueckelAromaticityDetector.detectAromaticity(mol); AtomContainerSet acSet = ConjugatedPiSystemsDetector.detect(mol); assertEquals(1, acSet.getAtomContainerCount()); IAtomContainer ac1 = acSet.getAtomContainer(0); assertEquals(4, ac1.getAtomCount()); assertEquals(3, ac1.getBondCount()); } /** * A unit test for JUnit * *@return Description of the Return Value */ private IMolecule readCMLMolecule(String filename) throws Exception { IMolecule mol = null; logger.debug("Filename: " + filename); InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename); CMLReader reader = new CMLReader(ins); IChemFile file = (IChemFile)reader.read(new ChemFile()); assertNotNull(file); assertEquals(1, file.getChemSequenceCount()); IChemSequence sequence = file.getChemSequence(0); assertNotNull(sequence); assertEquals(1, sequence.getChemModelCount()); IChemModel chemModel = sequence.getChemModel(0); assertNotNull(chemModel); IMoleculeSet moleculeSet = chemModel.getMoleculeSet(); assertNotNull(moleculeSet); assertEquals(1, moleculeSet.getMoleculeCount()); mol = moleculeSet.getMolecule(0); assertNotNull(mol); return mol; } /** * A unit test for JUnit: Cyanoallene * *@return Description of the Return Value */ public void testCyanoallene() throws Exception { IMolecule mol = null; mol = (new SmilesParser(org.openscience.cdk.DefaultChemObjectBuilder.getInstance())).parseSmiles("C=C=CC#N"); HydrogenAdder adder = new HydrogenAdder(); adder.addImplicitHydrogensToSatisfyValency(mol); LonePairElectronChecker lpcheck = new LonePairElectronChecker(); lpcheck.newSaturate(mol); HueckelAromaticityDetector.detectAromaticity(mol); AtomContainerSet acSet = ConjugatedPiSystemsDetector.detect(mol); assertEquals(1, acSet.getAtomContainerCount()); IAtomContainer ac1 = acSet.getAtomContainer(0); assertEquals(4, ac1.getAtomCount()); assertEquals(3, ac1.getBondCount()); for (int i = 0; i < ac1.getAtomCount(); i++) { assertTrue(mol.contains(ac1.getAtom(i))); } for (int i = 0; i < ac1.getBondCount(); i++) { assertTrue(mol.contains(ac1.getBond(i))); } } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -