Skip to main content

VIFY

The vify repository is designed for the determination of the virdx score based on previous pipeline steps. It includes tools for training, evaluation, and prediction.


Table of Contents


Setup

Environment

  • Default Environment: Run pixi install to install the default environment, which is primarily used for inference in the product.
  • Development Environment: Run pixi install -e dev to install the development environment. This includes additional packages useful for development, such as the mirp PyPI package, which is kept separate from other dependencies as it is not available on conda-forge.

Directory Structure

  • src: Main source code for the project.
  • notebooks: Jupyter notebooks, organized into subdirectories for each contributor.
  • scripts: Executable Python scripts for training, evaluation, and prediction.
  • tests: Unit tests for the codebase.
  • docs: Documentation files.

Relevant Scripts

  • Training: Use scripts/train.py for training. The configuration file is located at config/train_config.yaml.
  • Evaluation: Use scripts/evaluate.py for fast evaluation. The configuration file is located at config/eval_config.yaml.
  • Prediction: Use scripts/predict_with_studies_config.py for predictions using studies. The configuration file is located at config/predict_with_studies_config.yaml.

  1. Train your model using scripts/train.py.
  2. Copy the model path and update it in config/eval_config.yaml.
  3. Perform evaluation using scripts/evaluate.py. Results will be stored in an evaluation folder.

Testing and Linting

  • Linting: Use ruff for linting
  • Testing: pytest. Coverage reports are generated using --cov=src.

Configuration Files

pyproject.toml

  • Build System: Uses hatchling as the build backend.
  • Linting: Configured with ruff for linting and mypy for type checking.
  • Testing: Coverage is configured to include the src directory.
  • Environment Management: Uses pixi for managing environments and dependencies.

.gitignore

  • Excludes common Python artifacts, temporary files, and environment-specific directories such as .venv, .mypy_cache, and .pytest_cache.

This documentation provides an overview of the vify codebase, its structure, and its workflows. For more details, refer to the individual configuration files and scripts in the repository.