Simulation of Descendants from Ancestors with Sequence Data

View project onGitHub

Welcome to XSim.

XSim is a fast and user-friendly software tool to simulate sequence data and complicated pedigree structures

Quick-start Julia

> using XSim
> XSim.init(numChr,numLoci,chrLength,geneFreq,mapPos,qtlMarker,qtlEffects,mutRate)
> popSizeFounder = 2
> sires = sampleFounders(popSizeFounder)
> sires1,dams1,gen1 = sampleRan(popSize, ngen, sires, dams);

Quick-start C++

Library, demo1, demo2, demo3, data


  • An efficient Crossover Position and Origin Simulation (CPOS) method
  • Using ancestors with any density of variant information up to and including sequence data, which can be obtained for founders by sequencing or simulation
  • Complicated pedigree structures among descendants
  • User-defined parameters including allele frequencies, map positions, number of loci, chromosome lengths, numbers of chromosomes and mutation rates.
  • Both C++ and Julia versions are available

algorithm behind

A CPOS strategy is implemented to efficiently simulate sequence data and complicated pedigree structures.

Source code

C++, Julia

Authors and Contributors

Hao Cheng, Rohan Fernando and Dorian Garrick

Support or Contact

To use all features, please check the documents. Having trouble with XSim? Contact haocheng@iastate.edu.

Citing XSim

Cheng H, Garrick D, and Fernando R (2015) XSim: Simulation of descendants from ancestors with sequence data. G3: Genes-Genomes-Genetics, 5(7):1415-1417.