Skip to main content

A framework for Informatics Matters dataset metadata

Project description

A metadata framework package for the Data Tier Data Manager service. The im-data-manager-metadata package is a set of utilities employed by the Informatics Matters Data-Manager service as a metadata framework for molecular datasets.

Data Manager Metadata Classes

Dependencies

  • PyYAML>=5.3

Running the Unit Tests

>>> python -m venv venv
>>> source venv/bin/activate
>>> pip install --upgrade pip
>>> pip install -r package-requirements.txt
>>> python -m unittest test.test_metadata
>>> python -m unittest test.test_api

Running the Command Line Interface md-manage.py

The data manager metadata command line interface can be used by applications to add annotations to the Metadata by means of an annotations.json files that can be uploaded.

  • help functions. Note that the annotation_type (lb, fd or se) is required.

>>> python md_manage.py -h
>>> python md_manage.py lb -h
>>> python md_manage.py fd -h
>>> python md_manage.py se -h
  • Creates a label annotation in an annotations.json file placed in test/output. Note that the label is required. Running the command again will create a second annotation in the same file (i.e. a list of two).

>>> python md_manage.py lb test/output/results.sdf 'foo' -lv='bar'
  • Creates a FieldsDescriptorAnnotation in an annotations.json file placed in test/output. If the annotations.json file exists it will add it to the list of annotations in the file.

>>> python md_manage.py fd test/output/results.sdf -fo='squonk2-job'
                        -fp='minimizedAffinity,number,Binding affinity
                        predicted by smina using the vinardo scoring function,true,true'
                        -fd='Run smina docking'
  • Creates a service execution annotation in an annotations.json file placed in test/output.

>>> python md_manage.py se test/output/results.sdf -su=bob -sys='run-smina'
                       -sy='test/input/virtual-screening.yaml'
                       -sp param1=val1 param2=val2 -fo='squonk2-job'
                       -fp='minimizedAffinity,number,Binding affinity predicted,true,true'
                       -fd='Run smina docking'

Contributing

The project uses: -

  • pre-commit to enforce linting of files prior to committing them to the upstream repository

  • Commitizen to enforce a [Convention Commit] commit message format

  • Black as a code formatter

You MUST comply with these choices in order to contribute to the project.

To get started review the pre-commit utility and the conventional commit style and then set-up your local clone by following the Installation and Quick Start sections: -

>>> pip install -r package-requirements.txt
>>> pre-commit install -t commit-msg -t pre-commit

Now the project’s rules will run on every commit, and you can check the current health of your clone with: -

>>> pre-commit run --all-files

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

im_data_manager_metadata-2.0.0-py3-none-any.whl (18.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page