PyBrOpS: a Python package for breeding program simulation and optimization for multi-objective breeding

G3 (Bethesda). 2024 Oct 7;14(10):jkae199. doi: 10.1093/g3journal/jkae199.

Abstract

Plant breeding is a complex endeavor that is almost always multi-objective in nature. In recent years, stochastic breeding simulations have been used by breeders to assess the merits of alternative breeding strategies and assist in decision-making. In addition to simulations, visualization of a Pareto frontier for multiple competing breeding objectives can assist breeders in decision-making. This paper introduces Python Breeding Optimizer and Simulator (PyBrOpS), a Python package capable of performing multi-objective optimization of breeding objectives and stochastic simulations of breeding pipelines. PyBrOpS is unique among other simulation platforms in that it can perform multi-objective optimizations and incorporate these results into breeding simulations. PyBrOpS is built to be highly modular and has a script-based philosophy, making it highly extensible and customizable. In this paper, we describe some of the main features of PyBrOpS and demonstrate its ability to map Pareto frontiers for breeding possibilities and perform multi-objective selection in a simulated breeding pipeline.

Keywords: Pareto frontier; Python; breeding programs; multi-objective evolutionary algorithm; multi-objective optimization; stochastic simulation.

MeSH terms

  • Algorithms
  • Breeding
  • Computer Simulation*
  • Models, Genetic
  • Plant Breeding* / methods
  • Software*