Specification documentation for the Functional Genomics Experiment (FuGE) model: Reference manual

Status: FuGE (version 1.0 candidate, final); Reference manual.
Authors:

Andrew R. Jones
School of Computer Science, University of Manchester
Email: ajones@cs.man.ac.uk

Michael Miller
Rosetta Inpharmatics, LLC
Email: Michael_Miller@Rosettabio.com

Paul Spellman
Lawrence Berkeley National Laboratory
Email: PTSpellman@lbl.gov

Angel Pizarro
Institute for Translational Medicine and Therapeutics, University of Pennsylvania
Email: angel@mail.med.upenn.edu

Copyright: These specifications are distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

This document is the reference manual for FuGE version 1. The contents have been generated automatically from the object model.

An entry in this document has the following structure:


Fully qualified class name (abstract) if class is abstract

Inheritance hierarchy:

Class name --> superclass --> superclass

Attributes:


Note: all attributes are converted to an attribute in the XML Schema unless marked *

NameDocumentationData typeRequired
Name of the attribute Attribute's documentation The UML data type of the attribute Whether the attribute is required (cardinality "1") or not (cardinality "0..1")

Associations:


Note: abstract associations will be rendered in italic font

NameAssociated classDocumentationMultiplicityComposite
Name of the associationClass at the navigable endThe association's documentationThe multiplicity from source end to navigable endWhether the association is "composite", "aggregate" or "none"

XML Schema Complex Type specification:

The definition of the corresponding ComplexType (minus documentation) in the XML Schema

XML Schema element specification:

The definition of the corresponding Element in the XML Schema

Table of contents


FuGE.Bio.ConceptualMolecule.SequenceAnnotationSet

Inheritance hierarchy:

SequenceAnnotationSet --> Identifiable --> Describable

Documentation:

This is used to annotate a set of sequences that share the same species, type and PolymerType.

Associations:

NameAssociated classDocumentationMultiplicityComposite
Species OntologyTerm The organism from which this sequence was obtained. If more than one species are provided, this indicates that the identical sequence is found in these species. 0..* to 0..* none
Types OntologyTerm The type of Sequence, e.g. gene, exon, UniGene cluster, fragment, BAC, EST, etc. 0..* to 0..* none
PolymerType OntologyTerm A choice of protein, RNA, or DNA. 0..* to 0..1 none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Bio.ConceptualMolecule.SequenceAnnotationSetType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.IdentifiableType">
   <xsd:sequence>
    <xsd:element name="_species" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_types" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_polymerType" minOccurs="0" maxOccurs="1"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="SequenceAnnotationSet" type="fuge:FuGE.Bio.ConceptualMolecule.SequenceAnnotationSetType" abstract="false" substitutionGroup="fuge:Identifiable"/>

FuGE.Bio.ConceptualMolecule.Sequence

Inheritance hierarchy:

Sequence --> ConceptualMolecule --> Identifiable --> Describable

Documentation:

A Sequence is a representation of a DNA, RNA, or protein sequence.

Attributes:

NameDocumentationData typeRequired
length The number of residues in the Sequence. int false
isApproximateLength If length not positively known will be true boolean false
isCircular Indicates if the Sequence is circular in nature. boolean false
sequence The actual components of the sequence, for instance, for DNA a string consisting of A,T,C and G. The attribute is optional and if the actual sequence is not specified here, it can be found through the DatabaseEntry. string false
start The start position of the referenced Sequence with respect to a larger Sequence, such as a complete chromosome, BAC etc. int false
end The end position of the referenced Sequence with respect to a larger Sequence, such as a complete chromosome, BAC etc. int false

Associations:

NameAssociated classDocumentationMultiplicityComposite
SequenceAnnotation SequenceAnnotationSet Shared annotations for a set of sequences. 0..* to 0..1 none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Bio.ConceptualMolecule.SequenceType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Bio.ConceptualMolecule.ConceptualMoleculeType">
   <xsd:attribute name="length" type="xsd:int"/>
   <xsd:attribute name="isApproximateLength" type="xsd:boolean"/>
   <xsd:attribute name="isCircular" type="xsd:boolean"/>
   <xsd:attribute name="sequence" type="xsd:string"/>
   <xsd:attribute name="start" type="xsd:int"/>
   <xsd:attribute name="end" type="xsd:int"/>
   <xsd:attribute name="SequenceAnnotationSet_ref" type="xsd:string"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="Sequence" type="fuge:FuGE.Bio.ConceptualMolecule.SequenceType" abstract="false" substitutionGroup="fuge:ConceptualMolecule"/>

FuGE.Bio.ConceptualMolecule.ConceptualMolecule (abstract)

Inheritance hierarchy:

ConceptualMolecule --> Identifiable --> Describable

Documentation:

An abstract class for describing database entries of biological molecules such as DNA and protein sequences, metabolites or lipids etc.

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Bio.ConceptualMolecule.ConceptualMoleculeType" abstract = "true">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.IdentifiableType">
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="ConceptualMolecule" type="fuge:FuGE.Bio.ConceptualMolecule.ConceptualMoleculeType" abstract="true" substitutionGroup="fuge:Identifiable"/>

FuGE.Bio.Investigation.Investigation

Inheritance hierarchy:

Investigation --> Identifiable --> Describable

Documentation:

An Investigation is a self-contained unit of study that contains one or more types of 'omics technology.

Attributes:

NameDocumentationData typeRequired
start The start point of the investigation. dateTime false
end The end point of the investigation. dateTime false

Associations:

NameAssociated classDocumentationMultiplicityComposite
InvestigationComponents InvestigationComponent The association to the techniques that comprise the Investigation. 1..1 to 0..* composite
Providers ContactRole The providers of the Investigation, its data and annotation. 0..1 to 0..* composite
SummaryResults HigherLevelAnalysis HigherLevelAnalyses performed over data. 0..* to 0..* none
SourceMaterials Material Investigationally important materials. These are typically a species or set of strains. This might also be a bucket of seawater or a pound of dirt. It is expected that these Materials are referenced by a ProtocolApplication. 0..* to 0..* none
Hypothesis Description The hypothesis being tested in the investigation. 0..1 to 0..1 composite
InvestigationTypes OntologyTerm The biological design type of the Investigation, such as toxicity, drug-response, gene knockout etc. 0..* to 0..* none
Conclusion Description The conclusions of the Investigation. 0..1 to 0..1 composite
InvestigationSummary OntologyTerm OntologyTerms can be referenced that describe the hypothesis, conclusion or other summary information about the Investigation. 0..* to 0..* none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Bio.Investigation.InvestigationType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.IdentifiableType">
   <xsd:sequence>
    <xsd:element ref="fuge:InvestigationComponent" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element ref="fuge:ContactRole" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element name="_summaryResults" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="HigherLevelAnalysis_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_sourceMaterials" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="Material_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_hypothesis" minOccurs="0" maxOccurs="1">
     <xsd:complexType>
      <xsd:sequence>
       <xsd:element ref="fuge:Description" minOccurs="1" maxOccurs="1"/>
	  </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_investigationTypes" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_conclusion" minOccurs="0" maxOccurs="1">
     <xsd:complexType>
      <xsd:sequence>
       <xsd:element ref="fuge:Description" minOccurs="1" maxOccurs="1"/>
	  </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_investigationSummary" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
   <xsd:attribute name="start" type="xsd:dateTime"/>
   <xsd:attribute name="end" type="xsd:dateTime"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="Investigation" type="fuge:FuGE.Bio.Investigation.InvestigationType" abstract="false" substitutionGroup="fuge:Identifiable"/>

FuGE.Bio.Investigation.InvestigationComponent

Inheritance hierarchy:

InvestigationComponent --> Identifiable --> Describable

Documentation:

An overview of the design using a single omics technique.

Associations:

NameAssociated classDocumentationMultiplicityComposite
Factors Factor The description of the factors (TimeCourse, Dosage, etc.) that segment the Data. The aggregation of Factors is limited to a single Investigation. 0..* to 0..* aggregate
ReplicateDescription Description Description of the replicate strategy of the InvestigationComponent. 0..1 to 0..1 composite
QualityControlDescription Description Description of the quality control aspects of the InvestigationComponent. 0..1 to 0..1 composite
NormalizationDescription Description Description of the normalization strategy of the InvestigationComponent. 0..1 to 0..1 composite
AllProtocolApplications ProtocolApplication Complete set of all ProtocolApplications for a given InvestigationComponent. This allows access to the complete set of Materials and Data for the component. 0..* to 0..* none
ComponentDesignTypes OntologyTerm The design of the investigation with respect to a single technique (InvestigationComponent) e.g. dye swap. 0..* to 0..* none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Bio.Investigation.InvestigationComponentType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.IdentifiableType">
   <xsd:sequence>
    <xsd:element name="_factors" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="Factor_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_replicateDescription" minOccurs="0" maxOccurs="1">
     <xsd:complexType>
      <xsd:sequence>
       <xsd:element ref="fuge:Description" minOccurs="1" maxOccurs="1"/>
	  </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_qualityControlDescription" minOccurs="0" maxOccurs="1">
     <xsd:complexType>
      <xsd:sequence>
       <xsd:element ref="fuge:Description" minOccurs="1" maxOccurs="1"/>
	  </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_normalizationDescription" minOccurs="0" maxOccurs="1">
     <xsd:complexType>
      <xsd:sequence>
       <xsd:element ref="fuge:Description" minOccurs="1" maxOccurs="1"/>
	  </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_allProtocolApplications" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="ProtocolApplication_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_componentDesignTypes" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="InvestigationComponent" type="fuge:FuGE.Bio.Investigation.InvestigationComponentType" abstract="false" substitutionGroup="fuge:Identifiable"/>

FuGE.Bio.Investigation.Factor

Inheritance hierarchy:

Factor --> Identifiable --> Describable

Documentation:

Factors are the independent variables of an experiment (e.g. time, glucose concentration, ...). Note that Factors can be shared by multiple InvestigationComponents.

Associations:

NameAssociated classDocumentationMultiplicityComposite
FactorValues FactorValue The FactorValues for this Factor e.g. the time points in a time course. 1..1 to 0..* composite
FactorType OntologyTerm The category of a Factor could be biological (time, [glucose]) or methodological (differing cDNA preparation protocols). 0..* to 0..1 none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Bio.Investigation.FactorType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.IdentifiableType">
   <xsd:sequence>
    <xsd:element ref="fuge:FactorValue" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element name="_factorType" minOccurs="0" maxOccurs="1"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="Factor" type="fuge:FuGE.Bio.Investigation.FactorType" abstract="false" substitutionGroup="fuge:Identifiable"/>

FuGE.Bio.Investigation.FactorValue

Inheritance hierarchy:

FactorValue --> Describable

Documentation:

The value for a Factor.

Associations:

NameAssociated classDocumentationMultiplicityComposite
DataPartitions DataPartition Represents a segmentation of the data by indexing existing DimensionElements of Data that relate to the FactorValue. 0..* to 0..* none
Value Measurement Allows a value to be specified for a FactorValue using the Measurement class, which includes support for storing values as ontology terms. 0..1 to 1..1 composite

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Bio.Investigation.FactorValueType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.DescribableType">
   <xsd:sequence>
    <xsd:element name="_dataPartitions" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="DataPartition_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
    <xsd:element ref="fuge:Measurement" minOccurs="1" maxOccurs="1"/>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="FactorValue" type="fuge:FuGE.Bio.Investigation.FactorValueType" abstract="false" substitutionGroup="fuge:Describable"/>

FuGE.Bio.Investigation.HigherLevelAnalysis (abstract)

Inheritance hierarchy:

HigherLevelAnalysis --> Identifiable --> Describable

Documentation:

A container for domain-specific analyses performed on data. Subclasses must be created for different domains.

Associations:

NameAssociated classDocumentationMultiplicityComposite
SupportingData (abstract) Data Association to the Data on which the HigherLevelAnalysis has been performed. 0..* to 0..* none
Hypothesis Description The hypothesis being tested by the HigherLevelAnalysis 0..1 to 0..1 composite
Conclusion Description The conclusion reached from the HigherLevelAnalysis. 0..1 to 0..1 composite

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Bio.Investigation.HigherLevelAnalysisType" abstract = "true">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.IdentifiableType">
   <xsd:sequence>
    <xsd:element name="_hypothesis" minOccurs="0" maxOccurs="1">
     <xsd:complexType>
      <xsd:sequence>
       <xsd:element ref="fuge:Description" minOccurs="1" maxOccurs="1"/>
	  </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_conclusion" minOccurs="0" maxOccurs="1">
     <xsd:complexType>
      <xsd:sequence>
       <xsd:element ref="fuge:Description" minOccurs="1" maxOccurs="1"/>
	  </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="HigherLevelAnalysis" type="fuge:FuGE.Bio.Investigation.HigherLevelAnalysisType" abstract="true" substitutionGroup="fuge:Identifiable"/>

FuGE.Bio.Data.Data (abstract)

Inheritance hierarchy:

Data --> Identifiable --> Describable

Documentation:

Data can be an input to or an output from a ProtocolApplication. Data may be produced from a Material (data acquisition) or from another Data object (data transformation). Examples of Data are gene expression measurements, or phenotypes associated with genetic manipulations.

Associations:

NameAssociated classDocumentationMultiplicityComposite
Dimensions (abstract) Dimension The dimensions contained within this Data object. 0..* to 0..* none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Bio.Data.DataType" abstract = "true">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.IdentifiableType">
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="Data" type="fuge:FuGE.Bio.Data.DataType" abstract="true" substitutionGroup="fuge:Identifiable"/>

FuGE.Bio.Data.Dimension (abstract)

Inheritance hierarchy:

Dimension --> Identifiable --> Describable

Documentation:

A single dimension of a coordinate system. The DimensionElement class represents the discrete domain values represented in this dimension. A dimension with infinite domain values is not modeled here, for practical reasons.

Associations:

NameAssociated classDocumentationMultiplicityComposite
DimensionElements (abstract) DimensionElement The DimensionElements belonging to this Dimension. 1..1 to 0..* composite
DimensionType OntologyTerm The type of Dimension e.g. "array feature dimension" 0..* to 0..1 none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Bio.Data.DimensionType" abstract = "true">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.IdentifiableType">
   <xsd:sequence>
    <xsd:element name="_dimensionType" minOccurs="0" maxOccurs="1"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="Dimension" type="fuge:FuGE.Bio.Data.DimensionType" abstract="true" substitutionGroup="fuge:Identifiable"/>

FuGE.Bio.Data.DimensionElement (abstract)

Inheritance hierarchy:

DimensionElement --> Identifiable --> Describable

Documentation:

A single point within a parent dimension. This class should be extended.

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Bio.Data.DimensionElementType" abstract = "true">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.IdentifiableType">
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="DimensionElement" type="fuge:FuGE.Bio.Data.DimensionElementType" abstract="true" substitutionGroup="fuge:Identifiable"/>

FuGE.Bio.Data.ExternalData

Inheritance hierarchy:

ExternalData --> Data --> Identifiable --> Describable

Documentation:

Data external to the XML instance document. The location of the data file is given in the location attribute.

Attributes:

NameDocumentationData typeRequired
location The location of the data file. anyURI true

Associations:

NameAssociated classDocumentationMultiplicityComposite
ExternalFormatDocumentation URI A URI to access documentation and tools to interpret the external format of the ExternalData instance. For example, XML Schema or static libraries (APIs) to access binary formats. 0..1 to 0..1 composite
FileFormat OntologyTerm The format of the ExternalData file, for example "tiff" for image files. 0..* to 0..1 none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Bio.Data.ExternalDataType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Bio.Data.DataType">
   <xsd:sequence>
    <xsd:element name="_externalFormatDocumentation" minOccurs="0" maxOccurs="1">
     <xsd:complexType>
      <xsd:sequence>
       <xsd:element ref="fuge:URI" minOccurs="1" maxOccurs="1"/>
	  </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_fileFormat" minOccurs="0" maxOccurs="1"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
   <xsd:attribute name="location" use="required" type="xsd:anyURI"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="ExternalData" type="fuge:FuGE.Bio.Data.ExternalDataType" abstract="false" substitutionGroup="fuge:Data"/>

FuGE.Bio.Data.InternalData (abstract)

Inheritance hierarchy:

InternalData --> Data --> Identifiable --> Describable

Documentation:

Data that is internal to an instance XML document. InternalData can be extended with an element that defines a particular encoding or data type for the storage array or the subclass GenericInternalData should be instantiated. The array will typically use pointer arithmetic to access values based on the rank (e.g. number of) Dimensions and their respective sizes (e.g. the number of contained DimensionElements).

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Bio.Data.InternalDataType" abstract = "true">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Bio.Data.DataType">
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="InternalData" type="fuge:FuGE.Bio.Data.InternalDataType" abstract="true" substitutionGroup="fuge:Data"/>

FuGE.Bio.Data.DataPartition (abstract)

Inheritance hierarchy:

DataPartition --> Identifiable --> Describable

Documentation:

An abstract class to represents a segmentation of the data by indexing existing DimensionElements of a Data. The class can be extended to reference specific subclasses of DimensionElement.

Associations:

NameAssociated classDocumentationMultiplicityComposite
DimensionElementSet (abstract) DimensionElement The DimensionElements segmented by this DataPartition. This association can be extended if DataPartition has been subclassed to associate with a specific subclass of Data. 0..* to 0..* none
PartitionedData (abstract) Data This is a reference to the Data on which this DataPartition is based. This association can be extended if DataPartition has been subclassed to associate with a specific subclass of Data. 0..* to 1..1 none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Bio.Data.DataPartitionType" abstract = "true">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.IdentifiableType">
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="DataPartition" type="fuge:FuGE.Bio.Data.DataPartitionType" abstract="true" substitutionGroup="fuge:Identifiable"/>

FuGE.Bio.Data.PartitionPair (abstract)

Inheritance hierarchy:

PartitionPair --> Describable

Documentation:

Relates a DataPartition (subset of Data) from one data set to another data set, for example for "supporting evidence".

Associations:

NameAssociated classDocumentationMultiplicityComposite
PartitionPairAlgorithm Description The algorithm that relates the input partitions to the output partitions. 0..1 to 0..1 composite
InputPartitions (abstract) DataPartition The DataPartitions corresponding to the InputData for this PartitionPair. There should be no more than one DataPartition per set of InputData. 0..* to 0..* none
OutputPartitions (abstract) DataPartition The DataPartitions corresponding to the OutputData for this PartitionPair. There should be no more than one DataPartition per set of OutputData. 0..* to 0..* none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Bio.Data.PartitionPairType" abstract = "true">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.DescribableType">
   <xsd:sequence>
    <xsd:element name="_partitionPairAlgorithm" minOccurs="0" maxOccurs="1">
     <xsd:complexType>
      <xsd:sequence>
       <xsd:element ref="fuge:Description" minOccurs="1" maxOccurs="1"/>
	  </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="PartitionPair" type="fuge:FuGE.Bio.Data.PartitionPairType" abstract="true" substitutionGroup="fuge:Describable"/>

FuGE.Bio.Data.GenericInternalData

Inheritance hierarchy:

GenericInternalData --> InternalData --> Data --> Identifiable --> Describable

Documentation:

Data that is internal to an instance XML document stored in an array with a specified encoding. The array will typically use pointer arithmetic to access values based on the rank (e.g. number of) Dimensions and their respective sizes (e.g. the number of contained DimensionElements).

Attributes:

NameDocumentationData typeRequired
storage * The storage matrix for data as specified by instantiation of extensions of Dimension and DimensionElement. string[] true

*Attribute is mapped to an element in the XML Schema

Associations:

NameAssociated classDocumentationMultiplicityComposite
MatrixEncoding OntologyTerm The format or data type in which the data matrix is represented in the storage object of GenericInternalData. 0..* to 0..1 none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Bio.Data.GenericInternalDataType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Bio.Data.InternalDataType">
   <xsd:sequence>
    <xsd:element name="_matrixEncoding" minOccurs="0" maxOccurs="1"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
	<xsd:element name="storage">
		<xsd:simpleType>
			<xsd:list itemType="xsd:string"/>
		</xsd:simpleType>
	</xsd:element>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="GenericInternalData" type="fuge:FuGE.Bio.Data.GenericInternalDataType" abstract="false" substitutionGroup="fuge:InternalData"/>

FuGE.Bio.Data.GenericDataPartition

Inheritance hierarchy:

GenericDataPartition --> DataPartition --> Identifiable --> Describable

Documentation:

Represents a segmentation of the data by indexing existing DimensionElements of a Data

Associations:

NameAssociated classDocumentationMultiplicityComposite
PartitionedData Data This is a reference to the Data on which this DataPartition is based. 0..* to 1..1 none
DimensionElementSet DimensionElement The DimensionElements segmented by this DataPartition. 0..* to 0..* none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Bio.Data.GenericDataPartitionType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Bio.Data.DataPartitionType">
   <xsd:sequence>
    <xsd:element name="_dimensionElementSet" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="DimensionElement_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
   <xsd:attribute name="Data_ref" use="required" type="xsd:string"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="GenericDataPartition" type="fuge:FuGE.Bio.Data.GenericDataPartitionType" abstract="false" substitutionGroup="fuge:DataPartition"/>

FuGE.Bio.Material.Material (abstract)

Inheritance hierarchy:

Material --> Identifiable --> Describable

Documentation:

Material represents any kind of substance used in an experimental workflow, such as whole organisms, cells, DNA, solutions, compounds and experimental substances (gels, arrays etc.). The Material class can be extended by adding subclasses to model domain specific properties, or the relationships to OntologyIndividual can be used to describe the characteristics and type of Material. Materials can be related to other materials through a directed acyclic graph (represented by ProtocolApplication(s)). Sub-component materials can be represented by the self-association on Material (e.g. Wells within a array). These associations are abstract and should be extended to represent these semantics for extensions of ProtocolApplication and Material.

Associations:

NameAssociated classDocumentationMultiplicityComposite
Components (abstract) Material Association from a Material to other Materials that are sub-components (such as wells within an array plate). If a subcomponent undergoes a ProtocolApplication, then the containing Material must also be an input to the ProtocolApplication and be output as a new Material or version of the Material. 0..* to 0..* none
Contacts ContactRole Contact details for the Material. The association to ContactRole could specify, for example, the creator or provider of the Material. 0..1 to 0..* composite
MaterialType OntologyTerm The type of material used, i.e. RNA, DNA, lipid, phosphoprotein, organism etc. 0..* to 0..1 none
Characteristics OntologyTerm The characteristics of a Material. 0..* to 0..* none
QualityControlStatistics OntologyTerm Measures of the quality of the Material. 0..* to 0..* none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Bio.Material.MaterialType" abstract = "true">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.IdentifiableType">
   <xsd:sequence>
    <xsd:element ref="fuge:ContactRole" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element name="_materialType" minOccurs="0" maxOccurs="1"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_characteristics" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_qualityControlStatistics" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="Material" type="fuge:FuGE.Bio.Material.MaterialType" abstract="true" substitutionGroup="fuge:Identifiable"/>

FuGE.Bio.Material.MaterialMeasurement (abstract)

Inheritance hierarchy:

MaterialMeasurement --> Describable

Documentation:

MaterialMeasurement represents the quantity of a source Material used in a ProtocolApplication. MaterialMeasurement is abstract and should be extended if a subclass of ProtocolApplication has to be associated with a measured source of a subclass of Material.

Associations:

NameAssociated classDocumentationMultiplicityComposite
MeasuredMaterial (abstract) Material Material that is being measured as the source for a ProtocolApplication. 0..* to 1..1 none
Measurement Measurement The value of the measured source of material. 1..1 to 0..1 composite

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Bio.Material.MaterialMeasurementType" abstract = "true">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.DescribableType">
   <xsd:sequence>
    <xsd:element ref="fuge:Measurement" minOccurs="0" maxOccurs="1"/>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="MaterialMeasurement" type="fuge:FuGE.Bio.Material.MaterialMeasurementType" abstract="true" substitutionGroup="fuge:Describable"/>

FuGE.Bio.Material.GenericMaterial

Inheritance hierarchy:

GenericMaterial --> Material --> Identifiable --> Describable

Documentation:

A subclass of the abstract Material class, which should be used in conjunction with controlled vocabulary terms to describe Materials of any types used in an investigation.

Associations:

NameAssociated classDocumentationMultiplicityComposite
Components GenericMaterial Association from a GenericMaterial to other GenericMaterials that are sub-components (such as wells within an array plate). If a subcomponent undergoes a ProtocolApplication, then the containing GenericMaterial must also be an input to the ProtocolApplication and be output as a new GenericMaterial or version of the GenericMaterial. 0..* to 0..* none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Bio.Material.GenericMaterialType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Bio.Material.MaterialType">
   <xsd:sequence>
    <xsd:element name="_components" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="GenericMaterial_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="GenericMaterial" type="fuge:FuGE.Bio.Material.GenericMaterialType" abstract="false" substitutionGroup="fuge:Material"/>

FuGE.Bio.Material.GenericMaterialMeasurement

Inheritance hierarchy:

GenericMaterialMeasurement --> MaterialMeasurement --> Describable

Documentation:

A subclass of MaterialMeasurement to be used without being extended in conjunction with GenericProtocolApplication and GenericMaterial to model measured sources of materials.

Associations:

NameAssociated classDocumentationMultiplicityComposite
MeasuredMaterial Material The instance of GenericMaterial or a subclass of Material that is input to the GenericProtocolApplication. 0..* to 1..1 none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Bio.Material.GenericMaterialMeasurementType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Bio.Material.MaterialMeasurementType">
   <xsd:attribute name="Material_ref" use="required" type="xsd:string"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="GenericMaterialMeasurement" type="fuge:FuGE.Bio.Material.GenericMaterialMeasurementType" abstract="false" substitutionGroup="fuge:MaterialMeasurement"/>

FuGE.Common.Audit.Person

Inheritance hierarchy:

Person --> Contact --> Identifiable --> Describable

Documentation:

A person for which the attributes are self describing.

Attributes:

NameDocumentationData typeRequired
lastName The Person's last/family name. string false
firstName The Person's first name. string false
midInitials The Person's middle initial. string false

Associations:

NameAssociated classDocumentationMultiplicityComposite
Affiliations Organization The organization a person belongs to. 0..* to 0..* none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Audit.PersonType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.Audit.ContactType">
   <xsd:sequence>
    <xsd:element name="_affiliations" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="Organization_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
   <xsd:attribute name="lastName" type="xsd:string"/>
   <xsd:attribute name="firstName" type="xsd:string"/>
   <xsd:attribute name="midInitials" type="xsd:string"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="Person" type="fuge:FuGE.Common.Audit.PersonType" abstract="false" substitutionGroup="fuge:Contact"/>

FuGE.Common.Audit.Security

Inheritance hierarchy:

Security --> Identifiable --> Describable

Documentation:

Permission information for an object as to ownership, write and read permissions.

Associations:

NameAssociated classDocumentationMultiplicityComposite
Owners Contact The owner(s) of the security rights on the object. 0..* to 0..* none
SecurityRights SecurityAccess Specifies which security groups have permission to view the associated object. 1..1 to 0..* composite

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Audit.SecurityType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.IdentifiableType">
   <xsd:sequence>
    <xsd:element name="_owners" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="Contact_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
    <xsd:element ref="fuge:SecurityAccess" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="Security" type="fuge:FuGE.Common.Audit.SecurityType" abstract="false" substitutionGroup="fuge:Identifiable"/>

FuGE.Common.Audit.Audit

Inheritance hierarchy:

Audit --> Describable

Documentation:

Tracks information on the Contact that creates or modifies an object.

Attributes:

NameDocumentationData typeRequired
date The date of a change. dateTime true
action The type of Audit performed, using a value from the AuditAction enumeration. FuGE.Common.Audit.AuditAction true

Associations:

NameAssociated classDocumentationMultiplicityComposite
Performer Contact The contact for creating or changing the instance referred to by the Audit. 0..* to 0..1 none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Audit.AuditType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.DescribableType">
   <xsd:attribute name="date" use="required" type="xsd:dateTime"/>
   <xsd:attribute name="action" use="required">
    <xsd:simpleType>
     <xsd:restriction base="xsd:NMTOKEN">
      <xsd:enumeration value="creation"/>
      <xsd:enumeration value="modification"/>
      <xsd:enumeration value="deletion"/>
     </xsd:restriction>
    </xsd:simpleType>
   </xsd:attribute>
   <xsd:attribute name="Contact_ref" type="xsd:string"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="Audit" type="fuge:FuGE.Common.Audit.AuditType" abstract="false" substitutionGroup="fuge:Describable"/>

FuGE.Common.Audit.Organization

Inheritance hierarchy:

Organization --> Contact --> Identifiable --> Describable

Documentation:

Organizations are entities like companies, universities, government agencies for which the attributes are self describing.

Associations:

NameAssociated classDocumentationMultiplicityComposite
Parent Organization The containing organization (the university or business which a lab belongs to, etc.) 0..* to 0..1 none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Audit.OrganizationType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.Audit.ContactType">
   <xsd:sequence>
    <xsd:element name="_parent" minOccurs="0" maxOccurs="1"> 
     <xsd:complexType>
      <xsd:attribute name="Organization_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="Organization" type="fuge:FuGE.Common.Audit.OrganizationType" abstract="false" substitutionGroup="fuge:Contact"/>

FuGE.Common.Audit.SecurityGroup

Inheritance hierarchy:

SecurityGroup --> Identifiable --> Describable

Documentation:

Groups Contacts together based on their security privileges.

Associations:

NameAssociated classDocumentationMultiplicityComposite
Members Contact The members of the SecurityGroup. 0..* to 1..* none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Audit.SecurityGroupType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.IdentifiableType">
   <xsd:sequence>
    <xsd:element name="_members" minOccurs="1" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="Contact_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="SecurityGroup" type="fuge:FuGE.Common.Audit.SecurityGroupType" abstract="false" substitutionGroup="fuge:Identifiable"/>

FuGE.Common.Audit.Contact (abstract)

Inheritance hierarchy:

Contact --> Identifiable --> Describable

Documentation:

A contact is either a person or an organization.

Attributes:

NameDocumentationData typeRequired
address The address of the Contact. string false
phone The telephone number of the Contact including the suitable area codes. string false
email The email address of the Contact. string false
fax The fax number of the Contact. string false
tollFreePhone A toll free phone number for the Contact, including suitable area codes. string false

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Audit.ContactType" abstract = "true">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.IdentifiableType">
   <xsd:attribute name="address" type="xsd:string"/>
   <xsd:attribute name="phone" type="xsd:string"/>
   <xsd:attribute name="email" type="xsd:string"/>
   <xsd:attribute name="fax" type="xsd:string"/>
   <xsd:attribute name="tollFreePhone" type="xsd:string"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="Contact" type="fuge:FuGE.Common.Audit.ContactType" abstract="true" substitutionGroup="fuge:Identifiable"/>

FuGE.Common.Audit.ContactRole

Inheritance hierarchy:

ContactRole --> Describable

Documentation:

The role that a Contact plays in an organization or with respect to the associating class. A Contact may have several Roles within scope, and as such, associations to ContactRole allow the use of a Contact in a certain manner. Examples might include a provider, or a data analyst.

Associations:

NameAssociated classDocumentationMultiplicityComposite
Contact Contact When a ContactRole is used, it specifies which Contact the role is associated with. 0..* to 1..1 none
Role OntologyTerm The roles (lab equipment sales, contractor, etc.) the Contact fills. 0..* to 1..1 none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Audit.ContactRoleType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.DescribableType">
   <xsd:sequence>
    <xsd:element name="_role" minOccurs="1" maxOccurs="1"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
   <xsd:attribute name="Contact_ref" use="required" type="xsd:string"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="ContactRole" type="fuge:FuGE.Common.Audit.ContactRoleType" abstract="false" substitutionGroup="fuge:Describable"/>

FuGE.Common.Audit.SecurityAccess

Inheritance hierarchy:

SecurityAccess --> Describable

Documentation:

A specification of the access right (e.g. read or write) that a specified group (SecurityGroup) has on a particular object.

Associations:

NameAssociated classDocumentationMultiplicityComposite
AccessGroup SecurityGroup The group of contacts that have the specified access right on an object. 0..* to 1..1 none
AccessRight OntologyTerm The type of AccessRight allowed on this object e.g. Read, Write etc. 0..* to 0..1 none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Audit.SecurityAccessType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.DescribableType">
   <xsd:sequence>
    <xsd:element name="_accessRight" minOccurs="0" maxOccurs="1"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
   <xsd:attribute name="SecurityGroup_ref" use="required" type="xsd:string"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="SecurityAccess" type="fuge:FuGE.Common.Audit.SecurityAccessType" abstract="false" substitutionGroup="fuge:Describable"/>

FuGE.Common.References.BibliographicReference

Inheritance hierarchy:

BibliographicReference --> Identifiable --> Describable

Documentation:

Represents bibliographic references, including the most common attributes. Note that because a BibliographicReference is Identifiable, a DatabaseEntry can also be specified.

Attributes:

NameDocumentationData typeRequired
authors The names of the authors of the reference. string false
publication The name of the journal, book etc. string false
publisher The publisher of the publication. string false
editor The editor(s) of the reference. string false
year The year of publication. int false
volume The volume name or number. string false
issue The issue name or number. string false
pages The page numbers. string false
title The title of the BibliographicReference. string false

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.References.BibliographicReferenceType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.IdentifiableType">
   <xsd:attribute name="authors" type="xsd:string"/>
   <xsd:attribute name="publication" type="xsd:string"/>
   <xsd:attribute name="publisher" type="xsd:string"/>
   <xsd:attribute name="editor" type="xsd:string"/>
   <xsd:attribute name="year" type="xsd:int"/>
   <xsd:attribute name="volume" type="xsd:string"/>
   <xsd:attribute name="issue" type="xsd:string"/>
   <xsd:attribute name="pages" type="xsd:string"/>
   <xsd:attribute name="title" type="xsd:string"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="BibliographicReference" type="fuge:FuGE.Common.References.BibliographicReferenceType" abstract="false" substitutionGroup="fuge:Identifiable"/>

FuGE.Common.References.Database

Inheritance hierarchy:

Database --> Identifiable --> Describable

Documentation:

An address to a repository.

Attributes:

NameDocumentationData typeRequired
version The version of the Database. string false
URI The location of the Database. anyURI false

Associations:

NameAssociated classDocumentationMultiplicityComposite
DatabaseContact ContactRole Contacts associated with this database, such as hosting institution, database curators, manager etc. 0..1 to 0..* composite

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.References.DatabaseType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.IdentifiableType">
   <xsd:sequence>
    <xsd:element ref="fuge:ContactRole" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
   <xsd:attribute name="version" type="xsd:string"/>
   <xsd:attribute name="URI" type="xsd:anyURI"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="Database" type="fuge:FuGE.Common.References.DatabaseType" abstract="false" substitutionGroup="fuge:Identifiable"/>

FuGE.Common.References.DatabaseReference

Inheritance hierarchy:

DatabaseReference --> Describable

Documentation:

A reference to a record in a database.

Attributes:

NameDocumentationData typeRequired
accession The identifier used to look up the record. string true
accessionVersion The appropriate version of the accession (if applicable). string false

Associations:

NameAssociated classDocumentationMultiplicityComposite
Database Database Reference to the database where the DatabaseEntry instance can be found. 0..* to 1..1 none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.References.DatabaseReferenceType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.DescribableType">
   <xsd:attribute name="accession" use="required" type="xsd:string"/>
   <xsd:attribute name="accessionVersion" type="xsd:string"/>
   <xsd:attribute name="Database_ref" use="required" type="xsd:string"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="DatabaseReference" type="fuge:FuGE.Common.References.DatabaseReferenceType" abstract="false" substitutionGroup="fuge:Describable"/>

FuGE.Common.Description.Description

Inheritance hierarchy:

Description --> Describable

Documentation:

A free text description of an object.

Attributes:

NameDocumentationData typeRequired
text The description. string false

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Description.DescriptionType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.DescribableType">
   <xsd:attribute name="text" type="xsd:string"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="Description" type="fuge:FuGE.Common.Description.DescriptionType" abstract="false" substitutionGroup="fuge:Describable"/>

FuGE.Common.Description.URI

Inheritance hierarchy:

URI --> Describable

Documentation:

A URI is short for Uniform Resource Identifier. A URI is a compact sequence of characters that identifies an abstract or physical resource.

Attributes:

NameDocumentationData typeRequired
location The Uniform Resource Indicator for this object. anyURI true

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Description.URIType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.DescribableType">
   <xsd:attribute name="location" use="required" type="xsd:anyURI"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="URI" type="fuge:FuGE.Common.Description.URIType" abstract="false" substitutionGroup="fuge:Describable"/>

FuGE.Common.Description.NameValueType

Inheritance hierarchy:

NameValueType --> Describable

Documentation:

A tuple designed to store data, keyed by a name and type.

Attributes:

NameDocumentationData typeRequired
name The name of the key. string false
value The value of the name. string false
type The type of the key. string false

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Description.NameValueTypeType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.DescribableType">
   <xsd:attribute name="name" type="xsd:string"/>
   <xsd:attribute name="value" type="xsd:string"/>
   <xsd:attribute name="type" type="xsd:string"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="NameValueType" type="fuge:FuGE.Common.Description.NameValueTypeType" abstract="false" substitutionGroup="fuge:Describable"/>

FuGE.Common.Protocol.Protocol (abstract)

Inheritance hierarchy:

Protocol --> Parameterizable --> Identifiable --> Describable

Documentation:

A Protocol is a parameterizable description of a method. ProtocolApplication is used to specify the ParameterValues of its Protocol's Parameters. Protocol should be extended in data formats. For cases where no extension is developed, the subclass of Protocol, GenericProtocol, should be used to capture experimental protocols.

Associations:

NameAssociated classDocumentationMultiplicityComposite
Actions (abstract) Action Each Protocol may be composed of a number of steps, each of which is represented by an Action. 1..1 to 0..* composite
Equipment (abstract) Equipment Hardware used by this protocol. 0..* to 0..* none
Software (abstract) Software Software used by this Protocol. 0..* to 0..* none
InputTypes OntologyTerm The types of inputs this Protocol can take e.g. organisms, solutions, data formats etc. 0..* to 0..* none
OutputTypes OntologyTerm The types of outputs produced by this Protocol e.g. organisms, solutions, data formats etc. 0..* to 0..* none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Protocol.ProtocolType" abstract = "true">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.Protocol.ParameterizableType">
   <xsd:sequence>
    <xsd:element name="_inputTypes" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_outputTypes" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="Protocol" type="fuge:FuGE.Common.Protocol.ProtocolType" abstract="true" substitutionGroup="fuge:Parameterizable"/>

FuGE.Common.Protocol.Parameter (abstract)

Inheritance hierarchy:

Parameter --> Identifiable --> Describable

Documentation:

A Parameter is a replaceable value in a Parameterizable class. Examples of Parameters include: scanning wavelength, laser power, centrifuge speed, multiplicative errors, the number of input nodes to a SOM, and PCR temperatures. Parameter is abstract and should be extended by subclassing. The GenericParameter class offers the functionality of a parameter defined by a controlled vocabulary term.

Attributes:

NameDocumentationData typeRequired
isInputParam An optional Boolean value to determine whether the parameter is an input (true) or an output (false). boolean false

Associations:

NameAssociated classDocumentationMultiplicityComposite
DefaultValue Measurement The default value for this parameter. 0..1 to 0..1 composite

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Protocol.ParameterType" abstract = "true">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.IdentifiableType">
   <xsd:sequence>
    <xsd:element ref="fuge:Measurement" minOccurs="0" maxOccurs="1"/>
   </xsd:sequence>
   <xsd:attribute name="isInputParam" type="xsd:boolean"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="Parameter" type="fuge:FuGE.Common.Protocol.ParameterType" abstract="true" substitutionGroup="fuge:Identifiable"/>

FuGE.Common.Protocol.ParameterValue

Inheritance hierarchy:

ParameterValue --> Describable

Documentation:

The value of a Parameter.

Associations:

NameAssociated classDocumentationMultiplicityComposite
Parameter Parameter The parameter this value is for. 0..* to 1..1 none
Value Measurement The runtime value for this Parameter. 0..1 to 1..1 composite

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Protocol.ParameterValueType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.DescribableType">
   <xsd:sequence>
    <xsd:element ref="fuge:Measurement" minOccurs="1" maxOccurs="1"/>
   </xsd:sequence>
   <xsd:attribute name="Parameter_ref" use="required" type="xsd:string"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="ParameterValue" type="fuge:FuGE.Common.Protocol.ParameterValueType" abstract="false" substitutionGroup="fuge:Describable"/>

FuGE.Common.Protocol.ProtocolApplication (abstract)

Inheritance hierarchy:

ProtocolApplication --> ParameterizableApplication --> Identifiable --> Describable

Documentation:

The use of a protocol with the requisite Parameters and ParameterValues. ProtocolApplications can take Material or Data (or both) as input and produce Material or Data (or both) as output. ProtocolApplication is abstract and should be subclassed in the development of modular formats. The subclass GenericProtocolApplication can be used without extension.

Attributes:

NameDocumentationData typeRequired
activityDate When the protocol was applied. dateTime false

Associations:

NameAssociated classDocumentationMultiplicityComposite
OutputData (abstract) Data The data produced by a ProtocolApplication. 0..1 to 0..* none
InputData (abstract) Data The input data for a ProtocolApplication. 0..* to 0..* none
PartitionPairs (abstract) PartitionPair PartitionPairs that associate subsets (DataPartition) of the output data with subsets of the input data. 1..1 to 0..* composite
OutputMaterials (abstract) Material Association to the Material(s) created as output by this ProtocolApplication. 0..1 to 0..* none
InputMaterials (abstract) MaterialMeasurement Association from a ProtocolApplication to a measurement of the quantity of the source (input) Material(s) used. 1..1 to 0..* composite
Protocol (abstract) Protocol The protocol that is being used. 0..* to 1..1 none
ActionApplications ActionApplication Association to the ActionApplication steps that comprise this ProtocolApplication. 1..1 to 0..* composite
SoftwareApplications SoftwareApplication The use of software for the application of the protocol. 1..1 to 0..* composite
EquipmentApplications EquipmentApplication The use of hardware for the application of the protocol. 1..1 to 0..* composite
ProtocolDeviation Description Used to define human readable notes for annotating deviations to the protocol on a Protocol-wide level, for example, if the order of execution of Actions was changed in some non-destructive manner. 0..1 to 0..1 composite
Performers ContactRole The people or organizations who performed the protocol. ContactRole could be used to specify the part of the Protocol performed by a particular Contact. 0..1 to 0..* composite
InputCompleteMaterials (abstract) Material This association should be extended for cases where the entire Material is used in the ProtocolApplication in full and it does not make sense to give a measured quantity of the Material as input. 0..1 to 0..* none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Protocol.ProtocolApplicationType" abstract = "true">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.Protocol.ParameterizableApplicationType">
   <xsd:sequence>
    <xsd:element ref="fuge:ActionApplication" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element ref="fuge:SoftwareApplication" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element ref="fuge:EquipmentApplication" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element name="_protocolDeviation" minOccurs="0" maxOccurs="1">
     <xsd:complexType>
      <xsd:sequence>
       <xsd:element ref="fuge:Description" minOccurs="1" maxOccurs="1"/>
	  </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
    <xsd:element ref="fuge:ContactRole" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
   <xsd:attribute name="activityDate" type="xsd:dateTime"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="ProtocolApplication" type="fuge:FuGE.Common.Protocol.ProtocolApplicationType" abstract="true" substitutionGroup="fuge:ParameterizableApplication"/>

FuGE.Common.Protocol.Software (abstract)

Inheritance hierarchy:

Software --> Parameterizable --> Identifiable --> Describable

Documentation:

Software represents the software used. Examples of Software include: feature extraction software, clustering software, etc... Software is abstract and should either be extended by subclassing or the GenericSoftware class, a functional version of Software, should be used without extension.

Attributes:

NameDocumentationData typeRequired
version The version of Software used. string false

Associations:

NameAssociated classDocumentationMultiplicityComposite
Software2Equipment (abstract) Equipment Associates Equipment and Software together. Indicates that a set of Software is run on a piece of Equipment. 0..* to 0..* none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Protocol.SoftwareType" abstract = "true">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.Protocol.ParameterizableType">
   <xsd:attribute name="version" type="xsd:string"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="Software" type="fuge:FuGE.Common.Protocol.SoftwareType" abstract="true" substitutionGroup="fuge:Parameterizable"/>

FuGE.Common.Protocol.Equipment (abstract)

Inheritance hierarchy:

Equipment --> Parameterizable --> Identifiable --> Describable

Documentation:

The equipment (hardware) used in this Protocol. Examples include: computers, scanners, wash stations etc... Equipment is abstract and should either be extended by subclassing or the GenericEquipment class, a functional version of Equipment, should be used.

Associations:

NameAssociated classDocumentationMultiplicityComposite
Software2Equipment (abstract) Software Associates Equipment and Software together. Indicates that a set of Software is run on a piece of Equipment. 0..* to 0..* none
EquipmentParts (abstract) Equipment This association can be used to specify sub-components of a "parent" Equipment instance. The cardinality allows pieces of Equipment to be associated with more than one parent, for example allowing the re-use different parts. If a Protocol makes use of a "parent" Equipment and EquipmentParts, all of the sub-component Equipment instances must also be directly referenced from the Protocol using the Equipment association. 0..* to 0..* none
Make OntologyTerm The equipment make, usually the organization that makes the equipment. 0..* to 0..1 none
Model OntologyTerm The Equipment model. 0..* to 0..1 none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Protocol.EquipmentType" abstract = "true">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.Protocol.ParameterizableType">
   <xsd:sequence>
    <xsd:element name="_make" minOccurs="0" maxOccurs="1"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_model" minOccurs="0" maxOccurs="1"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="Equipment" type="fuge:FuGE.Common.Protocol.EquipmentType" abstract="true" substitutionGroup="fuge:Parameterizable"/>

FuGE.Common.Protocol.EquipmentApplication

Inheritance hierarchy:

EquipmentApplication --> ParameterizableApplication --> Identifiable --> Describable

Documentation:

The use of a piece of Equipment with the requisite Parameters and ParameterValues.

Attributes:

NameDocumentationData typeRequired
serialNumber Manufacturer's identifier for the Equipment. string false

Associations:

NameAssociated classDocumentationMultiplicityComposite
AppliedEquipment Equipment The Equipment that was used in the ProtocolApplication. 0..* to 1..1 none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Protocol.EquipmentApplicationType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.Protocol.ParameterizableApplicationType">
   <xsd:attribute name="serialNumber" type="xsd:string"/>
   <xsd:attribute name="Equipment_ref" use="required" type="xsd:string"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="EquipmentApplication" type="fuge:FuGE.Common.Protocol.EquipmentApplicationType" abstract="false" substitutionGroup="fuge:ParameterizableApplication"/>

FuGE.Common.Protocol.SoftwareApplication

Inheritance hierarchy:

SoftwareApplication --> ParameterizableApplication --> Identifiable --> Describable

Documentation:

The use of a piece of software with the requisite Parameters and ParameterValues.

Associations:

NameAssociated classDocumentationMultiplicityComposite
AppliedSoftware Software The Software that was used in the ProtocolApplication. 0..* to 1..1 none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Protocol.SoftwareApplicationType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.Protocol.ParameterizableApplicationType">
   <xsd:attribute name="Software_ref" use="required" type="xsd:string"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="SoftwareApplication" type="fuge:FuGE.Common.Protocol.SoftwareApplicationType" abstract="false" substitutionGroup="fuge:ParameterizableApplication"/>

FuGE.Common.Protocol.Parameterizable (abstract)

Inheritance hierarchy:

Parameterizable --> Identifiable --> Describable

Documentation:

The Parameterizable interface encapsulates the association of Parameters with ParameterValues.

Associations:

NameAssociated classDocumentationMultiplicityComposite
Provider ContactRole The provider of the Protocol, Equipment or Software. 0..1 to 0..* composite
Parameters (abstract) Parameter The set of parameters for the Parameterizable class instance. 0..1 to 0..* composite
Types OntologyTerm The type of Equipment, Software or Protocol. 0..* to 0..* none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Protocol.ParameterizableType" abstract = "true">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.IdentifiableType">
   <xsd:sequence>
    <xsd:element ref="fuge:ContactRole" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element name="_types" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="Parameterizable" type="fuge:FuGE.Common.Protocol.ParameterizableType" abstract="true" substitutionGroup="fuge:Identifiable"/>

FuGE.Common.Protocol.ParameterizableApplication (abstract)

Inheritance hierarchy:

ParameterizableApplication --> Identifiable --> Describable

Documentation:

The interface that is the use of a Parameterizable class.

Associations:

NameAssociated classDocumentationMultiplicityComposite
ParameterValues ParameterValue The parameter values for this Parameterizable Application. 1..1 to 0..* composite

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Protocol.ParameterizableApplicationType" abstract = "true">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.IdentifiableType">
   <xsd:sequence>
    <xsd:element ref="fuge:ParameterValue" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="ParameterizableApplication" type="fuge:FuGE.Common.Protocol.ParameterizableApplicationType" abstract="true" substitutionGroup="fuge:Identifiable"/>

FuGE.Common.Protocol.Action (abstract)

Inheritance hierarchy:

Action --> Identifiable --> Describable

Documentation:

An Action is one step of a Protocol. Sets of ordered Actions define the Protocol. Action is abstract and can be extended to specify particular types of steps within a subclass of Protocol.

Attributes:

NameDocumentationData typeRequired
actionOrdinal The order by which this Action should occur with respect to the Parent protocol. Note that two Actions with the same actionOrdinal are performed in parallel or the order is not important. int false

Associations:

NameAssociated classDocumentationMultiplicityComposite
ChildProtocol (abstract) Protocol A reference to an existing Protocol. It is used to tie together Protocols into complex procedures. For example a "cDNA synthesis" protocol may be broken down into two distinct phases, with the first and second round having distinct default values for common parameters, or defining different sets of parameters, etc. 0..1 to 0..1 none
Parameters (abstract) Parameter The parameters for this Action. 0..1 to 0..* composite
ParameterPairs (abstract) ParameterPair An abstract association to demonstrate that Actions can have ParameterPairs. This association should be extended if a particular subclass of Action can have ParameterPairs. 1..1 to 0..* composite

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Protocol.ActionType" abstract = "true">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.IdentifiableType">
   <xsd:attribute name="actionOrdinal" type="xsd:int"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="Action" type="fuge:FuGE.Common.Protocol.ActionType" abstract="true" substitutionGroup="fuge:Identifiable"/>

FuGE.Common.Protocol.ActionApplication

Inheritance hierarchy:

ActionApplication --> ParameterizableApplication --> Identifiable --> Describable

Documentation:

ActionApplication mirrors the structure of Actions within Protocols and allows ActionDeviations to be reported. RULE: If an Action references a childProtocol, an ActionApplication must be created and reference a childProtocolApplication of the corresponding type (or GenericProtocolApplication) to mirror the Protocol structure. ActionApplications can be (but need not be) created for simple Actions.

Associations:

NameAssociated classDocumentationMultiplicityComposite
Action Action Association to the Action that is being performed as recorded by this ActionApplication. 0..* to 1..1 none
ActionDeviation Description Used to define human readable notes for annotating deviations to an Action during the ActionApplication. 0..1 to 0..1 composite
ChildProtocolApplication ProtocolApplication Association to ProtocolApplication if a hierarchical Protocol has been defined representing the child step of the Protocol. 0..1 to 0..1 none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Protocol.ActionApplicationType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.Protocol.ParameterizableApplicationType">
   <xsd:sequence>
    <xsd:element name="_actionDeviation" minOccurs="0" maxOccurs="1">
     <xsd:complexType>
      <xsd:sequence>
       <xsd:element ref="fuge:Description" minOccurs="1" maxOccurs="1"/>
	  </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
   <xsd:attribute name="Action_ref" use="required" type="xsd:string"/>
   <xsd:attribute name="ProtocolApplication_ref" type="xsd:string"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="ActionApplication" type="fuge:FuGE.Common.Protocol.ActionApplicationType" abstract="false" substitutionGroup="fuge:ParameterizableApplication"/>

FuGE.Common.Protocol.GenericProtocol

Inheritance hierarchy:

GenericProtocol --> Protocol --> Parameterizable --> Identifiable --> Describable

Documentation:

GenericProtocol should be used with GenericAction, GenericParameter or protocolText to describe protocols in a data format for cases where no explicit extension of Protocol has been developed.

Attributes:

NameDocumentationData typeRequired
protocolText The text that applies to the entire Protocol. string false

Associations:

NameAssociated classDocumentationMultiplicityComposite
Software GenericSoftware A reference to the GenericSoftware used with this GenericProtocol. 0..* to 0..* none
Equipment GenericEquipment A reference to the GenericProtocol used with this GenericEquipment. 0..* to 0..* none
Parameters GenericParameter The parameters defined for the GenericProtocol. 0..1 to 0..* composite
Actions Action The actions performed within a GenericProtocol. 0..1 to 0..* composite

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Protocol.GenericProtocolType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.Protocol.ProtocolType">
   <xsd:sequence>
    <xsd:element name="_software" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="GenericSoftware_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_equipment" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="GenericEquipment_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
    <xsd:element ref="fuge:GenericParameter" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element ref="fuge:Action" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
   <xsd:attribute name="protocolText" type="xsd:string"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="GenericProtocol" type="fuge:FuGE.Common.Protocol.GenericProtocolType" abstract="false" substitutionGroup="fuge:Protocol"/>

FuGE.Common.Protocol.GenericAction

Inheritance hierarchy:

GenericAction --> Action --> Identifiable --> Describable

Documentation:

A GenericAction represents a step within a GenericProtocol. It allows a reference to a sub-GenericProtocol, user entered text to describe the GenericAction or a term from a controlled vocabulary to be given.

Attributes:

NameDocumentationData typeRequired
actionText Free text to describe this Action. string false

Associations:

NameAssociated classDocumentationMultiplicityComposite
ActionTerm OntologyTerm Each GenericAction may be associated with an OntologyTerm that defines that GenericAction. 0..* to 0..1 none
ChildProtocol Protocol This is an instantiation of the ChildProtocol association for associating complex, hierarchical protocols together. A GenericAction can reference substeps within the parent GenericProtocol. The substeps can be further instances of GenericProtocol, or defined subclasses of Protocol. 0..1 to 0..1 none
Parameters GenericParameter The parameters belonging to the GenericAction. 0..1 to 0..* composite
ParameterPairs ParameterPair ParameterPairs owned by the GenericAction. The TargetParameter should reference a Parameter owned by a child Protocol which is also referenced by the GenericAction. 1..1 to 0..* composite

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Protocol.GenericActionType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.Protocol.ActionType">
   <xsd:sequence>
    <xsd:element name="_actionTerm" minOccurs="0" maxOccurs="1"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
    <xsd:element ref="fuge:GenericParameter" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element ref="fuge:ParameterPair" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
   <xsd:attribute name="actionText" type="xsd:string"/>
   <xsd:attribute name="Protocol_ref" type="xsd:string"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="GenericAction" type="fuge:FuGE.Common.Protocol.GenericActionType" abstract="false" substitutionGroup="fuge:Action"/>

FuGE.Common.Protocol.GenericSoftware

Inheritance hierarchy:

GenericSoftware --> Software --> Parameterizable --> Identifiable --> Describable

Documentation:

A subclass of the abstract Software class for capturing the description of Software used.

Associations:

NameAssociated classDocumentationMultiplicityComposite
Software2Equipment GenericEquipment Associates GenericEquipment with GenericSoftware to indicate that instances of software are run on piece(s) of Equipment. 0..* to 0..* none
Parameters GenericParameter The parameters for this piece of GenericSoftware. 0..1 to 0..* composite

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Protocol.GenericSoftwareType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.Protocol.SoftwareType">
   <xsd:sequence>
    <xsd:element name="_equipment" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="GenericEquipment_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
    <xsd:element ref="fuge:GenericParameter" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="GenericSoftware" type="fuge:FuGE.Common.Protocol.GenericSoftwareType" abstract="false" substitutionGroup="fuge:Software"/>

FuGE.Common.Protocol.GenericEquipment

Inheritance hierarchy:

GenericEquipment --> Equipment --> Parameterizable --> Identifiable --> Describable

Documentation:

A subclass of the abstract Equipment class for capturing the description of Equipment used.

Associations:

NameAssociated classDocumentationMultiplicityComposite
Software2Equipment GenericSoftware Associates GenericEquipment with GenericSoftware to indicate that instances of software are run on piece(s) of Equipment. 0..* to 0..* none
Parameters GenericParameter The parameters for this piece of GenericEquipment. 0..1 to 0..* composite
EquipmentParts GenericEquipment An association between a parent GenericEquipment and its parts. If a GenericProtocol utilises GenericEquipment and its parts, both the parent and child GenericEquipment instances should be referenced. 0..* to 0..* none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Protocol.GenericEquipmentType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.Protocol.EquipmentType">
   <xsd:sequence>
    <xsd:element name="_software" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="GenericSoftware_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
    <xsd:element ref="fuge:GenericParameter" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element name="_equipmentParts" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="GenericEquipment_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="GenericEquipment" type="fuge:FuGE.Common.Protocol.GenericEquipmentType" abstract="false" substitutionGroup="fuge:Equipment"/>

FuGE.Common.Protocol.GenericParameter

Inheritance hierarchy:

GenericParameter --> Parameter --> Identifiable --> Describable

Documentation:

A subclass of the abstract Parameter class to represent a parameter that is defined by a controlled vocabulary term.

Associations:

NameAssociated classDocumentationMultiplicityComposite
ParameterType OntologyTerm The name of the parameter. 0..* to 0..1 none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Protocol.GenericParameterType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.Protocol.ParameterType">
   <xsd:sequence>
    <xsd:element name="_parameterType" minOccurs="0" maxOccurs="1"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="GenericParameter" type="fuge:FuGE.Common.Protocol.GenericParameterType" abstract="false" substitutionGroup="fuge:Parameter"/>

FuGE.Common.Protocol.GenericProtocolApplication

Inheritance hierarchy:

GenericProtocolApplication --> ProtocolApplication --> ParameterizableApplication --> Identifiable --> Describable

Documentation:

A subclass of ProtocolApplication to be used as it is in data formats without being extended.

Associations:

NameAssociated classDocumentationMultiplicityComposite
InputMaterials GenericMaterialMeasurement Measured sources of material that are inputs to this GenericProtocolApplication. 0..1 to 0..* composite
InputData Data The instances of GenericData that are inputs to the GenericProtocolApplication. 0..* to 0..* none
OutputData Data The Data produced from the GenericProtocolApplication. 0..1 to 0..* none
OutputMaterials Material The instances of GenericMaterial or a subclass of Material that are produced from the GenericProtocolApplication. 0..1 to 0..* none
Protocol Protocol A reference to the GenericProtocol or subclass of Protocol that has been used with this GenericProtocolApplication. 0..* to 1..1 none
InputCompleteMaterials Material Whole Materials that are inputs to the GenericProtocolApplication. 0..* to 0..* none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Protocol.GenericProtocolApplicationType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.Protocol.ProtocolApplicationType">
   <xsd:sequence>
    <xsd:element ref="fuge:GenericMaterialMeasurement" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element name="_inputData" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="Data_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_outputData" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="Data_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_outputMaterials" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="Material_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_inputCompleteMaterials" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="Material_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
   <xsd:attribute name="Protocol_ref" use="required" type="xsd:string"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="GenericProtocolApplication" type="fuge:FuGE.Common.Protocol.GenericProtocolApplicationType" abstract="false" substitutionGroup="fuge:ProtocolApplication"/>

FuGE.Common.Protocol.ParameterPair

Inheritance hierarchy:

ParameterPair --> Describable

Documentation:

A pairing of an output parameter from a Protocol (SourceParameter) with an input parameter to a separate Protocol (TargetParameter) to indicate that the ParameterValue will be the same.

Associations:

NameAssociated classDocumentationMultiplicityComposite
TargetParameter Parameter A Parameter that is an input to a process which has been an output from another process. 0..* to 1..1 none
SourceParameter Parameter A Parameter that is output from one process which will be input to another process. 0..* to 1..1 none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Protocol.ParameterPairType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.DescribableType">
   <xsd:sequence>
    <xsd:element name="_targetParameter" minOccurs="1" maxOccurs="1"> 
     <xsd:complexType>
      <xsd:attribute name="Parameter_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_sourceParameter" minOccurs="1" maxOccurs="1"> 
     <xsd:complexType>
      <xsd:attribute name="Parameter_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="ParameterPair" type="fuge:FuGE.Common.Protocol.ParameterPairType" abstract="false" substitutionGroup="fuge:Describable"/>

FuGE.Common.Ontology.OntologyIndividual

Inheritance hierarchy:

OntologyIndividual --> OntologyTerm --> Identifiable --> Describable

Documentation:

An instance of an Ontology class.

Associations:

NameAssociated classDocumentationMultiplicityComposite
Properties OntologyProperty A list of properties associated with the Individual. If based on an external Ontology, the list should be able to be validated against that Ontology. 0..1 to 0..* composite

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Ontology.OntologyIndividualType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.Ontology.OntologyTermType">
   <xsd:sequence>
    <xsd:element ref="fuge:OntologyProperty" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="OntologyIndividual" type="fuge:FuGE.Common.Ontology.OntologyIndividualType" abstract="false" substitutionGroup="fuge:OntologyTerm"/>

FuGE.Common.Ontology.OntologyProperty (abstract)

Inheritance hierarchy:

OntologyProperty --> OntologyTerm --> Identifiable --> Describable

Documentation:

Base class for instances of Ontology properties

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Ontology.OntologyPropertyType" abstract = "true">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.Ontology.OntologyTermType">
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="OntologyProperty" type="fuge:FuGE.Common.Ontology.OntologyPropertyType" abstract="true" substitutionGroup="fuge:OntologyTerm"/>

FuGE.Common.Ontology.DataProperty

Inheritance hierarchy:

DataProperty --> OntologyProperty --> OntologyTerm --> Identifiable --> Describable

Documentation:

An instance of an Ontology data property. So an individual of Age might be restricted to a value of 8.

Attributes:

NameDocumentationData typeRequired
dataType An optional data type attribute which should be either one of the CORBA Any types or one of the XML Schema simple types. If the Parent Individual is associated with a has_datatype property, instead of stating that property explicity, it could be used as the value of the datatype attribute, or the datatype can be provided as a hint to applications on how to store the value. string false
value The value associated with the DataProperty instance. string false

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Ontology.DataPropertyType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.Ontology.OntologyPropertyType">
   <xsd:attribute name="dataType" type="xsd:string"/>
   <xsd:attribute name="value" type="xsd:string"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="DataProperty" type="fuge:FuGE.Common.Ontology.DataPropertyType" abstract="false" substitutionGroup="fuge:OntologyProperty"/>

FuGE.Common.Ontology.ObjectProperty

Inheritance hierarchy:

ObjectProperty --> OntologyProperty --> OntologyTerm --> Identifiable --> Describable

Documentation:

An instance of an Ontology object property that restricts the parent individual to its child individual. So an Age individual may be restricted to an Individual unit of years.

Associations:

NameAssociated classDocumentationMultiplicityComposite
Content OntologyIndividual The instance(s) of the child OntologyIndividuals referenced by the parent OntologyIndividual. 0..1 to 1..* composite

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Ontology.ObjectPropertyType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.Ontology.OntologyPropertyType">
   <xsd:sequence>
    <xsd:element ref="fuge:OntologyIndividual" minOccurs="1" maxOccurs="unbounded"/>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="ObjectProperty" type="fuge:FuGE.Common.Ontology.ObjectPropertyType" abstract="false" substitutionGroup="fuge:OntologyProperty"/>

FuGE.Common.Ontology.OntologyTerm (abstract)

Inheritance hierarchy:

OntologyTerm --> Identifiable --> Describable

Documentation:

A single entry from an ontology or a controlled vocabulary. If it is a simple controlled vocabulary, there may be no formal accession for the term. In these cases the local name should be repeated in both term and termAccession. If the term has a value, the OntologyIndividual will have a single DataProperty whose value was the value for the property. For instance, for an OntologyIndividual based on the MO ontology the attributes might be: The term would be what is usually called the local name in the Ontology, for instance 'Age'; The termAccession could be 'http://mged.sourceforge.net/ontologies/MGEDOntology.owl#Age' or a an arbitrary accession if one exists; The identifier is a unique identifier for individuals in the scope of the FuGE instance; The inherited name attribute should not be used; The ontologyURI of OntologySource could be 'http://mged.sourceforge.net/ontologies/MGEDOntology.owl". The OntologyTerm subclasses are instances of Ontology classes and properties, not the actual terms themselves. An OntologyIndividual, if based on an existing Ontology, can be considered a statement that can be validated against the referenced ontology. The subclasses and their associations are based on the Ontology Definition Model, ad/2005-04-13, submitted to the OMG as a response to RFP ad/2003-03-40, Copyright © 2005 DSTC Pty Ltd. Copyright © 2005 IBM Copyright © 2005 Sandpiper Software, Inc under the standard OMG license terms.

Attributes:

NameDocumentationData typeRequired
term The ontology term itself, also known as the local name in some ontologies. string true
termAccession The accession number assigned to the ontology term in the source ontology. If there is no explicit accession assigned, then the term (localname) must be repeated (i.e. the term is the unique accession). string true

Associations:

NameAssociated classDocumentationMultiplicityComposite
OntologySource OntologySource The source ontology or controlled vocabulary list that ontology terms have been obtained from. 0..* to 0..1 none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Ontology.OntologyTermType" abstract = "true">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.IdentifiableType">
   <xsd:attribute name="term" use="required" type="xsd:string"/>
   <xsd:attribute name="termAccession" use="required" type="xsd:string"/>
   <xsd:attribute name="OntologySource_ref" type="xsd:string"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="OntologyTerm" type="fuge:FuGE.Common.Ontology.OntologyTermType" abstract="true" substitutionGroup="fuge:Identifiable"/>

FuGE.Common.Ontology.OntologySource

Inheritance hierarchy:

OntologySource --> Identifiable --> Describable

Documentation:

The source ontology or controlled vocabulary list that ontology terms have been obtained from.

Attributes:

NameDocumentationData typeRequired
ontologyURI A URI that references the location of the ontology. anyURI true

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Ontology.OntologySourceType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.IdentifiableType">
   <xsd:attribute name="ontologyURI" use="required" type="xsd:anyURI"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="OntologySource" type="fuge:FuGE.Common.Ontology.OntologySourceType" abstract="false" substitutionGroup="fuge:Identifiable"/>

FuGE.Common.Describable (abstract)

Inheritance hierarchy:

Describable

Documentation:

Abstract class that allows subclasses to inherit associations that enable objects to be given a text description, additional annotations as Ontology entries, a URI, associations to Audit for tracking changes, and the association to Security for indicating permissions. The URI, Annotations, PropertySets and Descriptions associations inherited from Describable should only be used to capture additional information where the model contains no other structures that could be used to capture the information.

Associations:

NameAssociated classDocumentationMultiplicityComposite
AuditTrail Audit A list of Audit instances that track changes to the instance of Describable. 0..1 to 0..* composite
Descriptions Description Free hand text descriptions. 0..1 to 0..* composite
Security Security Information on the security for the instance of the class. 0..* to 0..1 aggregate
URI URI A URI associated with a Describable object. 0..1 to 0..1 composite
Annotations OntologyTerm Allows specification of additional ontology entries related to the instance being described that are not directly specified elsewhere. 0..* to 0..* none
PropertySets NameValueType Allows specification of name, value, type triples. Meant to primarily help in-house, pipeline processing of instances by providing a place for values that are not part of the specification proper. 0..1 to 0..* composite

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.DescribableType" abstract = "true">
   <xsd:sequence>
    <xsd:element name="_auditTrail" minOccurs="0" maxOccurs="1">
     <xsd:complexType>
      <xsd:sequence>
       <xsd:element ref="fuge:Audit" minOccurs="1" maxOccurs="unbounded"/>
	  </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_descriptions" minOccurs="0" maxOccurs="1">
     <xsd:complexType>
      <xsd:sequence>
       <xsd:element ref="fuge:Description" minOccurs="1" maxOccurs="unbounded"/>
	  </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_uri" minOccurs="0" maxOccurs="1">
     <xsd:complexType>
      <xsd:sequence>
       <xsd:element ref="fuge:URI" minOccurs="1" maxOccurs="1"/>
	  </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_annotations" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_propertySets" minOccurs="0" maxOccurs="1">
     <xsd:complexType>
      <xsd:sequence>
       <xsd:element ref="fuge:NameValueType" minOccurs="1" maxOccurs="unbounded"/>
	  </xsd:sequence>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
   <xsd:attribute name="Security_ref" type="xsd:string"/>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="Describable" type="fuge:FuGE.Common.DescribableType" abstract="true"/>

FuGE.Common.Identifiable (abstract)

Inheritance hierarchy:

Identifiable --> Describable

Documentation:

Other classes in the model can be specified as sub-classes, inheriting from Identifiable. Identifiable gives classes a unique identifier within the scope and a name that need not be unique. Identifiable also provides a mechanism for annotating objects with BibliographicReference(s) and DatabaseEntry(s).

Attributes:

NameDocumentationData typeRequired
identifier An identifier is an unambiguous string that is unique within the scope (i.e. a document, a set of related documents, or a repository) of its use. string true
name The potentially ambiguous common identifier, such as a human-readable name for the instance. string false

Associations:

NameAssociated classDocumentationMultiplicityComposite
DatabaseReferences DatabaseReference References to entries in databases. 0..1 to 0..* composite
BibliographicReferences BibliographicReference References to existing literature. 0..* to 0..* none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.IdentifiableType" abstract = "true">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.DescribableType">
   <xsd:sequence>
    <xsd:element ref="fuge:DatabaseReference" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element name="_bibliographicReferences" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="BibliographicReference_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
   <xsd:attribute name="identifier" use="required" type="xsd:string"/>
   <xsd:attribute name="name" type="xsd:string"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="Identifiable" type="fuge:FuGE.Common.IdentifiableType" abstract="true" substitutionGroup="fuge:Describable"/>

FuGE.Common.Measurement.AtomicValue

Inheritance hierarchy:

AtomicValue --> Measurement --> Describable

Documentation:

An atomic value i.e. one that has a single value.

Attributes:

NameDocumentationData typeRequired
value An atomic default value for the parameter. string true

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Measurement.AtomicValueType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.Measurement.MeasurementType">
   <xsd:attribute name="value" use="required" type="xsd:string"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="AtomicValue" type="fuge:FuGE.Common.Measurement.AtomicValueType" abstract="false" substitutionGroup="fuge:Measurement"/>

FuGE.Common.Measurement.BooleanValue

Inheritance hierarchy:

BooleanValue --> Measurement --> Describable

Documentation:

A Boolean value.

Attributes:

NameDocumentationData typeRequired
value A Boolean default value for the parameter. boolean true

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Measurement.BooleanValueType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.Measurement.MeasurementType">
   <xsd:attribute name="value" use="required" type="xsd:boolean"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="BooleanValue" type="fuge:FuGE.Common.Measurement.BooleanValueType" abstract="false" substitutionGroup="fuge:Measurement"/>

FuGE.Common.Measurement.ComplexValue

Inheritance hierarchy:

ComplexValue --> Measurement --> Describable

Documentation:

A complex default value for the Parameter, such as a term from a controlled list or a function.

Associations:

NameAssociated classDocumentationMultiplicityComposite
Value OntologyTerm A value given by an ontology term. 0..* to 1..1 none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Measurement.ComplexValueType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.Measurement.MeasurementType">
   <xsd:sequence>
    <xsd:element name="_value" minOccurs="1" maxOccurs="1"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="ComplexValue" type="fuge:FuGE.Common.Measurement.ComplexValueType" abstract="false" substitutionGroup="fuge:Measurement"/>

FuGE.Common.Measurement.Range

Inheritance hierarchy:

Range --> Measurement --> Describable

Documentation:

A range value.

Attributes:

NameDocumentationData typeRequired
lowerLimit The lower limit of a range value. string true
upperLimit The upper limit of a range value. string true

Associations:

NameAssociated classDocumentationMultiplicityComposite
RangeDescriptors OntologyTerm Ontology terms can be used the define the semantics of the lower and upper limit in the range, for example the inclusivity of the values or what the values correspond to in the annotated object. 0..* to 0..* none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Measurement.RangeType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.Measurement.MeasurementType">
   <xsd:sequence>
    <xsd:element name="_rangeDescriptors" minOccurs="0" maxOccurs="unbounded"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
   <xsd:attribute name="lowerLimit" use="required" type="xsd:string"/>
   <xsd:attribute name="upperLimit" use="required" type="xsd:string"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="Range" type="fuge:FuGE.Common.Measurement.RangeType" abstract="false" substitutionGroup="fuge:Measurement"/>

FuGE.Common.Measurement.Measurement (abstract)

Inheritance hierarchy:

Measurement --> Describable

Documentation:

Abstract superclass representing different methods of supplying a value or measurement.

Associations:

NameAssociated classDocumentationMultiplicityComposite
Unit OntologyTerm The Unit of Measurement. 0..* to 0..1 none
DataType OntologyTerm The data type of the Parameter such as Boolean, integer, String. 0..* to 0..1 none

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Common.Measurement.MeasurementType" abstract = "true">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.DescribableType">
   <xsd:sequence>
    <xsd:element name="_unit" minOccurs="0" maxOccurs="1"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
    <xsd:element name="_dataType" minOccurs="0" maxOccurs="1"> 
     <xsd:complexType>
      <xsd:attribute name="OntologyTerm_ref" use="required" type="xsd:string"/>
     </xsd:complexType>
    </xsd:element>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="Measurement" type="fuge:FuGE.Common.Measurement.MeasurementType" abstract="true" substitutionGroup="fuge:Describable"/>

FuGE.Collection.ProtocolCollection

Inheritance hierarchy:

ProtocolCollection --> Describable

Documentation:

The complete set of Protocol, Equipment, Software and ProtocolApplication objects in the FuGE document.

Associations:

NameAssociated classDocumentationMultiplicityComposite
Protocols Protocol Reference to all Protocol objects in the FuGE document. 0..* to 0..* composite
AllSoftware Software Reference to all Software objects in the FuGE document. 0..* to 0..* composite
ProtocolApplications ProtocolApplication Reference to all ProtocolApplication objects in the FuGE document. 0..* to 0..* composite
AllEquipment Equipment Reference to all Equipment objects in the FuGE document. 0..* to 0..* composite

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Collection.ProtocolCollectionType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.DescribableType">
   <xsd:sequence>
    <xsd:element ref="fuge:Protocol" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element ref="fuge:Software" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element ref="fuge:ProtocolApplication" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element ref="fuge:Equipment" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="ProtocolCollection" type="fuge:FuGE.Collection.ProtocolCollectionType" abstract="false" substitutionGroup="fuge:Describable"/>

FuGE.Collection.InvestigationCollection

Inheritance hierarchy:

InvestigationCollection --> Describable

Documentation:

The collection of Investigation and Factor objects in the FuGE document.

Associations:

NameAssociated classDocumentationMultiplicityComposite
Investigations Investigation Reference to all Investigation objects in the FuGE document. 0..* to 0..* composite
FactorCollection Factor Reference to the complete set of Factor objects in the FuGE document. 0..* to 0..* composite

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Collection.InvestigationCollectionType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.DescribableType">
   <xsd:sequence>
    <xsd:element ref="fuge:Investigation" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element ref="fuge:Factor" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="InvestigationCollection" type="fuge:FuGE.Collection.InvestigationCollectionType" abstract="false" substitutionGroup="fuge:Describable"/>

FuGE.Collection.ReferenceableCollection

Inheritance hierarchy:

ReferenceableCollection --> Describable

Documentation:

The collection of objects that allow external references.

Associations:

NameAssociated classDocumentationMultiplicityComposite
AllBibliographicReferences BibliographicReference Reference to the complete set of BibliographicReference objects in the FuGE document. 0..* to 0..* composite
AllDatabases Database Reference to the complete set of Database objects in the FuGE document. 0..* to 0..* composite

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Collection.ReferenceableCollectionType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.DescribableType">
   <xsd:sequence>
    <xsd:element ref="fuge:BibliographicReference" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element ref="fuge:Database" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="ReferenceableCollection" type="fuge:FuGE.Collection.ReferenceableCollectionType" abstract="false" substitutionGroup="fuge:Describable"/>

FuGE.Collection.DataCollection

Inheritance hierarchy:

DataCollection --> Describable

Documentation:

The complete collection of all Data, Dimension, DataPartition and HigherLevelAnalysis objects.

Associations:

NameAssociated classDocumentationMultiplicityComposite
AllDimensions Dimension Reference to the complete set of Dimension objects in the FuGE document. 0..* to 0..* composite
HigherLevelAnalyses HigherLevelAnalysis Reference to the complete set of HigherLevelAnalysis objects in the FuGE document. 0..* to 0..* composite
AllData Data Reference to the complete set of Data objects in the FuGE document. 0..* to 0..* composite
AllDataPartitions DataPartition Reference to the complete set of DataPartitions. 0..* to 0..* composite

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Collection.DataCollectionType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.DescribableType">
   <xsd:sequence>
    <xsd:element ref="fuge:Dimension" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element ref="fuge:HigherLevelAnalysis" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element ref="fuge:Data" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element ref="fuge:DataPartition" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="DataCollection" type="fuge:FuGE.Collection.DataCollectionType" abstract="false" substitutionGroup="fuge:Describable"/>

FuGE.Collection.ConceptualMoleculeCollection

Inheritance hierarchy:

ConceptualMoleculeCollection --> Describable

Documentation:

The complete set of ConceptualMolecule objects and SequenceAnnotationSet objects.

Associations:

NameAssociated classDocumentationMultiplicityComposite
ConceptualMolecules ConceptualMolecule Reference to the complete set of ConceptualMolecule objects in the FuGE document. 0..* to 0..* composite
AllSequenceAnnotations SequenceAnnotationSet Reference to the complete set of SequenceAnnotation objects in the FuGE document. 0..* to 0..* composite

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Collection.ConceptualMoleculeCollectionType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.DescribableType">
   <xsd:sequence>
    <xsd:element ref="fuge:ConceptualMolecule" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element ref="fuge:SequenceAnnotationSet" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="ConceptualMoleculeCollection" type="fuge:FuGE.Collection.ConceptualMoleculeCollectionType" abstract="false" substitutionGroup="fuge:Describable"/>

FuGE.Collection.OntologyCollection

Inheritance hierarchy:

OntologyCollection --> Describable

Documentation:

The complete set of OntologyIndividual and OntologySource objects referenced in the FuGE document.

Associations:

NameAssociated classDocumentationMultiplicityComposite
OntologyTerms OntologyTerm The complete set of OntologyTerms in the FuGE document. 0..* to 0..* composite
OntologySources OntologySource The complete set of OntologySources in the FuGE document. 0..* to 0..* composite

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Collection.OntologyCollectionType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.DescribableType">
   <xsd:sequence>
    <xsd:element ref="fuge:OntologyTerm" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element ref="fuge:OntologySource" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="OntologyCollection" type="fuge:FuGE.Collection.OntologyCollectionType" abstract="false" substitutionGroup="fuge:Describable"/>

FuGE.Collection.MaterialCollection

Inheritance hierarchy:

MaterialCollection --> Describable

Documentation:

The complete set of all Material objects in the FuGE document.

Associations:

NameAssociated classDocumentationMultiplicityComposite
Materials Material The complete set of Materials. 0..* to 0..* composite

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Collection.MaterialCollectionType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.DescribableType">
   <xsd:sequence>
    <xsd:element ref="fuge:Material" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="MaterialCollection" type="fuge:FuGE.Collection.MaterialCollectionType" abstract="false" substitutionGroup="fuge:Describable"/>

FuGE.Collection.AuditCollection

Inheritance hierarchy:

AuditCollection --> Describable

Documentation:

The collection of Audit objects (Security, SecurityGroup and Contacts).

Associations:

NameAssociated classDocumentationMultiplicityComposite
SecurityCollection Security Reference to the complete set of Security objects in the FuGE document. 0..* to 0..* composite
AllContacts Contact The complete set of Contacts. 0..* to 0..* composite
SecurityGroups SecurityGroup Reference to the complete set of SecurityGroup objects in the FuGE document. 0..* to 0..* composite

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Collection.AuditCollectionType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.DescribableType">
   <xsd:sequence>
    <xsd:element ref="fuge:Security" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element ref="fuge:Contact" minOccurs="0" maxOccurs="unbounded"/>
    <xsd:element ref="fuge:SecurityGroup" minOccurs="0" maxOccurs="unbounded"/>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="AuditCollection" type="fuge:FuGE.Collection.AuditCollectionType" abstract="false" substitutionGroup="fuge:Describable"/>

FuGE.Collection.Provider

Inheritance hierarchy:

Provider --> Identifiable --> Describable

Documentation:

The provider of the FuGE document in terms of the Contact and the software the produced the document instance.

Associations:

NameAssociated classDocumentationMultiplicityComposite
ProducingSoftware Software The Software that produced the document instance. 0..* to 0..1 none
Provider ContactRole The Contact that provided the document instance. 0..* to 0..1 composite

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Collection.ProviderType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.IdentifiableType">
   <xsd:sequence>
    <xsd:element ref="fuge:ContactRole" minOccurs="0" maxOccurs="1"/>
   </xsd:sequence>
   <xsd:attribute name="Software_ref" type="xsd:string"/>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="Provider" type="fuge:FuGE.Collection.ProviderType" abstract="false" substitutionGroup="fuge:Identifiable"/>

FuGE.Collection.FuGE

Inheritance hierarchy:

FuGE --> Identifiable --> Describable

Documentation:

The root container for accessing all objects.

Associations:

NameAssociated classDocumentationMultiplicityComposite
MaterialCollection MaterialCollection The complete set of all Material objects in the FuGE document. 0..1 to 0..1 composite
ConceptualMoleculeCollection ConceptualMoleculeCollection The complete set of ConceptualMolecule objects and SequenceAnnotationSet objects. 0..1 to 0..1 composite
ReferenceableCollection ReferenceableCollection The complete set of BibliographicReferences and Databases. 0..1 to 0..1 composite
InvestigationCollection InvestigationCollection The collection of Investigation and Factor objects in the FuGE document. 0..1 to 0..1 composite
DataCollection DataCollection The complete collection of all Data, Dimension, DataPartition and HigherLevelAnalysis objects. 0..1 to 0..1 composite
AuditCollection AuditCollection The collection of Audit objects (Security, SecurityGroup and Contacts). 0..1 to 0..1 composite
ProtocolCollection ProtocolCollection The complete set of Protocol, Equipment, Software and ProtocolApplication objects in the FuGE document. 0..1 to 0..1 composite
OntologyCollection OntologyCollection The complete set of OntologyIndividual objects in the FuGE document. 0..1 to 0..1 composite
Provider Provider The Provider of the FuGE document 0..* to 0..1 composite

XML Schema Complex Type specification:

<xsd:complexType name="FuGE.Collection.FuGEType" abstract = "false">
 <xsd:complexContent>
  <xsd:extension base="fuge:FuGE.Common.IdentifiableType">
   <xsd:sequence>
    <xsd:element ref="fuge:MaterialCollection" minOccurs="0" maxOccurs="1"/>
    <xsd:element ref="fuge:ConceptualMoleculeCollection" minOccurs="0" maxOccurs="1"/>
    <xsd:element ref="fuge:ReferenceableCollection" minOccurs="0" maxOccurs="1"/>
    <xsd:element ref="fuge:InvestigationCollection" minOccurs="0" maxOccurs="1"/>
    <xsd:element ref="fuge:DataCollection" minOccurs="0" maxOccurs="1"/>
    <xsd:element ref="fuge:AuditCollection" minOccurs="0" maxOccurs="1"/>
    <xsd:element ref="fuge:ProtocolCollection" minOccurs="0" maxOccurs="1"/>
    <xsd:element ref="fuge:OntologyCollection" minOccurs="0" maxOccurs="1"/>
    <xsd:element ref="fuge:Provider" minOccurs="0" maxOccurs="1"/>
   </xsd:sequence>
  </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

XML Schema element specification:

<xsd:element name="FuGE" type="fuge:FuGE.Collection.FuGEType" abstract="false" substitutionGroup="fuge:Identifiable"/>