implements Identifiable
Inherited attributes:
Attributes:
__Type: enum (required) |
Subtypes have to be set to allow searching
enum_options: 'MolgenisRole', 'MolgenisGroup', 'MolgenisUser', 'Person' |
name: string (required) |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an MolgenisRole. |
unique(name): |
Field name is unique within an MolgenisRole. |
extends MolgenisRole
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an MolgenisGroup. |
implements Identifiable
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Associations:
group_: MolgenisGroup (1..1) |
role_: MolgenisRole (1..1) |
Constraints:
unique(id): |
Field id is unique within an MolgenisRoleGroupLink. |
unique(group_, role_): |
The combination of fields group_, role_ is unique within an MolgenisRoleGroupLink. |
implements Identifiable
A contact is either a person or an organization. Copied from FuGE::Contact.
Inherited attributes:
Attributes:
Address: text (optional) |
The address of the Contact. |
Phone: string (optional) |
The telephone number of the Contact including the suitable area codes. |
Email: string (optional) |
The email address of the Contact. |
Fax: string (optional) |
The fax number of the Contact. |
tollFreePhone: string (optional) |
A toll free phone number for the Contact, including suitable area codes. |
City: string (optional) |
Added from the old definition of MolgenisUser. City of this contact. |
Country: string (optional) |
Added from the old definition of MolgenisUser. Country of this contact. |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an Contact. |
extends MolgenisRole
implements Contact
Person represents one or more people involved with an Investigation.
This may include authors on a paper, lab personnel or PIs. Person
has last name, firstname, mid initial, address, contact and email. A
Person role is included to represent how a Person is involved with
an investigation. For submission to repository purposes an allowed
value is 'submitter' and the term is present in the MGED Ontology,
an alternative use could represent job title. An Example from
ArrayExpress is E-MTAB-506
ftp://ftp.ebi.ac.uk/pub/databases/microarray/data/experiment/TABM/E-TABM-506/E-TABM-506.idf.txt.
.
The FUGE equivalent to Person is FuGE::Person.
Inherited attributes:
Attributes:
FirstName: string (optional) |
First Name |
MidInitials: string (optional) |
Mid Initials |
LastName: string (optional) |
Last Name |
Title: string (optional) |
An academic title, e.g. Prof.dr, PhD |
Department: string (optional) |
Added from the old definition of MolgenisUser. Department of this contact. |
Address: text (optional) |
The address of the Contact. |
Phone: string (optional) |
The telephone number of the Contact including the suitable area codes. |
Email: string (optional) |
The email address of the Contact. |
Fax: string (optional) |
The fax number of the Contact. |
tollFreePhone: string (optional) |
A toll free phone number for the Contact, including suitable area codes. |
City: string (optional) |
Added from the old definition of MolgenisUser. City of this contact. |
Country: string (optional) |
Added from the old definition of MolgenisUser. Country of this contact. |
id: int (required) |
automatically generated id |
Associations:
Affiliation: Institute (0..1) |
Roles: PersonRole (0..1) |
Indicate role of the contact, e.g. lab worker or PI. Changed from mref to xref in oct 2011. |
Constraints:
unique(id): |
Field id is unique within an Person. |
unique(FirstName, MidInitials, LastName): |
The combination of fields FirstName, MidInitials, LastName is unique within an Person. |
extends OntologyTerm
Seperate type of ontologyTerm to administrate roles.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an PersonRole. |
implements Contact
A contact is either a person or an organization. Copied from FuGE::Contact.
Inherited attributes:
Attributes:
name: string (required) |
Address: text (optional) |
The address of the Contact. |
Phone: string (optional) |
The telephone number of the Contact including the suitable area codes. |
Email: string (optional) |
The email address of the Contact. |
Fax: string (optional) |
The fax number of the Contact. |
tollFreePhone: string (optional) |
A toll free phone number for the Contact, including suitable area codes. |
City: string (optional) |
Added from the old definition of MolgenisUser. City of this contact. |
Country: string (optional) |
Added from the old definition of MolgenisUser. Country of this contact. |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an Institute. |
unique(name): |
Field name is unique within an Institute. |
extends Person
Anyone who can login
Inherited attributes:
Attributes:
password_: string (required) |
big fixme: password type |
activationCode: string (optional) |
Used as alternative authentication mechanism to verify user email and/or if user has lost password. |
active: bool (required) |
Boolean to indicate if this account can be used to login |
superuser: bool (required) |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an MolgenisUser. |
implements Identifiable
Inherited attributes:
Attributes:
permission: enum (required) |
id: int (required) |
automatically generated id |
Associations:
role_: MolgenisRole (1..1) |
entity: MolgenisEntity (1..1) |
Constraints:
unique(id): |
Field id is unique within an MolgenisPermission. |
unique(role_, entity, permission): |
The combination of fields role_, entity, permission is unique within an MolgenisPermission. |
Interface for row level security
Associations:
canRead: MolgenisRole (0..1) |
canWrite: MolgenisRole (0..1) |
owns: MolgenisRole (1..1) |
Generic entities you can use as the starting point of your model.
This interface assigns an automatic 'id' field to every object.
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an Identifiable. |
implements Identifiable
This interface extends Identifiable with a unique 'name' field. The name length can be stored in one byte. (Java has signed integers) The name is by itself not unique, this should be enforced within a certain context. For example, unique(name, study) to make the name unique within one single study. The NameableDecorator ensures that names don't lead to problems in R and other script environments.
Inherited attributes:
Attributes:
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an Nameable. |
This interface adds a description field to all entities the implement it.
Attributes:
description: text (optional) |
description field |
implements Nameable
OntologyTerm defines a single entry (term) from an ontology or a
controlled vocabulary (defined by Ontology). The name is the
ontology term which is unique within an ontology source, such as
[examples here]. Other data entities can reference to this
OntologyTerm to harmonize naming of concepts. Each term should have
a local, unique label within the Investigation. If no suitable
ontology term exists then one can define new terms locally (in which
case there is no formal accession for the term limiting its use for
cross-Investigation queries). In those cases the local name should
be repeated in both term and termAccession. Maps to
FuGE::OntologyIndividual; in MAGE-TAB there is no separate entity to
model terms.
Optionally a local controlled vocabulary or ontology can be defined,
for example to represent 'Codelists' often used in questionaires.
Note: this is not a InvestigationElement because of the additional
xref_label and unique constraint.This class defines 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 OntologyTerm 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.
Inherited attributes:
Attributes:
__Type: enum (required) |
Subtypes have to be set to allow searching
enum_options: 'OntologyTerm', 'PersonRole', 'Species', 'AlternateId', 'Tissue', 'SampleLabel' |
termAccession: string (optional) |
(Optional) The accession number assigned to the ontology term in its source ontology. If empty it is assumed to be a locally defined term. |
definition: string (optional) |
(Optional) The definition of the term. |
termPath: string (optional) |
EXTENSION. The Ontology Lookup Service path that contains this term. |
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Associations:
ontology: Ontology (0..1) |
(Optional) The source ontology or controlled vocabulary list that ontology terms have been obtained from. |
Constraints:
unique(id): |
Field id is unique within an OntologyTerm. |
unique(ontology, termAccession): |
The term accession is unique within an Ontology. |
unique(ontology, name): |
ADDITION: Name is unique within its type . |
implements Nameable
Ontology defines a reference to a an ontology or controlled vocabulary from which well-defined and stable (ontology) terms can be obtained. Each Ontology should have a unique name, for instance: Gene Ontology, Mammalian Phenotype, Human Phenotype Ontology, Unified Medical Language System, Medical Subject Headings, etc. Also a abbreviation is required, for instance: GO, MP, HPO, UMLS, MeSH, etc. Use of existing ontologies/vocabularies is recommended to harmonize phenotypic feature and value descriptions. But one can also create a 'local' Ontology. The Ontology class maps to FuGE::Ontology, MAGE-TAB::TermSourceREF.
Inherited attributes:
Attributes:
ontologyAccession: string (optional) |
A identifier that uniquely identifies the ontology (typically an acronym). E.g. GO, MeSH, HPO. |
ontologyURI: hyperlink (optional) |
(Optional) A URI that references the location of the ontology. |
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an Ontology. |
unique(name): |
Name is unique within its type . |
implements Nameable
Helper entity to deal with files. Has a decorator to regulate
storage and coupling to an Entity. Do not make abstract because of
subtyping. This means the names of the subclasses will be used to
distinguish MolgenisFiles and place them in the correct folders.
MS: make it use the <field type="file" property under the hood.
MS: where do the mimetypes go? I mean, I don't see the added value
now.
Inherited attributes:
Attributes:
__Type: enum (required) |
Subtypes have to be set to allow searching
enum_options: 'MolgenisFile', 'BinaryDataMatrix', 'CSVDataMatrix', 'OriginalFile', 'ProtocolDocument', 'RScript', 'InvestigationFile' |
Extension: string (required) |
The file extension. This will be mapped to MIME type at runtime. For example, a type 'png' will be served out as 'image/png'. |
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an MolgenisFile. |
unique(name): |
Field name is unique within an MolgenisFile. |
implements Nameable
Inherited attributes:
Attributes:
Value: string (required) |
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an RuntimeProperty. |
unique(name): |
Name is unique within its type . |
implements Nameable
Publication is part of the Investigation package and is used to
represent information about one or more publications related to an
Investigation. The publication need not only be primary publication
for an Investigation but may also represent other related
information- though this use is less common. Publications have
attributes of publications Authors and also DOI and Pubmed
identifiers (when these are available). These are represented as
OntologyTerms as in the MAGE-TAB model all 'xrefs' (cross
references) for ontologies and accession numbers are handled
generically. An example of a publication is available in an IDF file
from ArrayExpress is experiment E-MTAB-506
ftp://ftp.ebi.ac.uk/pub/databases/microarray/data/experiment/TABM/E-TABM-506/E-TABM-506.idf.txt
.
The FuGE equivalent to Publication is FuGE::Bibliographic Reference.
Inherited attributes:
Attributes:
authorList: text (optional) |
The names of the authors of the publication |
Title: string (required) |
The title of the Publication |
Year: string (optional) |
The year of the Publication |
Journal: string (optional) |
The title of the Journal |
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Associations:
PubmedID: OntologyTerm (0..1) |
Pubmed ID |
DOI: OntologyTerm (0..1) |
Publication DOI |
Status: OntologyTerm (0..1) |
The status of the Publication |
Constraints:
unique(id): |
Field id is unique within an Publication. |
unique(name): |
Field name is unique within an Publication. |
All the use cases send to the server are stored in this entity .
Attributes:
UseCaseId: int (required) |
UseCaseName: string (required) |
SearchType: string (required) |
Constraints:
unique(UseCaseId): |
Field UseCaseId is unique within an UseCase. |
unique(UseCaseName): |
Field UseCaseName is unique within an UseCase. |
implements Identifiable
Referenceable catalog of entity names, menus, forms and plugins.
Inherited attributes:
Attributes:
name: string (required) |
Name of the entity |
type_: string (required) |
Type of the entity |
className: string (required) |
Full name of the entity |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an MolgenisEntity. |
unique(className): |
Field className is unique within an MolgenisEntity. |
unique(name, type_): |
The combination of fields name, type_ is unique within an MolgenisEntity. |
This package enables data models to treat part of their data model as data matrix. is essential for Entity Attribute Value modeling such as used in xgap and pheno.
extends ObservationTarget
ObservedFile is to store observations that result in a file. Mapping to other models: MAGE-TAB 1.1 has the column ArrayDataFile and DerivedArrayDataFile. In order to make the MAGE-TAB 1.1. model more generic we have generalized these to DataFile and provided named associations to the respective types via Scan and Assay. TODO: make this link to MolgenisFile? Or distinguish between links and data?
Inherited attributes:
Attributes:
uri: string (required) |
reference to the location of the file |
id: int (required) |
automatically generated id |
Associations:
format: OntologyTerm (1..1) |
format of the file. Discussion: is this not already solved in MolgenisFile |
Constraints:
unique(id): |
Field id is unique within an DataFile. |
extends ProtocolApplication
Data is a data structure to store a homogeneous matrix of
observedvalues as one unit, that is, all data elements in the set
have the same type of feature, target and value. For example: an
expression qtlProfile (observation.feature) for a Panel of mouse
(observation.target) that consists of a matrix of Probe X marker
(featureType and targetType respectively). In the user interface we
expect that this observation can be shown as a bigger set of
observations but click-able so the user can drill down to the
underlying matrix.
Data is also an observationTarget: this allows Data to be referred
to in an ObservedValue.relation. TODO: describe how this can be used
to define inputs/outputs for a protocolApplication. This would allow
us to use it to link 'pheno' to 'cluster' package so that the whole
provenace can be administrated as part of the observation models.
This class maps to XGAP.DataMatrix and MAGE-TAB.Data.
Inherited attributes:
Attributes:
FeatureType: enum (required) |
Defines the type of the columns of this data set. Each column refers to a Feature or Subject.
enum_options: 'Chromosome', 'DerivedTrait', 'EnvironmentalFactor', 'Gene', 'Individual', 'Marker', 'MassPeak', 'Measurement', 'Metabolite', 'Panel', 'Probe', 'ProbeSet', 'Sample', 'Spot', 'SNP', 'Promoter', 'ChipPeak' |
TargetType: enum (required) |
Defines the type of the rows of this matrix. Each row refers to a Feature or Subject.
enum_options: 'Chromosome', 'DerivedTrait', 'EnvironmentalFactor', 'Gene', 'Individual', 'Marker', 'MassPeak', 'Measurement', 'Metabolite', 'Panel', 'Probe', 'ProbeSet', 'Sample', 'Spot', 'SNP', 'Promoter', 'ChipPeak' |
ValueType: enum (required) |
Type of the values of this matrix, either text strings or decimal numbers.
enum_options: 'Text', 'Decimal' |
Storage: enum (required) |
Tells you how the data elements are stored or should be stored. For example, 'Binary'.
enum_options: 'Database', 'Binary', 'CSV' |
id: int (required) |
automatically generated id |
name: string (required) |
human-readable name. |
Constraints:
unique(id): |
Field id is unique within an Data. |
unique(name): |
name is unique within data matrix. |
implements Observation
Extension of observed value that keeps track of the position in a Data matrix and can be used to store the elements of Data. Copied from XGAP. MAGE-TAB 1.1. has the column ArrayDataMatrix and DerivedArrayDataMatrix. The formats of both types are tab-delimited and the distinction is that an ArrayDataMatrix is raw data and the DerivedArrayDataMatrix is processed data. The DerivedArrayDataMatrix associates a file of a specific format - seehe MAGE-TAB specification for details. In order to index the Rows and Columns of DataMatrix we have generated a DimensionElement that allows us to index DimensionRow and DimensionColumn.
Inherited attributes:
Attributes:
FeatureIndex: int (required) |
Row position in the matrix. |
TargetIndex: int (required) |
Col position in the matrix. |
id: int (required) |
automatically generated id |
Associations:
Data: Data (1..1) |
Reference to the data set this entity belongs to. |
Investigation: Investigation (0..1) |
protocolApplication: ProtocolApplication (0..1) |
Reference to the protocol application that was used to produce this observation. For example a particular patient visit or the application of a microarray or the calculation of a QTL model |
Feature: ObservationElement (1..1) |
References the ObservableFeature that this observation was made on. For example 'probe123'. Can be ommited for 1D data (i.e., a data list). |
Target: ObservationElement (1..1) |
References the ObservationTarget that this feature was made on. For example 'individual1'. In a correlation matrix this could be also 'probe123'. |
Constraints:
unique(id): |
Field id is unique within an DataElement. |
unique(FeatureIndex, TargetIndex, Data): |
The combination of fields FeatureIndex, TargetIndex, Data is unique within an DataElement. |
extends MolgenisFile
Binary file backend for a datamatrix. This extension is used to deal with the actual source file. Coupled to a matrix with source type 'BinaryFile'. This entity is not shown in the interface. Discussion: I am not so happy with the need of alternative subclasses. Instead you just need a driver.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Associations:
Data: Data (1..1) |
Reference to the datamatrix this binary file belongs to. |
Constraints:
unique(id): |
Field id is unique within an BinaryDataMatrix. |
extends MolgenisFile
CSV file backend for a datamatrix. Convenient to deal with the actual source file. Coupled to a matrix with source type 'CSVFile'. This entity is not shown in the interface.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Associations:
Data: Data (1..1) |
Reference to the datamatrix this CSV file belongs to. |
Constraints:
unique(id): |
Field id is unique within an CSVDataMatrix. |
implements DataElement
A DataElement for storing decimal data.
Inherited attributes:
Attributes:
Value: decimal (optional) |
The value, e.g., correlation. |
FeatureIndex: int (required) |
Row position in the matrix. |
TargetIndex: int (required) |
Col position in the matrix. |
id: int (required) |
automatically generated id |
Associations:
Data: Data (1..1) |
Reference to the data set this entity belongs to. |
Investigation: Investigation (0..1) |
protocolApplication: ProtocolApplication (0..1) |
Reference to the protocol application that was used to produce this observation. For example a particular patient visit or the application of a microarray or the calculation of a QTL model |
Feature: ObservationElement (1..1) |
References the ObservableFeature that this observation was made on. For example 'probe123'. Can be ommited for 1D data (i.e., a data list). |
Target: ObservationElement (1..1) |
References the ObservationTarget that this feature was made on. For example 'individual1'. In a correlation matrix this could be also 'probe123'. |
Constraints:
unique(id): |
Field id is unique within an DecimalDataElement. |
unique(FeatureIndex, TargetIndex, Data): |
The combination of fields FeatureIndex, TargetIndex, Data is unique within an DecimalDataElement. |
implements DataElement
Store text data
Inherited attributes:
Attributes:
Value: string (optional) |
The value, e.g., genotype strings like AA, BA, BB. |
FeatureIndex: int (required) |
Row position in the matrix. |
TargetIndex: int (required) |
Col position in the matrix. |
id: int (required) |
automatically generated id |
Associations:
Data: Data (1..1) |
Reference to the data set this entity belongs to. |
Investigation: Investigation (0..1) |
protocolApplication: ProtocolApplication (0..1) |
Reference to the protocol application that was used to produce this observation. For example a particular patient visit or the application of a microarray or the calculation of a QTL model |
Feature: ObservationElement (1..1) |
References the ObservableFeature that this observation was made on. For example 'probe123'. Can be ommited for 1D data (i.e., a data list). |
Target: ObservationElement (1..1) |
References the ObservationTarget that this feature was made on. For example 'individual1'. In a correlation matrix this could be also 'probe123'. |
Constraints:
unique(id): |
Field id is unique within an TextDataElement. |
unique(FeatureIndex, TargetIndex, Data): |
The combination of fields FeatureIndex, TargetIndex, Data is unique within an TextDataElement. |
extends MolgenisFile
An unmodified original file that belongs to this datamatrix.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Associations:
Data: Data (1..1) |
Reference to the datamatrix this file belongs to. |
Constraints:
unique(id): |
Field id is unique within an OriginalFile. |
Generic entities you can use as the starting point of your model.
implements Nameable, Describable
Investigation defines self-contained units of study. For example: Framingham study. Optionally a description and an accession to a data source can be provided. Each Investigation has a unique name and a group of subjects of observation (ObservableTarget), traits of observation (ObservableFeature), results (in ObservedValues), and optionally actions (Protocols, ProtoclApplications). 'Invetigation' maps to standard XGAP/FuGE Investigation, MAGE-TAB Experiment and METABASE:Study.
Inherited attributes:
Attributes:
startDate: datetime (optional) |
The start point of the study. |
endDate: datetime (optional) |
The end point of the study. |
accession: hyperlink (optional) |
(Optional) URI or accession number to indicate source of Study. E.g. arrayexpress:M-EXP-2345 |
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
description: text (optional) |
description field |
Associations:
contacts: Person (0..n) |
Contact persons for this study |
Constraints:
unique(id): |
Field id is unique within an Investigation. |
unique(name): |
Name is unique. |
implements Nameable, Describable
General superclass to use for all elements of an Investigation. The unique forces all of these elements to have unique names within one Investigation. (can be changed to Name,Study,Type by flipping a boolean in the molgenis 'Unique' class.)
Inherited attributes:
Attributes:
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
description: text (optional) |
description field |
Associations:
Investigation: Investigation (0..1) |
Reference to the Study that this data element is part of |
Constraints:
unique(id): |
Field id is unique within an InvestigationElement. |
unique(name, Investigation): |
Name is unique within an Investigation. |
Pheno is an generic version of XGAP developed in close collaboration within GEN2PHEN, EBI, UMC Groningen, U Groningen, FIMM, U Leicester. Todo: add docs again from pheno model. The pheno core needs to be preserved! Add changelog special section.
extends OntologyTerm
Ontology terms for species. E.g. Arabidopsis thaliana. DISCUSSION: should we avoid subclasses of OntologyTerm and instead make a 'tag' filter on terms so we can make pulldowns context dependent (e.g. to only show particular subqueries of ontologies).
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an Species. |
extends OntologyTerm
An external identifier for an annotation. For example: name='R13H8.1', ontology='ensembl' or name='WBgene00000912', ontology='wormbase'.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an AlternateId. |
implements InvestigationElement
Elements that are the targets or features we are looking at of our research.
Inherited attributes:
Attributes:
__Type: enum (required) |
Subtypes have to be set to allow searching
enum_options: 'ObservationElement', 'DataFile', 'Individual', 'Location', 'Panel', 'Sample', 'PairedSample', 'ObservationTarget', 'Measurement', 'Chromosome', 'NMRBin', 'Clone', 'DerivedTrait', 'EnvironmentalFactor', 'Gene', 'Transcript', 'Protein', 'Metabolite', 'SNP', 'Marker', 'Polymorphism', 'Spot', 'Probe', 'ProbeSet', 'MassPeak', 'ObservableFeature', 'Category' |
label: string (optional) |
User friendly textual representation of this ObservationElement. For example: 'male', 'mouse 3 in cage 7' or 'TRA-2 like protein'. Label allows for human-readable name that is potentially not unique. |
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
description: text (optional) |
description field |
Associations:
ontologyReference: OntologyTerm (0..n) |
(Optional) Reference to the formal ontology definition for this element, e.g. 'Animal' or 'GWAS protocol' |
AlternateId: AlternateId (0..n) |
Alternative identifiers or symbols that this element is known by. |
Investigation: Investigation (0..1) |
Reference to the Study that this data element is part of |
Constraints:
unique(id): |
Field id is unique within an ObservationElement. |
unique(name, Investigation): |
Name is unique within an Investigation. |
unique(name): |
Field name is unique within an ObservationElement. |
extends ObservationElement
An ObservationTarget class defines the subjects of observation. For instance: individual 1 from Investigation x. The ObservationTarget class maps to XGAP:Subject, METABASE:Patient and maps to Page:Abstract_Observation_Target. The name of observationTargets is unique.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an ObservationTarget. |
extends ObservationElement
ObservableFeature defines anything that can be observed in a phenotypic Investigation. For instance: Height, Systolic blood pressure, Diastolic blood pressure, and Treatment for hypertension are observable features. The name of ObservableFeature is unique within one Investigation. It is recommended that each ObservableFeature is named according to a well-defined ontology term which can be specified via ontologyReference. Note that in some instances an observableFeature can also be an observationTarget, for example in the case of correlation matrices. The ObservableFeature class maps to XGAP:Trait, METABASE:Question, FuGE:DimensionElement, and PaGE:ObservableFeature. Multi-value features can be grouped by Protocol. For instance: high blood pressure can be inferred from observations for features systolic and diastolic blood pressure. There may be many alternative protocols to measure a feature. See Protocol section.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an ObservableFeature. |
extends ObservableFeature
Generic obserable feature to flexibly define a measurement
Inherited attributes:
Attributes:
dataType: enum (required) |
(Optional) Reference to the technical data type. E.g. 'int'
enum_options: 'xref', 'string', 'categorical', 'date', 'datetime', 'int', 'code', 'image', 'decimal', 'bool', 'file', 'log', 'data', 'exe' |
temporal: bool (required) |
Whether this feature is time dependent and can have different values when measured on different times (e.g. weight, temporal=true) or generally only measured once (e.g. birth date, temporal=false) |
description: text (optional) |
(Optional) Rudimentary meta data about the observable feature. Use of ontology terms references to establish unambigious descriptions is recommended |
panelLabelAllowedForRelation: string (optional) |
Label that must have been applied to the Panel that can be linked to (through the 'relation' field in ObservedValue) when using this Measurement (example: a Measurement 'Species' can only result in ObservedValues that have relations to Panels labeled as 'Species') |
id: int (required) |
automatically generated id |
Associations:
unit: OntologyTerm (0..1) |
(Optional) Reference to the well-defined measurement unit used to observe this feature (if feature is that concrete). E.g. mmHg |
categories: Category (0..n) |
Translation of codes into categories if applicable |
targettypeAllowedForRelation: MolgenisEntity (0..1) |
Subclass of ObservationTarget (Individual, Panel or Location) that can be linked to (through the 'relation' field in ObservedValue) when using this Measurement (example: a Measurement 'Species' can only result in ObservedValues that have relations to Panels) |
Constraints:
unique(id): |
Field id is unique within an Measurement. |
extends ObservationElement
Special kind of ObservationElement to define categorical answer codes such as are often used in Questionaires. A list of categories can be attached to an Measurement using Measurement.categories. For example the Measurement 'sex' has {code_string = 1, label=male} and {code_string = 2, label=female}. Categories can be linked to well-defined ontology terms via the ontologyReference. Category extends ObservationElement such that it can be referenced by ObservedValue.value. The Category class maps to METABASE::Category
Inherited attributes:
Attributes:
code_string: string (required) |
The code used to represent this category. For example: { '1' codes for 'male', '2'-'female'} |
description: text (required) |
Description of the code. Use of ontology terms references to establish unambigious descriptions is recommended |
isMissing: bool (required) |
whether this code should be treated as missing value. |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an Category. |
extends ObservationTarget
The Individuals class defines human cases that are used as observation target. The Individual class maps to XGAP:Individual and PaGE:Individual. Note that minimal information like 'sex' can be defined as ObservedValue, and that that basic relationships like 'father' and 'mother' can also be defined via ObservedRelationship, using the 'relation' field. Groups of individuals can be defined via Panel.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Associations:
Mother: Individual (0..1) |
Refers to the mother of the individual. |
Father: Individual (0..1) |
Refers to the father of the individual. |
Constraints:
unique(id): |
Field id is unique within an Individual. |
extends ObservationTarget
This class defines physical locations such as buildings, departments, rooms, freezers and cages. Use ObservedValues to link locations to eachother, to build a location hierarchy.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an Location. |
extends ObservationTarget
The Panel class defines groups of individuals based on cohort design, case/controls, families, etc. For instance: LifeLines cohort, 'middle aged man', 'recombinant mouse inbred Line dba x b6' or 'Smith family'. A Panel can act as a single ObservationTarget. For example: average height (ObservedValue) in the LifeLines cohort (Panel) is 174cm. The Panel class maps to XGAP:Strain and PaGE:Panel classes. In METABASE this is assumed there is one panel per study.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Associations:
Individuals: Individual (0..n) |
The list of individuals in this panel |
Species: Species (0..1) |
The species this panel is an instance of/part of/extracted from. |
PanelType: OntologyTerm (0..1) |
Indicate the type of Panel (example: Natural=wild type, Parental=parents of a cross, F1=First generation of cross, RCC=Recombinant congenic, CSS=chromosome substitution) |
FounderPanels: Panel (0..n) |
The panel(s) that were used to create this panel. |
Constraints:
unique(id): |
Field id is unique within an Panel. |
implements Identifiable
FIXME: change to ObservationTarget?
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Associations:
Investigation: Investigation (0..1) |
protocolApplication: ProtocolApplication (0..1) |
Reference to the protocol application that was used to produce this observation. For example a particular patient visit or the application of a microarray or the calculation of a QTL model |
Feature: ObservationElement (1..1) |
References the ObservableFeature that this observation was made on. For example 'probe123'. Can be ommited for 1D data (i.e., a data list). |
Target: ObservationElement (1..1) |
References the ObservationTarget that this feature was made on. For example 'individual1'. In a correlation matrix this could be also 'probe123'. |
Constraints:
unique(id): |
Field id is unique within an Observation. |
implements Observation
Generic storage of values, relationships and optional ontology
mapping of the value/relation. Values can be atomatic observations,
e.g., length (feature) of individual 1 (target) = 179cm (value).
Values can also be relationship values, e.g., extract (feature) of
sample 1 (target) = derived sample (relation).
Discussion: how to model sample pooling in this model?
More Discussion: do we want to have type specific subclasses? No,
because you can solve this by casting during querying?
Inherited attributes:
Attributes:
value: string (optional) |
The value observed |
time: datetime (optional) |
(Optional) Time when the value was observed. For example in time series or if feature is time-dependent like 'age' |
endtime: datetime (optional) |
(Optional) Time when the value's validity ended |
id: int (required) |
automatically generated id |
Associations:
ontologyReference: OntologyTerm (0..1) |
(Optional) Reference to the ontology definition or 'code' for this value (recommended for non-numeric values such as codes) |
relation: ObservationElement (0..1) |
Reference to other end of the relationship, if any. For example to a 'brother' or from 'sample' to 'derivedSample'. |
Investigation: Investigation (0..1) |
protocolApplication: ProtocolApplication (0..1) |
Reference to the protocol application that was used to produce this observation. For example a particular patient visit or the application of a microarray or the calculation of a QTL model |
Feature: ObservationElement (1..1) |
References the ObservableFeature that this observation was made on. For example 'probe123'. Can be ommited for 1D data (i.e., a data list). |
Target: ObservationElement (1..1) |
References the ObservationTarget that this feature was made on. For example 'individual1'. In a correlation matrix this could be also 'probe123'. |
Constraints:
unique(id): |
Field id is unique within an ObservedValue. |
Molgenis compute framework that extends the molgenis protocol framework adding the computational details
implements InvestigationElement
The Protocol class defines parameterizable descriptions of methods;
each protocol has a unique name within an Study. Each
ProtocolApplication can define the ObservableFeatures it can
observe. Also the protocol parameters can be modeled using
ObservableFeatures (Users are expected to 'tag' the observeable
feature by setting ObserveableFeature type as 'ProtocolParameter'.
Examples of protocols are: SOP for blood pressure measurement used
by UK biobank, or 'R/qtl' as protocol for statistical analysis.
Protocol is a high level object that represents the details of
protocols used during the investigation. The uses of Protocols to
process BioMaterials and Data are referenced by ProtocolApplication
(in the SDRF part of the format). Protocol has an association to
OntologyTerm to represent the type of protocol. Protocols are
associated with Hardware, Software and Parameters used in the
Protocol. An example from ArrayExpress is E-MTAB-506
ftp://ftp.ebi.ac.uk/pub/databases/microarray/data/experiment/TABM/E-TABM-506/E-TABM-506.idf.txt.
The FUGE equivalent to Protocol is FuGE::Protocol.
The Protocol class maps to FuGE/XGAP/MageTab Protocol, but in
contrast to FuGE it is not required to extend protocol before use.
The Protocol class also maps to METABASE:Form (note that components
are solved during METABASE:Visit which can be nested). Has no
equivalent in PaGE.
Inherited attributes:
Attributes:
__Type: enum (required) |
Subtypes have to be set to allow searching
enum_options: 'Protocol', 'Workflow' |
description: richtext (optional) |
Description, or reference to a description, of the protocol |
TargetFilter: string (optional) |
Expression that filters the InvestigationElements that can be targetted using this protocol. This helps the user to only select from targets that matter when setting observedvalues. For example: type='individual' AND species = 'human' |
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Associations:
ontologyReference: OntologyTerm (0..n) |
(Optional) Reference to the formal ontology definition for this element, e.g. 'Animal' or 'GWAS protocol' |
ProtocolType: OntologyTerm (0..1) |
annotation of the protocol to a well-defined ontological class. |
Features: ObservableFeature (0..n) |
The features that can be observed using this protocol. For example 'length' or 'rs123534' or 'probe123'. Also protocol parameters are considered observable features as they are important to the interpretation of the observed values. |
Contact: Person (0..1) |
TODO Check if there can be multiple contacts. |
subprotocols: Protocol (0..n) |
Subprotocols of this protocol |
Investigation: Investigation (0..1) |
Reference to the Study that this data element is part of |
Constraints:
unique(id): |
Field id is unique within an Protocol. |
unique(name, Investigation): |
Name is unique within an Investigation. |
implements InvestigationElement
A ProtocolApplication class defines the actual action of observation
by refering to a protocol and optional ParameterValues. The name
field can be used to label applications with a human understandeable
tag. For example: the action of blood pressure measurement on 1000
individuals, using a particular protocol, resulting in 1000
associated observed values. If desired, protocols can be shared
between Studys; in those cases one should simply refer to a protocol
in another Study.
ProtocolApplications are used in MAGE-TAB format to reference to
protocols used, with optionally use of certain protocol parameter
values. For example, a Source may be transformed into a Labeled
Extract by the subsequent application of a Extraction and Labeling
protocol. ProtocolApplication is associated with and Edge that links
input/output, e.g. Source to Labeled Extract. The order of the
application of protocols can be set in order to be able to
reconstruct the left-to-right order of protocol references in
MAGE-TAB format. The FuGE equivalent to ProtocolApplication is
FuGE:ProtocolApplication, however input/output is modeled using
Edge.
The ProtocolApplication class maps to FuGE/XGAP ProtocolApplication,
but in FuGE ProtocolApplications can take Material or Data (or both)
as input and produce Material or Data (or both) as output. Similar
to PaGE.ObservationMethod. Maps to METABASE:Visit (also note that
METABASE:PlannedVisit allows for planning of protocol applications;
this is outside scope for this model?).
Inherited attributes:
Attributes:
__Type: enum (required) |
Subtypes have to be set to allow searching
enum_options: 'ProtocolApplication', 'Data' |
time: datetime (required) |
time when the protocol was applied. |
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
description: text (optional) |
description field |
Associations:
ontologyReference: OntologyTerm (0..n) |
(Optional) Reference to the formal ontology definition for this element, e.g. 'Animal' or 'GWAS protocol' |
protocol: Protocol (0..1) |
Reference to the protocol that is being used. |
Performer: Person (0..n) |
Investigation: Investigation (0..1) |
Reference to the Study that this data element is part of |
Constraints:
unique(id): |
Field id is unique within an ProtocolApplication. |
unique(name, Investigation): |
Name is unique within an Investigation. |
extends MolgenisFile
Inherited attributes:
Attributes:
document: file (required) |
id: int (required) |
automatically generated id |
Associations:
protocol: Protocol (1..1) |
Constraints:
unique(id): |
Field id is unique within an ProtocolDocument. |
extends Protocol
implements Identifiable, Nameable
A workflow is a plan to execute a series of subprotocols in a particular order. Each workflow elements is another protocol as refered to via WorkflowElement. Because Workflow extends Protocol, workflows can be nested just as any other protocol.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
name: string (required) |
human-readable name. |
Constraints:
unique(id): |
Field id is unique within an Workflow. |
unique(name): |
Field name is unique within an Workflow. |
implements Nameable
Elements of a workflow are references to protocols. The whole workflow is a directed graph with each element pointing to the previousSteps that the current workflow element depends on.
Inherited attributes:
Attributes:
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Associations:
Workflow: Workflow (1..1) |
Workflow this element is part of |
protocol: Protocol (1..1) |
Protocol to be used at this workflow step |
PreviousSteps: WorkflowElement (0..n) |
Previous steps that need to be done before this protocol can be executed. |
Constraints:
unique(id): |
Field id is unique within an WorkflowElement. |
unique(name): |
Field name is unique within an WorkflowElement. |
implements Identifiable
Element parameters are the way to link workflow elements together. It allows override of the parameters from the previous step.
Inherited attributes:
Attributes:
Value: string (required) |
Value of this parameter. Can be a template of form ${other} refering to previous values in context. |
id: int (required) |
automatically generated id |
Associations:
WorkflowElement: WorkflowElement (1..1) |
To attach a parameter to a WorkflowElement |
Parameter: ObservableFeature (1..1) |
Parameter definition. |
Constraints:
unique(id): |
Field id is unique within an WorkflowElementParameter. |
unique(WorkflowElement, Parameter): |
Feature value is set only once per element. |
XGAP
position. Typical examples of such traits are genes, probes and markers. Common structure for entities that have a genomic
Attributes:
cM: decimal (optional) |
genetic map position in centi morgan (cM). |
bpStart: long (optional) |
numeric basepair postion (5') on the chromosome |
bpEnd: long (optional) |
numeric basepair postion (3') on the chromosome |
Seq: text (optional) |
The FASTA text representation of the sequence. |
Symbol: string (optional) |
todo |
Associations:
Chromosome: Chromosome (0..1) |
Reference to the chromosome this position belongs to. |
extends ObservableFeature
Inherited attributes:
Attributes:
orderNr: int (required) |
isAutosomal: bool (required) |
Is 'yes' when number of chromosomes is equal in male and female individuals, i.e., if not a sex chromosome. |
bpLength: int (optional) |
Lenght of the chromsome in base pairs. |
id: int (required) |
automatically generated id |
Associations:
Species: Species (0..1) |
Reference to the species this chromosome belongs to. |
Constraints:
unique(id): |
Field id is unique within an Chromosome. |
extends ObservableFeature
Shift of the NMR frequency due to the chemical environment.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an NMRBin. |
extends ObservableFeature
implements Locus
BAC clone fragment.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
cM: decimal (optional) |
genetic map position in centi morgan (cM). |
bpStart: long (optional) |
numeric basepair postion (5') on the chromosome |
bpEnd: long (optional) |
numeric basepair postion (3') on the chromosome |
Seq: text (optional) |
The FASTA text representation of the sequence. |
Symbol: string (optional) |
todo |
Associations:
Chromosome: Chromosome (0..1) |
Reference to the chromosome this position belongs to. |
Constraints:
unique(id): |
Field id is unique within an Clone. |
extends ObservableFeature
Any meta trait, eg. false discovery rates, P-values, thresholds.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an DerivedTrait. |
extends ObservableFeature
Experimental conditions, such as temperature differences, batch effects etc.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an EnvironmentalFactor. |
extends ObservableFeature
implements Locus
Trait annotations specific for genes.
Inherited attributes:
Attributes:
Symbol: string (optional) |
Main symbol this gene is known by (not necessarily unique, in constrast to 'name') |
Orientation: enum (optional) |
Orientation of the gene on the genome (F=forward, R=reverse)
enum_options: 'F', 'R' |
Control: bool (optional) |
Indicating whether this is a 'housekeeping' gene that can be used as control. |
id: int (required) |
automatically generated id |
cM: decimal (optional) |
genetic map position in centi morgan (cM). |
bpStart: long (optional) |
numeric basepair postion (5') on the chromosome |
bpEnd: long (optional) |
numeric basepair postion (3') on the chromosome |
Seq: text (optional) |
The FASTA text representation of the sequence. |
Associations:
Chromosome: Chromosome (0..1) |
Reference to the chromosome this position belongs to. |
Constraints:
unique(id): |
Field id is unique within an Gene. |
extends ObservableFeature
Trait annotations specific for transcripts.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Associations:
Gene: Gene (0..1) |
The gene that produces this protein |
Constraints:
unique(id): |
Field id is unique within an Transcript. |
extends ObservableFeature
Trait annotations specific for proteins.
Inherited attributes:
Attributes:
AminoSequence: text (optional) |
The aminoacid sequence. |
Mass: decimal (optional) |
The mass of this metabolite |
id: int (required) |
automatically generated id |
Associations:
Gene: Gene (0..1) |
The gene that produces this protein |
Transcript: Transcript (0..1) |
The transcript variant that produces this protein |
Constraints:
unique(id): |
Field id is unique within an Protein. |
extends ObservableFeature
Trait annotations specific for metabolites.
Inherited attributes:
Attributes:
Formula: string (optional) |
The chemical formula of a metabolite. |
Mass: decimal (optional) |
The mass of this metabolite |
Structure: text (optional) |
The chemical structure of a metabolite (in SMILES representation). |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an Metabolite. |
extends ObservableFeature
implements Locus
Trait annotations specific for markers.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
cM: decimal (optional) |
genetic map position in centi morgan (cM). |
bpStart: long (optional) |
numeric basepair postion (5') on the chromosome |
bpEnd: long (optional) |
numeric basepair postion (3') on the chromosome |
Seq: text (optional) |
The FASTA text representation of the sequence. |
Symbol: string (optional) |
todo |
Associations:
ReportsFor: Marker (0..n) |
The marker (or a subclass like 'SNP') this marker (or a subclass like 'SNP') reports for. |
Chromosome: Chromosome (0..1) |
Reference to the chromosome this position belongs to. |
Constraints:
unique(id): |
Field id is unique within an Marker. |
extends Marker
A SNP is a special kind of Marker, but can also be seen as a phenotype to map against in some cases. A single-nucleotide polymorphism is a DNA sequence variation occurring when a single nucleotide in the genome (or other shared sequence) differs between members of a biological species or paired chromosomes in an individual.
Inherited attributes:
Attributes:
Status: string (optional) |
The status of this SNP, eg 'confirmed'. |
id: int (required) |
automatically generated id |
Associations:
Polymorphism: Polymorphism (0..n) |
The polymorphism that belongs to this SNP. |
Constraints:
unique(id): |
Field id is unique within an SNP. |
extends ObservableFeature
The difference of a single base discovered between two sequenced individuals.
Inherited attributes:
Attributes:
Base: enum (required) |
The affected DNA base. Note that you can select the reference base here.
enum_options: 'Reference', 'A', 'T', 'C', 'G' |
Value: string (optional) |
The strain/genotype for which this polymorphism was discovered. E.g. 'N2' or 'CB4856'. |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an Polymorphism. |
extends ObservableFeature
implements Locus
A piece of sequence that reports for the expression of a gene, typically spotted onto a microarray.
Inherited attributes:
Attributes:
Mismatch: bool (required) |
Indicating whether the probe is a match |
id: int (required) |
automatically generated id |
cM: decimal (optional) |
genetic map position in centi morgan (cM). |
bpStart: long (optional) |
numeric basepair postion (5') on the chromosome |
bpEnd: long (optional) |
numeric basepair postion (3') on the chromosome |
Seq: text (optional) |
The FASTA text representation of the sequence. |
Symbol: string (optional) |
todo |
Associations:
ProbeSet: ProbeSet (0..1) |
Optional: probeset this probe belongs to (e.g., in Affymetrix assays). |
ReportsFor: Gene (0..1) |
The gene this probe reports for. |
Chromosome: Chromosome (0..1) |
Reference to the chromosome this position belongs to. |
Constraints:
unique(id): |
Field id is unique within an Probe. |
extends Probe
This is the spot on a microarray.
Note: We don't distinquish between probes (the sequence) and spots
(the sequence as spotted on the array).
Inherited attributes:
Attributes:
x: int (required) |
Row |
y: int (required) |
Column |
GridX: int (optional) |
Meta Row |
GridY: int (optional) |
Meta Column |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an Spot. |
unique(x, y, GridX, GridY): |
The combination of fields x, y, GridX, GridY is unique within an Spot. |
extends ObservableFeature
implements Locus
A set of Probes. E.g. an Affymetrix probeset has multiple probes. It implements locus because sometimes you want to give the complete set of probes a range, for example: indicating that this set of probes spans basepair 0 through 10.000.000 on chromosome 3. The same information could arguably also be queried from the probes themselves, but if you have 40k probes, retrieving the same information from only ProbeSet (if annotated so) would be much faster.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
cM: decimal (optional) |
genetic map position in centi morgan (cM). |
bpStart: long (optional) |
numeric basepair postion (5') on the chromosome |
bpEnd: long (optional) |
numeric basepair postion (3') on the chromosome |
Seq: text (optional) |
The FASTA text representation of the sequence. |
Symbol: string (optional) |
todo |
Associations:
Chromosome: Chromosome (0..1) |
Reference to the chromosome this position belongs to. |
Constraints:
unique(id): |
Field id is unique within an ProbeSet. |
extends ObservableFeature
A peak that has been selected within a mass spectrometry experiment.
Inherited attributes:
Attributes:
MZ: decimal (optional) |
Mass over charge ratio of this peak. |
RetentionTime: decimal (optional) |
The retention-time of this peak in minutes. |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an MassPeak. |
extends MolgenisFile
implements Describable
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
description: text (optional) |
description field |
Associations:
Investigation: Investigation (1..1) |
Reference to the Study. |
Constraints:
unique(id): |
Field id is unique within an InvestigationFile. |
extends OntologyTerm
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an Tissue. |
extends OntologyTerm
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an SampleLabel. |
extends ObservationTarget
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Associations:
Individual: Individual (0..1) |
The individual from which this sample was taken. |
Tissue: Tissue (0..1) |
The tissue from which this sample was taken. |
Constraints:
unique(id): |
Field id is unique within an Sample. |
extends ObservationTarget
A pair of samples labeled for a two-color microarray experiment.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Associations:
Subject1: Individual (1..1) |
The first subject |
Label1: SampleLabel (0..1) |
Which channel or Fluorescent labeling is associated with the first subject |
Subject2: Individual (1..1) |
The second sample |
Label2: SampleLabel (0..1) |
Which channel or Fluorescent labeling is associated with the second subject |
Constraints:
unique(id): |
Field id is unique within an PairedSample. |
Cluster calculation tables.
implements Identifiable
Inherited attributes:
Attributes:
OutputDataName: string (required) |
Name of the matrix that will be written |
Timestamp: string (required) |
Datatime when the job was started. |
ComputeResource: enum (required) |
id: int (required) |
automatically generated id |
Associations:
Analysis: Analysis (1..1) |
Constraints:
unique(id): |
Field id is unique within an Job. |
unique(OutputDataName): |
OutputDataName is unique. |
implements Identifiable
Inherited attributes:
Attributes:
StatusCode: int (required) |
Status code of this subjob. |
StatusText: string (required) |
Status text of this subjob. |
StatusProgress: int (optional) |
Percentage done. |
Nr: int (required) |
Number of this subjob within the job. |
id: int (required) |
automatically generated id |
Associations:
Job: Job (1..1) |
Reference to the job this subjob belongs to. |
Constraints:
unique(id): |
Field id is unique within an Subjob. |
implements Nameable
Inherited attributes:
Attributes:
Description: text (optional) |
Optional description of this type of analysis. |
TargetFunctionName: string (required) |
The function used to start a specific type of analysis on the cluster. |
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Associations:
ParameterSet: ParameterSet (1..1) |
DataSet: DataSet (1..1) |
Constraints:
unique(id): |
Field id is unique within an Analysis. |
unique(name): |
Name is unique. |
implements Nameable
Inherited attributes:
Attributes:
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an ParameterSet. |
unique(name): |
Name is unique. |
implements Nameable
Inherited attributes:
Attributes:
Description: text (optional) |
Optional description of this parameter. |
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Associations:
ParameterSet: ParameterSet (1..1) |
Constraints:
unique(id): |
Field id is unique within an ParameterName. |
unique(name, ParameterSet): |
Name is unique within a ParameterSet. |
implements Nameable
Inherited attributes:
Attributes:
Value: string (required) |
Possible value of this parameter. |
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Associations:
ParameterName: ParameterName (1..1) |
Constraints:
unique(id): |
Field id is unique within an ParameterValue. |
unique(name, ParameterName): |
Name is unique within a ParameterName. |
implements Nameable
Inherited attributes:
Attributes:
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an DataSet. |
unique(name): |
Name is unique. |
implements Nameable
Inherited attributes:
Attributes:
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Associations:
DataSet: DataSet (1..1) |
Constraints:
unique(id): |
Field id is unique within an DataName. |
unique(name, DataSet): |
Name is unique within a dataset. |
implements Nameable
Inherited attributes:
Attributes:
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Associations:
DataName: DataName (1..1) |
Value: Data (1..1) |
Possible reference of this Data. |
Constraints:
unique(id): |
Field id is unique within an DataValue. |
unique(name, DataName): |
Name is unique within a DataName. |
implements Identifiable
Inherited attributes:
Attributes:
ParameterName: string (required) |
Copied name of this parameter. |
ParameterValue: string (required) |
Copied value of this parameter. |
id: int (required) |
automatically generated id |
Associations:
Job: Job (1..1) |
Constraints:
unique(id): |
Field id is unique within an SelectedParameter. |
implements Identifiable
Inherited attributes:
Attributes:
DataName: string (required) |
Copied name of this Data |
DataValue: string (required) |
Copied referenced name of this Data |
id: int (required) |
automatically generated id |
Associations:
Job: Job (1..1) |
Constraints:
unique(id): |
Field id is unique within an SelectedData. |
extends InvestigationFile
Proof of concept to show users can add scripts to database, to be replaced later with more generic version from compute model.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an RScript. |
implements Identifiable
Inherited attributes:
Attributes:
__Type: enum (required) |
Subtypes have to be set to allow searching
enum_options: 'MolgenisRole', 'MolgenisGroup', 'MolgenisUser', 'Person' |
name: string (required) |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an MolgenisRole. |
unique(name): |
Field name is unique within an MolgenisRole. |
extends MolgenisRole
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an MolgenisGroup. |
implements Identifiable
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Associations:
group_: MolgenisGroup (1..1) |
role_: MolgenisRole (1..1) |
Constraints:
unique(id): |
Field id is unique within an MolgenisRoleGroupLink. |
unique(group_, role_): |
The combination of fields group_, role_ is unique within an MolgenisRoleGroupLink. |
implements Identifiable
A contact is either a person or an organization. Copied from FuGE::Contact.
Inherited attributes:
Attributes:
Address: text (optional) |
The address of the Contact. |
Phone: string (optional) |
The telephone number of the Contact including the suitable area codes. |
Email: string (optional) |
The email address of the Contact. |
Fax: string (optional) |
The fax number of the Contact. |
tollFreePhone: string (optional) |
A toll free phone number for the Contact, including suitable area codes. |
City: string (optional) |
Added from the old definition of MolgenisUser. City of this contact. |
Country: string (optional) |
Added from the old definition of MolgenisUser. Country of this contact. |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an Contact. |
extends MolgenisRole
implements Contact
Person represents one or more people involved with an Investigation.
This may include authors on a paper, lab personnel or PIs. Person
has last name, firstname, mid initial, address, contact and email. A
Person role is included to represent how a Person is involved with
an investigation. For submission to repository purposes an allowed
value is 'submitter' and the term is present in the MGED Ontology,
an alternative use could represent job title. An Example from
ArrayExpress is E-MTAB-506
ftp://ftp.ebi.ac.uk/pub/databases/microarray/data/experiment/TABM/E-TABM-506/E-TABM-506.idf.txt.
.
The FUGE equivalent to Person is FuGE::Person.
Inherited attributes:
Attributes:
FirstName: string (optional) |
First Name |
MidInitials: string (optional) |
Mid Initials |
LastName: string (optional) |
Last Name |
Title: string (optional) |
An academic title, e.g. Prof.dr, PhD |
Department: string (optional) |
Added from the old definition of MolgenisUser. Department of this contact. |
Address: text (optional) |
The address of the Contact. |
Phone: string (optional) |
The telephone number of the Contact including the suitable area codes. |
Email: string (optional) |
The email address of the Contact. |
Fax: string (optional) |
The fax number of the Contact. |
tollFreePhone: string (optional) |
A toll free phone number for the Contact, including suitable area codes. |
City: string (optional) |
Added from the old definition of MolgenisUser. City of this contact. |
Country: string (optional) |
Added from the old definition of MolgenisUser. Country of this contact. |
id: int (required) |
automatically generated id |
Associations:
Affiliation: Institute (0..1) |
Roles: PersonRole (0..1) |
Indicate role of the contact, e.g. lab worker or PI. Changed from mref to xref in oct 2011. |
Constraints:
unique(id): |
Field id is unique within an Person. |
unique(FirstName, MidInitials, LastName): |
The combination of fields FirstName, MidInitials, LastName is unique within an Person. |
extends OntologyTerm
Seperate type of ontologyTerm to administrate roles.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an PersonRole. |
implements Contact
A contact is either a person or an organization. Copied from FuGE::Contact.
Inherited attributes:
Attributes:
name: string (required) |
Address: text (optional) |
The address of the Contact. |
Phone: string (optional) |
The telephone number of the Contact including the suitable area codes. |
Email: string (optional) |
The email address of the Contact. |
Fax: string (optional) |
The fax number of the Contact. |
tollFreePhone: string (optional) |
A toll free phone number for the Contact, including suitable area codes. |
City: string (optional) |
Added from the old definition of MolgenisUser. City of this contact. |
Country: string (optional) |
Added from the old definition of MolgenisUser. Country of this contact. |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an Institute. |
unique(name): |
Field name is unique within an Institute. |
extends Person
Anyone who can login
Inherited attributes:
Attributes:
password_: string (required) |
big fixme: password type |
activationCode: string (optional) |
Used as alternative authentication mechanism to verify user email and/or if user has lost password. |
active: bool (required) |
Boolean to indicate if this account can be used to login |
superuser: bool (required) |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an MolgenisUser. |
implements Identifiable
Inherited attributes:
Attributes:
permission: enum (required) |
id: int (required) |
automatically generated id |
Associations:
role_: MolgenisRole (1..1) |
entity: MolgenisEntity (1..1) |
Constraints:
unique(id): |
Field id is unique within an MolgenisPermission. |
unique(role_, entity, permission): |
The combination of fields role_, entity, permission is unique within an MolgenisPermission. |
Interface for row level security
Associations:
canRead: MolgenisRole (0..1) |
canWrite: MolgenisRole (0..1) |
owns: MolgenisRole (1..1) |
This interface assigns an automatic 'id' field to every object.
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an Identifiable. |
implements Identifiable
This interface extends Identifiable with a unique 'name' field. The name length can be stored in one byte. (Java has signed integers) The name is by itself not unique, this should be enforced within a certain context. For example, unique(name, study) to make the name unique within one single study. The NameableDecorator ensures that names don't lead to problems in R and other script environments.
Inherited attributes:
Attributes:
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an Nameable. |
This interface adds a description field to all entities the implement it.
Attributes:
description: text (optional) |
description field |
implements Nameable
OntologyTerm defines a single entry (term) from an ontology or a
controlled vocabulary (defined by Ontology). The name is the
ontology term which is unique within an ontology source, such as
[examples here]. Other data entities can reference to this
OntologyTerm to harmonize naming of concepts. Each term should have
a local, unique label within the Investigation. If no suitable
ontology term exists then one can define new terms locally (in which
case there is no formal accession for the term limiting its use for
cross-Investigation queries). In those cases the local name should
be repeated in both term and termAccession. Maps to
FuGE::OntologyIndividual; in MAGE-TAB there is no separate entity to
model terms.
Optionally a local controlled vocabulary or ontology can be defined,
for example to represent 'Codelists' often used in questionaires.
Note: this is not a InvestigationElement because of the additional
xref_label and unique constraint.This class defines 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 OntologyTerm 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.
Inherited attributes:
Attributes:
__Type: enum (required) |
Subtypes have to be set to allow searching
enum_options: 'OntologyTerm', 'PersonRole', 'Species', 'AlternateId', 'Tissue', 'SampleLabel' |
termAccession: string (optional) |
(Optional) The accession number assigned to the ontology term in its source ontology. If empty it is assumed to be a locally defined term. |
definition: string (optional) |
(Optional) The definition of the term. |
termPath: string (optional) |
EXTENSION. The Ontology Lookup Service path that contains this term. |
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Associations:
ontology: Ontology (0..1) |
(Optional) The source ontology or controlled vocabulary list that ontology terms have been obtained from. |
Constraints:
unique(id): |
Field id is unique within an OntologyTerm. |
unique(ontology, termAccession): |
The term accession is unique within an Ontology. |
unique(ontology, name): |
ADDITION: Name is unique within its type . |
implements Nameable
Ontology defines a reference to a an ontology or controlled vocabulary from which well-defined and stable (ontology) terms can be obtained. Each Ontology should have a unique name, for instance: Gene Ontology, Mammalian Phenotype, Human Phenotype Ontology, Unified Medical Language System, Medical Subject Headings, etc. Also a abbreviation is required, for instance: GO, MP, HPO, UMLS, MeSH, etc. Use of existing ontologies/vocabularies is recommended to harmonize phenotypic feature and value descriptions. But one can also create a 'local' Ontology. The Ontology class maps to FuGE::Ontology, MAGE-TAB::TermSourceREF.
Inherited attributes:
Attributes:
ontologyAccession: string (optional) |
A identifier that uniquely identifies the ontology (typically an acronym). E.g. GO, MeSH, HPO. |
ontologyURI: hyperlink (optional) |
(Optional) A URI that references the location of the ontology. |
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an Ontology. |
unique(name): |
Name is unique within its type . |
implements Nameable
Helper entity to deal with files. Has a decorator to regulate
storage and coupling to an Entity. Do not make abstract because of
subtyping. This means the names of the subclasses will be used to
distinguish MolgenisFiles and place them in the correct folders.
MS: make it use the <field type="file" property under the hood.
MS: where do the mimetypes go? I mean, I don't see the added value
now.
Inherited attributes:
Attributes:
__Type: enum (required) |
Subtypes have to be set to allow searching
enum_options: 'MolgenisFile', 'BinaryDataMatrix', 'CSVDataMatrix', 'OriginalFile', 'ProtocolDocument', 'RScript', 'InvestigationFile' |
Extension: string (required) |
The file extension. This will be mapped to MIME type at runtime. For example, a type 'png' will be served out as 'image/png'. |
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an MolgenisFile. |
unique(name): |
Field name is unique within an MolgenisFile. |
implements Nameable
Inherited attributes:
Attributes:
Value: string (required) |
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an RuntimeProperty. |
unique(name): |
Name is unique within its type . |
implements Nameable
Publication is part of the Investigation package and is used to
represent information about one or more publications related to an
Investigation. The publication need not only be primary publication
for an Investigation but may also represent other related
information- though this use is less common. Publications have
attributes of publications Authors and also DOI and Pubmed
identifiers (when these are available). These are represented as
OntologyTerms as in the MAGE-TAB model all 'xrefs' (cross
references) for ontologies and accession numbers are handled
generically. An example of a publication is available in an IDF file
from ArrayExpress is experiment E-MTAB-506
ftp://ftp.ebi.ac.uk/pub/databases/microarray/data/experiment/TABM/E-TABM-506/E-TABM-506.idf.txt
.
The FuGE equivalent to Publication is FuGE::Bibliographic Reference.
Inherited attributes:
Attributes:
authorList: text (optional) |
The names of the authors of the publication |
Title: string (required) |
The title of the Publication |
Year: string (optional) |
The year of the Publication |
Journal: string (optional) |
The title of the Journal |
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Associations:
PubmedID: OntologyTerm (0..1) |
Pubmed ID |
DOI: OntologyTerm (0..1) |
Publication DOI |
Status: OntologyTerm (0..1) |
The status of the Publication |
Constraints:
unique(id): |
Field id is unique within an Publication. |
unique(name): |
Field name is unique within an Publication. |
All the use cases send to the server are stored in this entity .
Attributes:
UseCaseId: int (required) |
UseCaseName: string (required) |
SearchType: string (required) |
Constraints:
unique(UseCaseId): |
Field UseCaseId is unique within an UseCase. |
unique(UseCaseName): |
Field UseCaseName is unique within an UseCase. |
implements Identifiable
Referenceable catalog of entity names, menus, forms and plugins.
Inherited attributes:
Attributes:
name: string (required) |
Name of the entity |
type_: string (required) |
Type of the entity |
className: string (required) |
Full name of the entity |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an MolgenisEntity. |
unique(className): |
Field className is unique within an MolgenisEntity. |
unique(name, type_): |
The combination of fields name, type_ is unique within an MolgenisEntity. |
extends ObservationTarget
ObservedFile is to store observations that result in a file. Mapping to other models: MAGE-TAB 1.1 has the column ArrayDataFile and DerivedArrayDataFile. In order to make the MAGE-TAB 1.1. model more generic we have generalized these to DataFile and provided named associations to the respective types via Scan and Assay. TODO: make this link to MolgenisFile? Or distinguish between links and data?
Inherited attributes:
Attributes:
uri: string (required) |
reference to the location of the file |
id: int (required) |
automatically generated id |
Associations:
format: OntologyTerm (1..1) |
format of the file. Discussion: is this not already solved in MolgenisFile |
Constraints:
unique(id): |
Field id is unique within an DataFile. |
extends ProtocolApplication
Data is a data structure to store a homogeneous matrix of
observedvalues as one unit, that is, all data elements in the set
have the same type of feature, target and value. For example: an
expression qtlProfile (observation.feature) for a Panel of mouse
(observation.target) that consists of a matrix of Probe X marker
(featureType and targetType respectively). In the user interface we
expect that this observation can be shown as a bigger set of
observations but click-able so the user can drill down to the
underlying matrix.
Data is also an observationTarget: this allows Data to be referred
to in an ObservedValue.relation. TODO: describe how this can be used
to define inputs/outputs for a protocolApplication. This would allow
us to use it to link 'pheno' to 'cluster' package so that the whole
provenace can be administrated as part of the observation models.
This class maps to XGAP.DataMatrix and MAGE-TAB.Data.
Inherited attributes:
Attributes:
FeatureType: enum (required) |
Defines the type of the columns of this data set. Each column refers to a Feature or Subject.
enum_options: 'Chromosome', 'DerivedTrait', 'EnvironmentalFactor', 'Gene', 'Individual', 'Marker', 'MassPeak', 'Measurement', 'Metabolite', 'Panel', 'Probe', 'ProbeSet', 'Sample', 'Spot', 'SNP', 'Promoter', 'ChipPeak' |
TargetType: enum (required) |
Defines the type of the rows of this matrix. Each row refers to a Feature or Subject.
enum_options: 'Chromosome', 'DerivedTrait', 'EnvironmentalFactor', 'Gene', 'Individual', 'Marker', 'MassPeak', 'Measurement', 'Metabolite', 'Panel', 'Probe', 'ProbeSet', 'Sample', 'Spot', 'SNP', 'Promoter', 'ChipPeak' |
ValueType: enum (required) |
Type of the values of this matrix, either text strings or decimal numbers.
enum_options: 'Text', 'Decimal' |
Storage: enum (required) |
Tells you how the data elements are stored or should be stored. For example, 'Binary'.
enum_options: 'Database', 'Binary', 'CSV' |
id: int (required) |
automatically generated id |
name: string (required) |
human-readable name. |
Constraints:
unique(id): |
Field id is unique within an Data. |
unique(name): |
name is unique within data matrix. |
implements Observation
Extension of observed value that keeps track of the position in a Data matrix and can be used to store the elements of Data. Copied from XGAP. MAGE-TAB 1.1. has the column ArrayDataMatrix and DerivedArrayDataMatrix. The formats of both types are tab-delimited and the distinction is that an ArrayDataMatrix is raw data and the DerivedArrayDataMatrix is processed data. The DerivedArrayDataMatrix associates a file of a specific format - seehe MAGE-TAB specification for details. In order to index the Rows and Columns of DataMatrix we have generated a DimensionElement that allows us to index DimensionRow and DimensionColumn.
Inherited attributes:
Attributes:
FeatureIndex: int (required) |
Row position in the matrix. |
TargetIndex: int (required) |
Col position in the matrix. |
id: int (required) |
automatically generated id |
Associations:
Data: Data (1..1) |
Reference to the data set this entity belongs to. |
Investigation: Investigation (0..1) |
protocolApplication: ProtocolApplication (0..1) |
Reference to the protocol application that was used to produce this observation. For example a particular patient visit or the application of a microarray or the calculation of a QTL model |
Feature: ObservationElement (1..1) |
References the ObservableFeature that this observation was made on. For example 'probe123'. Can be ommited for 1D data (i.e., a data list). |
Target: ObservationElement (1..1) |
References the ObservationTarget that this feature was made on. For example 'individual1'. In a correlation matrix this could be also 'probe123'. |
Constraints:
unique(id): |
Field id is unique within an DataElement. |
unique(FeatureIndex, TargetIndex, Data): |
The combination of fields FeatureIndex, TargetIndex, Data is unique within an DataElement. |
extends MolgenisFile
Binary file backend for a datamatrix. This extension is used to deal with the actual source file. Coupled to a matrix with source type 'BinaryFile'. This entity is not shown in the interface. Discussion: I am not so happy with the need of alternative subclasses. Instead you just need a driver.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Associations:
Data: Data (1..1) |
Reference to the datamatrix this binary file belongs to. |
Constraints:
unique(id): |
Field id is unique within an BinaryDataMatrix. |
extends MolgenisFile
CSV file backend for a datamatrix. Convenient to deal with the actual source file. Coupled to a matrix with source type 'CSVFile'. This entity is not shown in the interface.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Associations:
Data: Data (1..1) |
Reference to the datamatrix this CSV file belongs to. |
Constraints:
unique(id): |
Field id is unique within an CSVDataMatrix. |
implements DataElement
A DataElement for storing decimal data.
Inherited attributes:
Attributes:
Value: decimal (optional) |
The value, e.g., correlation. |
FeatureIndex: int (required) |
Row position in the matrix. |
TargetIndex: int (required) |
Col position in the matrix. |
id: int (required) |
automatically generated id |
Associations:
Data: Data (1..1) |
Reference to the data set this entity belongs to. |
Investigation: Investigation (0..1) |
protocolApplication: ProtocolApplication (0..1) |
Reference to the protocol application that was used to produce this observation. For example a particular patient visit or the application of a microarray or the calculation of a QTL model |
Feature: ObservationElement (1..1) |
References the ObservableFeature that this observation was made on. For example 'probe123'. Can be ommited for 1D data (i.e., a data list). |
Target: ObservationElement (1..1) |
References the ObservationTarget that this feature was made on. For example 'individual1'. In a correlation matrix this could be also 'probe123'. |
Constraints:
unique(id): |
Field id is unique within an DecimalDataElement. |
unique(FeatureIndex, TargetIndex, Data): |
The combination of fields FeatureIndex, TargetIndex, Data is unique within an DecimalDataElement. |
implements DataElement
Store text data
Inherited attributes:
Attributes:
Value: string (optional) |
The value, e.g., genotype strings like AA, BA, BB. |
FeatureIndex: int (required) |
Row position in the matrix. |
TargetIndex: int (required) |
Col position in the matrix. |
id: int (required) |
automatically generated id |
Associations:
Data: Data (1..1) |
Reference to the data set this entity belongs to. |
Investigation: Investigation (0..1) |
protocolApplication: ProtocolApplication (0..1) |
Reference to the protocol application that was used to produce this observation. For example a particular patient visit or the application of a microarray or the calculation of a QTL model |
Feature: ObservationElement (1..1) |
References the ObservableFeature that this observation was made on. For example 'probe123'. Can be ommited for 1D data (i.e., a data list). |
Target: ObservationElement (1..1) |
References the ObservationTarget that this feature was made on. For example 'individual1'. In a correlation matrix this could be also 'probe123'. |
Constraints:
unique(id): |
Field id is unique within an TextDataElement. |
unique(FeatureIndex, TargetIndex, Data): |
The combination of fields FeatureIndex, TargetIndex, Data is unique within an TextDataElement. |
extends MolgenisFile
An unmodified original file that belongs to this datamatrix.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Associations:
Data: Data (1..1) |
Reference to the datamatrix this file belongs to. |
Constraints:
unique(id): |
Field id is unique within an OriginalFile. |
implements Nameable, Describable
Investigation defines self-contained units of study. For example: Framingham study. Optionally a description and an accession to a data source can be provided. Each Investigation has a unique name and a group of subjects of observation (ObservableTarget), traits of observation (ObservableFeature), results (in ObservedValues), and optionally actions (Protocols, ProtoclApplications). 'Invetigation' maps to standard XGAP/FuGE Investigation, MAGE-TAB Experiment and METABASE:Study.
Inherited attributes:
Attributes:
startDate: datetime (optional) |
The start point of the study. |
endDate: datetime (optional) |
The end point of the study. |
accession: hyperlink (optional) |
(Optional) URI or accession number to indicate source of Study. E.g. arrayexpress:M-EXP-2345 |
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
description: text (optional) |
description field |
Associations:
contacts: Person (0..n) |
Contact persons for this study |
Constraints:
unique(id): |
Field id is unique within an Investigation. |
unique(name): |
Name is unique. |
implements Nameable, Describable
General superclass to use for all elements of an Investigation. The unique forces all of these elements to have unique names within one Investigation. (can be changed to Name,Study,Type by flipping a boolean in the molgenis 'Unique' class.)
Inherited attributes:
Attributes:
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
description: text (optional) |
description field |
Associations:
Investigation: Investigation (0..1) |
Reference to the Study that this data element is part of |
Constraints:
unique(id): |
Field id is unique within an InvestigationElement. |
unique(name, Investigation): |
Name is unique within an Investigation. |
extends OntologyTerm
Ontology terms for species. E.g. Arabidopsis thaliana. DISCUSSION: should we avoid subclasses of OntologyTerm and instead make a 'tag' filter on terms so we can make pulldowns context dependent (e.g. to only show particular subqueries of ontologies).
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an Species. |
extends OntologyTerm
An external identifier for an annotation. For example: name='R13H8.1', ontology='ensembl' or name='WBgene00000912', ontology='wormbase'.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an AlternateId. |
implements InvestigationElement
Elements that are the targets or features we are looking at of our research.
Inherited attributes:
Attributes:
__Type: enum (required) |
Subtypes have to be set to allow searching
enum_options: 'ObservationElement', 'DataFile', 'Individual', 'Location', 'Panel', 'Sample', 'PairedSample', 'ObservationTarget', 'Measurement', 'Chromosome', 'NMRBin', 'Clone', 'DerivedTrait', 'EnvironmentalFactor', 'Gene', 'Transcript', 'Protein', 'Metabolite', 'SNP', 'Marker', 'Polymorphism', 'Spot', 'Probe', 'ProbeSet', 'MassPeak', 'ObservableFeature', 'Category' |
label: string (optional) |
User friendly textual representation of this ObservationElement. For example: 'male', 'mouse 3 in cage 7' or 'TRA-2 like protein'. Label allows for human-readable name that is potentially not unique. |
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
description: text (optional) |
description field |
Associations:
ontologyReference: OntologyTerm (0..n) |
(Optional) Reference to the formal ontology definition for this element, e.g. 'Animal' or 'GWAS protocol' |
AlternateId: AlternateId (0..n) |
Alternative identifiers or symbols that this element is known by. |
Investigation: Investigation (0..1) |
Reference to the Study that this data element is part of |
Constraints:
unique(id): |
Field id is unique within an ObservationElement. |
unique(name, Investigation): |
Name is unique within an Investigation. |
unique(name): |
Field name is unique within an ObservationElement. |
extends ObservationElement
An ObservationTarget class defines the subjects of observation. For instance: individual 1 from Investigation x. The ObservationTarget class maps to XGAP:Subject, METABASE:Patient and maps to Page:Abstract_Observation_Target. The name of observationTargets is unique.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an ObservationTarget. |
extends ObservationElement
ObservableFeature defines anything that can be observed in a phenotypic Investigation. For instance: Height, Systolic blood pressure, Diastolic blood pressure, and Treatment for hypertension are observable features. The name of ObservableFeature is unique within one Investigation. It is recommended that each ObservableFeature is named according to a well-defined ontology term which can be specified via ontologyReference. Note that in some instances an observableFeature can also be an observationTarget, for example in the case of correlation matrices. The ObservableFeature class maps to XGAP:Trait, METABASE:Question, FuGE:DimensionElement, and PaGE:ObservableFeature. Multi-value features can be grouped by Protocol. For instance: high blood pressure can be inferred from observations for features systolic and diastolic blood pressure. There may be many alternative protocols to measure a feature. See Protocol section.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an ObservableFeature. |
extends ObservableFeature
Generic obserable feature to flexibly define a measurement
Inherited attributes:
Attributes:
dataType: enum (required) |
(Optional) Reference to the technical data type. E.g. 'int'
enum_options: 'xref', 'string', 'categorical', 'date', 'datetime', 'int', 'code', 'image', 'decimal', 'bool', 'file', 'log', 'data', 'exe' |
temporal: bool (required) |
Whether this feature is time dependent and can have different values when measured on different times (e.g. weight, temporal=true) or generally only measured once (e.g. birth date, temporal=false) |
description: text (optional) |
(Optional) Rudimentary meta data about the observable feature. Use of ontology terms references to establish unambigious descriptions is recommended |
panelLabelAllowedForRelation: string (optional) |
Label that must have been applied to the Panel that can be linked to (through the 'relation' field in ObservedValue) when using this Measurement (example: a Measurement 'Species' can only result in ObservedValues that have relations to Panels labeled as 'Species') |
id: int (required) |
automatically generated id |
Associations:
unit: OntologyTerm (0..1) |
(Optional) Reference to the well-defined measurement unit used to observe this feature (if feature is that concrete). E.g. mmHg |
categories: Category (0..n) |
Translation of codes into categories if applicable |
targettypeAllowedForRelation: MolgenisEntity (0..1) |
Subclass of ObservationTarget (Individual, Panel or Location) that can be linked to (through the 'relation' field in ObservedValue) when using this Measurement (example: a Measurement 'Species' can only result in ObservedValues that have relations to Panels) |
Constraints:
unique(id): |
Field id is unique within an Measurement. |
extends ObservationElement
Special kind of ObservationElement to define categorical answer codes such as are often used in Questionaires. A list of categories can be attached to an Measurement using Measurement.categories. For example the Measurement 'sex' has {code_string = 1, label=male} and {code_string = 2, label=female}. Categories can be linked to well-defined ontology terms via the ontologyReference. Category extends ObservationElement such that it can be referenced by ObservedValue.value. The Category class maps to METABASE::Category
Inherited attributes:
Attributes:
code_string: string (required) |
The code used to represent this category. For example: { '1' codes for 'male', '2'-'female'} |
description: text (required) |
Description of the code. Use of ontology terms references to establish unambigious descriptions is recommended |
isMissing: bool (required) |
whether this code should be treated as missing value. |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an Category. |
extends ObservationTarget
The Individuals class defines human cases that are used as observation target. The Individual class maps to XGAP:Individual and PaGE:Individual. Note that minimal information like 'sex' can be defined as ObservedValue, and that that basic relationships like 'father' and 'mother' can also be defined via ObservedRelationship, using the 'relation' field. Groups of individuals can be defined via Panel.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Associations:
Mother: Individual (0..1) |
Refers to the mother of the individual. |
Father: Individual (0..1) |
Refers to the father of the individual. |
Constraints:
unique(id): |
Field id is unique within an Individual. |
extends ObservationTarget
This class defines physical locations such as buildings, departments, rooms, freezers and cages. Use ObservedValues to link locations to eachother, to build a location hierarchy.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an Location. |
extends ObservationTarget
The Panel class defines groups of individuals based on cohort design, case/controls, families, etc. For instance: LifeLines cohort, 'middle aged man', 'recombinant mouse inbred Line dba x b6' or 'Smith family'. A Panel can act as a single ObservationTarget. For example: average height (ObservedValue) in the LifeLines cohort (Panel) is 174cm. The Panel class maps to XGAP:Strain and PaGE:Panel classes. In METABASE this is assumed there is one panel per study.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Associations:
Individuals: Individual (0..n) |
The list of individuals in this panel |
Species: Species (0..1) |
The species this panel is an instance of/part of/extracted from. |
PanelType: OntologyTerm (0..1) |
Indicate the type of Panel (example: Natural=wild type, Parental=parents of a cross, F1=First generation of cross, RCC=Recombinant congenic, CSS=chromosome substitution) |
FounderPanels: Panel (0..n) |
The panel(s) that were used to create this panel. |
Constraints:
unique(id): |
Field id is unique within an Panel. |
implements Identifiable
FIXME: change to ObservationTarget?
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Associations:
Investigation: Investigation (0..1) |
protocolApplication: ProtocolApplication (0..1) |
Reference to the protocol application that was used to produce this observation. For example a particular patient visit or the application of a microarray or the calculation of a QTL model |
Feature: ObservationElement (1..1) |
References the ObservableFeature that this observation was made on. For example 'probe123'. Can be ommited for 1D data (i.e., a data list). |
Target: ObservationElement (1..1) |
References the ObservationTarget that this feature was made on. For example 'individual1'. In a correlation matrix this could be also 'probe123'. |
Constraints:
unique(id): |
Field id is unique within an Observation. |
implements Observation
Generic storage of values, relationships and optional ontology
mapping of the value/relation. Values can be atomatic observations,
e.g., length (feature) of individual 1 (target) = 179cm (value).
Values can also be relationship values, e.g., extract (feature) of
sample 1 (target) = derived sample (relation).
Discussion: how to model sample pooling in this model?
More Discussion: do we want to have type specific subclasses? No,
because you can solve this by casting during querying?
Inherited attributes:
Attributes:
value: string (optional) |
The value observed |
time: datetime (optional) |
(Optional) Time when the value was observed. For example in time series or if feature is time-dependent like 'age' |
endtime: datetime (optional) |
(Optional) Time when the value's validity ended |
id: int (required) |
automatically generated id |
Associations:
ontologyReference: OntologyTerm (0..1) |
(Optional) Reference to the ontology definition or 'code' for this value (recommended for non-numeric values such as codes) |
relation: ObservationElement (0..1) |
Reference to other end of the relationship, if any. For example to a 'brother' or from 'sample' to 'derivedSample'. |
Investigation: Investigation (0..1) |
protocolApplication: ProtocolApplication (0..1) |
Reference to the protocol application that was used to produce this observation. For example a particular patient visit or the application of a microarray or the calculation of a QTL model |
Feature: ObservationElement (1..1) |
References the ObservableFeature that this observation was made on. For example 'probe123'. Can be ommited for 1D data (i.e., a data list). |
Target: ObservationElement (1..1) |
References the ObservationTarget that this feature was made on. For example 'individual1'. In a correlation matrix this could be also 'probe123'. |
Constraints:
unique(id): |
Field id is unique within an ObservedValue. |
implements InvestigationElement
The Protocol class defines parameterizable descriptions of methods;
each protocol has a unique name within an Study. Each
ProtocolApplication can define the ObservableFeatures it can
observe. Also the protocol parameters can be modeled using
ObservableFeatures (Users are expected to 'tag' the observeable
feature by setting ObserveableFeature type as 'ProtocolParameter'.
Examples of protocols are: SOP for blood pressure measurement used
by UK biobank, or 'R/qtl' as protocol for statistical analysis.
Protocol is a high level object that represents the details of
protocols used during the investigation. The uses of Protocols to
process BioMaterials and Data are referenced by ProtocolApplication
(in the SDRF part of the format). Protocol has an association to
OntologyTerm to represent the type of protocol. Protocols are
associated with Hardware, Software and Parameters used in the
Protocol. An example from ArrayExpress is E-MTAB-506
ftp://ftp.ebi.ac.uk/pub/databases/microarray/data/experiment/TABM/E-TABM-506/E-TABM-506.idf.txt.
The FUGE equivalent to Protocol is FuGE::Protocol.
The Protocol class maps to FuGE/XGAP/MageTab Protocol, but in
contrast to FuGE it is not required to extend protocol before use.
The Protocol class also maps to METABASE:Form (note that components
are solved during METABASE:Visit which can be nested). Has no
equivalent in PaGE.
Inherited attributes:
Attributes:
__Type: enum (required) |
Subtypes have to be set to allow searching
enum_options: 'Protocol', 'Workflow' |
description: richtext (optional) |
Description, or reference to a description, of the protocol |
TargetFilter: string (optional) |
Expression that filters the InvestigationElements that can be targetted using this protocol. This helps the user to only select from targets that matter when setting observedvalues. For example: type='individual' AND species = 'human' |
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Associations:
ontologyReference: OntologyTerm (0..n) |
(Optional) Reference to the formal ontology definition for this element, e.g. 'Animal' or 'GWAS protocol' |
ProtocolType: OntologyTerm (0..1) |
annotation of the protocol to a well-defined ontological class. |
Features: ObservableFeature (0..n) |
The features that can be observed using this protocol. For example 'length' or 'rs123534' or 'probe123'. Also protocol parameters are considered observable features as they are important to the interpretation of the observed values. |
Contact: Person (0..1) |
TODO Check if there can be multiple contacts. |
subprotocols: Protocol (0..n) |
Subprotocols of this protocol |
Investigation: Investigation (0..1) |
Reference to the Study that this data element is part of |
Constraints:
unique(id): |
Field id is unique within an Protocol. |
unique(name, Investigation): |
Name is unique within an Investigation. |
implements InvestigationElement
A ProtocolApplication class defines the actual action of observation
by refering to a protocol and optional ParameterValues. The name
field can be used to label applications with a human understandeable
tag. For example: the action of blood pressure measurement on 1000
individuals, using a particular protocol, resulting in 1000
associated observed values. If desired, protocols can be shared
between Studys; in those cases one should simply refer to a protocol
in another Study.
ProtocolApplications are used in MAGE-TAB format to reference to
protocols used, with optionally use of certain protocol parameter
values. For example, a Source may be transformed into a Labeled
Extract by the subsequent application of a Extraction and Labeling
protocol. ProtocolApplication is associated with and Edge that links
input/output, e.g. Source to Labeled Extract. The order of the
application of protocols can be set in order to be able to
reconstruct the left-to-right order of protocol references in
MAGE-TAB format. The FuGE equivalent to ProtocolApplication is
FuGE:ProtocolApplication, however input/output is modeled using
Edge.
The ProtocolApplication class maps to FuGE/XGAP ProtocolApplication,
but in FuGE ProtocolApplications can take Material or Data (or both)
as input and produce Material or Data (or both) as output. Similar
to PaGE.ObservationMethod. Maps to METABASE:Visit (also note that
METABASE:PlannedVisit allows for planning of protocol applications;
this is outside scope for this model?).
Inherited attributes:
Attributes:
__Type: enum (required) |
Subtypes have to be set to allow searching
enum_options: 'ProtocolApplication', 'Data' |
time: datetime (required) |
time when the protocol was applied. |
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
description: text (optional) |
description field |
Associations:
ontologyReference: OntologyTerm (0..n) |
(Optional) Reference to the formal ontology definition for this element, e.g. 'Animal' or 'GWAS protocol' |
protocol: Protocol (0..1) |
Reference to the protocol that is being used. |
Performer: Person (0..n) |
Investigation: Investigation (0..1) |
Reference to the Study that this data element is part of |
Constraints:
unique(id): |
Field id is unique within an ProtocolApplication. |
unique(name, Investigation): |
Name is unique within an Investigation. |
extends MolgenisFile
Inherited attributes:
Attributes:
document: file (required) |
id: int (required) |
automatically generated id |
Associations:
protocol: Protocol (1..1) |
Constraints:
unique(id): |
Field id is unique within an ProtocolDocument. |
extends Protocol
implements Identifiable, Nameable
A workflow is a plan to execute a series of subprotocols in a particular order. Each workflow elements is another protocol as refered to via WorkflowElement. Because Workflow extends Protocol, workflows can be nested just as any other protocol.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
name: string (required) |
human-readable name. |
Constraints:
unique(id): |
Field id is unique within an Workflow. |
unique(name): |
Field name is unique within an Workflow. |
implements Nameable
Elements of a workflow are references to protocols. The whole workflow is a directed graph with each element pointing to the previousSteps that the current workflow element depends on.
Inherited attributes:
Attributes:
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Associations:
Workflow: Workflow (1..1) |
Workflow this element is part of |
protocol: Protocol (1..1) |
Protocol to be used at this workflow step |
PreviousSteps: WorkflowElement (0..n) |
Previous steps that need to be done before this protocol can be executed. |
Constraints:
unique(id): |
Field id is unique within an WorkflowElement. |
unique(name): |
Field name is unique within an WorkflowElement. |
implements Identifiable
Element parameters are the way to link workflow elements together. It allows override of the parameters from the previous step.
Inherited attributes:
Attributes:
Value: string (required) |
Value of this parameter. Can be a template of form ${other} refering to previous values in context. |
id: int (required) |
automatically generated id |
Associations:
WorkflowElement: WorkflowElement (1..1) |
To attach a parameter to a WorkflowElement |
Parameter: ObservableFeature (1..1) |
Parameter definition. |
Constraints:
unique(id): |
Field id is unique within an WorkflowElementParameter. |
unique(WorkflowElement, Parameter): |
Feature value is set only once per element. |
position. Typical examples of such traits are genes, probes and markers. Common structure for entities that have a genomic
Attributes:
cM: decimal (optional) |
genetic map position in centi morgan (cM). |
bpStart: long (optional) |
numeric basepair postion (5') on the chromosome |
bpEnd: long (optional) |
numeric basepair postion (3') on the chromosome |
Seq: text (optional) |
The FASTA text representation of the sequence. |
Symbol: string (optional) |
todo |
Associations:
Chromosome: Chromosome (0..1) |
Reference to the chromosome this position belongs to. |
extends ObservableFeature
Inherited attributes:
Attributes:
orderNr: int (required) |
isAutosomal: bool (required) |
Is 'yes' when number of chromosomes is equal in male and female individuals, i.e., if not a sex chromosome. |
bpLength: int (optional) |
Lenght of the chromsome in base pairs. |
id: int (required) |
automatically generated id |
Associations:
Species: Species (0..1) |
Reference to the species this chromosome belongs to. |
Constraints:
unique(id): |
Field id is unique within an Chromosome. |
extends ObservableFeature
Shift of the NMR frequency due to the chemical environment.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an NMRBin. |
extends ObservableFeature
implements Locus
BAC clone fragment.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
cM: decimal (optional) |
genetic map position in centi morgan (cM). |
bpStart: long (optional) |
numeric basepair postion (5') on the chromosome |
bpEnd: long (optional) |
numeric basepair postion (3') on the chromosome |
Seq: text (optional) |
The FASTA text representation of the sequence. |
Symbol: string (optional) |
todo |
Associations:
Chromosome: Chromosome (0..1) |
Reference to the chromosome this position belongs to. |
Constraints:
unique(id): |
Field id is unique within an Clone. |
extends ObservableFeature
Any meta trait, eg. false discovery rates, P-values, thresholds.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an DerivedTrait. |
extends ObservableFeature
Experimental conditions, such as temperature differences, batch effects etc.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an EnvironmentalFactor. |
extends ObservableFeature
implements Locus
Trait annotations specific for genes.
Inherited attributes:
Attributes:
Symbol: string (optional) |
Main symbol this gene is known by (not necessarily unique, in constrast to 'name') |
Orientation: enum (optional) |
Orientation of the gene on the genome (F=forward, R=reverse)
enum_options: 'F', 'R' |
Control: bool (optional) |
Indicating whether this is a 'housekeeping' gene that can be used as control. |
id: int (required) |
automatically generated id |
cM: decimal (optional) |
genetic map position in centi morgan (cM). |
bpStart: long (optional) |
numeric basepair postion (5') on the chromosome |
bpEnd: long (optional) |
numeric basepair postion (3') on the chromosome |
Seq: text (optional) |
The FASTA text representation of the sequence. |
Associations:
Chromosome: Chromosome (0..1) |
Reference to the chromosome this position belongs to. |
Constraints:
unique(id): |
Field id is unique within an Gene. |
extends ObservableFeature
Trait annotations specific for transcripts.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Associations:
Gene: Gene (0..1) |
The gene that produces this protein |
Constraints:
unique(id): |
Field id is unique within an Transcript. |
extends ObservableFeature
Trait annotations specific for proteins.
Inherited attributes:
Attributes:
AminoSequence: text (optional) |
The aminoacid sequence. |
Mass: decimal (optional) |
The mass of this metabolite |
id: int (required) |
automatically generated id |
Associations:
Gene: Gene (0..1) |
The gene that produces this protein |
Transcript: Transcript (0..1) |
The transcript variant that produces this protein |
Constraints:
unique(id): |
Field id is unique within an Protein. |
extends ObservableFeature
Trait annotations specific for metabolites.
Inherited attributes:
Attributes:
Formula: string (optional) |
The chemical formula of a metabolite. |
Mass: decimal (optional) |
The mass of this metabolite |
Structure: text (optional) |
The chemical structure of a metabolite (in SMILES representation). |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an Metabolite. |
extends ObservableFeature
implements Locus
Trait annotations specific for markers.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
cM: decimal (optional) |
genetic map position in centi morgan (cM). |
bpStart: long (optional) |
numeric basepair postion (5') on the chromosome |
bpEnd: long (optional) |
numeric basepair postion (3') on the chromosome |
Seq: text (optional) |
The FASTA text representation of the sequence. |
Symbol: string (optional) |
todo |
Associations:
ReportsFor: Marker (0..n) |
The marker (or a subclass like 'SNP') this marker (or a subclass like 'SNP') reports for. |
Chromosome: Chromosome (0..1) |
Reference to the chromosome this position belongs to. |
Constraints:
unique(id): |
Field id is unique within an Marker. |
extends Marker
A SNP is a special kind of Marker, but can also be seen as a phenotype to map against in some cases. A single-nucleotide polymorphism is a DNA sequence variation occurring when a single nucleotide in the genome (or other shared sequence) differs between members of a biological species or paired chromosomes in an individual.
Inherited attributes:
Attributes:
Status: string (optional) |
The status of this SNP, eg 'confirmed'. |
id: int (required) |
automatically generated id |
Associations:
Polymorphism: Polymorphism (0..n) |
The polymorphism that belongs to this SNP. |
Constraints:
unique(id): |
Field id is unique within an SNP. |
extends ObservableFeature
The difference of a single base discovered between two sequenced individuals.
Inherited attributes:
Attributes:
Base: enum (required) |
The affected DNA base. Note that you can select the reference base here.
enum_options: 'Reference', 'A', 'T', 'C', 'G' |
Value: string (optional) |
The strain/genotype for which this polymorphism was discovered. E.g. 'N2' or 'CB4856'. |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an Polymorphism. |
extends ObservableFeature
implements Locus
A piece of sequence that reports for the expression of a gene, typically spotted onto a microarray.
Inherited attributes:
Attributes:
Mismatch: bool (required) |
Indicating whether the probe is a match |
id: int (required) |
automatically generated id |
cM: decimal (optional) |
genetic map position in centi morgan (cM). |
bpStart: long (optional) |
numeric basepair postion (5') on the chromosome |
bpEnd: long (optional) |
numeric basepair postion (3') on the chromosome |
Seq: text (optional) |
The FASTA text representation of the sequence. |
Symbol: string (optional) |
todo |
Associations:
ProbeSet: ProbeSet (0..1) |
Optional: probeset this probe belongs to (e.g., in Affymetrix assays). |
ReportsFor: Gene (0..1) |
The gene this probe reports for. |
Chromosome: Chromosome (0..1) |
Reference to the chromosome this position belongs to. |
Constraints:
unique(id): |
Field id is unique within an Probe. |
extends Probe
This is the spot on a microarray.
Note: We don't distinquish between probes (the sequence) and spots
(the sequence as spotted on the array).
Inherited attributes:
Attributes:
x: int (required) |
Row |
y: int (required) |
Column |
GridX: int (optional) |
Meta Row |
GridY: int (optional) |
Meta Column |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an Spot. |
unique(x, y, GridX, GridY): |
The combination of fields x, y, GridX, GridY is unique within an Spot. |
extends ObservableFeature
implements Locus
A set of Probes. E.g. an Affymetrix probeset has multiple probes. It implements locus because sometimes you want to give the complete set of probes a range, for example: indicating that this set of probes spans basepair 0 through 10.000.000 on chromosome 3. The same information could arguably also be queried from the probes themselves, but if you have 40k probes, retrieving the same information from only ProbeSet (if annotated so) would be much faster.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
cM: decimal (optional) |
genetic map position in centi morgan (cM). |
bpStart: long (optional) |
numeric basepair postion (5') on the chromosome |
bpEnd: long (optional) |
numeric basepair postion (3') on the chromosome |
Seq: text (optional) |
The FASTA text representation of the sequence. |
Symbol: string (optional) |
todo |
Associations:
Chromosome: Chromosome (0..1) |
Reference to the chromosome this position belongs to. |
Constraints:
unique(id): |
Field id is unique within an ProbeSet. |
extends ObservableFeature
A peak that has been selected within a mass spectrometry experiment.
Inherited attributes:
Attributes:
MZ: decimal (optional) |
Mass over charge ratio of this peak. |
RetentionTime: decimal (optional) |
The retention-time of this peak in minutes. |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an MassPeak. |
extends MolgenisFile
implements Describable
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
description: text (optional) |
description field |
Associations:
Investigation: Investigation (1..1) |
Reference to the Study. |
Constraints:
unique(id): |
Field id is unique within an InvestigationFile. |
extends OntologyTerm
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an Tissue. |
extends OntologyTerm
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an SampleLabel. |
extends ObservationTarget
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Associations:
Individual: Individual (0..1) |
The individual from which this sample was taken. |
Tissue: Tissue (0..1) |
The tissue from which this sample was taken. |
Constraints:
unique(id): |
Field id is unique within an Sample. |
extends ObservationTarget
A pair of samples labeled for a two-color microarray experiment.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Associations:
Subject1: Individual (1..1) |
The first subject |
Label1: SampleLabel (0..1) |
Which channel or Fluorescent labeling is associated with the first subject |
Subject2: Individual (1..1) |
The second sample |
Label2: SampleLabel (0..1) |
Which channel or Fluorescent labeling is associated with the second subject |
Constraints:
unique(id): |
Field id is unique within an PairedSample. |
implements Identifiable
Inherited attributes:
Attributes:
OutputDataName: string (required) |
Name of the matrix that will be written |
Timestamp: string (required) |
Datatime when the job was started. |
ComputeResource: enum (required) |
id: int (required) |
automatically generated id |
Associations:
Analysis: Analysis (1..1) |
Constraints:
unique(id): |
Field id is unique within an Job. |
unique(OutputDataName): |
OutputDataName is unique. |
implements Identifiable
Inherited attributes:
Attributes:
StatusCode: int (required) |
Status code of this subjob. |
StatusText: string (required) |
Status text of this subjob. |
StatusProgress: int (optional) |
Percentage done. |
Nr: int (required) |
Number of this subjob within the job. |
id: int (required) |
automatically generated id |
Associations:
Job: Job (1..1) |
Reference to the job this subjob belongs to. |
Constraints:
unique(id): |
Field id is unique within an Subjob. |
implements Nameable
Inherited attributes:
Attributes:
Description: text (optional) |
Optional description of this type of analysis. |
TargetFunctionName: string (required) |
The function used to start a specific type of analysis on the cluster. |
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Associations:
ParameterSet: ParameterSet (1..1) |
DataSet: DataSet (1..1) |
Constraints:
unique(id): |
Field id is unique within an Analysis. |
unique(name): |
Name is unique. |
implements Nameable
Inherited attributes:
Attributes:
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an ParameterSet. |
unique(name): |
Name is unique. |
implements Nameable
Inherited attributes:
Attributes:
Description: text (optional) |
Optional description of this parameter. |
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Associations:
ParameterSet: ParameterSet (1..1) |
Constraints:
unique(id): |
Field id is unique within an ParameterName. |
unique(name, ParameterSet): |
Name is unique within a ParameterSet. |
implements Nameable
Inherited attributes:
Attributes:
Value: string (required) |
Possible value of this parameter. |
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Associations:
ParameterName: ParameterName (1..1) |
Constraints:
unique(id): |
Field id is unique within an ParameterValue. |
unique(name, ParameterName): |
Name is unique within a ParameterName. |
implements Nameable
Inherited attributes:
Attributes:
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an DataSet. |
unique(name): |
Name is unique. |
implements Nameable
Inherited attributes:
Attributes:
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Associations:
DataSet: DataSet (1..1) |
Constraints:
unique(id): |
Field id is unique within an DataName. |
unique(name, DataSet): |
Name is unique within a dataset. |
implements Nameable
Inherited attributes:
Attributes:
name: string (required) |
human-readable name. |
id: int (required) |
automatically generated id |
Associations:
DataName: DataName (1..1) |
Value: Data (1..1) |
Possible reference of this Data. |
Constraints:
unique(id): |
Field id is unique within an DataValue. |
unique(name, DataName): |
Name is unique within a DataName. |
implements Identifiable
Inherited attributes:
Attributes:
ParameterName: string (required) |
Copied name of this parameter. |
ParameterValue: string (required) |
Copied value of this parameter. |
id: int (required) |
automatically generated id |
Associations:
Job: Job (1..1) |
Constraints:
unique(id): |
Field id is unique within an SelectedParameter. |
implements Identifiable
Inherited attributes:
Attributes:
DataName: string (required) |
Copied name of this Data |
DataValue: string (required) |
Copied referenced name of this Data |
id: int (required) |
automatically generated id |
Associations:
Job: Job (1..1) |
Constraints:
unique(id): |
Field id is unique within an SelectedData. |
extends InvestigationFile
Proof of concept to show users can add scripts to database, to be replaced later with more generic version from compute model.
Inherited attributes:
Attributes:
id: int (required) |
automatically generated id |
Constraints:
unique(id): |
Field id is unique within an RScript. |