mwalzer / psi-pi

Automatically exported from code.google.com/p/psi-pi
0 stars 0 forks source link

Attributes vs elements #8

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Define some rules for this. 
One suggestion is to change all attributes except "identifier" and ".._ref"
to sub-elements

Original issue reported on code.google.com by dcre...@gmail.com on 28 Apr 2008 at 1:22

GoogleCodeExporter commented 9 years ago
To have a basis for discussion, the following list gives all occurrences of
attributes except "id(entifier)" or "*ref" and except quantitation section.
That means, we argue about 18 attributes in 7 complexTypes.

Please comment Pros and Cons of transforming these into elements!

complexType "PSI-PI.analysis.search.SearchModificationType":
<xsd:attribute name="terminus" 
type="psi-pi:PSI-PI.polypeptide.TerminalSpecificityType">
  <xsd:documentation> The terminus of the modification.
<xsd:attribute name="staticMod" type="xsd:boolean" use="required">
  <xsd:documentation> True, if the modification is static (i.e. occurs always). 

complexType "PSI-PI.analysis.search.PolypeptideResultItemType":
  <xsd:documentation> A single identification result from querying an input spectra,
along with the set of confidence values for that identification. 
</xsd:documentation>
<xsd:attribute name="chargeState" type="xsd:int">
  <xsd:documentation> The charge state of the identified peptide. </xsd:documentation>
<xsd:attribute name="experimentalMassToCharge" type="xsd:double">
  <xsd:documentation> The mass-to-charge value measured in the experiment.
</xsd:documentation>
<xsd:attribute name="calculatedMassToCharge" type="xsd:double">
  <xsd:documentation> The theoretical mass-to-charge value calculated for the
peptide. </xsd:documentation>

complexType "PSI-PI.analysis.process.RelationResultItemType" (should be
"ProteinDetectionResultItem")
  <xsd:documentation> A single result of the ProteinDetermination analysis (i.e. a
peptide). Specify the reference to the Polypeptide in the DataCollection and its
characteristics being a result of this ProteinDetermination (e.g. start/stop 
position
inside the protein). </xsd:documentation>
<xsd:attribute name="start" type="xsd:int">
  <xsd:documentation> Start position of the peptide inside the protein.
</xsd:documentation>
<xsd:attribute name="end" type="xsd:int">
  <xsd:documentation> End position of the peptide inside the protein.
</xsd:documentation>
<xsd:attribute name="pre" type="xsd:string">
  <xsd:documentation> Previous flanking sequence. </xsd:documentation>
<xsd:attribute name="post" type="xsd:string">
  <xsd:documentation> Post flanking sequence. </xsd:documentation>

complexType "PSI-PI.polypeptide.CustomModificationType":
  <xsd:documentation> A user-defined specification of a modification.
</xsd:documentation>
<xsd:attribute name="residue" type="xsd:int">
  <xsd:documentation> Specification of the residue (amino acid) , the modification
occurs. </xsd:documentation>
<xsd:attribute name="avgMassDelta" type="xsd:double">
  <xsd:documentation> Atomic mass considering the natural distribution of isotopes.
</xsd:documentation>
<xsd:attribute name="monoisotopicMassDelta" type="xsd:double">
  <xsd:documentation> Atomic mass when assuming only the most common isotope of
elements. </xsd:documentation>

complexType "PSI-PI.polypeptide.ModificationType":
  <xsd:documentation> A molecule modification specification. Will be later
substituted by another PSI standard. </xsd:documentation>
<xsd:attribute name="location" type="xsd:int">
  <xsd:documentation> Location of the modification within the Polypeptide (position
in peptide sequence, counted from left) (begin 0 or 1?).

complexType "PSI-PI.polypeptide.PolypeptideType":
  <xsd:documentation> One Polypeptide (a sequence with modifications). Specify
sequence length, mass and pI (attributes), and sequence, modifications and taxa
(elements). </xsd:documentation>
<xsd:attribute name="sequenceLength" type="xsd:int">
  <xsd:documentation> The length of the polypeptide (number of amino acids).
</xsd:documentation>
<xsd:attribute name="sequenceMass" type="xsd:double">
  <xsd:documentation> The sum of the unmodified polypetide sequence residues,
exclusive of the termini masses. </xsd:documentation>
<xsd:attribute name="calculatedPI" type="xsd:float">
  <xsd:documentation> The calculated isoelectric point of the polypeptide, with
relevant modifications included. Do not supply this value if the PI cannot be 

complexType "PSI-PI.polypeptide.SubstitutionModificationType":
  <xsd:documentation> A modification where one residue is substituted by another
(amino acid change). </xsd:documentation>
<xsd:attribute name="originalResidue" type="xsd:int" use="required">
  <xsd:documentation> The original residue before replacement. </xsd:documentation>
<xsd:attribute name="replacementResidue" type="xsd:int" use="required">
  <xsd:documentation> The residue that replaced the originalResidue. </xsd:documentation>

The following will probably be replaced by Ontology_ref:

complexType "PSI-PI.analysis.ValuePropertyType":
  <xsd:documentation> A property term and its value (attributes). </xsd:documentation>
<xsd:attribute name="value" type="xsd:string">
  <xsd:documentation> A value for a property (given as String). </xsd:documentation>
<xsd:attribute name="valuePropertyTerm_ref" type="xsd:string">
  <xsd:documentation> A reference to an Ontology term in the OntologyCollection.
</xsd:documentation>

Original comment by eisena...@googlemail.com on 29 Apr 2008 at 4:04

GoogleCodeExporter commented 9 years ago
transform attributes to elements:
PROs:
- A parser can decide whether to parse it or not (is that true?)

CONS:
- Current AnalysisXML makes rare use of real content located in element body - 
like
in <PeptideSeq>ACDEFG</PeptideSeq>. So transforming attributes into elements 
may lead
to further attributes in these elements (space explosion). In addition the 
schema
will grow unnecessarily by adding minOccur=1 and maxOccur=1 fields for 
"required"
attributes.

Original comment by eisena...@googlemail.com on 29 Apr 2008 at 4:12

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
This discussion is closely related to the one about moving attributes to CV:
http://code.google.com/p/psi-pi/issues/detail?id=15

Original comment by eisena...@googlemail.com on 2 May 2008 at 11:36

GoogleCodeExporter commented 9 years ago
In the following four possible layouts of a SpectrumIdentificationRedultSet are 
given
(use attached files to review in XMLSpy). To my knowledge in the "elements with 
body"
solution we cannot control the type ("double" is "xs:decimal" in xsd).

    <!-- attributes: -->
    <SpectrumIdentificationResultSet identifier="Peptides1">
        <SpectrumIdentificationResult identifier="ident_pep_1_1">
            <SpectrumIdentificationHypothesis identifier="SIH1" peptide_ref="1_1"
calculatedMassToCharge="670.86261" chargeState="2" 
experimentalMassToCharge="671.9">
                <HypothesisValueProperty value="62.72"
valuePropertyTerm_ref="DP:1:mascot_ions_score"/>
            </SpectrumIdentificationHypothesis>
            <SpectrumElement spectrumID="S1"
spectraDataInputRef_ref="file://F:/spectra_file_1.mzML"/>
        </SpectrumIdentificationResult>
    </SpectrumIdentificationResultSet>

    <!-- elements WITHOUT XML body text (as commonly done at the moment): -->
    <SpectrumIdentificationResultSet identifier="Peptides1">
        <SpectrumIdentificationResult identifier="ident_pep_1_1">
            <SpectrumIdentificationHypothesis identifier="SIH1" peptide_ref="1_1">
                <calculatedMassToCharge value="670.86261"/>
                <chargeState value="2"/>
                <experimentalMassToCharge value="671.9"/>
                <HypothesisValueProperty value="62.72"
valuePropertyTerm_ref="DP:1:mascot_ions_score"/>
            </SpectrumIdentificationHypothesis>
            <SpectrumElement spectrumID="S1"
spectraDataInputRef_ref="file://F:/spectra_file_1.mzML"/>
        </SpectrumIdentificationResult>
    </SpectrumIdentificationResultSet>

    <!-- elements WITH XML body text: -->
    <SpectrumIdentificationResultSet identifier="Peptides1">
        <SpectrumIdentificationResult identifier="ident_pep_1_1">
            <SpectrumIdentificationHypothesis identifier="SIH1" peptide_ref="1_1">
                <calculatedMassToChargeALT>670.86261</calculatedMassToChargeALT>
                <chargeStateALT>2</chargeStateALT>
                <experimentalMassToChargeALT>671.9</experimentalMassToChargeALT>
                <HypothesisValueProperty value="62.72"
valuePropertyTerm_ref="DP:1:mascot_ions_score"/>
            </SpectrumIdentificationHypothesis>
            <SpectrumElement spectrumID="S1"
spectraDataInputRef_ref="file://F:/spectra_file_1.mzML"/>
        </SpectrumIdentificationResult>
    </SpectrumIdentificationResultSet>

    <!-- CV terms (NOT line-in yet): -->
    <SpectrumIdentificationResultSet identifier="Peptides1">
        <SpectrumIdentificationResult identifier="ident_pep_1_1">
            <SpectrumIdentificationHypothesis identifier="SIH1" peptide_ref="1_1">
                <HypothesisValueProperty value="670.86261"
valuePropertyTerm_ref="internal_ref:calculatedMassToCharge"/> <!-- plus
OntologyCollection entry -->
                <HypothesisValueProperty value="2"
valuePropertyTerm_ref="internal_ref:chargeState"/> <!-- plus OntologyCollection 
entry -->
                <HypothesisValueProperty value="671.9"
valuePropertyTerm_ref="internal_ref:experimentalMassToCharge"/> <!-- plus
OntologyCollection entry -->
                <HypothesisValueProperty value="62.72"
valuePropertyTerm_ref="DP:1:mascot_ions_score"/>
            </SpectrumIdentificationHypothesis>
            <SpectrumElement spectrumID="S1"
spectraDataInputRef_ref="file://F:/spectra_file_1.mzML"/>
        </SpectrumIdentificationResult>
    </SpectrumIdentificationResultSet>

Original comment by eisena...@googlemail.com on 2 May 2008 at 7:12

Attachments:

GoogleCodeExporter commented 9 years ago
TeleCon on 8th of May, 2008: 
Leave them as attributes (not as elements or CV params).

Original comment by eisena...@googlemail.com on 8 May 2008 at 4:11

GoogleCodeExporter commented 9 years ago
changed to Fixed

Original comment by eisena...@googlemail.com on 8 May 2008 at 4:11