Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The DCC has derived standards for how content is annotated in Synapse and this page describes the management of the keys, definitions, and references used to annotate files. See

...

...

Schemas

The synapseAnnotations Github repo includes schemas for individual metadata terms. Each term is stored in a JSON mini-schema (see figure). The and the terms are organized by modules in the each terms/<module>/ folder. There are subfolders for each module, and the term names include the module. The mechanisms that manage and implement these annotations are described in the README.

...

languagejson

...

.

...

...

Edit JSON Schema

...

  • Copy

    and Paste Schema template into the

    a template from: synapseAnnotations/term-templates

  • Edit new file

    • Edit $id line with <MODULENAME> and <KEY>

    • Version numbers start with 0.0.1 and should be incremented with Increment version with each update

    • Edit term:

    • Term

    • Definition

    • Ontology citation for the included definition

      Add Term, Definition, and a source for Definition (https://www.ebi.ac.uk/ols/index )

    • Commit changes to a new branch

  • Schema validation checks will automatically start to run in the background. These must successfully PASS.

  • Address any errors until validation passes

  • Open a Pull Request and select DCC curators as reviewers

Update Schemas

  • Once the PRs are approvedmerged, it is necessary to update the Metadata Dictionary

  • Navigate to: /Users/ryaxley/Documents/GitHub/synapseAnnotations

  • To register the schemas in Synapse run the register-schemas.R script

    • Help: .

    • To register all schemas, run /register-schemas.R --help

    • Register all schemas: ./register-schemas.R terms/*/*.jsonLearn more about this script, run ./register-schemas.R --help

    • Verify if this script runs automatically as part of the Github workflow

  • To update the Synapse annotations table, run :

    • ./update-annotations-table.R

Generate Template

  • Github sysbioDCCjsonschemas repoAdd

  • /Remove terms from XLS template file. Alternatively, this can be done programmatically with JSON.SysBio Metadata Templates: https://github.com/Sage-Bionetworks/sysbioDCCjsonschemas/tree/master/schema_metadata_templates

  • Construct a JSON schema file to generate XLS template

  • Make sure to register latest versions of JSON schemas

  • To create a Synapse table of all terms in metadata templates:

    • create_Syn_table_from_Syn_schemas.py

  • For example, to generate a Metadata Template:

    • create_template_from_Syn_schema_sorted.py

  • Code Block
    cd ~/Documents/GitHub/sysbioDCCjsonschemas/code/python/.
    python3 create_template_from_Syn_schema_sorted.py \
            sysbio.metadataTemplates-ad.manifest \ 
            manifest_test.xlsx excel \
            ~/Documents/GitHub/sysbioDCCjsonschemas/schema_metadata_templates/AD/manifest_metadata_template.json