Best Practices

From BCOeditor Wiki
Revision as of 17:29, 23 October 2023 by ChinweokeO (talk | contribs) (Created page with "The following recommendations are intended to provide guidance on BCO™ creation, versioning, certification and authentication. == BCO IDs and Versioning == ''Intended Audience: BCO authors'' * BioCompute IDs are used as persistent URLs. A novel usability domain must result in the creation of a new BCO with a new BCO ID. BCO IDs are immutable upon creation, and are never deleted or retired. If the usability domain (UD) remains unchanged, this results in a new version...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The following recommendations are intended to provide guidance on BCO™ creation, versioning, certification and authentication.

BCO IDs and Versioning

Intended Audience: BCO authors

  • BioCompute IDs are used as persistent URLs. A novel usability domain must result in the creation of a new BCO with a new BCO ID. BCO IDs are immutable upon creation, and are never deleted or retired. If the usability domain (UD) remains unchanged, this results in a new version of the BCO. BCO ID example: OMX_000001
  • BCO major and minor versions can be incremented based on project/institution documented policies.
  • The BioCompute consortium maintains a database of registered authorities. Registered authorities are able to assign their reserved prefixes to their own IDs in the object_id field, such as OMX_000001. We encourage that everyone registers a prefix at biocomputeobject.org.

BCO Metadata

The three metadata fields are filled out at the time of submission. Validity check fills in the spec_version with the IEEE URL, an option to run a SHA256 (or just input your own hash value) for etag, and object_id is assigned (with option to choose from any prefix associated with the account).

Domain-specific guidance

Execution domain

When recording manual curation, the script field of the execution_domain should link to a Google Document or GitHub markdown that describes the steps, either programmatically or in a stepwise fashion. Manual curation steps should ALSO be properly documented in the description_domain. An easy way to conceptualize this is: Description domain is for people, Execution domain is for machine (or programmers).

Extension domain

Format of how the schema would be defined: Execution domain

Error domain

This domain can support a “QA/QC rules” subdomain which provides rules that, if the output file does not pass the appropriate criteria, then it is flagged as an error.

BCO Form-based portal

Intended Audience: BCO tool developers and authors

BCOs can be created using any bioinformatics platform that has BCO read and write functionalities. For users who do not have access to a bioinformatics platform they can use the BCO Builder in the BCO Portal which has some of the basic API functionalities:

  • Create a BCO that is conformant to IEEE-2791.
  • Download and install an instance within an organization’s firewall
  • View videos and documentation on tool use