miqoGraph

miqoGraph applies mixed-integer quadratic programming to infer and fit admixture graphs that represent population splits, drift, and admixture for analysis of genetic relationships among populations.


Key Features:

  • Mixed-integer quadratic programming (MIQP): Uses MIQP to optimize parameters of admixture graphs.
  • Simultaneous parameter fitting: Simultaneously fits graph topology, drift lengths, and admixture proportions within a unified optimization framework.
  • Automated topology inference: Infers admixture graph topology using integer optimization techniques.
  • Explicit evolutionary modeling: Represents splits (population divergence), genetic drift, and admixture (gene flow) explicitly in the graph.
  • Julia implementation: Implemented within the Julia package ecosystem.
  • Scalability and computational feasibility: Targets accurate and computationally feasible solutions for large datasets and intricate evolutionary scenarios.

Scientific Applications:

  • Population history reconstruction: Reconstructs complex population histories using admixture graphs that include splits, drift, and admixture.
  • Parameter estimation: Estimates drift lengths and admixture proportions to quantify genetic change and gene flow.
  • Topology discovery: Infers admixture graph topologies that explain observed genetic relationships among populations.
  • Analysis of complex datasets: Analyzes large and intricate evolutionary scenarios involving multiple admixture events and drift.

Methodology:

miqoGraph applies mixed-integer quadratic programming (MIQP) and integer optimization to simultaneously fit admixture graph topology, drift lengths, and admixture proportions.

Topics

Details

Tool Type:
command-line tool
Programming Languages:
Julia
Added:
1/9/2020
Last Updated:
12/29/2020

Operations

Publications

Yan J, Patterson N, Narasimhan V. miqoGraph: Fitting admixture graphs using mixed-integer quadratic optimization. Unknown Journal. 2019. doi:10.1101/801548.