Skip to content

l101.qmmm ​

Implementation level ​

TypeStatus
CML extraction template
HTML5 representation

Template attributes ​

AttributeValue
sourceGaussian log
idl101.qmmm
pattern\s+Charge.*Multiplicity.*for.*level\scalculation.*
endPattern\s*
endPattern2~
endOffset1
repeat*
xml:basel101/l101.qmmm.xml

Input ​

 Charge =  0 Multiplicity = 1 for low   level calculation on real  system.
 Charge =  0 Multiplicity = 1 for high  level calculation on model system.
 Charge =  0 Multiplicity = 1 for low   level calculation on model system.
 C-C_2                0    -0.23158   0.44977   0.       H 
 H-H_                 0    -0.36056   1.51197   0.       H 
 C-C_3                0     1.18639  -0.15104   0.       L    H-H_     1     0.        0. 
 H-H_                 0     1.90836   0.63867   0.       L 
 H-H_                 0     1.31801  -0.75462   0.87365  L 
 H-H_                 0     1.31801  -0.75463  -0.87365  L 
 O-O_2                0    -1.23909  -0.30422   0.       H 

Output text ​

xml
<comment class="example.output" id="l101.qmmm">
       <module cmlx:templateRef="l101.qmmm">                      
            <list cmlx:templateRef="chargemultlevelsystem">
               <array dataType="xsd:integer" dictRef="g:charge" size="3">0 0 0</array>
               <array dataType="xsd:integer" dictRef="g:multiplicity" size="3">1 1 1</array>
               <array dataType="xsd:string" dictRef="x:level" size="3">low high low</array>
               <array dataType="xsd:string" dictRef="x:system" size="3">real model model</array>
            </list>
            <list cmlx:templateRef="isotope">
               <scalar dataType="xsd:string" dictRef="x:atom">C</scalar>
               <scalar dataType="xsd:string" dictRef="g:atomicType">C_2</scalar>
               <scalar dataType="xsd:integer" dictRef="x:frozen">0</scalar>
               <array dataType="xsd:double" dictRef="x:coords" size="3">-0.23158 0.44977 0.</array>
               <scalar dataType="xsd:string" dictRef="x:layer">H</scalar>
            </list>
            <list cmlx:templateRef="isotope">
               <scalar dataType="xsd:string" dictRef="x:atom">H</scalar>
               <scalar dataType="xsd:string" dictRef="g:atomicType">H_</scalar>
               <scalar dataType="xsd:integer" dictRef="x:frozen">0</scalar>
               <array dataType="xsd:double" dictRef="x:coords" size="3">-0.36056 1.51197 0.</array>
               <scalar dataType="xsd:string" dictRef="x:layer">H</scalar>
            </list>
            <list cmlx:templateRef="isotope">
               <scalar dataType="xsd:string" dictRef="x:atom">C</scalar>
               <scalar dataType="xsd:string" dictRef="g:atomicType">C_3</scalar>
               <scalar dataType="xsd:integer" dictRef="x:frozen">0</scalar>
               <array dataType="xsd:double" dictRef="x:coords" size="3">1.18639 -0.15104 0.</array>
               <scalar dataType="xsd:string" dictRef="x:layer">L</scalar>
               <scalar dataType="xsd:string" dictRef="x:atomlink">H-H_</scalar>
               <scalar dataType="xsd:integer" dictRef="x:bondedto">1</scalar>
               <array dataType="xsd:double" dictRef="x:scalefactor" size="2">0. 0.</array>
            </list>
            <list cmlx:templateRef="isotope">
               <scalar dataType="xsd:string" dictRef="x:atom">H</scalar>
               <scalar dataType="xsd:string" dictRef="g:atomicType">H_</scalar>
               <scalar dataType="xsd:integer" dictRef="x:frozen">0</scalar>
               <array dataType="xsd:double" dictRef="x:coords" size="3">1.90836 0.63867 0.</array>
               <scalar dataType="xsd:string" dictRef="x:layer">L</scalar>
            </list>
            <list cmlx:templateRef="isotope">
               <scalar dataType="xsd:string" dictRef="x:atom">H</scalar>
               <scalar dataType="xsd:string" dictRef="g:atomicType">H_</scalar>
               <scalar dataType="xsd:integer" dictRef="x:frozen">0</scalar>
               <array dataType="xsd:double" dictRef="x:coords" size="3">1.31801 -0.75462 0.87365</array>
               <scalar dataType="xsd:string" dictRef="x:layer">L</scalar>
            </list>
            <list cmlx:templateRef="isotope">
               <scalar dataType="xsd:string" dictRef="x:atom">H</scalar>
               <scalar dataType="xsd:string" dictRef="g:atomicType">H_</scalar>
               <scalar dataType="xsd:integer" dictRef="x:frozen">0</scalar>
               <array dataType="xsd:double" dictRef="x:coords" size="3">1.31801 -0.75463 -0.87365</array>
               <scalar dataType="xsd:string" dictRef="x:layer">L</scalar>
            </list>
            <list cmlx:templateRef="isotope">
               <scalar dataType="xsd:string" dictRef="x:atom">O</scalar>
               <scalar dataType="xsd:string" dictRef="g:atomicType">O_2</scalar>
               <scalar dataType="xsd:integer" dictRef="x:frozen">0</scalar>
               <array dataType="xsd:double" dictRef="x:coords" size="3">-1.23909 -0.30422 0.</array>
               <scalar dataType="xsd:string" dictRef="x:layer">H</scalar>
            </list>
         </module> 
    </comment>

Template definition ​

xml
<record id="chargemultlevelsystem" repeat="*" makeArray="true">\s+Charge\s+\=&#123;I,g:charge&#125;Multiplicity\s\=&#123;I,g:multiplicity&#125;for\s&#123;A,x:level&#125;level\scalculation\son&#123;A,x:system&#125;system.*</record>
<templateList>  <template pattern="\s+([a-zA-Z_0-9]+)-([a-zA-Z_0-9]+)--([a-zA-Z_0-9\.]+)\s+(\S+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s+\S\s+\S+\s+.*" endPattern=".*" endPattern2="~" repeat="*">    <record id="isotope" repeat="*">&#123;A,x:atom&#125;-&#123;A,g:atomicType&#125;--&#123;F,x:charge&#125;&#123;I,x:frozen&#125;&#123;3F,x:coords&#125;&#123;A,x:layer&#125;&#123;A,x:atomlink&#125;&#123;I,x:bondedto&#125;&#123;1_3F,x:scalefactor&#125;</record>    <transform process="operateScalar" xpath=".//cml:scalar[@dictRef='x:charge']" args="operator=multiply operand=-1" />    <transform process="pullup" xpath="./cml:list/cml:list/*" repeat="1" />    <transform process="delete" xpath="./cml:list/cml:list[count(*)=0]" />
        </template>  <template pattern="\s+([a-zA-Z_0-9]+)-([a-zA-Z_0-9]+)--([a-zA-Z_0-9\.]+)\s+(\S+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s+\S\s*" endPattern=".*" endPattern2="~" repeat="*">    <record id="isotope" repeat="*">\s*&#123;A,x:atom&#125;-&#123;A,g:atomicType&#125;--&#123;F,x:charge&#125;\s+&#123;I,x:frozen&#125;\s+&#123;3F,x:coords&#125;\s+&#123;X,x:layer&#125;</record>    <transform process="operateScalar" xpath=".//cml:scalar[@dictRef='x:charge']" args="operator=multiply operand=-1" />    <transform process="pullup" xpath="./cml:list/cml:list/*" repeat="1" />    <transform process="delete" xpath="./cml:list/cml:list[count(*)=0]" />
        </template>  <template pattern="\s+([a-zA-Z_0-9]+)-([a-zA-Z_0-9]+)--([a-zA-Z_0-9\.]+)\s+(\S+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s*" endPattern=".*" endPattern2="~" repeat="*">    <record id="isotope" repeat="*">\s*&#123;A,x:atom&#125;-&#123;A,g:atomicType&#125;--&#123;F,x:charge&#125;\s+&#123;I,x:frozen&#125;\s+&#123;3F,x:coords&#125;</record>    <transform process="operateScalar" xpath=".//cml:scalar[@dictRef='x:charge']" args="operator=multiply operand=-1" />    <transform process="pullup" xpath="./cml:list/cml:list/*" repeat="1" />    <transform process="delete" xpath="./cml:list/cml:list[count(*)=0]" />
        </template>  <template pattern="\s+([a-zA-Z_0-9]+)-([a-zA-Z_0-9]+)--([a-zA-Z_0-9\.]+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s*" endPattern=".*" endPattern2="~" repeat="*">    <record id="isotope" repeat="*">\s*&#123;A,x:atom&#125;-&#123;A,g:atomicType&#125;--&#123;F,x:charge&#125;\s+&#123;3F,x:coords&#125;</record>    <transform process="operateScalar" xpath=".//cml:scalar[@dictRef='x:charge']" args="operator=multiply operand=-1" />    <transform process="pullup" xpath="./cml:list/cml:list/*" repeat="1" />    <transform process="delete" xpath="./cml:list/cml:list[count(*)=0]" />
        </template>  <template pattern="\s+([a-zA-Z_0-9]+)-([a-zA-Z_0-9]+)-([a-zA-Z_0-9\.]+)\s+(\S+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s+\S\s+\S+\s+.*" endPattern=".*" endPattern2="~" repeat="*">    <record id="isotope" repeat="*">&#123;A,x:atom&#125;-&#123;A,g:atomicType&#125;-&#123;F,x:charge&#125;&#123;I,x:frozen&#125;&#123;3F,x:coords&#125;&#123;A,x:layer&#125;&#123;A,x:atomlink&#125;&#123;I,x:bondedto&#125;&#123;1_3F,x:scalefactor&#125;</record>    <transform process="pullup" xpath="./cml:list/cml:list/*" repeat="1" />    <transform process="delete" xpath="./cml:list/cml:list[count(*)=0]" />
        </template>  <template pattern="\s+([a-zA-Z_0-9]+)-([a-zA-Z_0-9]+)-([a-zA-Z_0-9\.]+)\s+(\S+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s+\S\s*" endPattern=".*" endPattern2="~" repeat="*">    <record id="isotope" repeat="*">\s*&#123;A,x:atom&#125;-&#123;A,g:atomicType&#125;-&#123;F,x:charge&#125;\s+&#123;I,x:frozen&#125;\s+&#123;3F,x:coords&#125;\s+&#123;X,x:layer&#125;</record>    <transform process="pullup" xpath="./cml:list/cml:list/*" repeat="1" />    <transform process="delete" xpath="./cml:list/cml:list[count(*)=0]" />
        </template>  <template pattern="\s+([a-zA-Z_0-9]+)-([a-zA-Z_0-9]+)-([a-zA-Z_0-9\.]+)\s+(\S+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s*" endPattern=".*" endPattern2="~" repeat="*">    <record id="isotope" repeat="*">\s*&#123;A,x:atom&#125;-&#123;A,g:atomicType&#125;-&#123;F,x:charge&#125;\s+&#123;I,x:frozen&#125;\s+&#123;3F,x:coords&#125;</record>    <transform process="pullup" xpath="./cml:list/cml:list/*" repeat="1" />    <transform process="delete" xpath="./cml:list/cml:list[count(*)=0]" />
        </template>  <template pattern="\s+([a-zA-Z_0-9]+)-([a-zA-Z_0-9]+)-([a-zA-Z_0-9\.]+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s*" endPattern=".*" endPattern2="~" repeat="*">    <record id="isotope" repeat="*">\s*&#123;A,x:atom&#125;-&#123;A,g:atomicType&#125;-&#123;F,x:charge&#125;\s+&#123;3F,x:coords&#125;</record>    <transform process="pullup" xpath="./cml:list/cml:list/*" repeat="1" />    <transform process="delete" xpath="./cml:list/cml:list[count(*)=0]" />
        </template>  <template pattern="\s+([a-zA-Z_0-9]+)-([a-zA-Z_0-9]+)\s+(\S+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s+\S\s+\S+\s+.*" endPattern=".*" endPattern2="~" repeat="*">    <record id="isotope" repeat="*">&#123;A,x:atom&#125;-&#123;A,g:atomicType&#125;\s+&#123;I,x:frozen&#125;&#123;3F,x:coords&#125;&#123;A,x:layer&#125;&#123;A,x:atomlink&#125;&#123;I,x:bondedto&#125;&#123;1_3F,x:scalefactor&#125;</record>    <transform process="pullup" xpath="./cml:list/cml:list/*" repeat="1" />    <transform process="delete" xpath="./cml:list/cml:list[count(*)=0]" />
        </template>  <template pattern="\s+([a-zA-Z_0-9]+)-([a-zA-Z_0-9]+)\s+(\S+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s+\S\s*" endPattern=".*" endPattern2="~" repeat="*">    <record id="isotope" repeat="*">\s*&#123;A,x:atom&#125;-&#123;A,g:atomicType&#125;\s+&#123;I,x:frozen&#125;\s+&#123;3F,x:coords&#125;\s+&#123;X,x:layer&#125;</record>    <transform process="pullup" xpath="./cml:list/cml:list/*" repeat="1" />    <transform process="delete" xpath="./cml:list/cml:list[count(*)=0]" />
        </template>  <template pattern="\s+([a-zA-Z_0-9]+)-([a-zA-Z_0-9]+)\s+(\S+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s*" endPattern=".*" endPattern2="~" repeat="*">    <record id="isotope" repeat="*">\s*&#123;A,x:atom&#125;-&#123;A,g:atomicType&#125;\s+&#123;I,x:frozen&#125;\s+&#123;3F,x:coords&#125;</record>    <transform process="pullup" xpath="./cml:list/cml:list/*" repeat="1" />    <transform process="delete" xpath="./cml:list/cml:list[count(*)=0]" />
        </template>  <template pattern="\s+([a-zA-Z_0-9]+)-([a-zA-Z_0-9]+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s*" endPattern=".*" endPattern2="~" repeat="*">    <record id="isotope" repeat="*">\s*&#123;A,x:atom&#125;-&#123;A,g:atomicType&#125;\s+&#123;3F,x:coords&#125;</record>    <transform process="pullup" xpath="./cml:list/cml:list/*" repeat="1" />    <transform process="delete" xpath="./cml:list/cml:list[count(*)=0]" />
        </template>  <template pattern="\s+([a-zA-Z_0-9]+)\s+(\S+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s+\S\s+\S+\s+.*" endPattern=".*" endPattern2="~" repeat="*">    <record id="isotope" repeat="*">&#123;A,x:atom&#125;\s+&#123;I,x:frozen&#125;&#123;3F,x:coords&#125;&#123;A,x:layer&#125;&#123;A,x:atomlink&#125;&#123;I,x:bondedto&#125;&#123;1_3F,x:scalefactor&#125;</record>    <transform process="pullup" xpath="./cml:list/cml:list/*" repeat="1" />    <transform process="delete" xpath="./cml:list/cml:list[count(*)=0]" />
        </template>  <template pattern="\s+([a-zA-Z_0-9]+)\s+(\S+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s+\S\s*" endPattern=".*" endPattern2="~" repeat="*">    <record id="isotope" repeat="*">\s*&#123;A,x:atom&#125;\s+&#123;I,x:frozen&#125;\s+&#123;3F,x:coords&#125;\s+&#123;X,x:layer&#125;</record>    <transform process="pullup" xpath="./cml:list/cml:list/*" repeat="1" />    <transform process="delete" xpath="./cml:list/cml:list[count(*)=0]" />
        </template>  <template pattern="\s+([a-zA-Z_0-9]+)\s+(\S+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s*" endPattern=".*" endPattern2="~" repeat="*">    <record id="isotope" repeat="*">\s*&#123;A,x:atom&#125;\s+&#123;I,x:frozen&#125;\s+&#123;3F,x:coords&#125;</record>    <transform process="pullup" xpath="./cml:list/cml:list/*" repeat="1" />    <transform process="delete" xpath="./cml:list/cml:list[count(*)=0]" />
        </template>  <template pattern="\s+([a-zA-Z_0-9]+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s+(-?[0-9\.]+)\s*" endPattern=".*" endPattern2="~" repeat="*">    <record id="isotope" repeat="*">\s*&#123;A,x:atom&#125;\s+&#123;3F,x:coords&#125;</record>    <transform process="pullup" xpath="./cml:list/cml:list/*" repeat="1" />    <transform process="delete" xpath="./cml:list/cml:list[count(*)=0]" />
        </template>   


    </templateList>
<transform process="pullup" xpath="./cml:module/cml:list[@cmlx:templateRef='isotope']" repeat="1" />
<transform process="delete" xpath="./cml:module[count(*)=0]" />