📄 structureresonancegeneratortest.java
字号:
* @return The test suite */ public void testGetStructures2() throws ClassNotFoundException, CDKException, java.lang.Exception { IMolecule molecule = (new SmilesParser(org.openscience.cdk.DefaultChemObjectBuilder.getInstance())).parseSmiles("CCC(=O)C(C)=O"); HydrogenAdder adder = new HydrogenAdder(); adder.addExplicitHydrogensToSatisfyValency(molecule); LonePairElectronChecker lpcheck = new LonePairElectronChecker(); lpcheck.newSaturate(molecule); IAtom atom = molecule.getAtom(3); molecule.addSingleElectron(new SingleElectron(atom)); atom.setFormalCharge(1); List selectron = molecule.getConnectedLonePairsList(atom); molecule.removeLonePair((ILonePair)selectron.get(0)); StructureResonanceGenerator gRI = new StructureResonanceGenerator(); IAtomContainerSet setOfMolecules = gRI.getStructures(molecule); Assert.assertEquals(2,setOfMolecules.getAtomContainerCount()); IMolecule molecule1 = (new SmilesParser(org.openscience.cdk.DefaultChemObjectBuilder.getInstance())).parseSmiles("CCC(=O)C(C)=O"); adder = new HydrogenAdder(); adder.addExplicitHydrogensToSatisfyValency(molecule1); lpcheck.newSaturate(molecule1); IAtom atom1 = molecule1.getAtom(6); molecule1.addSingleElectron(new SingleElectron(atom1)); atom1.setFormalCharge(1); selectron = molecule.getConnectedLonePairsList(atom); molecule.removeLonePair((ILonePair)selectron.get(0)); QueryAtomContainer qAC = QueryAtomContainerCreator.createSymbolAndChargeQueryContainer(molecule1); Assert.assertTrue(UniversalIsomorphismTester.isIsomorph(setOfMolecules.getAtomContainer(1),qAC)); } /** * A unit test suite for JUnit: Resonance C-C=C-[C+]-C-C=C-[C+] <=> C-[C+]-C=C-C-C=C-[C+] * * @return The test suite */ public void testFlagActiveCenter1() throws ClassNotFoundException, CDKException, java.lang.Exception { IMolecule molecule = (new SmilesParser(org.openscience.cdk.DefaultChemObjectBuilder.getInstance())).parseSmiles("CC=C[C+]-C-C=C-C=C"); molecule.getAtom(1).setFlag(CDKConstants.REACTIVE_CENTER,true); molecule.getBond(1).setFlag(CDKConstants.REACTIVE_CENTER,true); molecule.getAtom(2).setFlag(CDKConstants.REACTIVE_CENTER,true); molecule.getBond(2).setFlag(CDKConstants.REACTIVE_CENTER,true); molecule.getAtom(3).setFlag(CDKConstants.REACTIVE_CENTER,true); StructureResonanceGenerator gRI = new StructureResonanceGenerator(); IAtomContainerSet setOfMolecules = gRI.getStructures(molecule); Assert.assertEquals(2,setOfMolecules.getAtomContainerCount()); IMolecule molecule2 = (new SmilesParser(org.openscience.cdk.DefaultChemObjectBuilder.getInstance())).parseSmiles("C-[C+]-C=C-C-C=C-C=C"); QueryAtomContainer qAC = QueryAtomContainerCreator.createSymbolAndChargeQueryContainer(molecule2); Assert.assertTrue(UniversalIsomorphismTester.isIsomorph(setOfMolecules.getAtomContainer(1),qAC)); } /** * A unit test suite for JUnit: Resonance C-C=C-[C-] <=> C=C-[C-]-C * * @return The test suite */ public void testFlagActiveCenter2() throws ClassNotFoundException, CDKException, java.lang.Exception { IMolecule molecule = (new SmilesParser(org.openscience.cdk.DefaultChemObjectBuilder.getInstance())).parseSmiles("C-C=C-[C-]"); molecule.addLonePair(new LonePair(molecule.getAtom(3))); IAtomContainerSet setOfMolecules = gR.getStructures(molecule); Assert.assertEquals(2,setOfMolecules.getAtomContainerCount()); IMolecule molecule2 = (new SmilesParser(org.openscience.cdk.DefaultChemObjectBuilder.getInstance())).parseSmiles("C=C-[C-]-C"); molecule.addLonePair(new LonePair(molecule.getAtom(2))); QueryAtomContainer qAC = QueryAtomContainerCreator.createSymbolAndChargeQueryContainer(molecule2); Assert.assertTrue(UniversalIsomorphismTester.isIsomorph(setOfMolecules.getAtomContainer(1),qAC)); } /** * A unit test suite for JUnit: Resonance Formic acid C(=O)O <=> [C-](-[O+])O <=> [C+](-[O-])O <=> C([O-])=[O+] * * @return The test suite */ public void testResonanceFormicAcid() throws ClassNotFoundException, CDKException, java.lang.Exception { IMolecule molecule = (new SmilesParser(org.openscience.cdk.DefaultChemObjectBuilder.getInstance())).parseSmiles("C(=O)O"); HydrogenAdder adder = new HydrogenAdder(); adder.addImplicitHydrogensToSatisfyValency(molecule); LonePairElectronChecker lpcheck = new LonePairElectronChecker(); lpcheck.newSaturate(molecule); IAtomContainerSet setOfMolecules = gR.getAllStructures(molecule); Assert.assertEquals(3,setOfMolecules.getAtomContainerCount());// Molecule molecule1 = (new SmilesParser()).parseSmiles("[C-](-[O+])O");// adder.addImplicitHydrogensToSatisfyValency(molecule1);// lpcheck.newSaturate(molecule1);// QueryAtomContainer qAC = QueryAtomContainerCreator.createSymbolAndChargeQueryContainer(molecule1);// Assert.assertTrue(UniversalIsomorphismTester.isIsomorph(setOfMolecules.getAtomContainer(1),qAC)); IMolecule molecule2 = (new SmilesParser(org.openscience.cdk.DefaultChemObjectBuilder.getInstance())).parseSmiles("[C+](-[O-])O"); adder.addImplicitHydrogensToSatisfyValency(molecule2); lpcheck.newSaturate(molecule2); QueryAtomContainer qAC = QueryAtomContainerCreator.createSymbolAndChargeQueryContainer(molecule2); Assert.assertTrue(UniversalIsomorphismTester.isIsomorph(setOfMolecules.getAtomContainer(1),qAC)); IMolecule molecule3 = (new SmilesParser(org.openscience.cdk.DefaultChemObjectBuilder.getInstance())).parseSmiles("C([O-])=[O+]"); adder.addImplicitHydrogensToSatisfyValency(molecule3); lpcheck.newSaturate(molecule3); qAC = QueryAtomContainerCreator.createSymbolAndChargeQueryContainer(molecule3); Assert.assertTrue(UniversalIsomorphismTester.isIsomorph(setOfMolecules.getAtomContainer(2),qAC)); } /** * A unit test suite for JUnit: Resonance Formic acid F-C=C <=> [F+]=C-[C-] * * @return The test suite */ public void testResonanceFluoroethylene() throws ClassNotFoundException, CDKException, java.lang.Exception { IMolecule molecule = (new SmilesParser(org.openscience.cdk.DefaultChemObjectBuilder.getInstance())).parseSmiles("F-C=C"); HydrogenAdder adder = new HydrogenAdder(); adder.addImplicitHydrogensToSatisfyValency(molecule); LonePairElectronChecker lpcheck = new LonePairElectronChecker(); lpcheck.newSaturate(molecule); IAtomContainerSet setOfMolecules = gR.getAllStructures(molecule); Assert.assertEquals(2,setOfMolecules.getAtomContainerCount()); IMolecule molecule1 = (new SmilesParser(org.openscience.cdk.DefaultChemObjectBuilder.getInstance())).parseSmiles("[F+]=C-[C-]"); adder.addImplicitHydrogensToSatisfyValency(molecule1); lpcheck.newSaturate(molecule1); QueryAtomContainer qAC = QueryAtomContainerCreator.createSymbolAndChargeQueryContainer(molecule1); Assert.assertTrue(UniversalIsomorphismTester.isIsomorph(setOfMolecules.getAtomContainer(1),qAC)); } /** * A unit test suite for JUnit: Resonance Fluorobenzene Fc1ccccc1 <=> ... * * @return The test suite */ public void testResonanceFluorobenzene() throws ClassNotFoundException, CDKException, java.lang.Exception { IMolecule molecule = (new SmilesParser(org.openscience.cdk.DefaultChemObjectBuilder.getInstance())).parseSmiles("Fc1ccccc1"); HydrogenAdder adder = new HydrogenAdder(); adder.addImplicitHydrogensToSatisfyValency(molecule); LonePairElectronChecker lpcheck = new LonePairElectronChecker(); lpcheck.newSaturate(molecule); StructureResonanceGenerator gRI = new StructureResonanceGenerator(); IAtomContainerSet setOfMolecules = gRI.getAllStructures(molecule); Assert.assertEquals(4,setOfMolecules.getAtomContainerCount()); IMolecule molecule1 = (new SmilesParser(org.openscience.cdk.DefaultChemObjectBuilder.getInstance())).parseSmiles("[F+]=C1C=CC=C[C-]1"); adder.addImplicitHydrogensToSatisfyValency(molecule1); lpcheck.newSaturate(molecule1); QueryAtomContainer qAC = QueryAtomContainerCreator.createSymbolAndChargeQueryContainer(molecule1); Assert.assertTrue(UniversalIsomorphismTester.isIsomorph(setOfMolecules.getAtomContainer(1),qAC)); IMolecule molecule2 = (new SmilesParser(org.openscience.cdk.DefaultChemObjectBuilder.getInstance())).parseSmiles("[F+]=C1-C=C-[C-]-C=C1"); adder.addImplicitHydrogensToSatisfyValency(molecule2); lpcheck.newSaturate(molecule2); qAC = QueryAtomContainerCreator.createSymbolAndChargeQueryContainer(molecule2); Assert.assertTrue(UniversalIsomorphismTester.isIsomorph(setOfMolecules.getAtomContainer(2),qAC)); } /** * A unit test suite for JUnit: Resonance n1ccccc1 <=> ... * * @return The test suite */ public void test_n1ccccc1() throws ClassNotFoundException, CDKException, java.lang.Exception { IMolecule molecule = (new SmilesParser(org.openscience.cdk.DefaultChemObjectBuilder.getInstance())).parseSmiles("n1ccccc1"); HydrogenAdder adder = new HydrogenAdder(); adder.addImplicitHydrogensToSatisfyValency(molecule); LonePairElectronChecker lpcheck = new LonePairElectronChecker(); lpcheck.newSaturate(molecule); StructureResonanceGenerator gRI = new StructureResonanceGenerator(); IAtomContainerSet setOfMolecules = gRI.getAllStructures(molecule); Assert.assertEquals(10,setOfMolecules.getAtomContainerCount()); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -