Skip to content
knoop-devPublic

About

Sensitivity analysis suite for phenogenetic study designs and estimation under assortment and selection

Topics

Resources

Contributing

Stars

3 stars

Watchers

1 watching

Forks

Repository files navigation

knoop1

release DOI

knoop (formerly amsim) is a command-line tool for quantitative genetics simulation. It lets you run sensitivity analyses of study designs and estimation methods under assortative mating and selection bias at biobank scale.

knoop is free software, licensed under the GNU General Public License v3.

This software is under development and may contain bugs. Please report bugs via issues on GitHub or via email.

Installation

Prebuilt binaries (recommended)

Prebuilt binaries for Linux (x86_64, arm64) and macOS (x86_64, arm64) are attached to every release. To install knoop, grab the appropriate filename for your platform from the latest release page.

Building from source via CMake

The following dependencies are required to build from source:

  • CMake 3.20+
  • A C++23 compiler
  • BLAS and LAPACK
  • OpenMP

macOS's Accelerate library provides BLAS and LAPACK natively. On Linux, these can be installed, e.g., via apt as libopenblas-dev and liblapack-dev on Debian-based distributions or equivalents. Currently, Windows is not supported, although you can use the Windows Subsystem for Linux (WSL). With dependencies sorted, the following can be used to build the software:

git clone https://github.com/lvthnn/knoop.git
cmake -S knoop -B knoop/build -DCMAKE_BUILD_TYPE=Release
cmake --build knoop/build --target knoop --parallel

This will create the knoop binary inside of knoop/build.

Usage

knoop is driven entirely through command-line flags. Every flag has detailed, example-driven documentation built in:

knoop --help                  # display help message + exit
knoop --help --n-individuals  # usage string for specific option(s)...

Small simulations are relatively easy to configure:

knoop --n-individuals 10000 \
      --n-loci 5000 \
      --n-generations 20 \
      --phenotype height \
        --var-genetic 0.5 \
        --effects 'normal(0, 2.5)' \
        --n-loci 5000 \
      --estimator heritability

Running the above in the command line will produce two files: results.h5, a HDF5 file with parameters, raw and summarised data, and a log file named results.log.

Contributing

knoop is open source software under active development. Befittingly, contributions are encouraged and welcome. Consult the contribution guide for tips on where to start and how to contribute effectively.

Footnotes

  1. Known Nuisances of Observational Phenogenetics. Also a microhardness test. Or just knoop, whichever you like. ↩

About

Sensitivity analysis suite for phenogenetic study designs and estimation under assortment and selection

Topics

Resources

Contributing

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages