Python Breeding Optimizer and Simulator: A Python library for simulating breeding programs and optimizing breeding-related problems.
A full website hosting all documentation can be found at the project GitHub Pages website. Please consult the documentation to learn how to use PyBrOpS.
Python 3.8.0+
You will need to install Python developmental headers in addition to
Python 3.8.0+. Even though PyBrOpS is written in pure Python, some of its
dependencies require compilation.
Commands for installing Python developmental headers:
| Linux Distro | Command |
|---|---|
| Fedora | sudo dnf install python3-devel |
| Ubuntu | sudo apt install python3-dev |
PyBrOpS relies on several dependencies. They are:
cyvcf2-0.30.14+(reading VCFs)cvxpy-1.1.18+(linear programming)pymoo-0.6.0+(genetic algorithms)h5py-3.6.0+(HDF5 file support)matplotlib-3.5.1+(graphics)numpy-1.22.2+(matrix storage and algebra)pandas-1.4.1+(data frames)pytest-7.0.1+(unit tests)pytest-datadir-1.3.1+(unit tests)scipy-1.8.0+(miscellaneous numerical routines)setuptoolswheel
To install first clone the repository:
git clone https://github.com/rzshrote/pybrops.git
It is a best practice to create a virtual environment where PyBrOpS dependencies
can be installed. To do this, you can use the Makefile:
make install-devel
Alternatively, this may be done manually using the following commands:
python3 -m venv env
. env/bin/activate
python3 -m pip install --editable .
Next, you must activate the virtual environment using either the . command
(for sh) or the source command (for bash):
. env/bin/activate
or
source env/bin/activate
Now that the virtual environment is activated, you can access pybrops
through the python3 command-line interface prompt and through script
execution.
Non-exhaustive list for building
source env/bin/activate
pip3 install sphinx-autodoc-typehints sphinx_rtd_theme pydata_sphinx_theme