Skip to content

Latest commit

 

History

History
86 lines (59 loc) · 2.68 KB

README.md

File metadata and controls

86 lines (59 loc) · 2.68 KB

Description

This is the golang version of Mendel's Accountant, a genetic mutation tracking program used to simulate and study macroevolution in a biologically realistic way. It models genetic change over time by tracking each mutation that enters the simulated population from generation to generation to the end of the simulation. The software models each individual in the population, including their chromosomes, linkage blocks, and deleterious, favorable, and neutral mutations. It supports several different models for mutation rate, mutation fitness distribution, selection, chromosome crossover, and population growth that are used in the genetics field. The Mendel simulation also supports input parameters for many realistic genetic factors, including: reproduction rate, percentage of favorable, deleterious and near-neutral mutations, fitness magnitude of mutations, selection noise, genome size, population size, and number of generations. Mendel has been optimized to be able to simulate billions of mutations over 1000's of generations.

Running mendel-go

If you want to run mendel-go (w/o building it from source) see the Mendel wiki page.

Build mendel-go From Source

  • Install: git, make

  • Install go

  • Add go to your PATH and set GOPATH environment variable in ~/.bash_profile or ~/.profile:

    export PATH=$PATH:/usr/local/go/bin
    export GOPATH=$HOME
  • Clone and build mendel-go:

    mkdir -p $GOPATH/src/github.com/genetic-algorithms
    cd $GOPATH/src/github.com/genetic-algorithms
    git clone [email protected]:genetic-algorithms/mendel-go.git
    cd mendel-go
    make mendel-go

Run mendel-go

Run (building if necessary) with test/input/case1.ini:

make

Run with a different input file:

./mendel-go -f <input-file>

Build and run the automated tests:

make test

Test some of the packages:

make test-pkgs

Build the mendel-go Packages

To publish a new version of mendel-go, first build the RPM and macOS packages of it:

make rpmbuild
make macpkg

Create a new release at https://github.com/genetic-algorithms/mendel-go/releases and upload the packages you just built.

Build and Run the Mendel Web UI

See the mendel-web-ui git repo to build and run the Mendel web UI.

View godoc info of the project

Assuming you have cloned this project into $GOPATH/src/github.com/genetic-algorithms/mendel-go:

godoc github.com/genetic-algorithms/mendel-go

Then add any of the packages/subdirectories listed to the cmd above.