https://github.com/bluebrain/bbp-atlas-pipeline-validator
Validation of Atlas pipeline configuration
https://github.com/bluebrain/bbp-atlas-pipeline-validator
atlas database
Last synced: about 1 year ago
JSON representation
Validation of Atlas pipeline configuration
- Host: GitHub
- URL: https://github.com/bluebrain/bbp-atlas-pipeline-validator
- Owner: BlueBrain
- License: apache-2.0
- Created: 2024-09-27T07:58:31.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-03T15:00:33.000Z (over 1 year ago)
- Last Synced: 2025-04-07T10:46:55.862Z (about 1 year ago)
- Topics: atlas, database
- Language: Python
- Homepage:
- Size: 23.4 KB
- Stars: 1
- Watchers: 4
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Pipeline Validator
## Install
You can install the file by using `pip install bbp-atlas-pipeline-validator`
## Examples
You can use the validator in the following way:
```python
from pipeline_validator.pipeline_validator import pipeline_validator
path_to_file = "./my_config.json"
token = "THIS_IS_MY_NEXUS_TOKEN"
whitelisted_vars = ["var1", "var2"]
pipeline_validator(path_to_file, token, whitelisted_vars)
```
where:
- `path_to_file` is the relative path to the configuration
- `token` is a valid nexus token
- `whitelisted_vars` is an array of accepted variables
## Configuration Format
The JSON configuration file should be in the following format:
```json
{
"rules":[
{
"rule": "",
"execute":
[
{
"brainRegion": "http://api.brain-map.org/api/v2/data/Structure/",
"container": "docker://",
"command": ""
},
{
"brainRegion": "http://api.brain-map.org/api/v2/data/Structure/",
"container": "docker://",
"command": ""
}
]
},
{
"rule": "",
"execute":
[
{
"brainRegion": "http://api.brain-map.org/api/v2/data/Structure/",
"container": "docker://",
"command": ""
},
{
"brainRegion": "http://api.brain-map.org/api/v2/data/Structure/",
"container": "docker://",
"command": ""
}
]
}
]
}
```
## Validation Criteria
The following criteria need to be met in order for the configuration to be validated:
- The configuration need to follow the above JSON schema
- Brain region ID should be valid (exist in brain region ontology)
- Within each rule, each brain region need to be followed by brain region that are not related or that they are descendants in the ontology
- For each command, the variables passed need to be part of the whitelisted variables
## Funding & Acknowledgment
The development of this software was supported by funding to the Blue Brain Project, a
research center of the École polytechnique fédérale de Lausanne (EPFL), from the Swiss
government’s ETH Board of the Swiss Federal Institutes of Technology.
Copyright © 2023-2024 Blue Brain Project/EPFL