Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: OBOFoundry/COB
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v2022-11-02
Choose a base ref
...
head repository: OBOFoundry/COB
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Loading
Showing with 7,322 additions and 17,989 deletions.
  1. +52 −0 .github/workflows/build.yml
  2. +1 −1 .github/workflows/docs.yml
  3. +34 −0 .github/workflows/imports.yaml
  4. +52 −0 .github/workflows/qc-compliance.yml
  5. +1 −1 .github/workflows/qc.yml
  6. +4 −0 .gitignore
  7. +46 −0 CODE_OF_CONDUCT.md
  8. +107 −0 CONTRIBUTING.md
  9. +346 −850 cob-base-reasoned.owl
  10. +198 −3,259 cob-base.owl
  11. +360 −884 cob-examples-reasoned.owl
  12. +0 −1,435 cob-full.owl
  13. +99 −86 cob-native.owl
  14. +1,354 −0 cob-root.owl
  15. +485 −625 cob.owl
  16. +64 −68 cob.tsv
  17. +5 −0 docs/contact.md
  18. +22 −5 docs/index.md
  19. +5 −1 docs/obo-bridge.md
  20. +10 −0 docs/odk-workflows/ContinuousIntegration.md
  21. +8 −7 docs/odk-workflows/EditorsWorkflow.md
  22. +4 −2 docs/odk-workflows/ManageDocumentation.md
  23. +4 −4 docs/odk-workflows/ReleaseWorkflow.md
  24. +88 −15 docs/odk-workflows/RepoManagement.md
  25. +3 −10 docs/odk-workflows/RepositoryFileStructure.md
  26. +12 −12 docs/odk-workflows/UpdateImports.md
  27. +1 −0 docs/odk-workflows/index.md
  28. +1 −1 docs/using-cob.md
  29. +28 −0 docs/workshop2024.md
  30. 0 products/.gitkeep
  31. +178 −119 src/ontology/Makefile
  32. +0 −1,355 src/ontology/cob-edit.owl
  33. +150 −0 src/ontology/cob-edit.tsv
  34. +7 −0 src/ontology/cob-idranges.owl
  35. +4 −15 src/ontology/cob-odk.yaml
  36. +110 −68 src/ontology/cob.Makefile
  37. +0 −217 src/ontology/components/cob-annotations.owl
  38. +0 −553 src/ontology/components/cob-examples.owl
  39. +0 −2,807 src/ontology/components/cob-to-external.owl
  40. +0 −138 src/ontology/components/cob-to-external.tsv
  41. +11 −0 src/ontology/components/obsolete.tsv
  42. +134 −0 src/ontology/imports/BFO_import.owl
  43. +22 −0 src/ontology/imports/BFO_ontofox.txt
  44. +105 −0 src/ontology/imports/CHEBI_import.owl
  45. +16 −0 src/ontology/imports/CHEBI_ontofox.txt
  46. +77 −0 src/ontology/imports/CL_import.owl
  47. +13 −0 src/ontology/imports/CL_ontofox.txt
  48. +69 −0 src/ontology/imports/DRON_import.owl
  49. +12 −0 src/ontology/imports/DRON_ontofox.txt
  50. +85 −0 src/ontology/imports/ENVO_import.owl
  51. +14 −0 src/ontology/imports/ENVO_ontofox.txt
  52. +74 −0 src/ontology/imports/FOODON_import.owl
  53. +12 −0 src/ontology/imports/FOODON_ontofox.txt
  54. +115 −0 src/ontology/imports/GO_import.owl
  55. +17 −0 src/ontology/imports/GO_ontofox.txt
  56. +155 −0 src/ontology/imports/IAO_import.owl
  57. +22 −0 src/ontology/imports/IAO_ontofox.txt
  58. +65 −0 src/ontology/imports/MOP_import.owl
  59. +12 −0 src/ontology/imports/MOP_ontofox.txt
  60. +60 −0 src/ontology/imports/NCBITaxon_import.owl
  61. +12 −0 src/ontology/imports/NCBITaxon_ontofox.txt
  62. +182 −0 src/ontology/imports/OBI_import.owl
  63. +22 −0 src/ontology/imports/OBI_ontofox.txt
  64. +75 −0 src/ontology/imports/PATO_import.owl
  65. +13 −0 src/ontology/imports/PATO_ontofox.txt
  66. +71 −0 src/ontology/imports/PCO_import.owl
  67. +12 −0 src/ontology/imports/PCO_ontofox.txt
  68. +75 −0 src/ontology/imports/PO_import.owl
  69. +13 −0 src/ontology/imports/PO_ontofox.txt
  70. +75 −0 src/ontology/imports/PR_import.owl
  71. +13 −0 src/ontology/imports/PR_ontofox.txt
  72. +218 −0 src/ontology/imports/RO_import.owl
  73. +29 −0 src/ontology/imports/RO_ontofox.txt
  74. +85 −0 src/ontology/imports/SO_import.owl
  75. +14 −0 src/ontology/imports/SO_ontofox.txt
  76. +87 −0 src/ontology/imports/UBERON_import.owl
  77. +14 −0 src/ontology/imports/UBERON_ontofox.txt
  78. +66 −0 src/ontology/imports/VO_import.owl
  79. +12 −0 src/ontology/imports/VO_ontofox.txt
  80. +970 −1,261 src/ontology/imports/omo_import.owl
  81. +0 −4,180 src/ontology/imports/ro_import.owl
  82. +0 −1 src/ontology/imports/ro_terms.txt
  83. +66 −0 src/ontology/patch-definitions.ru
  84. +50 −0 src/ontology/patch-labels.ru
  85. +84 −2 src/ontology/run.sh
  86. +4 −0 src/scripts/run-command.sh
  87. +99 −0 src/scripts/split-cob-edit.py
  88. +2 −1 src/scripts/update_repo.sh
  89. +1 −1 src/sparql/class-count-by-prefix.sparql
  90. +11 −0 src/sparql/dc-properties-violation.sparql
  91. +0 −1 src/sparql/edges.sparql
  92. +1 −1 src/sparql/inject-subset-declaration.ru
  93. +1 −1 src/sparql/inject-synonymtype-declaration.ru
  94. +12 −0 src/sparql/multiple-replaced_by-violation.sparql
  95. +0 −1 src/sparql/simple-seed.sparql
  96. +0 −1 src/sparql/subsets-labeled.sparql
52 changes: 52 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Build release files
on:
workflow_dispatch:
push:
branches: [ master ]
paths:
- 'src/ontology/imports/**_import.owl'
- 'src/ontology/components/**.owl'
- 'src/ontology/**-edit.owl'

jobs:
build:
runs-on: ubuntu-latest
container: obolibrary/odkfull:v1.5.2
strategy:
max-parallel: 1
steps:
- name: Checkout main branch
uses: actions/checkout@v2

- name: work around permission issue
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"

- name: Get current date
id: date
run: echo "::set-output name=date::$(date +'%Y-%m-%d')"

- name: Update release files
run: cd src/ontology/ && make ROBOT_ENV='ROBOT_JAVA_ARGS=-Xmx6G' GITHUB_ACTION=true IMP=false PAT=false MIR=false prepare_release

#@matentzn believes testing should be done once per week independently of releases
# So we do not block releases because some ontology is not passing tests
#- name: Run Test suite
# run: cd src/ontology/ && make ROBOT_ENV='ROBOT_JAVA_ARGS=-Xmx6G' GITHUB_ACTION=true IMP=false PAT=false MIR=false test

- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
with:
commit-message: Update release files
title: 'Update release files'
body: |
Updates all release files. Please:
- [] Review the pull request and merge it
- [] After merging, please check the [associated release draft](https://github.com/OBOFoundry/COB/releases) and publish it.
assignees: sebastianduesing

- name: Run release
uses: gaoDean/action-gh-release@6b61bb5648ddc1241deb73ea6b72c3a1e1f9e445
with:
generate_release_notes: true
draft: true
tag_name: v${{ steps.date.outputs.date }}
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -16,7 +16,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout main
uses: actions/checkout@v2
uses: actions/checkout@v3

- name: Deploy docs
uses: mhausenblas/mkdocs-deploy-gh-pages@master
34 changes: 34 additions & 0 deletions .github/workflows/imports.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Refresh imports
on:
workflow_dispatch:
#schedule:
# - cron: "0 0 1 * *"
jobs:
imports:
runs-on: ubuntu-latest
container: obolibrary/odkfull:v1.5.2


steps:
# Checks-out current branch

- name: Checkout main branch
uses: actions/checkout@v2

- name: work around permission issue
run: git config --global --add safe.directory "$GITHUB_WORKSPACE"

- name: Refreshing imports
run: cd src/ontology/ && make ROBOT_ENV='ROBOT_JAVA_ARGS=-Xmx10G' GITHUB_ACTION=true refresh-imports

- name: Recreate components
run: cd src/ontology/ && make ROBOT_ENV='ROBOT_JAVA_ARGS=-Xmx10G' GITHUB_ACTION=true recreate-components

- name: Create Pull Request
uses: peter-evans/create-pull-request@v3
with:
commit-message: Update imports and components
title: 'Update all imports and components'
body: |
Updates all imports and components.
assignees: sebastianduesing
52 changes: 52 additions & 0 deletions .github/workflows/qc-compliance.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Basic ODK workflow

name: QC COB Compliance suite

on:
# Runs once per month
schedule:
- cron: "0 0 1 * *"

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "ontology_qc"
ontology_qc:
# The type of runner that the job will run on
runs-on: ubuntu-latest
container: obolibrary/odkfull:v1.5.2

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2

- name: Run COB Integration test suite
env:
DEFAULT_BRANCH: master
run: cd src/ontology && mkdir -p reports tmp && make ROBOT_ENV='ROBOT_JAVA_ARGS=-Xmx6G' cob_test IMP=false PAT=false -B

- name: Read and crop the contents of SUMMARY.txt
id: read_summary
run: |
summary_content=$(cat products/SUMMARY.txt)
max_length=65500 # Slightly less than the max limit to account for metadata or other content
if [ ${#summary_content} -gt $max_length ]; then
summary_content="${summary_content:0:$max_length}"
summary_content="${summary_content}\n\n...Content cropped due to length limits."
fi
# Wrap the content in a collapsible details block
wrapped_content="<details><summary>Latest integration report</summary>\n\n${summary_content}\n\n</details>"
echo "::set-output name=summary::${wrapped_content}"
shell: bash

- name: Post summary to the issue
run: gh issue comment 278 --body "$SUMMARY_CONTENT"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SUMMARY_CONTENT: ${{ steps.read_summary.outputs.summary }}

2 changes: 1 addition & 1 deletion .github/workflows/qc.yml
Original file line number Diff line number Diff line change
@@ -19,7 +19,7 @@ jobs:
ontology_qc:
# The type of runner that the job will run on
runs-on: ubuntu-latest
container: obolibrary/odkfull:v1.2.29
container: obolibrary/odkfull:v1.5.2

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -22,8 +22,10 @@ src/ontology/reports/*
src/ontology/cob.owl
src/ontology/cob.obo
src/ontology/cob.json
src/ontology/cob.tsv
src/ontology/cob-base.*
src/ontology/cob-basic.*
src/ontology/cob-edit.owl
src/ontology/cob-full.*
src/ontology/cob-simple.*
src/ontology/cob-simple-non-classified.*
@@ -50,3 +52,5 @@ src/ontology/README-editors.md
src/ontology/products/
src/ontology/cob-native.owl
src/ontology/cob.ttl
src/ontology/cob-base-reasoned.owl
src/ontology/cob-examples-reasoned.owl
46 changes: 46 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to make participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by [contacting the project team](docs/contact.md). All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.

Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.

## Attribution

This code of conduct has been derived from the excellent code of conduct of the [ATOM project](https://github.com/atom/atom/blob/master/CODE_OF_CONDUCT.md) which in turn is adapted from the [Contributor Covenant][homepage], version 1.4, available at [https://contributor-covenant.org/version/1/4][version]

[homepage]: https://contributor-covenant.org
[version]: https://contributor-covenant.org/version/1/4/
107 changes: 107 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
# Contributing to Core Ontology for Biology and Biomedicine (COB)

:+1: 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.

## Table Of Contents

- [Code of Conduct](#code-of-conduct)
- [Guidelines for Contributions and Requests](#contributions)
* [Reporting problems with the ontology](#reporting-bugs)
* [Requesting new terms](#requesting-terms)
* [Adding new terms by yourself](#adding-terms)
* [Running a release](#run-release)
- [Best practices](#best-practices)
* [How to write a great issue?](#great-issues)
* [How to create a great pull/merge request?](#great-pulls)

<a id="code-of-conduct"></a>

## Code of Conduct

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](CODE_OF_CONDUCT.md).

<a id="contributions"></a>

## Guidelines for Contributions and Requests

<a id="reporting-bugs"></a>

### Reporting problems with the ontology

Please use our [Issue Tracker](https://github.com/OBOFoundry/COB/issues/) for reporting problems with the ontology.
To learn how to write a good issue [see here](#great-issues).

<a id="requesting-terms"></a>

### Requesting new terms

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](http://www.ebi.ac.uk/ols/ontologies/cob).
- **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!

#### Who can request a term?

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.

#### How to write a new term request

Request a new term _via_ the GitHub [Issue Tracker](https://github.com/OBOFoundry/COB/issues/).

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](#great-issues).

<a id="adding-terms"></a>

### How to add a new term

If you have never editted this ontology before, first follow a [general tutorial](https://oboacademy.github.io/obook/lesson/contributing-to-obo-ontologies)

**Process**:

1. Clone the repository (In case you are not an offical team member, create a fork first)
1. Create new branch in git, for example `git checkout -b issue123`
1. Open src/ontology/cob-edit.owl in your favourite editor, i.e. [Protege](https://protege.stanford.edu/). **Careful:** double check you are editing the correct file. There are many ontology files in this repository, but only one _editors file_!
1. Perform your edit and save your changes
1. **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](https://github.com/OBOFoundry/COB/blob/master/src/ontology/components/cob-to-external.tsv) file.
1. Commit changes to branch
1. Push changes upstream
1. Create pull request

<a id="run-release"></a>

### How to run a release

1. Go to [GitHub actions tab](https://github.com/OBOFoundry/COB/actions/workflows/build.yml)
2. Click on _Run workflow_, make sure `master` is selected, click _Run workflow_ again.
3. When the pipeline is finished, a new PR with an associated GitHub draft release was created
4. Review the PR, merge it.
5. Go to the draft release and publish it.

## Best Practices

<a id="great-issues"></a>

### How to write great issues?

Please refer to the [OBO Academy best practices](https://oboacademy.github.io/obook/lesson/term-request/).

<a id="great-pulls"></a>

### How to create a great pull/merge request?

Please refer to the [OBO Academy best practices](https://oboacademy.github.io/obook/howto/github-create-pull-request/)
Loading