Package Architecture¶
This package is composed mostly of Python code (modules and scripts), as well as some bash scripts and some snakemake workflows. To give some insight about how everything holds together, figures were generated using pyreverse and are described below.
Module interactions¶
This package is currently composed of 15 modules. Each module is as independent of the others as possible, but some dependency is bound to happen. To give some insight about how everything holds together, have a look at the figure below.
Class hierarchy¶
The figure below illustrates the class hierarchy in this package.
In your browser, use right-click and open in new tab for full screen view of this figure.
Code from other sources¶
While the vast majority of this repo was developed from scratch by the authors, some of the code in this repository was strongly inspired from other sources. Since we did not come up with the corresponding solutions, it only seems fair to list here the sources we could use for help.
To the original repositories and forum messages authors, we express our deepest gratitude for saving us some serious headaches.
Classes¶
HDFStore: create a multiprocess-safe reference file for deduplication
Uncharger: used as based for the FullUncharger class to remove all charges whenever possible
DepictionValidator: assign scores to 2D molecular-depictions to select the “best”
np_score: object-oriented wrapper around the npscorer script (RDKit contrib)
sa_score: object-oriented wrapper around the sasscorer script (RDKit contrib)
Functions¶
idx_to_label: create a fragment connection point label (i.e. a, b) from the atom index (i.e. 0, 1)
find_symmetry_groups: identify equivalent atom positions in molecules