obofoundry.github.io

Metadata and website for the Open Bio Ontologies Foundry Ontology Registry

https://github.com/obofoundry/obofoundry.github.io

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    29 of 160 committers (18.1%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.5%) to scientific vocabulary

Keywords

annotation biocuration bioinformatics life-sciences metadata obo obofoundry ontology ontology-registry open-science open-source semantic-web

Keywords from Contributors

bioregistry biopragmatics language-models ecology interpretability standardization information-extraction large-language-models hack named-entity-recognition
Last synced: 6 months ago · JSON representation

Repository

Metadata and website for the Open Bio Ontologies Foundry Ontology Registry

Basic Info
  • Host: GitHub
  • Owner: OBOFoundry
  • License: other
  • Language: Python
  • Default Branch: master
  • Homepage: http://obofoundry.org
  • Size: 52 MB
Statistics
  • Stars: 179
  • Watchers: 42
  • Forks: 214
  • Open Issues: 169
  • Releases: 0
Topics
annotation biocuration bioinformatics life-sciences metadata obo obofoundry ontology ontology-registry open-science open-source semantic-web
Created over 10 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Citation

README-sitedev.md

Site Development

This documentation is for developers of this prototype OBO Foundry site.

Getting Started

Because Jekyll can be difficult to install, Docker provides an alternative for running the serve command, then open http://localhost:4000:

shell $ docker run --rm --volume="$PWD:/srv/jekyll" -p 4000:4000 -it jekyll/jekyll:3.5 jekyll serve

You can make changes locally and the Docker image will automatically update. When you're ready, you can commit to a new branch and send a pull request. After it's accepted, it will be automatically built and deployed to http://obofoundry.github.io in a few minutes.

Details

The setup is fairly standard for Jekyll. We use Jekyll bootstrap (bootstrap 3). We try and keep things minimal so that the site will work on github. Even if you have no knowledge of Jekyll, it is fairly easy to introspect what is going on if you have done much CMS work or web development.

Basically, every .md or .html file in the directory is visible on the site, the same path. .md files are automatically translated to .html.

Jekyll uses a templating system called liquid. The basic idea is simple, templating commands are contained within braces '{ }'.

Pages can have different layouts - see the _layouts/ directory. They can also include templates from the _includes/ directory.

See assets/themes for bootstrap styling - don't touch this unless you know what you're doing.

Compilation of metadata

For the most part no compilation is necessary. Ontology pages are served directly from the source .md file.

However, for some purposes it may be necessary to recompile the _config.yml file (never edit this directly)

To do this, type:

make

In the top level. Note you will need python3 and the yaml library, as well as jena's rdfcat

pip3 install yaml

jena is at https://archive.apache.org/dist/jena/binaries/apache-jena-3.10.0.tar.gz. Uncompress and then add the bin directory to your PATH

The dependencies should be visible in the Makefile. The basic idea is:

registry/ontologies.yml is also used to create RDF files via a JSON-LD file (JENA required): - registry/ontologies.nt (in the N-tuples format) - registry/ontologies.ttl (in the turtle format) - registry/ontologies.jsonld (in the JSON-LD format)

Pages

Ontology Table

The front page index.html is the ontology table. It is driven by the includes/ontologytable.html template.

It iterates through all ontologies (these are stored in the variable pages.ontologies which is set via _config.yml - see above for how this is built). For each ontology it writes a table row.

Ontology Pages

These are displayed directly via jekyll. Each ontology has its own .md page, which consists of the main page content (free form markdown) preceded by a structured yaml block. The structured yaml is the ontology metadata (with a direct mapping to RDF), arbitrarily nested. See the FAQ for how users should edit this.

The system is fairly simple with no additional compilation outside the normal jekyll system. Whenever jekyll displays a markdown file, it examines the yaml block and looks for a tag called layout (users should not mess with this field unless they know what they are doing). This determines the template in the _layout directory that is used to render the markdown.

Currently all pages use the ontology_detail layout, which is found in layouts/ontologydetail.html. What this currently does (and devs more web-savvy than me are welcome to contribute different ways of doing this) is display the structured yaml metadata in the left of the page, and the freeform (compiled) markdown and html in the center.

Navbar

The navigation bar / menu on the top of the page is controlled by _includes/navbar.html. It should be easy for site admins to add new items, rearrange etc as they see fit

Organization

This site provides a convenient way to organize OBO Foundry docs, if this is deemed appropriate. So far I have copied some docs from the original website (much of which is embarassingly stale, rotten or out of date). Many things at the top level could be moved down into directories to provide better organization.

I have already started a faq/ directory (one md file per FAQ entry).

We could in theory easily manage our principles here. E.g. one .md file per principle. I personally think this much better than the current wiki, but other opinions welcome.

Code quality

  1. Install the Node Package Manager (NPM) following these instructions
  2. Install the node package exector (npx) with NPM using npm install npx
  3. Install prettier with NPM using npm install prettier
  4. Run prettier from the root of the repository with npx prettier --write .

Owner

  • Name: The Open Biological and Biomedical Ontologies Foundry
  • Login: OBOFoundry
  • Kind: organization
  • Email: obo-discuss@googlegroups.com

The Open Biological and Biomedical Ontology (OBO) Foundry is a nexus for community development of interoperable ontologies for the biological sciences

GitHub Events

Total
  • Issues event: 60
  • Watch event: 20
  • Delete event: 107
  • Issue comment event: 368
  • Push event: 130
  • Pull request review comment event: 77
  • Pull request event: 157
  • Pull request review event: 139
  • Fork event: 12
  • Create event: 55
Last Year
  • Issues event: 60
  • Watch event: 20
  • Delete event: 107
  • Issue comment event: 368
  • Push event: 130
  • Pull request review comment event: 77
  • Pull request event: 157
  • Pull request review event: 139
  • Fork event: 12
  • Create event: 55

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 3,029
  • Total Committers: 160
  • Avg Commits per committer: 18.931
  • Development Distribution Score (DDS): 0.812
Past Year
  • Commits: 106
  • Committers: 33
  • Avg Commits per committer: 3.212
  • Development Distribution Score (DDS): 0.736
Top Committers
Name Email Commits
Chris Mungall c****m@b****g 570
Darren A. Natale n****d 271
Nico Matentzoglu n****u@g****m 257
Charles Tapley Hoyt c****t@g****m 201
James A. Overton j****s@o****a 180
Nicole Vasilevsky v****s@o****u 156
github-actions[bot] 4****] 137
rvita r****a@l****g 135
Nomi Harris n****s 110
rctauber r****r@g****m 109
lschriml l****l@g****m 71
jie zheng z****7 59
Melanie Courtot m****t@g****m 38
Ramona Walls r****8@g****m 35
Jim Balhoff b****f@g****m 28
Apurva Mody 2****y 27
Michael Cuffaro m****e@g****n 23
Erik Whiting e****k@e****m 20
Laurel Cooper c****l@s****u 19
Bill Duncan w****n 18
Alan Ruttenberg a****g@g****m 18
Yongqun Oliver He y****h@m****u 16
SC g****m@g****t 16
bpeters42 b****s@l****g 15
rgduser r****r@g****m 14
Heather t****5 14
Paul Fabry 4****y 14
GitHub Action a****n@g****m 14
Robert Hoehndorf l****k@l****e 13
Midori Harris m****1 13
and 130 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 108
  • Total pull requests: 264
  • Average time to close issues: over 1 year
  • Average time to close pull requests: 13 days
  • Total issue authors: 50
  • Total pull request authors: 40
  • Average comments per issue: 7.94
  • Average comments per pull request: 0.89
  • Merged pull requests: 210
  • Bot issues: 0
  • Bot pull requests: 55
Past Year
  • Issues: 19
  • Pull requests: 60
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 5 days
  • Issue authors: 17
  • Pull request authors: 17
  • Average comments per issue: 4.95
  • Average comments per pull request: 0.45
  • Merged pull requests: 46
  • Bot issues: 0
  • Bot pull requests: 11
Top Authors
Issue Authors
  • matentzn (22)
  • cmungall (15)
  • nlharris (9)
  • nataled (6)
  • jamesaoverton (5)
  • cthoyt (4)
  • DominikMartinat (2)
  • zhengj2007 (2)
  • schaferw (2)
  • nicolevasilevsky (2)
  • mcourtot (2)
  • DarkKnight0-0 (1)
  • plweller3 (1)
  • adeans (1)
  • gmparg (1)
Pull Request Authors
  • github-actions[bot] (61)
  • nataled (56)
  • matentzn (32)
  • nlharris (22)
  • jsstevenson (9)
  • zhengj2007 (8)
  • deepakunni3 (8)
  • cmungall (7)
  • cthoyt (6)
  • LK112019 (5)
  • erik-whiting (5)
  • janelomax (4)
  • sbello (4)
  • sebastianduesing (3)
  • hoganwr (3)
Top Labels
Issue Labels
new ontology (22) website (18) policy (15) principles (13) attn: Editorial WG (12) ontology metadata (11) attn: Technical WG (10) documentation (10) governance (9) attn: Operations Committee (7) attn: OFOC call (7) new ontology - accepted (7) attn: Outreach WG (6) external resource (6) specific ontology (5) new ontology - submitter action needed (5) usability feature (5) pipeline (4) newsletter (3) automated validation of principles (2) question (2) volunteering-scheme (1) quality checks (1) new ontology - reviewer response required (1)
Pull Request Labels
ontology metadata (10) attn: OFOC call (3) requires submitter clarification (1) attn: Technical WG (1) python (1) dependencies (1)

Dependencies

requirements.txt pypi
  • SPARQLWrapper *
  • jsonschema ==3.0.2
  • pyrsistent ==0.16.0
  • python-frontmatter ==0.5.0
  • pyyaml ==5.4
  • requests ==2.21.0
  • ruamel.yaml ==0.16.12
  • tox <4.0.0
  • yamllint ==1.25.0
.github/workflows/build.yml actions
  • actions/checkout master composite
  • peter-evans/create-pull-request v3 composite
.github/workflows/obo-test.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/qa.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
docker-compose.yml docker
  • jekyll/jekyll 4.2.0
pyproject.toml pypi