Skip to content

maize-genetics/MLImpute

Repository files navigation

MLImpute

Simple tool to run Machine Learning based imputation techniques

Prerequisites

  • pixi (v0.5+)
  • NVIDIA-based GPU hardware with CUDA (v12+)
    • For gpu environment only (see next section)
  • Linux or macOS OS environment preferred

Setup

Retrieve project code

git clone https://github.com/maize-genetics/MLImpute.git
cd MLImpute

Option A (preferred) - set up virtual environment (pixi)

# For CPU only
pixi install

# For Linux + GPU machines
pixi install --environment gpu

Option B - set up virtual environment (conda)

conda env create -f environment.yml

Run (CLI tool)

Conda:

python impute.py --input <input_file> --output <output_file> --model <imputation_method>

Pixi:

pixi run -- python impute.py --input <input_file> --output <output_file> --model <imputation_method>

Development (GUI app - experimental)

Prerequisites

  • Node.js
  • Rust

Run Tauri dev container

If running this for the first time:

# First install pixi
# Next, run the pixi install script
pixi install

# Initialize npm environment
npm install

# Set up wheelhouse
npm run download-python
npm run build-wheelhouse

# Run the dev container of the Tauri app
npm run tauri dev

For subsequent runs, just use npm run tauri dev

Testing

Run python unit tests with HTML output (CLI)

pytest --cov=src --cov-report=term-missing --cov-report=html