data | ||
tests | ||
validator | ||
.gitignore | ||
.gitlab-ci.yml | ||
__init__.py | ||
LICENSE | ||
README.md | ||
requirements.txt | ||
setup.py | ||
test_tt_3pl1_example.py | ||
tt_3pl1_example.json |
FunPDBe JSON Validator
This Python3 client can be used for validating FunPDBe JSON files. It performs various sanity checks, and validates user JSONs against the FunPDBe schema.
For more information on FunPDBe is, visit https://funpdbe.org
Quick start
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
Please note that the client is written in Python3, and the dependencies have to be installed accordingly (i.e. using pip3)!
Installing
Checking out this repository
$ git clone https://gitlab.ebi.ac.uk/pdbe-kb/funpdbe/funpdbe-validator.git
$ cd funpdbe-validator
$ pip3 install -r requirements.txt
Basic usage
This package contains two classes which handle the validation of FunPDBe JSON files.
- Validator()
- ResidueIndexes()
Example:
from validator.validator import Validator
from validator.residue_index import ResidueIndexes
validator = Validator("funpdbe_resource_name") # Same as in the JSON
validator.load_schema()
validator.load_json("data/funpdbe_data.json")
if validator.basic_checks() and validator.validate_against_schema():
# Passed data validations
print('Passed schema validation')
residue_indexes = ResidueIndexes(validator.json_data)
if residue_indexes.check_every_residue():
# Passed the index validation
print('Passed index validation')
else:
print('Failed schema validation')
print(validator.error_log)
Running the tests
Running tests for the client is performed simply by using
$ pytest tests
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Authors
- Mihaly Varadi - Initial work - mvaradi
Special thanks to:
- Skoda Petr https://github.com/skodapetr
- Radoslav Krivak https://github.com/rdk
License
This project is licensed under the EMBL-EBI License - see the LICENSE file for details