Skip to main content
PyToxo

A Python tool to calculate penetrance tables for high-order epistasis models.

Paper: González-Seoane, B., Ponte-Fernández, C., González-Domínguez, J. et al. PyToxo: a Python tool for calculating penetrance tables of high-order epistasis models. BMC Bioinformatics 23, 117 (2022). https://doi.org/10.1186/s12859-022-04645-7.
Mailing list: freelists.org/list/pytoxo. Join to start the discussion.
User manual (English version): manuals/manual_en.pdf.
User manual (Spanish version): manuals/manual_es.pdf.


PyToxo is a library for calculating penetrance tables of any bivariate epistasis model, developed in Python. It is a improved version of the Toxo library.

PyToxo is an easy-to-use tool, which can be used directly as a Python library, or through a command-line interface (CLI) or a graphical user interface (GUI). It is aimed at professionals or people interested in the field of bioinformatics and especially genetics.

This work is part of Borja González Seoane's final project for his Degree in Computer Engineering studies from the University of A Coruña.

PyToxo GUI screenshot

Install

PyToxo requires Python 3.8 or more modern to work. It is uploaded to the official Python PyPI repository, so it is only needed to run the following command to install it:

pip install pytoxo

Use

  • To see how PyToxo is used as a library, you can examine this example.
  • To see how PyToxo is used through its CLI, you can examine this example. You can also revise the command-line help executing pytoxo_cli -h.
  • To see how PyToxo is used through its GUI, you can examine the PyToxo manual. However, the GUI is very intuitive and guides the user step by step. You might want to venture out using the pytoxo_gui command to open the interface and take a look on your own.

In any case, I recommend you take a look at the PyToxo user manual. It is available in English and Spanish.

Run the tests

To run the tests you need to download this entire repository and install the development dependencies contained in manifest requirements_dev.txt with:

pip install -r requirements_dev.txt

PyToxo project uses the Python unittest to all its associated tests routines. PyToxo has unit, integration, solubility and accuracy level tests. All of them are stored into the test directory and respect the format test_*.py.

To run the tests, the easiest way is using the helper scripts test/run_all_tests.py, test/run_all_tests_unit.py, test/run_all_tests_integration.py, test/run_all_tests_solubility.py and test/run_all_tests_accuracy.py, to respectively run the appropriate tests. This script solve by their own the execution working directory, which must be the project home one.

It is also possible to run the tests since the command line. E.g.:

python -m unittest discover  # Runs all
python -m unittest discover test/unit  # Runs unit tests
python -m unittest discover test/integration  # Runs integration tests
# ...

The tests use material generated with Toxo to compare the two programs behaviour.

Acknowledgements

Thanks to María José Martín Santamaría and Christian Ponte Fernández for their supervision of the project. Also thanks to Jorge González Domínguez.

Metadata

Release files for pytoxo 1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pytoxo 1.2
File Size Uploaded
pytoxo-1.2.tar.gz 180.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pytoxo 1.2
File Interpreter ABI Platform
pytoxo-1.2-py3-none-any.whl Python 3 none any Details

Total release size: 376.9 kB

Release files / pytoxo-1.2.tar.gz

Download URL pytoxo-1.2.tar.gz
Size 180.4 kB
Tags Source
SHA-256 checksum
How to use checksums
692387c3d9c43b0a1228b76cfa8f401ec55a5088aa6b15d9f6bf7eda96b7cc7a
BLAKE2b-256 checksum
How to use checksums
c2a8b00cabaca680745e7cd3d0d4149664e9ec9b29888ec83497917a3381bda3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.9

Release files / pytoxo-1.2-py3-none-any.whl

Download URL pytoxo-1.2-py3-none-any.whl
Size 196.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
21fefef967ce419c72e1bd9cd971ae70b7f2fb257fde83e0643a1cb8ed8a9454
BLAKE2b-256 checksum
How to use checksums
5e6fc0fc437bd77dc2698f720c68682a526ee21f00381d2037408c258ade9cbf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.9

Release history Release notifications | RSS feed

This release

1.2 This release

2 release files

1.1

2 release files

1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page