Benson Atom Test
This set of tests examines the Benson Atoms. There are several ways to examine the Benson Atom database:
- List: List the set of Benson Atom elements available (by name).
- Examine: Examine a particular Benson Atom.
- Single: Test a single Benson Atom from the database on a molecule.
- Full: Test all the available Benson Atom on a molecule
List
The following command lists all the Benson Atom in the system:
BensonAtom List
where:
BensonAtom
: The keyword for examining the Benson Atom databaseList
: The keyword to list all the names of the Benson Atom
For example, the following command:
BensonAtom List
gives the output:
------------------------------------
Name Substitute CMLStructure
BensonAtom.so so BensonCO
BensonAtom.no no BensonNO
BensonAtom.cn cn BensonCN
BensonAtom.co co BensonAldehydeKetone
BensonAtom.c/d c/d BensonDoubleBondCarbon
BensonAtom.oo oo BensonPeroxyGroup
BensonAtom.n/a n/a BensonAzoNitrogen
BensonAtom.n/i n/i BensonIminoNitrogen
BensonAtom.so3h so3h BensonSO3H
BensonAtom.o o BensonSP3Oxygen
BensonAtom.s s BensonSP3S
BensonAtom.so4 so4 BensonSO4
BensonAtom.c/a c/a BensonAromaticCarbon
BensonAtom.c c BensonCarbonAtom
BensonAtom.so2 so2 BensonSO2
BensonAtom.so3 so3 BensonSO3
BensonAtom.c/t c/t BensonTripleBondedCarbon
BensonAtom.no2 no2 BensonNO2
BensonAtom.n n BensonSingleBondNitrogen
Note that the Benson atom name is the substitution meta atom with a prefix "Benson.
" and the CMLStructure
is the CMLStructure the group definition found in CMLStructures.
Element
The following command lists all the Benson Atom in the system:
Benson Atom Element name
where:
- Benson Atom: The keyword for examining the Benson Atom database
List
: The keyword to retrieve the Benson atom- name: the name of the Benson Group Additivity Rule to retrieve
For example, the following command:
BensonAtom Element BensonAtom.oo
gives the output:
MetaAtomDefinition -----------------------------------------------
MetaAtomDefinition: oo
specifiedAtoms: 1 2
unspecifiedAtoms: 0 3
connectingAtoms: 1 2
<?xml version="1.0" encoding="ISO-8859-1"?>
<molecule id="BensonPeroxyGroup" xmlns="http://www.xml-cml.org/schema">
<atomArray>
<atom id="a0" title="R" elementType="Du" formalCharge="0" hydrogenCount="0"/>
<atom id="a1" elementType="O" formalCharge="0" hydrogenCount="0"/>
<atom id="a2" elementType="O" formalCharge="0" hydrogenCount="0"/>
<atom id="a3" title="R" elementType="Du" formalCharge="0" hydrogenCount="0"/>
</atomArray>
<bondArray>
<bond id="b1" atomRefs2="a1 a0" order="S"/>
<bond id="b2" atomRefs2="a2 a1" order="S"/>
<bond id="b3" atomRefs2="a3 a2" order="S"/>
</bondArray>
</molecule>
MetaAtomDefinition -----------------------------------------------
Single
The command:
BensonAtomTest Single molecule element
where:
BensonAtomTest
: the keyword for Benson Atom testsSingle
: The keyword signalling the testing of a single Benson Atom elementmolecule
: The molecule in Nancy linear formelement
: The database name of the Benson Atom
The output is in three parts:
- The structure of the molecule
- The complete meta atom definition
- The molecule with the Benson Atom subsituted
For example, to test one of the peroxyl group Benson Atom on dimethy peroxide (quotes are used around the molecule and element because of the special characters:
BensonAtomTest Single "ch3/o/o/ch3" BensonAtom.oo
The output is:
Molecule -----------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<molecule id="m1" xmlns="http://www.xml-cml.org/schema">
<atomArray>
<atom id="a0" elementType="C" formalCharge="0"/>
<atom id="a1" elementType="H" formalCharge="0"/>
<atom id="a2" elementType="H" formalCharge="0"/>
<atom id="a3" elementType="H" formalCharge="0"/>
<atom id="a4" elementType="O" formalCharge="0"/>
<atom id="a5" elementType="O" formalCharge="0"/>
<atom id="a6" elementType="C" formalCharge="0"/>
<atom id="a7" elementType="H" formalCharge="0"/>
<atom id="a8" elementType="H" formalCharge="0"/>
<atom id="a9" elementType="H" formalCharge="0"/>
</atomArray>
<bondArray>
<bond id="b1" atomRefs2="a1 a0" order="S"/>
<bond id="b2" atomRefs2="a2 a0" order="S"/>
<bond id="b3" atomRefs2="a3 a0" order="S"/>
<bond id="b4" atomRefs2="a4 a0" order="S"/>
<bond id="b5" atomRefs2="a5 a4" order="S"/>
<bond id="b6" atomRefs2="a6 a5" order="S"/>
<bond id="b7" atomRefs2="a7 a6" order="S"/>
<bond id="b8" atomRefs2="a8 a6" order="S"/>
<bond id="b9" atomRefs2="a9 a6" order="S"/>
</bondArray>
</molecule>
Molecule -----------------------------------------------
MetaAtomDefinition -----------------------------------------------
MetaAtomDefinition: oo
specifiedAtoms: 1 2
unspecifiedAtoms: 0 3
connectingAtoms: 1 2
<?xml version="1.0" encoding="ISO-8859-1"?>
<molecule id="BensonPeroxyGroup" xmlns="http://www.xml-cml.org/schema">
<atomArray>
<atom id="a0" title="R" elementType="Du" formalCharge="0" hydrogenCount="0"/>
<atom id="a1" elementType="O" formalCharge="0" hydrogenCount="0"/>
<atom id="a2" elementType="O" formalCharge="0" hydrogenCount="0"/>
<atom id="a3" title="R" elementType="Du" formalCharge="0" hydrogenCount="0"/>
</atomArray>
<bondArray>
<bond id="b1" atomRefs2="a1 a0" order="S"/>
<bond id="b2" atomRefs2="a2 a1" order="S"/>
<bond id="b3" atomRefs2="a3 a2" order="S"/>
</bondArray>
</molecule>
MetaAtomDefinition -----------------------------------------------
Molecule after substitution
Molecule -----------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<molecule id="m1" xmlns="http://www.xml-cml.org/schema">
<atomArray>
<atom id="a0" elementType="C" formalCharge="0"/>
<atom id="a1" elementType="H" formalCharge="0"/>
<atom id="a2" elementType="H" formalCharge="0"/>
<atom id="a3" elementType="H" formalCharge="0"/>
<atom id="a6" elementType="C" formalCharge="0"/>
<atom id="a7" elementType="H" formalCharge="0"/>
<atom id="a8" elementType="H" formalCharge="0"/>
<atom id="a9" elementType="H" formalCharge="0"/>
<atom id="a4" elementType="oo" formalCharge="0">
<scalar dictRef="cdk:partialCharge" dataType="xsd:double">0.0</scalar>
</atom>
</atomArray>
<bondArray>
<bond id="b1" atomRefs2="a1 a0" order="S"/>
<bond id="b2" atomRefs2="a2 a0" order="S"/>
<bond id="b3" atomRefs2="a3 a0" order="S"/>
<bond id="b4" atomRefs2="a4 a0" order="S"/>
<bond id="b6" atomRefs2="a6 a4" order="S"/>
<bond id="b7" atomRefs2="a7 a6" order="S"/>
<bond id="b8" atomRefs2="a8 a6" order="S"/>
<bond id="b9" atomRefs2="a9 a6" order="S"/>
</bondArray>
</molecule>
Molecule -----------------------------------------------
Here, the two oxygen atoms:
<atom id="a4" elementType="O" formalCharge="0"/>
<atom id="a5" elementType="O" formalCharge="0"/>
were replace by a single BensonAtom
<atom id="a4" elementType="oo" formalCharge="0">
<scalar dictRef="cdk:partialCharge" dataType="xsd:double">0.0</scalar>
The bonding also changed from:
<bond id="b4" atomRefs2="a4 a0" order="S"/>
<bond id="b5" atomRefs2="a5 a4" order="S"/>
<bond id="b6" atomRefs2="a6 a5" order="S"/>
to:
<bond id="b4" atomRefs2="a4 a0" order="S"/>
<bond id="b6" atomRefs2="a6 a4" order="S"/>
Full
The command:
BensonAtomTest Full molecule
where:
BensonAtomTest
: the keyword for Benson Atom tests- Full: The keyword signalling the testing of Benson Atom on the molecule
molecule
: The molecule in Nancy linear form
The output is in two parts:
- The structure of the molecule
- The molecule with the benson atoms replaced
For example, to test Benson Atom recognition of JThermodynamics on dimethy peroxide (quotes are used around the molecule and element because of the special characters):
BensonAtomTest Full "ch3/o/o/ch3"
The output is:
Molecule -----------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<molecule id="m1" xmlns="http://www.xml-cml.org/schema">
<atomArray>
<atom id="a0" elementType="C" formalCharge="0"/>
<atom id="a1" elementType="H" formalCharge="0"/>
<atom id="a2" elementType="H" formalCharge="0"/>
<atom id="a3" elementType="H" formalCharge="0"/>
<atom id="a4" elementType="O" formalCharge="0"/>
<atom id="a5" elementType="O" formalCharge="0"/>
<atom id="a6" elementType="C" formalCharge="0"/>
<atom id="a7" elementType="H" formalCharge="0"/>
<atom id="a8" elementType="H" formalCharge="0"/>
<atom id="a9" elementType="H" formalCharge="0"/>
</atomArray>
<bondArray>
<bond id="b1" atomRefs2="a1 a0" order="S"/>
<bond id="b2" atomRefs2="a2 a0" order="S"/>
<bond id="b3" atomRefs2="a3 a0" order="S"/>
<bond id="b4" atomRefs2="a4 a0" order="S"/>
<bond id="b5" atomRefs2="a5 a4" order="S"/>
<bond id="b6" atomRefs2="a6 a5" order="S"/>
<bond id="b7" atomRefs2="a7 a6" order="S"/>
<bond id="b8" atomRefs2="a8 a6" order="S"/>
<bond id="b9" atomRefs2="a9 a6" order="S"/>
</bondArray>
</molecule>
Molecule -----------------------------------------------
Molecule after substitution
Molecule -----------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1"?>
<molecule id="m1" xmlns="http://www.xml-cml.org/schema">
<atomArray>
<atom id="a0" elementType="H" formalCharge="0"/>
<atom id="a1" elementType="H" formalCharge="0"/>
<atom id="a2" elementType="H" formalCharge="0"/>
<atom id="a3" elementType="H" formalCharge="0"/>
<atom id="a4" elementType="H" formalCharge="0"/>
<atom id="a5" elementType="H" formalCharge="0"/>
<atom id="a6" elementType="oo" formalCharge="0">
<scalar dictRef="cdk:partialCharge" dataType="xsd:double">0.0</scalar>
</atom>
<atom id="a7" elementType="C" formalCharge="0">
<scalar dictRef="cdk:partialCharge" dataType="xsd:double">0.0</scalar>
</atom>
<atom id="a8" elementType="C" formalCharge="0">
<scalar dictRef="cdk:partialCharge" dataType="xsd:double">0.0</scalar>
</atom>
</atomArray>
<bondArray>
<bond id="b1" atomRefs2="a0 a7" order="S"/>
<bond id="b2" atomRefs2="a1 a7" order="S"/>
<bond id="b3" atomRefs2="a2 a7" order="S"/>
<bond id="b4" atomRefs2="a6 a7" order="S"/>
<bond id="b6" atomRefs2="a8 a6" order="S"/>
<bond id="b7" atomRefs2="a3 a8" order="S"/>
<bond id="b8" atomRefs2="a4 a8" order="S"/>
<bond id="b9" atomRefs2="a5 a8" order="S"/>
</bondArray>
</molecule>
Molecule -----------------------------------------------