Disclaimer: This project is not affiliated with, endorsed by, or sponsored by the All of Us Research Program. The software is provided as is, without warranty of any kind. It is in an early stage of development, and its functions, APIs, and signatures may change periodically. You are responsible for checking that any results it produces are correct before relying on them.
aoutools: Tools for All of Us Researcher Workbench
aoutools is a Python library designed to simplify common analysis tasks on the All of Us Researcher Workbench.
aoutools targets Researcher Workbench 2.0. Version 0.2.0 is the first
release for it, adding helpers (init_hail, get_vds_path) that wire up the
new VDS location and Hail setup. Releases 0.1.x targeted Workbench 1.0, which
was decommissioned on June 30, 2026.
The library currently focuses on the aoutools.prs submodule, which offers
convenient functions for:
- Reading PRS Weights Files: A flexible reader that can handle various file formats, both with and without headers.
- Calculating PRS: A cost-efficient strategy for calculating PRS directly on the All of Us VDS, with support for batch mode to calculate multiple scores at once.
You can install aoutools via pip using either the Python Package Index
(PyPI) or its GitHub repository. On the All of Us Researcher Workbench, you can
run the following commands directly in a Jupyter Notebook cell.
# 1. From PyPI
!pip install aoutools
# 2. From Github
!pip install git+https://github.com/dokyoonkimlab/aoutools.git
Please check the online aoutools Documentation for how-to guides and API reference.
Development
Assumes pixi and direnv are already installed.
pixi install # build the env from pixi.lock
direnv allow # auto-activate it on cd into the repo (once per clone)
pixi run setup-hooks # install the ruff pre-commit hooks (once per clone)
Tests come in three tiers (see tests/README.md and
notebooks/README.md):
pixi run -e ci test # mocked hail; linux-64 only
pixi run -e integration test-integration # real hail; macOS or Linux
The mocked tier checks that the code calls the right hail methods; the
integration tier runs real hail and asserts actual scores. A third tier —
the notebooks in notebooks/ — is run by hand on the Workbench before a release
to validate against the real All of Us data. Changes to scoring logic should
land with an integration test.
pixi run docs # build the Sphinx HTML docs
pixi run lint # ruff lint + format check (what CI runs)
pixi run format # auto-fix and format
Notable changes are recorded in CHANGELOG.md.
Formatting is enforced by ruff format. The bulk-reformat commit is listed in
.git-blame-ignore-revs; to skip it in local blame, run
git config blame.ignoreRevsFile .git-blame-ignore-revs (GitHub applies it
automatically).
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aoutools-0.2.0.tar.gz.
File metadata
- Download URL: aoutools-0.2.0.tar.gz
- Upload date:
- Size: 53.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1022473cc2775b8321d40cad6385c693369f7c5589d2742d80c0fb74fe647727
|
|
| MD5 |
ea26a3ca9baaf79c6e8666dc4eceeb9f
|
|
| BLAKE2b-256 |
c586c820236f284a7d0de3656265d0fd6a0504310b7a9104ed6d5e1c53823564
|
File details
Details for the file aoutools-0.2.0-py3-none-any.whl.
File metadata
- Download URL: aoutools-0.2.0-py3-none-any.whl
- Upload date:
- Size: 57.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.1.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2bb654cfc2e588a3e2f609bb14fe889b240f4bde3751b58eb6fa617ff6b6d983
|
|
| MD5 |
466ccca6857529b0c7c832a52f53bcee
|
|
| BLAKE2b-256 |
d04b0253a025522bb1fd3602935630756f4c7d6feae7e126f8647ecd5f3968fc
|