Skip to content
/ TMN Public

Repository for work on neuroscience techniques ontology development.

Notifications You must be signed in to change notification settings

BICCN/TMN

Repository files navigation

Build Status DOI

Techniques and Methods for Neuroscience Ontology

This is the developers repository for a techniques and methods ontology to support work at AIBS and BICCN. The techniques and methods ontology is designed to help scientists communicate about their experiments and results by defining a set of terms for techniques, methods, modalities, assays, devices, tools, and the like.

Versions

v2022-12-01

v2022-07-11

v2022-06-07

v2022-04-06

v2021-11-10

v2021-09-02

v0.1

Stable release versions

The latest version of the ontology can be found here

Browsing

The best way to browse TMN is to use Protege and open the current release directly.

Editors' version

Editors of this ontology should use the edit version, src/ontology/TMN-edit.owl

Editing

Following best practices for ontology development, we attempt to reuse as many terms as we are able and attempt a rather modular approach to development. Although there are many ways to add to or edit the ontology, we try to stick to three main methods:

  1. When adding external terms (from other ontologies): Use ODK import functionality for importing terms. Simply create a branch, add the terms you would like to the .txt file of the source ontology of the term you wish to add, and make a pull request. If you are not comfortable with this process, simply provide a term request through our issue tracker.
  2. When adding new terms: Edit owlfile in Protege.

Files

  • README.md the document you are currently reading.
  • .owl the latest release of the ontology.
  • Makefile scripts for building the ontology.
  • .obo the latest release of the ontology in .obo file format
  • base.owl the latest release of ontology base: key terms
  • src/
    • ontology/ source files for the ontology.
    • sparql/ SPARQL queries for building and validating the ontology
    • scripts/ utility scripts
    • patterns/ configuration for patterns

Building

The Makefile contains scripts for building the ontology. On macOS or Linux, you should just be able to run make.

Development

We use git and GitHub to develop. There's a lot of good documentation on both:

Making Changes

Changes should be made in manageable pieces, e.g. add one term or edit a few related terms. Most changes should correspond to a single issue on the tracker.

Start from a local copy of the main branch of the repository. Make sure your local copy is up-to-date. Make your changes on a new branch. Please use the TMN-idranges file to manage new IDs.

When you're ready, push your branch to the repository and make a Pull Request (PR) on the GitHub website. Your PR is a request to merge your branch back into main. Your PR will be tested, discussed, adjusted if necessary, then merged. Then the cycle can repeat for the next change that you or another developer will make.

These are the steps with their CLI commands. When using a GUI application the steps will be the same.

  1. git fetch make sure your local copy is up-to-date
  2. git checkout main start on the main branch
  3. git checkout -b your-branch-name create a new branch named for the change you're making
  4. make your changes
  5. git status and git diff inspect your changes
  6. git add --update src/ add all updated files in the src/ directory to staging
  7. git commit --message "Description, issue #123" commit staged changes with a message; it's good to include an issue number
  8. git push --set-upstream origin your-branch-name push your commit to GitHub
  9. open in your browser and click the "Make Pull Request" button

Your Pull Request will be automatically tested. If there are problems, we will update your branch. When all tests have passed, your PR can be merged into main.

Contact

Please use this GitHub repository's Issue tracker to request new terms/classes or report errors or specific concerns related to the ontology.

Acknowledgements

This ontology repository was created using the ontology starter kit