In this repository we maintain a Python-based framework for automatically assessing the compliance of genomic repositories with the FAIR principles (Findability, Accessibility, Interoperability, and Reusability).
Unlike existing FAIR assessment tools that typically evaluate entire datasets or repositories, this workflow performs fine-grained FAIR assessment at the level of individual digital objects (e.g., studies, series, biosamples, experiments, and files). The framework translates FAIR principles into measurable metrics and executable practical tests that can be applied across heterogeneous genomic repositories.
The current implementation supports the following repositories:
- ArrayExpress / BioStudies
- Gene Expression Omnibus (GEO)
- GWAS Catalog
- ENCODE (both Biosamples and Experiments)
- Genomic Data Commons (GDC)
- Automated FAIR assessment
- Fine-grained evaluation of individual digital objects
- Repository-specific metadata extraction
- Keyword-based assessment
- Whole-repository assessment
- Detailed reports for each FAIR principle
- Comparative FAIR scores across repositories
FAIR/
│
├── fair_metrics/ # FAIR assessment modules
├── metadata/ # Retrieved metadata
├── results/ # Generated assessment reports
│
├── assess.py # FAIR assessment engine
├── evaluate.py # Main entry point
├── repositories.py # Repository-specific functions
├── utils.py # Utility functions
├── demo.ipynb # Example notebook
├── requirements.txt
└── README.md
Clone the repository
git clone https://github.com/anadrmic/FAIR.git
cd FAIRCreate a virtual environment
python -m venv venvActivate it
Linux/macOS
source venv/bin/activateWindows
venv\Scripts\activateInstall the dependencies
pip install -r requirements.txtRun the assessment tool
python evaluate.pyThe program interactively asks the user to:
- Select a genomic repository
- Choose the assessment mode
- (Optionally) provide keywords
- Execute the FAIR assessment
Evaluates only digital objects matching user-provided keywords.
This mode is useful for evaluating FAIRness of domain-specific collections.
Example:
Repository:
ArrayExpress
Keywords:
Parkinson
Homo sapiens
Evaluates all available digital objects retrieved from the selected repository.
This mode provides an overall FAIR profile of the repository.
The assessment generates:
- Overall FAIR scores
- Metric-level scores
- Principle-level reports
- Detailed explanations of each practical test
Results are stored in the results/ directory.
Typical outputs include
scores.txt
Findability.txt
Accessibility.txt
Interoperability.txt
Reusability.txt
fair_principles_scores.png
The workflow follows a three-level assessment:
FAIR Principle
↓
Metric
↓
Practical Test
Each practical test evaluates one aspect of FAIR compliance and produces a normalized score.
Metric scores are aggregated into FAIR principle scores to produce the final assessment.
If you use this software in your research, please cite:
Anna Bernasconi, Ana Drmic A Conceptual Workflow for Fine-Grained FAIR Assessment of Genomic Repositories. (under submission)
This repository is intended for research and educational purposes.
Please check the repository license before redistribution or commercial use.
Anna Bernasconi