KamilSJaron / Conjunction

Simulator of secondary CONtact using Fisher's JUNCTION representation of genome admixture.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

logo

the simulator of secondaty CONtact using Fisher's JUNCTION model of genome admixture. It is a direct descendant of forsim, simulator writen for my Master thesis.

Build

The software was developed and tested on OS X and Linux and it has not been tested for windows.

Quick

Open a terminal, download repository

git clone https://github.com/KamilSJaron/Conjunction

enter the folder and build Conjunction by

cd Conjunction && make

The fully operational executable conjunction should be created and prepared for use. You can install conjunction to by

make install

which will copy the binary to /usr/local/bin. If you wist to install conjunction to an alternative place you can type

make install INSTAL_PREFIX=/home/slim/

and it will be installed in provided path/bin. In my example /home/slim/bin.

Testing

Travis build & unit test of master branch : master_build Travis build & unit test of dev branch : dev_test

Several unit tests are implemented in separated binary. To execute the unit test on your computer

make test

will compile testing binary, execute tests and delete testing binary if tests passed.

Usage

The software reads a setting file (setting.txt by default), the specification of the simulation is read from there. The template is delivered with the software, therefore simple conjunction should perform a set of sumulations. For details of check setting file or wikipage setting.

conjunction [--version] [--help] [setting.txt] 1> summary.out 2> simulation_log.err

The log of the simulation is streamed to standard error stream. The basic output of simulation is streamed to standard output stream. If other type of output is desired it has to be set in setting, details can be found at corresponding wikipage describing output.

Mechanisms of simulations

The simulator is restricted to secondary contact hybrid zones where reduced fitness of hybrids is caused purely by genetic background. The representation of individuals currently does not allow new mutations in simulation. The only information for every loci is if it originated in population on one or the other side of the hybrid zone (population A or B). All details can be found in wiki.

If there is anything unclear or you encounter a bug, please open an issue!

About

Simulator of secondary CONtact using Fisher's JUNCTION representation of genome admixture.

License:GNU General Public License v3.0


Languages

Language:C++ 98.8%Language:Makefile 1.2%