Substructure Thermodynamics
This command is used to input substructures having to do with thermodynamic corrections for substructures. The form of the command is:
SubstructureThermo Filename Type Source Test
where:
- SubstructureThermo: The command keyword
- Filename: The filename (relative to the current directory) of the thermodaynamic substructure information.
- Type: This is a single keyword specifying the type of correction. Different correction may have difference consequences. The accepted correction types are Cycle and StericCorrections.
- Source: This is a single keyword signifying the source of the correction.
- Test: If true, just the file will be read in to check for errors (no database modifications). If false, the file will be read in and the database modified.
The Source is used to use to delete all thermodynamics having the same Source
name. The purpose of this command is to initialize or update all thermodynamic entries with this Source
name
Before running this command, it is suggested that you backup the database. A Sample input is:
SubstructureThermo Cycles.txt Cycles StandardCycles true
where:
SubstructureThermo: The keyword
Cycles.txt: The filename in the current directory
Cycles: The type of correction
StandardCycles: The keyword specifying that these are the standard cycles.
Test: true is to just read in the files without modifying the database.
Database modifications
The substructure correction file modifies the following mySQL databases:
- CMLStructures: The CML structure of the molecular substructure derived from Nancy Linear Form.
- AtomCounts: The number of atoms of each type in the structure.
- StructureTypes: This is the structure type, specified by
Type
in the input line - GroupStandardEnthalpy: The enthalpy value of the structure.
- GroupStandardEntropy: The entropy valueof the structure.
- HeatCapacityElement: The set of heat capacity values for each temperature for the structure.
These tables are all referenced by the ElementName
of the structure.
Sample Usage
Using the following input file (named CyclesTest.txt
in this example):
c ecriture lineaire version octobre 85 (modified October 2010)
c corrections cycles et table 12
c (cbf ajoutes)
g
1 60 1.cyclopropane ring 1 0.0 1.0 1 1.0j73
l cR2(#1)/cR2/cR2/1
1 60 2 1 27.600 1 32.100 1 -3.05 -2.53 -2.10 -1.90 -1.77 -1.62 -1.52 0 j73
1 60 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0j7
1 62 1.cyclopropene ring 1 0.0 1.0 1 1.0j73
l cR2(#1)/cR//cR/1
1 62 2 1 53.700 1 33.600 0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0 j73
1 62 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0j7
The c
at the beginning of the first couple of lines signifies comments. The first non-comment line of the file is g specifying that this is gas phase (this is a reminant of the original JTHERGAS input, so it was left in to be compatable). After this, there are, in this example, two blocks of data specifying corrections for a cyclopropane ring and a cyclopropene ring with structures , and , thermodynamic information. The input form is that of a standard thermodynamic format used by THERGAS.
For the cyclopropane ring, the following information is given:
* Standard Enthalpy: 53.700
* Standard Entropy: 33.600
* Heat Capacities at 300,400,500,600,800,1000, and 1500: -3.05 -2.53 -2.10 -1.90 -1.77 -1.62 and -1.52
Note that in the structures *R* is used to specify connection to a carbon or hydrogen.
The following command will first test the introduction of cyclic thermodynamics:
java -jar ./target/JThermodynamicData-1.0-jar-with-dependencies.jar SubstructureThermo CyclicTest.txt Cycle Test true
The test output is:
Initial Database with 'Test' as source
===========================================
Delete all the following structures with reference 'Test'
(StructureType, CMLStructures, AtomCounts)
Read in File (Test): CyclicTest.txt
=========================================
Parsed Information=======================
=========================================
cyclopropane ring
1 60 1 cR2(#1)/cR2/cR2/1 1 0.0 1.0 1.0j73
1 60 2 1 27.600 1 32.100 1 -3.05 -2.53 -2.10 -1.90 -1.77 -1.62 -1.52 0 j73
1 60 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0j7
cyclopropene ring
1 62 1 cR2(#1)/cR//cR/1 1 0.0 1.0 1.0j73
1 62 2 1 53.700 1 33.600 0 .00 .00 .00 .00 .00 .00 .00 0 j73
1 62 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0j7
=========================================
Note that the StructureType, CMLStructures,
and AtomCounts
has no structures with the source term 'Test' to delete. The two sets of ring information was read correctly.
java -jar JThermodynamicData-1.0-jar-with-dependencies.jar SubstructureThermo CyclicTest.txt Cycle Test false
In the cyclopropane ring example above, entries are made in the CMLStructures, AtomCounts, StructureTypes, GroupStandardEnthalpy, GroupStandardEntropy and the Group table. Note that for the thermodynamic corrections, the information is stored in the same way as for the benson rules. All of these tables are linked together through the ElementName
, the name of the structure. For example, in the GroupStandardEnthalpy table, the standard enthalpy of the cycle corrections are found. For cyclopropane, the ElementName
is set to cyclepropane ring, the StandardEnthalpy
is set to 27.6, the Reference
is set to StandardCycles. In the GroupStandardEntropy
table, the standard entropy of the cycle corrections are found. For cyclopropane, again the ElementName
is set to cyclepropane ring, and the StandardEntropy
is set to 32.1, the Reference
is set to StandardCycles.
In the HeatCapacityElement
table seven entries are made each corresponding to the heat capacity at a given temperature. For cyclopropane ring, for all the elements the ElementName
is set to cyclepropane ring and the Reference
is set to StandardCycles. The temperature is set in Temperature
and the actual heat capacity value is set in HeatCapacity
. For cyclpropane ring, the seven added elements correspond to the 7 standard temperatures (as in Benson's book), 300,400,500,600,800,1000, and 1500, with the corresponding heat capacity values, -3.05, -2.53, -2.10, -1.90, -1.77, -1.62 and -1.52. In the CMLStructures table, the ElementName
is set to cyclopropane ring and the Source
is set to StandardCycles. The structure itself is found in CML form in CMLStructure:
In the StructureTypes table, the list of molecules having the type *Cycles* are listed. For example, for cyclepropane ring, the ElementName is set to cyclepropane ring and the StructureType
is set to Cycles.
The output ends with:
Database successfully written