A MIxS extension proposal for 'ancient DNA' samples.
The repo is laid out as follows:
feedback/
<date>-<eventid>
: contains collated tables from community feedback sessionsproposals/
<upcoming version>
: contains consensus term update proposals for inclusion in the next version of the standardproject/
:
class-model-tsvs/
: contains MIxS <= v5 style TSVs for the extension for more-human readable inspectionscripts/
: contains various helper scripts for processing JSON, YAML, and feedback data where necessarysrc/
mixs/
: contains the structured YAML and JSON files of the latest release of the extensionfeedback/
) and development workshops (proposals/<upcoming_version>
) in the forms of JSONs<upcoming version>-termupdates
<upcoming version>-newterms
src/mixs/schema/ancient.yaml
file on the two branches
proposals/
, but can be evaluated or 'vetoed' for technical reasonsgit log --oneline
that has the git hash and the informative commit messageUse the YAML (in as far as possible similar format as MIxS LinkML structure) as the source of truth.
To generate the JSON version, install LinkML
pip install linkml
And run the following command, assuming root of repo:
gen-json-schema src/mixs/schema/ancient.yml > src/mixs/schema/ancient.json
To convert to the original MIxS TSV style, we can use a script developed by @TurboMam.
This script has been copied and modified very slightly to include the python3
shebang, and is placed under scripts
until properly packaged for the MIxS project.
To use this script, you only need python3
and no other dependencies (it seems).
In the root of this directory run:
./scripts/linkml2class_tsvs.py --schema-file src/mixs/schema/ancient.yml --output-dir projects/class-model-tsvs/
We use a GitHub action to generate a special 'latest' tag that points to the commit of the latest release. This allows a more 'user friendly' URL for downloading a specific file, rather than making users have to download a release tarball and extract a specific file.