Skip to main content

Biobanking data processing, annotation, and association workflows

Project description

Biobanking

Systematic collection, processing, storage, and analysis of biological samples and associated health records for medical research.

Supported pipelines

Preprocess

Contains biobank-specific modules for EHR data collection, cleaning, and processing.

QC (Under construction)

Will contain biobank-specific modules for variant quality control and filtering.

Annotation (Under construction)

Will contain biobank-specific modules for variant annotation.

Association

Contains biobank-specific modules for genotype-phenotype association tests.

Plotting

Contains forest plot helpers for burden and interaction association results.

Interaction forest plots can include marginal burden rows for the anchor and target genes by passing the corresponding burden result files to plot_interaction_forest(..., burden_data=[anchor_file, target_file]). These rows appear as Burden :: <gene> before the interaction-model main effect, interaction effect, and joint effect rows.

More plotting examples are in docs/plotting.md.

Supported biobanks

All of Us

The All of Us biobank consists of coupled whole genome sequencing and electronic health record data of more than 400k individuals, with continued expansion.

UK Biobank (Under construction)

The UK Biobank consists of coupled whole genome sequencing and electronic health record data of ~500k participants.

AoU REGENIE workflow

The All of Us association utilities currently support a packaged regenie workflow with four Step 2 categories:

  • Burden association testing
  • SKAT-O association testing
  • Mask-only runs for writing burden-mask PLINK datasets
  • Interaction testing using precomputed burden-mask PLINK datasets

The workflow implementation lives in src/biobanking/workflows/regenie.wdl, and the Python utilities live in src/biobanking/association/aou.py.

The Step 2 tracking model separates statistical test, variant-mask family, and concrete run identity:

  • step2_category: burden, skato, mask, or interaction
  • step2_mode: the variant/mask family, such as plof, missense, or plof_missense
  • run_label: the concrete run, such as default, INHBE_vs_LDLR, or INHBE_vs_chr1

This keeps LOCO and prediction reuse aligned with the phenotype definition, lets pLoF and missense mask families share the same workflow machinery, and avoids encoding interaction labels into step2_mode.

Recommended usage pattern

  • Run or reuse Step 1 once per phenotype prefix.
  • Use burden runs for standard gene-based mask tests.
  • Use SKAT-O runs when you want the REGENIE --vc-tests skato gene-based test for the same mask family; these default to --vc-maxAAF 0.001 unless vc_max_aaf is overridden.
  • Use mask runs to materialize chromosome-wide burden-mask PLINK files from a universal dummy phenotype stored at data/associations/masks/<burden_type>/dummy.tsv.gz, without phenotype covariates.
  • Use interaction runs only after Step 1 exists for the phenotype prefix you are testing.

Burden input files are generated from annotation files at data/exome/annot/chr<chrom>_<burden_type>.tsv.gz. The default pLoF call uses built-in pLoF_strict and pLoF_lenient mask definitions; custom mask families can pass mask_definitions directly to create_regenie_burden_files(...).

More detailed usage examples are in docs/workflows.md.

Validate WDL

Before submitting workflows through Cromwell, validate the WDL locally with womtool. A simple setup is:

java -jar .\data\tools\womtool.jar validate .\src\biobanking\workflows\regenie.wdl

If womtool.jar is not present yet, place it under data/tools/ in the repository and rerun the validation command before submitting updated workflow code.

Internal use

python -m pip install -U pip build
pip install twine
# linux
rm -rf dist build *.egg-info src/*.egg-info
# windows
Remove-Item -Recurse -Force dist, *.egg-info, src\*.egg-info
python -m build
pip install dist/biobanking-0.0.19-py3-none-any.whl
java -jar .\data\tools\womtool.jar validate .\src\biobanking\workflows\regenie.wdl
python -c "from biobanking.association.aou import REGENIE; regenie = REGENIE(); from biobanking.preprocess.aou.measurements import save_measurements_in_wide_format; print('import ok')"
twine upload dist/*

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

biobanking-0.0.19.tar.gz (305.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

biobanking-0.0.19-py3-none-any.whl (346.5 kB view details)

Uploaded Python 3

File details

Details for the file biobanking-0.0.19.tar.gz.

File metadata

  • Download URL: biobanking-0.0.19.tar.gz
  • Upload date:
  • Size: 305.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for biobanking-0.0.19.tar.gz
Algorithm Hash digest
SHA256 e093cf228632bbb391f914aa6bb9919c141d42b9e9ecd268bb1c797aa4aec7e1
MD5 9937faf088dd0dc434a08998c404c2df
BLAKE2b-256 55690559fa4a02de0fc470332a8506798b89e1e6ab7b9da5c7ba996a4104df40

See more details on using hashes here.

File details

Details for the file biobanking-0.0.19-py3-none-any.whl.

File metadata

  • Download URL: biobanking-0.0.19-py3-none-any.whl
  • Upload date:
  • Size: 346.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for biobanking-0.0.19-py3-none-any.whl
Algorithm Hash digest
SHA256 d7a964e3088f2d803b4f6aba08e4040efb83f509986b5f3062f7ed0b4cec13cb
MD5 b034a9386705bc27372a4d7e9a6a4b73
BLAKE2b-256 86b3070dd8d710b5125e5360940bf49d2df8893294ae9dbbb79451612dfab991

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page