Definition Type: Element
Name: peakStructure
Namespace: http://www.xml-cml.org/schema
Containing Schema: schema.xsd
Abstract
Documentation:
The structure of a peak. Primarily to record couplings and other fine structure. At present we have tested this on HNMR spectra, C13 NMR and simple IR. We believe that other types of spectroscopy (ESR, NQR, etc) can be represented to some extent, but there may be systems beyond the current expressive power. For molecules without symmetry we believe that most of the important types of NMR coupling can be represented. Thus an atom which gives rise to two couplings can have two child PeakStructures, and this is shown in example1. <cml xmlns="http://www.xml-cml.org/schema"> <!-- Ha ... Hb ... Hc1, Hc2 --> <molecule id="m1"> <atomArray> <atom id="a1" elementType="H"> <label value="Ha"/> </atom> <atom id="a2" elementType="H"> <label value="Hb"/> </atom> <atom id="a3" elementType="H"> <label value="Hc1"/> </atom> <atom id="a4" elementType="H"> <label value="Hc2"/> </atom> </atomArray> </molecule> <spectrum id="spectrum2" title="test peaks"> <peakList> <peak id="p1" title="Ha" atomRefs="a1" peakShape="sharp" xUnits="unit:ppm" xValue="6.0"> <peakStructure type="coupling" peakMultiplicity="doublet11" value="12" units="unit:hertz" atomRefs="a2"/> </peak> <peak id="p2" title="Hb" atomRefs="a2" peakShape="sharp" xUnits="unit:ppm" xValue="7.0"> <peakStructure type="coupling" peakMultiplicity="doublet11" value="12" units="unit:hertz" atomRefs="a1"/> <peakStructure type="coupling" peakMultiplicity="triplet121" value="15" units="unit:hertz" atomRefs="a3 a4"/> </peak> <peak id="p3" title="Hc" atomRefs="a3 a4" peakShape="sharp" xUnits="unit:ppm" xValue="8.0"> <peakStructure type="coupling" peakMultiplicity="doublet11" value="15" units="unit:hertz" atomRefs="a2"/> </peak> </peakList> </spectrum> </cml> Where a peak is due to symmetry-related atoms there are different couplings to symmetrical atoms. Thus in an AA'BB' system there can be two couplings to the A atoms and we need nested peakStructures to represent these. In this case the order of the atoms in the peak@atomRefs maps to the order of the grandchildren. See example2. <!-- AA'BB' where there are 2 Ha and 2 Hb with two couplings J1 Ha ... Hb and Ha' ... Hb' J2 Ha ... Hb' and Ha' ... Hb --> <molecule id="m1"> <atomArray> <atom id="a1" elementType="H"> <label value="Ha"/> </atom> <atom id="a2" elementType="H"> <label value="Ha'"/> </atom> <atom id="a3" elementType="H"> <label value="Hb"/> </atom> <atom id="a4" elementType="H"> <label value="Hb'"/> </atom> </atomArray> </molecule> <spectrum id="spectrum2" title="test peaks"> <peakList> <!-- the ORDER of a1 and a2 is linked to the ORDER of the grandchildren elements, i.e. a1 couples to atoms in ps11 and ps21 while a2 relates to atoms is ps21 and ps22 --> <peak id="p1" title="Ha" atomRefs="a1, a2" peakShape="sharp" xUnits="unit:ppm" xValue="6.0"> <peakStructure id="ps1" type="coupling" peakMultiplicity="doublet" value="10" units="unit:hertz"> <peakStructure id="ps11" atomRefs="a3"/> <peakStructure id="ps12" atomRefs="a4"/> </peakStructure> <peakStructure id="ps2" type="coupling" peakMultiplicity="doublet" value="2" units="unit:hertz"> <peakStructure id="ps21" atomRefs="a4"/> <peakStructure id="ps22" atomRefs="a3"/> </peakStructure> </peak> </peakList> </spectrum> </cml>
Collapse XSD Schema Diagram:
Drilldown into peakStructure in schema schema_xsd Drilldown into metadataList in schema schema_xsd Drilldown into bondRefs in schema schema_xsd Drilldown into bondRefs in schema schema_xsd Drilldown into atomRefs in schema schema_xsd Drilldown into atomRefs in schema schema_xsd Drilldown into units in schema schema_xsd Drilldown into units in schema schema_xsd Drilldown into value in schema schema_xsd Drilldown into value in schema schema_xsd Drilldown into peakShape in schema schema_xsd Drilldown into peakShape in schema schema_xsd Drilldown into type in schema schema_xsd Drilldown into peakStructureType in schema schema_xsd Drilldown into peakMultiplicity in schema schema_xsd Drilldown into peakMultiplicity in schema schema_xsd Drilldown into ref in schema schema_xsd Drilldown into ref in schema schema_xsd Drilldown into id in schema schema_xsd Drilldown into id in schema schema_xsd Drilldown into title in schema schema_xsd Drilldown into title in schema schema_xsd Drilldown into convention in schema schema_xsd Drilldown into convention in schema schema_xsd Drilldown into dictRef in schema schema_xsd Drilldown into dictRef in schema schema_xsdXSD Diagram of peakStructure in schema schema_xsd (Chemical Markup Language (CML))
Collapse XSD Schema Code:
<xsd:element name="peakStructure" id="el.peakStructure">
    <xsd:annotation>
        <xsd:documentation>
            <h:div class="summary" xmlns:h="http://www.w3.org/1999/xhtml">The structure of a peak.</h:div>
            <h:div class="description" xmlns:h="http://www.w3.org/1999/xhtml">Primarily to record couplings and other fine
            structure. At present we have tested this on HNMR spectra, C13 NMR and
            simple IR. We believe that other types of spectroscopy (ESR, NQR, etc) can be
            represented to some extent, but there may be systems beyond the current
            expressive power.</h:div>
            <h:div xmlns:h="http://www.w3.org/1999/xhtml">For molecules without symmetry we believe that most of the important
            types of NMR coupling can be represented. Thus an atom which gives rise to
            two couplings can have two child PeakStructures, and this is shown
            in example1. 
            <h:pre>
&lt;cml xmlns="http://www.xml-cml.org/schema"&gt;
    &lt;!-- Ha ... Hb ... Hc1, Hc2 --&gt;
    &lt;molecule id="m1"&gt;
      &lt;atomArray&gt;
        &lt;atom id="a1" elementType="H"&gt;
          &lt;label value="Ha"/&gt;
        &lt;/atom&gt;
        &lt;atom id="a2" elementType="H"&gt;
          &lt;label value="Hb"/&gt;
        &lt;/atom&gt;
        &lt;atom id="a3" elementType="H"&gt;
          &lt;label value="Hc1"/&gt;
        &lt;/atom&gt;
        &lt;atom id="a4" elementType="H"&gt;
          &lt;label value="Hc2"/&gt;
        &lt;/atom&gt;
      &lt;/atomArray&gt;
    &lt;/molecule&gt;
	&lt;spectrum id="spectrum2" title="test peaks"&gt;
	    &lt;peakList&gt;
		    &lt;peak id="p1" title="Ha" atomRefs="a1"
		        peakShape="sharp" xUnits="unit:ppm" xValue="6.0"&gt;
		        &lt;peakStructure type="coupling" peakMultiplicity="doublet11" 
		           value="12" units="unit:hertz" atomRefs="a2"/&gt; 
			&lt;/peak&gt;            
		    &lt;peak id="p2" title="Hb" atomRefs="a2" 
		        peakShape="sharp" xUnits="unit:ppm" xValue="7.0"&gt;
		        &lt;peakStructure type="coupling" peakMultiplicity="doublet11" 
		           value="12" units="unit:hertz" atomRefs="a1"/&gt; 
		        &lt;peakStructure type="coupling" peakMultiplicity="triplet121" 
		           value="15" units="unit:hertz" atomRefs="a3 a4"/&gt; 
			&lt;/peak&gt;            
		    &lt;peak id="p3" title="Hc" atomRefs="a3 a4"
		        peakShape="sharp" xUnits="unit:ppm" xValue="8.0"&gt;
		        &lt;peakStructure type="coupling" peakMultiplicity="doublet11" 
		           value="15" units="unit:hertz" atomRefs="a2"/&gt; 
			&lt;/peak&gt;            
	    &lt;/peakList&gt;
	&lt;/spectrum&gt;
&lt;/cml&gt;
            </h:pre>
            Where a peak is due to symmetry-related atoms there are 
            different couplings to symmetrical atoms. Thus in an AA'BB' system there
            can be two couplings to the A atoms and we need nested peakStructures to
            represent these. In this case the order of the atoms in the peak@atomRefs
            maps to the order of the grandchildren. See example2. 
            <h:pre>
                &lt;!-- AA'BB' where there are 2 Ha and 2 Hb with two couplings
    J1 Ha ... Hb and Ha' ... Hb'
    J2 Ha ... Hb' and Ha' ... Hb
    --&gt;
    &lt;molecule id="m1"&gt;
      &lt;atomArray&gt;
        &lt;atom id="a1" elementType="H"&gt;
          &lt;label value="Ha"/&gt;
        &lt;/atom&gt;
        &lt;atom id="a2" elementType="H"&gt;
          &lt;label value="Ha'"/&gt;
        &lt;/atom&gt;
        &lt;atom id="a3" elementType="H"&gt;
          &lt;label value="Hb"/&gt;
        &lt;/atom&gt;
        &lt;atom id="a4" elementType="H"&gt;
          &lt;label value="Hb'"/&gt;
        &lt;/atom&gt;
      &lt;/atomArray&gt;
    &lt;/molecule&gt;
	&lt;spectrum id="spectrum2" title="test peaks"&gt;
	    &lt;peakList&gt;
	        &lt;!-- the ORDER of a1 and a2 is linked to the ORDER of the
	        grandchildren elements, i.e. a1 couples to atoms in ps11 and ps21 
	        while a2 relates to atoms is ps21 and ps22
	        --&gt; 
		    &lt;peak id="p1" title="Ha" atomRefs="a1, a2"
		        peakShape="sharp" xUnits="unit:ppm" xValue="6.0"&gt;
		        &lt;peakStructure id="ps1" type="coupling" peakMultiplicity="doublet" 
		           value="10" units="unit:hertz"&gt;
		           &lt;peakStructure id="ps11" atomRefs="a3"/&gt; 
		           &lt;peakStructure id="ps12" atomRefs="a4"/&gt; 
		        &lt;/peakStructure&gt;		        
		        &lt;peakStructure id="ps2" type="coupling" peakMultiplicity="doublet" 
		           value="2" units="unit:hertz"&gt;
		           &lt;peakStructure id="ps21" atomRefs="a4"/&gt; 
		           &lt;peakStructure id="ps22" atomRefs="a3"/&gt; 
		        &lt;/peakStructure&gt;		        
			&lt;/peak&gt;            
	    &lt;/peakList&gt;
	&lt;/spectrum&gt;
&lt;/cml&gt;
</h:pre>
            </h:div>
            <h:div class="example" href="peakStructure1.xml" xmlns:h="http://www.w3.org/1999/xhtml" />
            <h:div class="example" href="peakStructure2.xml" xmlns:h="http://www.w3.org/1999/xhtml" />
        </xsd:documentation>
    </xsd:annotation>
    <xsd:complexType>
        <xsd:sequence>
            <xsd:element ref="metadataList" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                    <xsd:documentation>
                        <h:div class="summary" xmlns:h="http://www.w3.org/1999/xhtml">Allows <h:i>inter alia</h:i> the provenance of the peakStructure assignment to be recorded.</h:div>
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
            <xsd:element ref="peakStructure" minOccurs="0" maxOccurs="unbounded">
                <xsd:annotation>
                    <xsd:documentation>
                        <h:div class="summary" xmlns:h="http://www.w3.org/1999/xhtml">Allows identification of couplings in symmetric systems. May also
                        be usable for other complicated systems.</h:div>
                    </xsd:documentation>
                </xsd:annotation>
            </xsd:element>
        </xsd:sequence>
        <xsd:attributeGroup ref="dictRef" />
        <xsd:attributeGroup ref="convention" />
        <xsd:attributeGroup ref="title" />
        <xsd:attributeGroup ref="id" />
        <xsd:attributeGroup ref="ref" />
        <xsd:attributeGroup ref="peakMultiplicity" />
        <xsd:attributeGroup ref="peakStructureType" />
        <xsd:attributeGroup ref="peakShape" />
        <xsd:attributeGroup ref="value" />
        <xsd:attributeGroup ref="units" />
        <xsd:attributeGroup ref="atomRefs">
            <xsd:annotation>
                <xsd:documentation>
                    <h:div class="summary" xmlns:h="http://www.w3.org/1999/xhtml">The atoms to which the peakStructure refers.</h:div>
                    <h:div class="description" xmlns:h="http://www.w3.org/1999/xhtml">Allows identification of the atoms to which the 
		            peak is coupled (not the atoms contributing to the primnary reference for
		            which <tt xmlns="">peak</tt> should be used). It may be
		            combined with bondRefs. Even single atoms should use atomRefs, not atomRef.
		            </h:div>
                </xsd:documentation>
            </xsd:annotation>
        </xsd:attributeGroup>
        <xsd:attributeGroup ref="bondRefs">
            <xsd:annotation>
                <xsd:documentation>
                    <h:div class="summary" xmlns:h="http://www.w3.org/1999/xhtml">Bonds contributing to this peakStructure</h:div>
                    <h:div class="description" xmlns:h="http://www.w3.org/1999/xhtml">Even a single bond should use bondRefs, not bondRef</h:div>
                </xsd:documentation>
            </xsd:annotation>
        </xsd:attributeGroup>
    </xsd:complexType>
</xsd:element>
Collapse Child Elements:
Name Type Min Occurs Max Occurs
metadataList nsA:metadataList 0 unbounded
peakStructure nsA:peakStructure 0 unbounded
Collapse Child Attributes:
Name Type Default Value Use
dictRef nsA:dictRef (Optional)
convention nsA:convention (Optional)
title nsA:title (Optional)
id nsA:id (Optional)
ref nsA:ref (Optional)
peakMultiplicity nsA:peakMultiplicity (Optional)
type nsA:type (Optional)
peakShape nsA:peakShape (Optional)
value nsA:value (Optional)
units nsA:units (Optional)
atomRefs nsA:atomRefs (Optional)
bondRefs nsA:bondRefs (Optional)