Home of all the tools and libraries to create and run validation of ARCs:
- ARCExpect (docs 📓) - easy to use and understand APIs to create and execute validation cases.
- ARCValidationPackages (docs 📓) - package for installing, updating, and executing ARC validation packages.
- arc-validate/ (docs 📓) - CLI tool that offers commands for validating ARCs and managing validation packages.
This repository provides a docker container that has the arc-validate tool pre-installed for using it in DataHUB-CI jobs.
Use the containers tagged with main for production use.
Validation of ARCs based on:
- ARCTokenization: Structural ontologies for file formats (for parsing/tokenizing files): INVMSO, STDMSO, ASSMSO
- OBO.NET:
- parsing ontologies, generation of OBO graphs based on ontology term relation
- code genearation of ontology modules with accessible terms
- ARCGraph: Graph representation of file content based on structural ontologies via OBO graph
- Graph-based completion of File content (missing cells -> empty tokens) via ARCGraph
- ARCExpect: Expecto-like API for creating validation cases
- Validation Packages: API for installing and executing additional validation packages
flowchart TD
ControlledVocabulary("<b>ControlledVocabulary:</b><br>Data model for CVs")
ARCTokenization("<b>ARCTokenization:</b><br>Tokenization of ARCs into CVs")
OBO.NET("<b>OBO.NET:</b><br>OBO Ontology data model and parsing")
ARCGraph("<b>ARCGraph:</b><br>Graph based on structural ontologies")
ARCExpect("<b>ARCExpect:</b><br>Expecto-like API for validation")
ARCValidationPackages("<b>ARCValidationPackages:</b><br>API for additional validation packages")
arc-validate("<b>arc-validate:</b><br>validation CLI tool")
arc-validate --depends on--> ARCExpect
arc-validate --depends on--> ARCValidationPackages
ARCTokenization --depends on--> ControlledVocabulary
ARCTokenization --depends on--> OBO.NET
ARCExpect --depends on--> ARCGraph
ARCExpect --depends on--> ARCTokenization
ARCGraph --depends on--> ARCTokenization
ARCGraph --depends on--> OBO.NET
- ARCTokenization
- AVPRIndex
- OBO.NET
- Graphoscope
- Cytoscape.NET
- AnyBadge.NET
- FSharp.SystemTextJson
- FSharpAux
- FsSpreadsheet
- Expecto
- ARCExpect
- ARCValidationPackages
- Argu
- Expecto
- Spectre.Console
For how to contribute to and how to develop on this project, please read the Contributing guidelines.
Just call build.sh or build.cmd depending on your OS.
test setup is interconnected with production services, running tests for the compiled arc-validate tool with validation packages with source https://avpr.nfdi4plants.org.
since testing the cli tool relies on it being compiled via dotnet publish, either use the build scripts or manually publish arc-validate to the /publish folder when using e.g. TestExplorers.
build.sh runtestsbuild.cmd runtestsbuild.sh pack