biotest¶
A Python package for testing bioinformatics data. Mainly, it provides a set of functions to compare normal text/binary files, npy files, pdb files, and directories.
🛠️ Installation¶
🚀 Usage¶
Mainly, use the API with pytest.
from biotest.compare_files import (
assert_two_files_equal_sha,
assert_two_npys_within_tolerance,
assert_two_pdbqt_files_within_tolerance,
assert_two_pdb_files_within_tolerance,
assert_two_dirs_within_tolerance,
)
def assert_two_files_sha(file1: str | PathLike | IOBase, file2: str | PathLike | IOBase):
"""
Assert that two files are exactly the same.
"""
...
def assert_two_npys_within_tolerance(
npy1: str | PathLike | np.ndarray, npy2: str | PathLike | np.ndarray, *, tolerance=1e-6
):
"""
Assert that two npy files are almost the same within a tolerance.
"""
...
def assert_two_pdbqt_files_within_tolerance(
file1: str | PathLike | IOBase, file2: str | PathLike | IOBase, *, tolerance=1e-3
):
"""
Assert that two pdbqt files are equal under following conditions.
- ignore the trailing whitespace.
- 0.001 default tolerance for Orthogonal coordinates for X,Y,Z in Angstroms.
"""
...
def assert_two_pdb_files_within_tolerance(
file1: str | PathLike | IOBase, file2: str | PathLike | IOBase, *, tolerance=1e-3
):
"""
Assert that two pdb files are equal under following conditions.
- ignore the trailing whitespace.
- 0.001 default tolerance for Orthogonal coordinates for X,Y,Z in Angstroms.
"""
...
def assert_two_dirs_within_tolerance(
dir1: str | PathLike,
dir2: str | PathLike,
*,
tolerance: float = 1e-3,
filenames_exclude: Sequence[str] | None = None,
):
"""
Assert that two directories have the same files with almost the same content within tolerance.
"""
...
Also, you can use the CLI to quickly test the functionality. These merely call the functions above, so they will print the traceback if the assertion fails.