Skip to content

bonds ​

Implementation level ​

TypeStatus
CML extraction template
HTML5 representation

Template attributes ​

AttributeValue
sourceOrca log
idbonds
nameMayer bond orders larger than 0.1
pattern\s*Mayer\sbond\sorders\slarger\sthan\s.*
endPattern\s*
endPattern2~
endOffset0
repeat*
xml:basemayer/bonds.xml

Input ​

  Mayer bond orders larger than 0.1
B(  0-O ,  2-H ) :   0.9898 B(  0-O ,  3-H ) :   0.9071 B(  1-O ,  4-H ) :   0.8801 
B(  1-O ,  5-H ) :   0.9839 B(  1-O , 33-H ) :   0.1848 B(  3-H ,  6-O ) :   0.1409 
B(  4-H ,  6-O ) :   0.1800 B(  6-O ,  7-C ) :   1.3907 B(  6-O , 40-H ) :   0.1566 
B(  7-C ,  8-C ) :   1.0247 B(  7-C , 10-H ) :   0.8911 B(  7-C , 20-C ) :   0.5980 
B(  8-C ,  9-C ) :   1.1090 B(  8-C , 11-H ) :   0.9202 B(  8-C , 12-H ) :   0.9273 
B(  9-C , 13-H ) :   0.9649 B(  9-C , 14-H ) :   0.9589 B(  9-C , 15-H ) :   0.9474 
B( 16-O , 18-N ) :   0.1147 B( 16-O , 26-C ) :   2.0236 B( 17-N , 21-C ) :   1.4568 
B( 17-N , 22-C ) :   0.9096 B( 17-N , 25-C ) :   0.9178 B( 18-N , 26-C ) :   1.3955 
B( 18-N , 39-H ) :   0.9143 B( 18-N , 40-H ) :   0.8496 B( 19-C , 20-C ) :   1.0614 
B( 19-C , 27-H ) :   0.9549 B( 19-C , 28-H ) :   0.9496 B( 19-C , 29-H ) :   0.9517 
B( 20-C , 21-C ) :   1.2532 B( 20-C , 30-H ) :   0.9059 B( 21-C , 31-H ) :   0.9486 
B( 22-C , 23-C ) :   1.0878 B( 22-C , 32-H ) :   0.9320 B( 22-C , 33-H ) :   0.8878 
B( 23-C , 24-C ) :   1.0882 B( 23-C , 34-H ) :   0.9322 B( 23-C , 35-H ) :   0.9356 
B( 24-C , 25-C ) :   1.0522 B( 24-C , 36-H ) :   0.9353 B( 24-C , 37-H ) :   0.9328 
B( 25-C , 26-C ) :   0.8818 B( 25-C , 38-H ) :   0.8971

Output text ​

xml
<comment class="example.output" id="bonds">   
        <module cmlx:templateRef="bonds">
            <array dataType="xsd:double" dictRef="x:distance" size="44">0.9898 0.9071 0.8801 0.9839 0.1848 0.1409 0.1800 1.3907 0.1566 1.0247 0.8911 0.5980 1.1090 0.9202 0.9273 0.9649 0.9589 0.9474 0.1147 2.0236 1.4568 0.9096 0.9178 1.3955 0.9143 0.8496 1.0614 0.9549 0.9496 0.9517 1.2532 0.9059 0.9486 1.0878 0.9320 0.8878 1.0882 0.9322 0.9356 1.0522 0.9353 0.9328 0.8818 0.8971</array>
            <matrix cols="2" dataType="xsd:integer" dictRef="x:serial" rows="44">0 2 0 3 1 4 1 5 1 33 3 6 4 6 6 7 6 40 7 8 7 10 7 20 8 9 8 11 8 12 9 13 9 14 9 15 16 18 16 26 17 21 17 22 17 25 18 26 18 39 18 40 19 20 19 27 19 28 19 29 20 21 20 30 21 31 22 23 22 32 22 33 23 24 23 34 23 35 24 25 24 36 24 37 25 26 25 38</matrix>
         </module>
    </comment>

Template definition ​

xml
<record repeat="1" />
<templateList>  <template id="three" pattern="\s*(B\((.*)\)\s*:\s*(.*))&#123;3&#125;\s*" endPattern=".*" endPattern2="~" repeat="*">    <record>\s*B\(&#123;I,x:serialA&#125;-&#123;A,cc:elementTypeA&#125;,&#123;I,x:serialA&#125;-&#123;A,cc:elementTypeA&#125;\)\s*:&#123;F,x:distance&#125;\s*B\(&#123;I,x:serialB&#125;-&#123;A,cc:elementTypeB&#125;,&#123;I,x:serialB&#125;-&#123;A,cc:elementTypeB&#125;\)\s*:&#123;F,x:distance&#125;\s*B\(&#123;I,x:serialC&#125;-&#123;A,cc:elementTypeC&#125;,&#123;I,x:serialC&#125;-&#123;A,cc:elementTypeC&#125;\)\s*:&#123;F,x:distance&#125;</record>    <transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='x:serialA']" />    <transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='x:serialB']" />    <transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='x:serialC']" />
        </template>  <template id="two" pattern="\s*(B\((.*)\)\s*:\s*(.*))&#123;2&#125;\s*" endPattern=".*" endPattern2="~" repeat="*">    <record>\s*B\(&#123;I,x:serialA&#125;-&#123;A,cc:elementTypeA&#125;,&#123;I,x:serialA&#125;-&#123;A,cc:elementTypeA&#125;\)\s*:&#123;F,x:distance&#125;\s*B\(&#123;I,x:serialB&#125;-&#123;A,cc:elementTypeB&#125;,&#123;I,x:serialB&#125;-&#123;A,cc:elementTypeB&#125;\)\s*:&#123;F,x:distance&#125;</record>    <transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='x:serialA']" />    <transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='x:serialB']" />
        </template>  <template id="one" pattern="\s*(B\((.*)\)\s*:\s*(.*))\s*" endPattern=".*" endPattern2="~" repeat="*">    <record>\s*B\(&#123;I,x:serialA&#125;-&#123;A,cc:elementTypeA&#125;,&#123;I,x:serialA&#125;-&#123;A,cc:elementTypeA&#125;\)\s*:&#123;F,x:distance&#125;</record>    <transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='x:serialA']" />          
        </template>
            
    </templateList>
<transform process="createArray" xpath="." from=".//cml:scalar[@dictRef='x:distance']" />
<transform process="createMatrix" xpath="." from=".//cml:array[contains(@dictRef, 'x:serial')]" dictRef="x:serial" />
<transform process="delete" xpath=".//cml:scalar[contains(@dictRef, 'cc:element')]" />
<transform process="move" xpath=".//cml:array" to="." />
<transform process="move" xpath=".//cml:matrix" to="." />
<transform process="delete" xpath=".//cml:list" />
<transform process="delete" xpath=".//cml:module" />