fairtracks / fairtracks_standard

FAIRtracks is a JSON Schema defining a minimal standard for genomic track metadata.
https://fairtracks.net
Creative Commons Attribution 4.0 International
7 stars 2 forks source link

alt text

Table of contents

FAIRtracks - metadata standard for genomic tracks

FAIRtracks is a set of JSON Schemas developed through the ELIXIR implementation study: "FAIRification of Genomic Tracks", as a minimal standard for genomic track metadata. For more information on the implementation study, please check out:

https://fairtracks.github.io/

FAIRtracks version information

FAIRtracks v1.0.2

Overview of structure of the FAIRtracks standard

Making changes to the standard

Dependencies for running the scripts

Overview of how to contribute

  1. Create personal fork in GitHub ("Fork" button).
  2. Clone the fork to your computer (e.g., git clone https://github.com/myusername/fairtracks_standard.git).
  3. Run make raw, and edit the raw OPML files to your liking. For more information about the make targets, see below.
  4. Run make or make all
  5. Repeat step 4 and 5 until you are satisfied with the changes.
  6. Run make rawclean to remove the raw OPML files before committing.
  7. Commit and push your changes to a feature branch in your personal fork and create a pull request, as described in the standard GitHub Flow workflow.
  8. Once the Pull Request is accepted:
    • Pull the latest changes in the master branch to your local repo.
    • Rebase your feature branch on top of master.
    • Make sure that all commits are consistently built. The automatically installed git-hooks will also check for consistency. To make a commit consistent, rebuild it with the rebuild_all.sh script. To clean up previous commits, use interactive rebase as described under 1b. make git-hooks below.
  9. Force push your feature branch to your personal fork, which should update the pull request, and notify us.

Overview of file types and auto-generation

There is an inherent order to the different types of files in this repo, defined in the Makefile. The FAIRtracks standard is almost fully defined in the OPML files found under json/overview, with just a small bit of top-level logic being handled by opml_to_json.py. All the JSON Schema and JSON example files are automatically generated based upon the OPML files. Such automatic file generation are handled by various make targets:

1. Automatic make targets for initial setup

These make targets are run automatically if needed by the other make targets, but are also available for manual use if there is need.

a. make venv

b. make git-hooks

c. make jsonschema2md

2. Main process (with make targets) for making changes to the standard

The following process should be followed when changing the contents of the FAIRtracks standard itself:

a. make raw

b. make or make all

3. make targets for overview and cleanup

a. make signature

b. make rawclean

c. make clean

OPML file format

OPML is a standard file format defined specifically for outlining software.

OPML editors

Raw OPML files can be edited by specific outlining tools, but as the format it is a subtype of XML one can also use generic XML editors:

How the FAIRtracks standard is defined in OPML

Validation