This set of tests examines the Linear Atoms. There are several ways to examine the LinearAtom database:
The following command lists all the Linear Atom in the system:
LinearAtom Listwhere:
LinearAtom: The keyword for examining the Linear Atom databaseList: The keyword to list all the names of the Linear AtomFor example, the following command:
LinearAtom Listgives the output:
Name Substitute CMLStructureLinearStructure.L-CtC L-CtC LinearGeneralEthyneLinearStructure.L-H L-H LinearHydrogenAtomLinearStructure.L-I L-I LinearIodineAtomLinearStructure.L-Br L-Br LinearBromineAtomLinearStructure.L-Cl L-Cl LinearChlorineAtomLinearStructure.L-CN L-CN LinearGeneralNitrileNote that the Linear atom name is the substitution meta atom with a prefix "LinearStructure." and the CMLStructure is the CMLStructure the group definition found in CMLStructures.
The following command lists all the Linear Atom in the system:
Linear Atom Element namewhere:
LinearAtom: The keyword for examining the Linear Atom databaseList: The keyword to retrieve the Linear atomFor example, the following command:
LinearAtom Element "LinearStructure.L-CN"gives the output:
MetaAtomDefinition -----------------------------------------------MetaAtomDefinition: L-CNspecifiedAtoms: 1 2 unspecifiedAtoms: 0 connectingAtoms: 1 <?xml version="1.0" encoding="ISO-8859-1"?><molecule id="LinearGeneralNitrile" xmlns="http://www.xml-cml.org/schema"> <atomArray> <atom id="a0" title="R" elementType="Du" formalCharge="0" hydrogenCount="0"/> <atom id="a1" elementType="C" formalCharge="0" hydrogenCount="0"/> <atom id="a2" elementType="N" formalCharge="0" hydrogenCount="0"/> </atomArray> <bondArray> <bond id="b1" atomRefs2="a1 a0" order="S"/> <bond id="b2" atomRefs2="a2 a1" order="T"/> </bondArray></molecule>MetaAtomDefinition -----------------------------------------------The command:
LinearAtomTest Single molecule element
where:
AtomTest: the keyword for Linear Atom testsSingle: The keyword signalling the testing of a single Linear Atom elementmolecule: The molecule in Nancy linear formelement: The database name of the Linear AtomThe output is in three parts:
For example, to test one of the peroxyl group Linear Atom on dimethy peroxide (quotes are used around the molecule and element because of the special characters:
LinearAtomTest Single "ch3/o/o/ch3" LinearAtom.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="C" formalCharge="0"/> <atom id="a5" elementType="N" 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="T"/> </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="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="L-CN" 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"/> </bondArray></molecule>Molecule -----------------------------------------------Here, the linear CN group atoms:
<atom id="a4" elementType="C" formalCharge="0"/> <atom id="a5" elementType="N" formalCharge="0"/> were replaced by a single LinearAtom
<atom id="a4" elementType="L-CN" formalCharge="0"> <scalar dictRef="cdk:partialCharge" dataType="xsd:double">0.0</scalar>The bonding also changed from:
<bond id="b3" atomRefs2="a3 a0" order="S"/> <bond id="b4" atomRefs2="a4 a0" order="S"/> <bond id="b5" atomRefs2="a5 a4" order="T"/>to:
<bond id="b4" atomRefs2="a4 a0" order="S"/>The command:
LinearAtomTest Full moleculewhere:
LinearAtomTestTest: the keyword for Linear Atom testsmolecule: The molecule in Nancy linear formThe output is in two parts:
For example, to test Linear Atom recognition of JThermodynamics on a completely linear dicyanide molecule (quotes are used around the molecule and element because of the special characters):
LinearAtomTest Full "n///c/c/c///n"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="N" formalCharge="0"/> <atom id="a1" elementType="C" formalCharge="0"/> <atom id="a2" elementType="C" formalCharge="0"/> <atom id="a3" elementType="C" formalCharge="0"/> <atom id="a4" elementType="N" formalCharge="0"/> </atomArray> <bondArray> <bond id="b1" atomRefs2="a1 a0" order="T"/> <bond id="b2" atomRefs2="a2 a1" order="S"/> <bond id="b3" atomRefs2="a3 a2" order="S"/> <bond id="b4" atomRefs2="a4 a3" order="T"/> </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="C" formalCharge="0" hydrogenCount="0"/> <atom id="a1" elementType="L-CN" formalCharge="0"> <scalar dictRef="cdk:partialCharge" dataType="xsd:double">0.0</scalar> </atom> <atom id="a2" elementType="L-CN" formalCharge="0"> <scalar dictRef="cdk:partialCharge" dataType="xsd:double">0.0</scalar> </atom> </atomArray> <bondArray> <bond id="b2" atomRefs2="a0 a1" order="S"/> <bond id="b3" atomRefs2="a2 a0" order="S"/> </bondArray></molecule>Molecule -----------------------------------------------Multiple substitutions
The following is to Illustrate that consecutive linear atoms get reduced down to single linear atom:
The case is NCCCH where there are two triple bonds in a row, CC and CN:
Molecule -----------------------------------------------<?xml version="1.0" encoding="ISO-8859-1"?><molecule id="m1" xmlns="http://www.xml-cml.org/schema"> <atomArray> <atom id="a0" elementType="N" formalCharge="0"/> <atom id="a1" elementType="C" formalCharge="0"/> <atom id="a2" elementType="C" formalCharge="0"/> <atom id="a3" elementType="C" formalCharge="0"/> <atom id="a4" elementType="H" formalCharge="0"/> </atomArray> <bondArray> <bond id="b1" atomRefs2="a1 a0" order="T"/> <bond id="b2" atomRefs2="a2 a1" order="S"/> <bond id="b3" atomRefs2="a3 a2" order="T"/> <bond id="b4" atomRefs2="a4 a3" 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="a2" elementType="L-H-CTC-CN" formalCharge="0"> <scalar dictRef="cdk:partialCharge" dataType="xsd:double">0.0</scalar> </atom> </atomArray></molecule>Molecule -----------------------------------------------Basically the whole molecule is linear and is reduced to a single linear atom:
<atom id="a2" elementType="L-H-CTC-CN" formalCharge="0"> <scalar dictRef="cdk:partialCharge" dataType="xsd:double">0.0</scalar>