Adds an integration end-to-end test (tests/integration_test/test_integration_test.py) that tests pling on 4 real plasmids and checks if it produces the predicted distance matrix (tests/integration_test/data/all_plasmids_matrix.truth.dist);
To do this, a modularisation of run_pling.py was needed (basically just splitting the code in this source file into a few functions);
Some refactoring of the tests;
A CI pipeline that ensure that the tests and pling works on linux and mac on python versions 3.8, 3.9, 3.10 and 3.11 with minimum deps (just needs python, snakemake and mamba). Any code pushed or PR-ed to the main branch will now run the CI;
This PR:
tests/integration_test/test_integration_test.py
) that testspling
on 4 real plasmids and checks if it produces the predicted distance matrix (tests/integration_test/data/all_plasmids_matrix.truth.dist
);run_pling.py
was needed (basically just splitting the code in this source file into a few functions);pling
works onlinux
andmac
onpython
versions 3.8, 3.9, 3.10 and 3.11 with minimum deps (just needspython
,snakemake
andmamba
). Any code pushed or PR-ed to themain
branch will now run the CI;Closes #17