<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>
<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>
</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>
<!-- 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>
</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>
|