An abstract class for describing database entries of biological molecules such as DNA and protein sequences, metabolites or lipids etc. 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. Data external to the XML instance document. The location of the data file is given in the location attribute. 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. The format of the ExternalData file, for example "tiff" for image files. The location of the data file. 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). 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. Contact details for the Material. The association to ContactRole could specify, for example, the creator or provider of the Material. The characteristics of a Material. 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. The value of the measured source of material. 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. 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. A subclass of MaterialMeasurement to be used without being extended in conjunction with GenericProtocolApplication and GenericMaterial to model measured sources of materials. The instance of GenericMaterial or a subclass of Material that is input to the GenericProtocolApplication. A person for which the attributes are self describing. The organization a person belongs to. The Person's last/family name. The Person's first name. The Person's middle initial. Organizations are entities like companies, universities, government agencies for which the attributes are self describing. The containing organization (the university or business which a lab belongs to, etc.) A contact is either a person or an organization. The address of the Contact. The telephone number of the Contact including the suitable area codes. The email address of the Contact. The fax number of the Contact. A toll free phone number for the Contact, including suitable area codes. 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. The roles (lab equipment sales, contractor, etc.) the Contact fills. When a ContactRole is used, it specifies which Contact the role is associated with. Represents bibliographic references, including the most common attributes. Note that because a BibliographicReference is Identifiable, a DatabaseEntry can also be specified. The names of the authors of the reference. The name of the journal, book etc. The publisher of the publication. The editor(s) of the reference. The year of publication. The volume name or number. The issue name or number. The page numbers. The title of the BibliographicReference. An address to a repository. Contacts associated with this database, such as hosting institution, database curators, manager etc. The version of the Database. The location of the Database. A reference to a record in a database. The identifier used to look up the record. The appropriate version of the accession (if applicable). Reference to the database where the DatabaseEntry instance can be found. A free text description of an object. The description. 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. A Parameter is a replaceable value in a Parameterizable class, and uses the Measurement class for giving a specific type of value. 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. The default value for this parameter. The runtime value of a Parameter. The parameter this value is for. 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. When the protocol was applied. Software used in the Protocol. 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. The version of Software used. The equipment (hardware) used in the 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. The equipment make, usually the organization that makes the equipment. The Equipment model. The use of a piece of Equipment with the requisite Parameters and ParameterValues. Manufacturer's identifier for the Equipment. The Equipment that was used in the ProtocolApplication. The use of a piece of software with the requisite Parameters and ParameterValues. The Software that was used in the ProtocolApplication. The interface that is the use of a Parameterizable class. The parameter values for this Parameterizable Application. 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. 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. 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. Used to define human readable notes for annotating deviations to an Action during the ActionApplication. Association to the Action that is being performed as recorded by this ActionApplication. Association to ProtocolApplication if a hierarchical Protocol has been defined representing the child step of the Protocol. 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. The text that applies to the entire Protocol. A reference to the GenericSoftware used with this GenericProtocol. A reference to the GenericProtocol used with this GenericEquipment. The parameters defined for the GenericProtocol. The actions performed within a GenericProtocol. 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. Each GenericAction may be associated with an OntologyTerm that defines that GenericAction. The parameters belonging to the GenericAction. ParameterPairs owned by the GenericAction. The TargetParameter should reference a Parameter owned by a child Protocol which is also referenced by the GenericAction. Free text to describe this Action. 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. A subclass of the abstract Software class for capturing the description of Software used. Associates GenericEquipment with GenericSoftware to indicate that instances of software are run on piece(s) of Equipment. The parameters for this piece of GenericSoftware. A subclass of the abstract Equipment class for capturing the description of Equipment used. Associates GenericEquipment with GenericSoftware to indicate that instances of software are run on piece(s) of Equipment. The parameters for this piece of 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. A subclass of the abstract Parameter class to represent a parameter that is defined by a controlled vocabulary term. The name of the parameter. A subclass of ProtocolApplication to be used as it is in data formats without being extended. Measured sources of material that are inputs to this GenericProtocolApplication. The instances of GenericData that are inputs to the GenericProtocolApplication. The Data produced from the GenericProtocolApplication. The instances of GenericMaterial or a subclass of Material that are produced from the GenericProtocolApplication. Whole Materials that are inputs to the GenericProtocolApplication. The parameter values for this Parameterizable Application. A reference to the GenericProtocol or subclass of Protocol that has been used with this GenericProtocolApplication. 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. A Parameter that is an input to a process which has been an output from another process. A Parameter that is output from one process which will be input to another process. Abstract entity allowing either cvParam or userParam to be referenced in other schemas. The name of the parameter. The user-entered value of the parameter. An accession number identifying the unit within the OBO foundry Unit CV. The name of the unit. If a unit term is referenced, this attribute must refer to the CV 'id' attribute defined in the cvList in this file. A single user-defined parameter. A single entry from an ontology or a controlled vocabulary. A reference to the cv element from which this term originates. The accession or ID number of this CV term in the source CV. A single value and unit combination. A user-entered value for the parameter. The accession number of the unit term in the source unit CV. The name of the unit. If a unit term is referenced, this attribute must refer to the CV 'id' attribute defined in the cvList in this file. A source controlled vocabulary from which cvParams will be obtained. The full name of the CV. The version of the CV. The URI of the source CV. The unique identifier of this cv within the document to be referenced by cvParam elements. 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). 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. The potentially ambiguous common identifier, such as a human-readable name for the instance. An atomic value i.e. one that has a single value. A Boolean value. A Boolean default value for the parameter. A complex default value for the Parameter, such as a term from a controlled list or a function. A range value. The lower limit of a range value. The lower limit of a range value. 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. Abstract superclass representing different methods of supplying a value or measurement. The data type of the Parameter such as Boolean, integer, String. The collection of objects that allow external references. Reference to the complete set of BibliographicReference objects in the FuGE document. Reference to the complete set of Database objects in the FuGE document. The collection of Contact records. The complete set of Contacts. The provider of the document in terms of the Contact and the software the produced the document instance. The Contact that provided the document instance. The Software that produced the document instance.