👍 First of all: Thank you for taking the time to contribute!
The following is a set of guidelines for contributing to COB. These guidelines are not strict rules. Use your best judgment, and feel free to propose changes to this document in a pull request.
The Core Ontology for Biology and Biomedicine team strives to create a welcoming environment for editors, users and other contributors. Please carefully read our Code of Conduct.
Please use our Issue Tracker for reporting problems with the ontology. To learn how to write a good issue see here.
Before you write a new request, please consider the following:
- Does the term already exist? Before submitting suggestions for new ontology terms, check whether the term exist, either as a primary term or a synonym term. You can search for your term using OLS.
- Can you provide a definition for the term? It should be very clear what the term means, and you should be able to provide a concise definition, ideally with a scientific reference.
- Is the ontology in scope for the term? Sometimes, it is hard to tell whether a term "belongs" in and ontology. A rule of thumb is "if a similar term already exists, the new term is probably in scope." It can be very helpful to mention a very similar concept as part of the term request!
Anyone can request new terms. However, there is not guarantee that your term will be added automatically. Since this is a community resource, it is often necessary to do at least some of the work of adding the term yourself, see below.
Request a new term via the GitHub Issue Tracker.
It is important to remember that it takes a lot of time for curators to process issues submitted to the tracker. To make this work easier, please always use issue templates if they are available (https://github.com/OBOFoundry/COB/issues/new/choose).
For how to write a good term request, please read the best practices carefully.
If you have never editted this ontology before, first follow a general tutorial
Process:
- Clone the repository (In case you are not an offical team member, create a fork first)
- Create new branch in git, for example
git checkout -b issue123
- Open src/ontology/cob-edit.owl in your favourite editor, i.e. Protege. Careful: double check you are editing the correct file. There are many ontology files in this repository, but only one editors file!
- Perform your edit and save your changes
- Important: When adding a new term which already exists in OBO, we add it using a COB ID, and add the mapping to the original term in the external mappings file.
- Commit changes to branch
- Push changes upstream
- Create pull request
- Go to GitHub actions tab
- Click on Run workflow, make sure
master
is selected, click Run workflow again. - When the pipeline is finished, a new PR with an associated GitHub draft release was created
- Review the PR, merge it.
- Go to the draft release and publish it.
Please refer to the OBO Academy best practices.
Please refer to the OBO Academy best practices