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.
Dependencies
PyYAML>=5.3
Running the Unit Tests
>>> python -m venv ~/.venv/data-manager-metadata >>> source ~/.venv/data-manager-metadata/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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Hashes for im_data_manager_metadata-1.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5304cf0713151b5effb492fe05f3a4db284959727d4b9c476197aeab99aae056 |
|
MD5 | d6caaf91011bab91b448428d95f7b9a4 |
|
BLAKE2b-256 | 0e9a3235570aa6069cd7b1de70ff177ef6f630a13a5b7a778303da7b1fdf75a0 |