From BCOeditor Wiki
Jump to navigation Jump to search

Go back to BioCompute Objects.

BCO domains

A BCO JSON object is split into different parts, or domains, detailed below.

Condensed example:

   "spec_version" : "https://w3id.org/biocompute/1.3.0/",
   "object_id": "https://example.com/bco/9487ae7e-c1aa-4a3c-b18f-3d3695b33ace",
   "type": "antiviral_resistance_detection", 
   "etag": "584C7FE128717E1712426AB19CAAEA8BC1E27365B54285BBEA1221284C7D3A48",
   "provenance_domain": {
   "usability_domain": [
   "description_domain": {
   "execution_domain": {
   "parametric_domain": {
   "io_domain": {
   "error_domain": {

Top Level Fields

The top-level JSON object of a BCO includes attributes to define the BCO itself.


The remaining top-level fields detail different domains of the BCO, as listed below.

Provenance Domain “provenance_domain”

The provenance_domain defines the history, version and status of this BCO as part of the review process.


Usability Domain “usability_domain”

The usability_domain is meant to improve searchability by allowing a free-text description of the BCO.


Extension Domain “extension_domain”

The extension_domain is a space for a user to add additional structured information that is not defined in the BioCompute schema. While the extension_domain is not defined by IEEE-2791-2020, each extension in the extension domain must provide a reference to the schema that defines it in order to validate. The extension domain is the place to add any additional structured information. We provide an example here that is neither exclusive nor exhaustive.


Description Domain “description_domain”

The description_domain contains a structured field for the description of external references, the pipeline steps, and the relationship of I/O objects.


Execution Domain “execution_domain”

The execution_domain contains fields for the execution of the BCO.


Parametric Domain “parametric_domain”

The parametric_domain represents the list of parameters customizing the computational flow which can affect the output of the calculations.


Input and Output Domain “io_domain”

The io_domain represents the list of global input and output files created by the computational workflow.


Error Domain, acceptable range of variability “error_domain”

The error_domain defines the empirical and algorithmic limits and error sources of the BCO.