Crop Ontology Pages
There are 3 ways of creating “ontologies” on the Crop Ontology website.
- First, one can choose to upload a Trait Dictionary in Excel. The TD is only used to store and load information about traits, thus it cannot be used for uploading ontologies that would belong to the other categories (Note, there are 5 sections on the CO website: General Germplasm Ontology, Phenotypes and Traits Ontology, Structural and Functional Genomic Ontology, Location and Environmental Ontology and Plant Anatomy & Development Ontology).
- OBO files can be uploaded as well. They can be used to create ontologies in any of the 5 sections.
- Finally, ontologies can be built from scratch using the website dedicated interface.
Once the files are uploaded or some terms are submitted using the web interface, the data are stored in a noSQL database (Google App Engine Datastore). The ontologies can be downloaded in various formats: CSV, OBO, SKOS and JSON. The structures of the different formats are described in the following sections. Note that because there is no exact mapping between the different formats some compromises has been made. Not all the information is available in the different formats.
Trait Template
Structure of the Trait Template V4
So far, the Trait Template V4 is uploaded into the CO website. The Trait Template is used to gather information on traits along with their methods and scales of measurement. For each trait, some meta-information is added (5 first columns). An (unique) ID is created by the system for each trait, method and scale (several IDs are created when the scale is categorical). But for now, if two methods or scales are the same (seed length and leaf length are measured in centimeters), different IDs are created, which is far from being ideal or even ontologically correct. The Trait Template V4 columns are:
- IBFieldbook
- Name of submitting scientist
- Institution
- Language of submission (only in ISO 2 letter codes)
- Date of submission
- Crop
- Name of Trait
- Abbreviated name
- Synonyms (separate by commas)
- Trait ID for modification, Blank for New
- Description of Trait
- How is this trait routinely used?
- Trait Class
- Method ID for modification, Blank for new
- Name of Method
- Describe how measured (method)
- Growth Stage
- Bibliographic Reference
- Comments
- Scale ID for modification, Blank for new
- Type of Measure (Continuous, Discrete or Categorical)
- For Continuous: units of measurement
- For Continuous: reporting units (if different from measurement)
- For Continuous: minimum
- For Continuous: maximum
- For Discrete: Name of scale or units of measurement
- For Categorical: Name of rating scale
- For Categorical: Class 1 - value = meaning
- For Categorical: Class 2 - value = meaning
- For Categorical: Class 3 - value = meaning
- For Categorical: Class 4 - value = meaning
- For Categorical: Class 5 - value = meaning
OBO files
OBO file structure
OBO files are created using the obo2owl library (which should sound familiar ;-)). The main issue with the Trait Template is that because different IDs can be created for the same “thing” (e.g. the term “cm” will get different IDs if different traits are measured in cm), different obo terms can have the same name (but different IDs). That is a problem when our users tried to import the OBO files in a Chado database. Consequently, I created a little script that created OBO files where all the names are unique in a given namespace. The script has not be inserted in the website yet but it will be soon. Example of an OBO files on Github.
TD column | OBO element |
---|---|
Crop | Used for setting up the namespace |
Name of Trait | name |
Trait ID for modification, Blank for New | Term + id |
Description of Trait | definition |
Trait Class | Term +id + name + is-a |
Language of submission (only in ISO 2 letter codes) | We have only English OBO files. |
Name of submitting scientist | created_by |
Institution | Not used |
Date of submission | creation_date |
Abbreviated name | synonym [EXACT] |
Synonyms (separate by commas) | synonym [EXACT] |
How is this trait routinely used | Not used |
Name of method | name |
Method ID for modification, Blank for New | Term + id + method_of |
Describe how measured (method | definition |
Bibliographic Reference | xref |
Growth Stage | Not used |
Comments | Not used |
Scale ID for modification, Blank for New | Term + id + scale_of |
Type of Measure (Continuous, Discrete or Categorical | Not used |
For Continuous: units of measurement | name |
For Discrete: Name of scale or units of measurement | name |
For Categorical: Name of rating scale | name |
For Categorical: Class 1 - value = meaning | Term + name + is-a |
For Categorical: Class 2 - value = meaning | Term + name + is-a |
For Categorical: Class 3 - value = meaning | Term + name + is-a |
For Categorical: Class 4 - value = meaning | Term + name + is-a |
SKOS files
SKOS file structure
TD column | SKOS |
---|---|
Crop | Used for setting up the namespace |
Name of Trait | skos:prefLabel |
Trait ID for modification, Blank for New | Local Name (URI) + rdf: type skos:concept |
Description of Trait | skos:definition |
Trait Class | rdf:type Skos:Concept + skos:broader |
Language of submission (only in ISO 2 letter codes) | xml:lang of the literals. SKOS files are multilingual (if we have the info) |
Name of submitting scientist | foaf:Person (not set so far but will be soon) |
Institution | foaf:Organization (not set so far but will be soon) |
Date of submission | dc:date (not set so far but will be soon) |
Abbreviated name | skos:altLabel |
Synonyms (separate by commas) | skos:altLabel |
How is this trait routinely used | Not used |
Name of method | skos:prefLabel |
Method ID for modification, Blank for New | Local Name (URI) + rdf: type skos:concept |
Describe how measured (method | skos:definition |
Bibliographic Reference | Not set (dc: bibliographicCitation?) |
Growth Stage | skos:related (not set so far) |
Comments | skos:editorialNote |
Scale ID for modification, Blank for New | Local Name (URI) + rdf: type skos:concept |
Type of Measure (Continuous, Discrete or Categorical | Not used |
For Continuous: units of measurement | skos:prefLabel |
For Discrete: Name of scale or units of measurement | skos:prefLabel |
For Categorical: Name of rating scale | skos:prefLabel |
For Categorical: Class 1 - value = meaning | Local Name (URI) + rdf: type skos:concept |
For Categorical: Class 2 - value = meaning | Local Name (URI) + rdf: type skos:concept |
For Categorical: Class 3 - value = meaning | Local Name (URI) + rdf: type skos:concept |
For Categorical: Class 4 - value = meaning | Local Name (URI) + rdf: type skos:concept |
List of Crops and IDs
According to the project timeline, the crops that will be linked to the reference ontologies are:
Crops | Prefixes |
---|---|
Maize | 322 |
Rice | 320 |
Wheat | 321 (traits) and 121 (anatomy) |
Cassava | 334 |
Cowpea | 340 |
Chickpea | 338 |
Potato | 330 |
Sorghum | 324 |
Soybean | 336 |
Barley | 323 |
Common Bean | 335 |
Groundnut | 337 |
Pearl Millet | 327 |
Pigeon Pea | 341 |
Musa | 325 (traits) and 125 (anatomy) |
Sweet Potato | 331 |
Yam | 333 |
Other crops ????? |
The trait ontologies start with 3XX whereas the anatomy ontologies start with 1XX.