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 database
  • List: The keyword to list all the names of the Benson Atom

For example, the following command:

BensonAtom List

gives the output:

------------------------------------Name Substitute CMLStructureBensonAtom.so so BensonCOBensonAtom.no no BensonNOBensonAtom.cn cn BensonCNBensonAtom.co co BensonAldehydeKetoneBensonAtom.c/d c/d BensonDoubleBondCarbonBensonAtom.oo oo BensonPeroxyGroupBensonAtom.n/a n/a BensonAzoNitrogenBensonAtom.n/i n/i BensonIminoNitrogenBensonAtom.so3h so3h BensonSO3HBensonAtom.o o BensonSP3OxygenBensonAtom.s s BensonSP3SBensonAtom.so4 so4 BensonSO4BensonAtom.c/a c/a BensonAromaticCarbonBensonAtom.c c BensonCarbonAtomBensonAtom.so2 so2 BensonSO2BensonAtom.so3 so3 BensonSO3BensonAtom.c/t c/t BensonTripleBondedCarbonBensonAtom.no2 no2 BensonNO2BensonAtom.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: oospecifiedAtoms: 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 tests
  • Single: The keyword signalling the testing of a single Benson Atom element
  • molecule: The molecule in Nancy linear form
  • element: 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: oospecifiedAtoms: 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 substitutionMolecule -----------------------------------------------<?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 substitutionMolecule -----------------------------------------------<?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 -----------------------------------------------