l101.zmat2

Implementation level

Type

Status

CML extraction template

image1

HTML5 representation

image2

Template attributes

Attribute

Value

source

Gaussian log

id

l101.zmat2

pattern

\s+Charge.*Multiplicity\s\=\s\S+\s*$\s*\d+\s*\d+.*

endPattern

\s*

xml:base

l101/l101.zmat2.xml

Input

Charge =  1 Multiplicity = 1
29                   0     0.63977  -0.76231   0.44114
7                    0    -1.04852   2.10943   0.53365
6                    0    -0.74977   3.3482    0.13047
6                    0    -2.06242   2.45569  -1.48941
6                    0    -1.35572   3.59703  -1.13251
7                    0    -0.44078  -0.864    -1.30784
6                    0    -0.19719  -1.69056  -2.34008
6                    0    -1.42913  -2.06672  -2.92901
6                    0    -2.44773  -1.42896  -2.22813
7                    0    -1.12595  -0.69754   1.57126
6                    0    -1.36268  -0.989     2.85878
6                    0    -2.7152   -0.68807   3.16021
6                    0    -3.30982  -0.20358   2.00266

Output text

 1<comment class="example.output" id="l101.zmat2">
 2    <module cmlx:templateRef="l101.zmat2">
 3          <molecule cmlx:templateRef="atom" formalCharge="1" id="zmat" spinMultiplicity="1">
 4             <atomArray>
 5                <atom elementType="Cu" id="a1" x3="0.63977" y3="-0.76231" z3="0.44114">
 6                   <scalar dataType="xsd:integer" dictRef="g:type">0</scalar>
 7                   <scalar dataType="xsd:integer" dictRef="cc:atomicNumber">29</scalar>
 8                </atom>
 9                <atom elementType="N" id="a2" x3="-1.04852" y3="2.10943" z3="0.53365">
10                   <scalar dataType="xsd:integer" dictRef="g:type">0</scalar>
11                   <scalar dataType="xsd:integer" dictRef="cc:atomicNumber">7</scalar>
12                </atom>
13                <atom elementType="C" id="a3" x3="-0.74977" y3="3.3482" z3="0.13047">
14                   <scalar dataType="xsd:integer" dictRef="g:type">0</scalar>
15                   <scalar dataType="xsd:integer" dictRef="cc:atomicNumber">6</scalar>
16                </atom>
17                <atom elementType="C" id="a4" x3="-2.06242" y3="2.45569" z3="-1.48941">
18                   <scalar dataType="xsd:integer" dictRef="g:type">0</scalar>
19                   <scalar dataType="xsd:integer" dictRef="cc:atomicNumber">6</scalar>
20                </atom>
21                <atom elementType="C" id="a5" x3="-1.35572" y3="3.59703" z3="-1.13251">
22                   <scalar dataType="xsd:integer" dictRef="g:type">0</scalar>
23                   <scalar dataType="xsd:integer" dictRef="cc:atomicNumber">6</scalar>
24                </atom>
25                <atom elementType="N" id="a6" x3="-0.44078" y3="-0.864" z3="-1.30784">
26                   <scalar dataType="xsd:integer" dictRef="g:type">0</scalar>
27                   <scalar dataType="xsd:integer" dictRef="cc:atomicNumber">7</scalar>
28                </atom>
29                <atom elementType="C" id="a7" x3="-0.19719" y3="-1.69056" z3="-2.34008">
30                   <scalar dataType="xsd:integer" dictRef="g:type">0</scalar>
31                   <scalar dataType="xsd:integer" dictRef="cc:atomicNumber">6</scalar>
32                </atom>
33                <atom elementType="C" id="a8" x3="-1.42913" y3="-2.06672" z3="-2.92901">
34                   <scalar dataType="xsd:integer" dictRef="g:type">0</scalar>
35                   <scalar dataType="xsd:integer" dictRef="cc:atomicNumber">6</scalar>
36                </atom>
37                <atom elementType="C" id="a9" x3="-2.44773" y3="-1.42896" z3="-2.22813">
38                   <scalar dataType="xsd:integer" dictRef="g:type">0</scalar>
39                   <scalar dataType="xsd:integer" dictRef="cc:atomicNumber">6</scalar>
40                </atom>
41                <atom elementType="N" id="a10" x3="-1.12595" y3="-0.69754" z3="1.57126">
42                   <scalar dataType="xsd:integer" dictRef="g:type">0</scalar>
43                   <scalar dataType="xsd:integer" dictRef="cc:atomicNumber">7</scalar>
44                </atom>
45                <atom elementType="C" id="a11" x3="-1.36268" y3="-0.989" z3="2.85878">
46                   <scalar dataType="xsd:integer" dictRef="g:type">0</scalar>
47                   <scalar dataType="xsd:integer" dictRef="cc:atomicNumber">6</scalar>
48                </atom>
49                <atom elementType="C" id="a12" x3="-2.7152" y3="-0.68807" z3="3.16021">
50                   <scalar dataType="xsd:integer" dictRef="g:type">0</scalar>
51                   <scalar dataType="xsd:integer" dictRef="cc:atomicNumber">6</scalar>
52                </atom>
53                <atom elementType="C" id="a13" x3="-3.30982" y3="-0.20358" z3="2.00266">
54                   <scalar dataType="xsd:integer" dictRef="g:type">0</scalar>
55                   <scalar dataType="xsd:integer" dictRef="cc:atomicNumber">6</scalar>
56                </atom>
57            </atomArray>
58        </molecule>
59    </module>
60  </comment>

Template definition

1<record id="charge">\s*Charge\s*={I,g:charge}\s*Multiplicity\s*={I,g:mult}</record>
2<record id="atom" repeat="*" makeArray="true">\s*{I,cc:elementType}{I,g:type}{F,cc:x3}{F,cc:y3}{F,cc:z3}</record>
3<record id="atom" repeat="*" makeArray="true">\s*{A,cc:elementType}{I,g:type}{F,cc:x3}{F,cc:y3}{F,cc:z3}</record>
4<transform process="createMolecule" id="zmat" xpath=".//cml:array" />
5<transform process="move" to=".//cml:molecule" xpath="./cml:list[@cmlx:templateRef='charge']" />
6<transform process="addAttribute" xpath=".//cml:molecule[@id='zmat']" name="formalCharge" value="$string(.//cml:scalar[@dictRef='g:charge'])" />
7<transform process="addAttribute" xpath=".//cml:molecule[@id='zmat']" name="spinMultiplicity" value="$string(.//cml:scalar[@dictRef='g:mult'])" />
8<transform process="delete" xpath="./cml:list[@cmlx:templateRef='charge']" />
9<transform process="pullupSingleton" xpath="./cml:list" />