minas

Repository of proposed and combined MIxS + MInAS standardised metadata checklists using LinkML

https://github.com/mixs-minas/minas

Science Score: 67.0%

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

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.3%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Repository of proposed and combined MIxS + MInAS standardised metadata checklists using LinkML

Basic Info
  • Host: GitHub
  • Owner: MIxS-MInAS
  • Language: Python
  • Default Branch: master
  • Homepage: https://mixs-minas.org
  • Size: 5.27 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 4
  • Releases: 0
Created over 5 years ago · Last pushed 6 months ago
Metadata Files
Readme Citation

README.md

MInAS

DOI

This repository holds the combined base MIxS schema, plus the various extensions and combinations generated in the scope of the MInAS project.

The source YAML file is generated using the yq tool, merging each of the individual YAML files into a single one.

This merging happens once per extension release, and the resulting file is then used to generate the JSON schema and TSV using LinkML tools and scripts.

The resulting output files are stored in the src/ directory in file format specific subdirectories.

Schema Generation Instructions

Required tools and dependencies

The following tools are required to generate the schema files:

  • linkml-toolkit
    • Not yet on pip/conda etc! Will need to manually install
  • linkml (Version 1.8.1)
    • Available on pip: pip install linkml==1.8.1

Deprecated

  • yq (version 4.44.2)
    • Note: version not on conda or pip requires binary or OS distribution installation

Merging the YAML files

To generate the combined YAML file, we can use a combination of yq and curl to download specific tagged releases from the MIxS and various MInAS repositories.

Release

For a release, (making sure updating the versions in the variables):

  1. Specify release variables

    ```bash

    Set versions

    MIXSVERSION=6.2.0 EXTANCIENTVERSION=0.7.0 EXTRADIOCARBONDATINGVERSION=0.2.1 COMBINATIONSVERSION=0.2.1 ```

  2. Download schemas

    ```bash

    Core MIxS Schema

    curl -o src/mixs/schema/mixs-v$MIXSVERSION.yaml "https://raw.githubusercontent.com/GenomicsStandardsConsortium/mixs/v$MIXSVERSION/src/mixs/schema/mixs.yaml" ## Base MIxS schema

    MInAS Extensions

    curl -o src/mixs/schema/ancient-v$EXTANCIENTVERSION.yaml "https://raw.githubusercontent.com/MIxS-MInAS/extension-ancient/v$EXTANCIENTVERSION/src/mixs/schema/ancient.yml" ## Ancient DNA extension curl -o src/mixs/schema/radiocarbon-dating-v$EXTRADIOCARBONDATINGVERSION.yaml "https://raw.githubusercontent.com/MIxS-MInAS/extension-radiocarbon-dating/v$EXTRADIOCARBONDATINGVERSION/src/mixs/schema/radiocarbon-dating.yml" ## Radiocarbon extension curl -o src/mixs/schema/minas-combinations-v$COMBINATIONSVERSION.yaml "https://raw.githubusercontent.com/MIxS-MInAS/minas-combinations/refs/tags/v$COMBINATIONSVERSION/src/mixs/schema/minas-combinations.yml" ## Combinations ```

  3. Merge together with linkml-toolkit

    ```bash

    Merge together

    lmtk combine --mode merge --schema src/mixs/schema/mixs-v$MIXSVERSION.yaml \ -a src/mixs/schema/ancient-v$EXTANCIENTVERSION.yaml \ -a src/mixs/schema/radiocarbon-dating-v$EXTRADIOCARBONDATINGVERSION.yaml \ -a src/mixs/schema/minas-combinations-v$COMBINATIONSVERSION.yaml \ --output src/mixs/schema/mixs-minas.yaml

    Fix some metadata to ensure passes linting

    sed -i 's#source: https://github.com/MIxS-MInAS/extension-radiocarbon-dating/raw/main/proposals/0.1.0/extension-radiocarbon-dating-v010.csv#source: https://github.com/MIxS-MInAS/MInAS/#g' src/mixs/schema/mixs-minas.yaml ```

  4. Validate that all new YAML files (extensions, combinations) are represented in the combine schema

    bash for i in permit_scope localised_reservoir_offset_sd mims_symbiontassociated_ancient_data; do if [[ $(grep "$i" src/mixs/schema/mixs-minas.yaml | wc -l) -ge 2 ]]; then echo "$i: true"; else echo "$i: false"; fi done

    [!WARNING] There should be one string per input YAML file, and be aware these strings may change per release.

  5. Lint and validate the newly extended MIxS schema that it is valid LinkML

    bash linkml lint --validate src/mixs/schema/mixs-minas.yaml

  6. Generate the JSON schema version using the LinkML package's gen-json-schema:

    bash gen-json-schema src/mixs/schema/mixs-minas.yaml > src/mixs/schema/mixs-minas.json

  7. Generate the old-style MIxS TSV files using the python3 script in the scripts/ directory:

    bash python3 ./scripts/linkml2class_tsvs.py --schema-file src/mixs/schema/mixs-minas.yaml --output-dir project/class-model-tsvs/

    [!NOTE] 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).

  8. Update the CITATION.cff file with the new version of the schema and any new major contributors.

  9. Commit and push to GitHub.

  10. Make release on GitHub using previous releases as a template.

Owner

  • Name: MIxS-MInAS
  • Login: MIxS-MInAS
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
title: "Minimum Information about any Ancient Sequence (MInAS): MInAS Checklists (draft)"
version: 0.6.0
license: "CC0-1.0"
type: dataset
abstract: "(Draft) MInAS checklists of MIxS checklist extended to include MInAS extensions and combinations."
message: "If you use this schema, please cite it as below."
authors:
  - given-names: James A.
    family-names: Fellows Yates
    orcid: "https://orcid.org/0000-0001-5585-6277"
  - given-names: Meriam
    family-names: Guellil
    orcid: "https://orcid.org/0000-0002-7235-4604"
  - given-names: Antonio
    family-names: Fernandez Guerra
    orcid: "https://orcid.org/0000-0002-8679-490X"
  - given-names: Deon
    family-names: de Jager
    orcid: "https://orcid.org/0000-0003-4388-2624"
  - given-names: Victor Yan Kin
    family-names: Lee
    orcid: "https://orcid.org/0009-0001-5598-9632"
  - given-names: Ophélie
    family-names: Lebrasseur
    orcid: "https://orcid.org/0000-0003-0687-8538"
  - given-names: Mohamed S.
    family-names: Sarhan
    orcid: "https://orcid.org/0000-0003-0904-976X"
  - given-names: Kelly
    family-names: Blevins
    orcid: "https://orcid.org/0000-0002-5740-639X"
  - given-names: Nasreen
    family-names: Broomand
  - given-names: Thiseas C.
    family-names: Lamnidis
    orcid: "https://orcid.org/0000-0003-4485-8570"
  - given-names: Martyna
    family-names: Molak
    orcid: "https://orcid.org/0000-0001-5068-8649"
  - given-names: Eleni
    family-names: Seferidou
    orcid: "https://orcid.org/0009-0000-0066-477X"
  - given-names: Jānis
    family-names: Ķimsis
  - given-names: Clemens
    family-names: Schmid
    orcid: "https://orcid.org/0000-0003-3448-5715"
  - given-names: Joe
    family-names: Roe
    orcid: "https://orcid.org/0000-0002-1011-1244"
  - name: MInAS community contributors
    website: "https://mixs-minas.org/contributors"
keywords:
  - metadata
  - standard
  - schema
  - ancient DNA
  - palaeogenomics
  - archaeogenomics
  - MIxS

GitHub Events

Total
  • Create event: 5
  • Issues event: 2
  • Release event: 5
  • Issue comment event: 3
  • Push event: 8
Last Year
  • Create event: 5
  • Issues event: 2
  • Release event: 5
  • Issue comment event: 3
  • Push event: 8

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 1
  • Total pull requests: 0
  • Average time to close issues: about 2 months
  • Average time to close pull requests: N/A
  • Total issue authors: 1
  • Total pull request authors: 0
  • Average comments per issue: 3.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: about 2 months
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 3.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • jfy133 (3)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/latest-tag.yml actions
  • EndBug/latest-tag v1.6.2 composite
  • actions/checkout v4.1.6 composite