The Slim Solr project is a specialized Solr index for GWAS catalog data. It generates JSON documents essential for the GWAS Slim Solr index, including Publication, Study, Variant, Trait and Gene.
JSON Document Generation: The generate_solr_docs.py
script is designed to create JSON documents representing key information needed for the GWAS Slim Solr index. It efficiently handles the generation of documents for Publication, Study, Variant, Trait and Gene.
Flexible Usage: The script includes command-line options to specify database and data type parameters, allowing for tailored usage depending on specific project requirements.
Automated Document Creation: Facilitates the automated creation of Solr index documents, streamlining the process of indexing GWAS data.
Integration with GWAS Solr Slim Deployment: Seamlessly integrates with the existing deployment and management processes, including conda environment activation and Bamboo automation pipelines for Slim Solr release tasks.
The deployment of the GWAS Solr Slim project to High-Performance Computing (HPC) clusters involves a series of steps, managed through a CI/CD pipeline defined in .gitlab-ci.yml
. This process is critical for ensuring that the codebase, hosted on GitHub and mirrored internally on GitLab, is efficiently and securely deployed.
General Setup:
docker:latest
docker:dind
DOCKER_DRIVER
, DOCKER_TLS_CERTDIR
, DOCKER_HOST
, CI_REGISTRY_IMAGE
Build Stage:
master
and dev
branches.Build Release:
Deploy Dev:
master
and dev
.Deploy Prod:
Clone the Repository: Start by cloning the Slim Solr project from GitHub.
git clone https://github.com/EBISPOT/gwas-solr-slim.git
cd gwas-solr-slim
Create and Activate Virtual Environment:
For creation:
python3 -m venv .venv
Activation (choose according to your platform):
source .venv/bin/activate
.venv\Scripts\activate.bat
.venv\Scripts\Activate.ps1
Install Dependencies:
Install the GWAS database connection module from the private GitLab repository and other required dependencies:
pip install git+ssh://git@gitlab.ebi.ac.uk/gwas/gwas_db_connect.git
pip install -r requirements.txt
Test the Script:
Verify the script setup:
python scripts/generate_solr_docs.py --help
Try running the script with specified parameters (replace <some/dir/>
with your target directory):
python scripts/generate_solr_docs.py --database DEV3 --limit 1 --test --targetDir <some/dir/>
Identify existing issues in the project that you can resolve. Contributions that address these issues are highly appreciated.
The project is open to all kinds of improvements. Feel free to propose changes that you believe will benefit the project. These could include code optimizations, resource management improvements, or any other relevant changes.
Test your changes thoroughly in your local environment before submitting them.
Submitting Pull Requests:
dev
branch.PR Review and Integration:
dev
branch, it undergoes a review process.dev
, changes are then merged into the master
branch.master
branch is tagged.