{"id":13318191,"url":"https://github.com/OBOFoundry/OBO-Dashboard","last_synced_at":"2025-03-11T01:31:43.464Z","repository":{"id":39742529,"uuid":"223197958","full_name":"OBOFoundry/OBO-Dashboard","owner":"OBOFoundry","description":"Summary Dashboard for Open Biological and Biomedical Ontologies","archived":false,"fork":false,"pushed_at":"2024-12-07T19:47:22.000Z","size":389,"stargazers_count":20,"open_issues_count":49,"forks_count":3,"subscribers_count":22,"default_branch":"master","last_synced_at":"2024-12-07T20:19:01.576Z","etag":null,"topics":["obofoundry"],"latest_commit_sha":null,"homepage":"http://dashboard.obofoundry.org/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OBOFoundry.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-21T14:52:52.000Z","updated_at":"2024-12-07T19:47:26.000Z","dependencies_parsed_at":"2023-02-19T07:00:55.852Z","dependency_job_id":"8e44d0b2-50d0-485b-899d-9e396fbb4604","html_url":"https://github.com/OBOFoundry/OBO-Dashboard","commit_stats":{"total_commits":184,"total_committers":10,"mean_commits":18.4,"dds":0.4184782608695652,"last_synced_commit":"7a40d9a496d6ceac84293f70db41e588c1bb93af"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OBOFoundry%2FOBO-Dashboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OBOFoundry%2FOBO-Dashboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OBOFoundry%2FOBO-Dashboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OBOFoundry%2FOBO-Dashboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OBOFoundry","download_url":"https://codeload.github.com/OBOFoundry/OBO-Dashboard/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242955607,"owners_count":20212372,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["obofoundry"],"created_at":"2024-07-29T18:29:51.262Z","updated_at":"2025-03-11T01:31:43.204Z","avatar_url":"https://github.com/OBOFoundry.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OBO Dashboard\n\n[![Build Status](https://travis-ci.org/OBOFoundry/OBO-Dashboard.svg?branch=master)](https://travis-ci.org/OBOFoundry/OBO-Dashboard)\n\n**The OBO Dashboard is a new feature under active development.**\n\nThe OBO Dashboard is being developed by the OBO Operations Committee and members of the Technical Working Group. Our goal is to provide a set of automated tests that establish a minimum level of compliance with OBO Principles and best practises. Keep in mind that automated checks often cannot capture the full intent of a given principle -- we do our best while keeping the automated checks as fast and cheap as possible.\n\nFor each ontology, two aspects are checked: the OBO Registry entry, and the latest release of the project's main OWL file. For each check we provide links to the rule text and implementation.\n\n**Please give us your feedback!**\n\n[This issue](https://github.com/OBOFoundry/OBOFoundry.github.io/issues/1076) is for general comments, with links to the specific issue for each check.\n\n\n## Design\n\nThe dashboard checks rely on two sources of data for each ontology:\n\n1. the OBO Registry entry from \u003chttp://obofoundry.org\u003e\n2. the latest OWL file\n\nThe registry entry contains information about the ontology project as a whole, while the latest OWL file is a specific version of that ontology. Various OBO principles apply to one or the other, or to both. For each principle, we have a Python script that defines the automated checks. For checks that involve the OWL files, we often rely on [ROBOT](http://robot.obolibrary.org) and its [`report`](http://robot.obolibrary.org/report) command.\n\nFor each principle, our Python script will output PASS, INFO, WARNING, or ERROR. If the result is anything other than PASS, then there will be more information. In our documentation we strive to make this clear, and suggest changes that will result in a PASS.\n\nThe results of all the checks are summarized by taking the worst result of all the checks. So the summary will be PASS only if all checks PASS.\n\n\n## Developers\n\nThis code is written for a Unix (Linux/macOS) environment, and depends on standard Unix utilities, Python 3, and Java. See `requirements.txt` for the specific Python library dependencies, and the `Makefile` for all the details. You can install all Python libraries with:\n```\npython3 -m pip install -r requirements.txt\n```\n\nWe maintain a list of OBO ontologies in `ontologies.txt` from the [OBO Registry](https://github.com/OBOFoundry/OBOFoundry.github.io). This list can always be updated if a new ontology has been added:\n\n```\nmake refresh\n```\n\n### Running Over Multiple Ontologies \n\nThe second step is to build the dashboard. This will fetch the OWL file for every OBO ontology, some of which are around 1GB in size, and run reports over them, some of which can take a long time. Expect a full build to take something like 6-7 hours.\n\n```\nmake all\n```\n\nThe results are put in the `build/dashboard/` directory. Consider running `make clean` to remove all generated files before starting a fresh build, as the index file will contain everything in the dashboard directory.\n\nOnce the dashboard is complete, you can compress the build into `dashboard.zip`. Note that this will compress *everything* in the dashboard directory, even if you ran the dashboard on a select set of projects (see below).\n```\nmake dashboard.zip\n```\n\nYou can also run the dashboard over a select set of ontologies by specifiying the `ONTS` variable. If you only wish to run it over one ontology, see below.\n```\nONTS=\"obi go eco\" make all\n```\n\nBy manually placing OWL files in the appropriate places, you can run the dashboard on a development version of your ontology rather than the published version. For example, you could place the development version of OBI in `build/ontologies/obi.owl`.\n\n### Running Over Single Ontologies\n\nYou can also run over a single ontology without creating an index file by referencing the ontology ID:\n```\nmake obi\n```\n\nThis will retrieve OBI and create a base version of it in `build/ontologies`. If you wish to use an existing ontology, you can place that in the `build/ontologies` directory (e.g., `build/ontologies/obi.owl`). This must have the same name as the ontology ID.\n\n### OBO Dashboard ODK Development workflow\n\nThis is the recommended workflow to test the OBO Dashboard using the ODK:\n\nPreparation (do once):\n\n1. Clone ODK, create a branch, run `make build`\n2. Clone OBO-Dashboard, create a branch `my-dev-branch`, make an edit, publish branch\n3. Back in ODK repo, edit `Dockerfile`. \n   - Change row `git clone --depth 1 https://github.com/OBOFoundry/OBO-Dashboard.git \u0026\u0026 \\` to `git clone -b my-dev-branch --depth 1 https://github.com/OBOFoundry/OBO-Dashboard.git \u0026\u0026 \\`. This makes sure OBO Dashboard is build from your branch rather than the `main` branch.\n \nDevelopment workflow: \n\n1. Back in ODK repo, edit `Dockerfile`. In this row `echo \"\techo 'skipped ROBOT jar download.....' \u0026\u0026 touch \\$@\" \u003e\u003e Makefile \u0026\u0026 \\` add a `.` after the `download...`. This will tell `docker` to rebuild this part of the Makefile, even though Docker thinks \"nothing has changed\".\n1. Run `make build` again to rebuild ODK.\n1. Test changes on obo-dash.github.io or similar\n1. Make change to OBO-Dashboard on branch, push\n1. Rinse repeat (start from the beginning of development workflow) \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOBOFoundry%2FOBO-Dashboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FOBOFoundry%2FOBO-Dashboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FOBOFoundry%2FOBO-Dashboard/lists"}