l101.zmatfragment
Type |
Status |
---|---|
CML extraction template |
|
HTML5 representation |
Attribute |
Value |
---|---|
source |
Gaussian log |
id |
l101.zmatfragment |
repeat |
* |
pattern |
.*Symbolic\s Z\-matrix.*$\s*Charge.*Multiplicity.*in\ssupermolecule\s*$\s*Charge.*Multiplicity.*in\sfragment.* |
endPattern |
\s* |
xml:base |
l101/l101.zmatfragment.xml |
Input
Symbolic Z-matrix:
Charge = 0 Multiplicity = 1 in supermolecule
Charge = 0 Multiplicity = 1 in fragment 1.
Charge = 0 Multiplicity = 1 in fragment 2.
H(Fragment=1) 10.95684 0.52181 5.17636
N(Fragment=1) 10.78265 -0.14558 6.33644
H(Fragment=1) 11.65274 -0.43711 6.75966
C(Fragment=1) 9.545 -0.78436 6.74173
H(Fragment=2) 19.67428 -3.80756 -5.09505
H(Fragment=2) 18.43108 -7.54832 -1.03918
Output text
1<comment class="example.output" id="l101.zmatfragment">
2 <module cmlx:templateRef="l101.zmatfragment">
3 <list cmlx:templateRef="chargefragment">
4 <array dataType="xsd:integer" dictRef="g:charge" size="2">0 0</array>
5 <array dataType="xsd:integer" dictRef="g:mult" size="2">1 1</array>
6 <array dataType="xsd:integer" dictRef="g:fragment" size="2">1 2</array>
7 </list>
8 <molecule cmlx:templateRef="mol" formalCharge="0" id="zmatfragment" spinMultiplicity="1">
9 <atomArray>
10 <atom elementType="H" id="a1" x3="10.95684" y3="0.52181" z3="5.17636">
11 <scalar dataType="xsd:integer" dictRef="g:fragment">1</scalar>
12 <scalar dataType="xsd:integer" dictRef="cc:atomicNumber">1</scalar>
13 </atom>
14 <atom elementType="N" id="a2" x3="10.78265" y3="-0.14558" z3="6.33644">
15 <scalar dataType="xsd:integer" dictRef="g:fragment">1</scalar>
16 <scalar dataType="xsd:integer" dictRef="cc:atomicNumber">7</scalar>
17 </atom>
18 <atom elementType="H" id="a3" x3="11.65274" y3="-0.43711" z3="6.75966">
19 <scalar dataType="xsd:integer" dictRef="g:fragment">1</scalar>
20 <scalar dataType="xsd:integer" dictRef="cc:atomicNumber">1</scalar>
21 </atom>
22 <atom elementType="C" id="a4" x3="9.5450" y3="-0.78436" z3="6.74173">
23 <scalar dataType="xsd:integer" dictRef="g:fragment">1</scalar>
24 <scalar dataType="xsd:integer" dictRef="cc:atomicNumber">6</scalar>
25 </atom>
26 <atom elementType="H" id="a203" x3="19.67428" y3="-3.80756" z3="-5.09505">
27 <scalar dataType="xsd:integer" dictRef="g:fragment">2</scalar>
28 <scalar dataType="xsd:integer" dictRef="cc:atomicNumber">1</scalar>
29 </atom>
30 <atom elementType="H" id="a204" x3="18.43108" y3="-7.54832" z3="-1.03918">
31 <scalar dataType="xsd:integer" dictRef="g:fragment">2</scalar>
32 <scalar dataType="xsd:integer" dictRef="cc:atomicNumber">1</scalar>
33 </atom>
34 </atomArray>
35 <bondArray>
36 <bond atomRefs2="a1 a2" order="S" />
37 <bond atomRefs2="a2 a4" order="S" />
38 <bond atomRefs2="a2 a3" order="S" />
39 <bond atomRefs2="a4 a17" order="S" />
40 </bondArray>
41 <formula concise="C84H90N14O14Zn2">
42 <atomArray count="84 90 14 14 2" elementType="C H N O Zn" />
43 </formula>
44 <property dictRef="cml:molmass">
45 <scalar units="unit:dalton">1559.8022000000024</scalar>
46 </property>
47 </molecule>
48 </module>
49 </comment>
Template definition
1<record />
2<record id="charge">.*Charge ={I,g:charge} Multiplicity ={I,g:mult}\s*in\s*supermolecule</record>
3<record id="chargefragment" repeat="*">.*Charge ={I,g:charge} Multiplicity ={I,g:mult}\sin\sfragment{I,g:fragment}\.\s*</record>
4<record id="mol" repeat="*" makeArray="true">{I,gau:elementType}\(Fragment={I,g:fragment}\){F,gau:x3,unit:angstrom}{F,gau:y3,unit:angstrom}{F,gau:z3,unit:angstrom}</record>
5<record id="mol" repeat="*" makeArray="true">{A,gau:elementType}\(Fragment={I,g:fragment}\){F,gau:x3,unit:angstrom}{F,gau:y3,unit:angstrom}{F,gau:z3,unit:angstrom}</record>
6<transform process="createMolecule" id="zmatfragment" xpath=".//cml:array" />
7<transform process="move" xpath="./cml:list[@cmlx:templateRef='charge']" to=".//cml:molecule" />
8<transform process="addAttribute" xpath=".//cml:molecule[@id='zmatfragment']" name="formalCharge" value="$string(.//cml:scalar[@dictRef='g:charge'])" />
9<transform process="addAttribute" xpath=".//cml:molecule[@id='zmatfragment']" name="spinMultiplicity" value="$string(.//cml:scalar[@dictRef='g:mult'])" />
10<transform process="delete" xpath="./cml:list[@cmlx:templateRef='charge']" />
11<transform process="createArray" xpath="." from="./cml:list[@cmlx:templateRef='chargefragment']//cml:scalar[@dictRef='g:charge']" />
12<transform process="createArray" xpath="./cml:list[@cmlx:templateRef='chargefragment']" from=".//cml:scalar[@dictRef='g:mult']" />
13<transform process="createArray" xpath="./cml:list[@cmlx:templateRef='chargefragment']" from=".//cml:scalar[@dictRef='g:fragment']" />
14<transform process="pullupSingleton" xpath="./cml:list" />
15<transform process="pullup" xpath=".//cml:list/cml:array" />
16<transform process="delete" xpath=".//cml:list[@cmlx:templateRef='charge']" />
17<transform process="delete" xpath=".//cml:list[count(*)=0]" />
18<transform process="delete" xpath=".//cml:list[count(*)=0]" />