Parametrization. The protocol implemented in the PyConSolv python package is shown in Figure . The input required is a simple XMOL xyz formatted molecular structure. Input files for ORCA 5 are generated automatically, and geometry optimization and subsequent frequency calculations are performed at theelectronic structure theory level chosen by the user. The optimized geometry is taken as input for subsequent parametrization steps. As the metal center parametrization builds upon the MCPB.py package provided in AmberTools, the steps follow those recommended in the aforementioned package. The structure must be split into fragments which are to be parametrized separately, with each atom requiring a unique identifier in the pdb files. This step is automated by building a connectivity matrix based on atom radii and pair distances of the atoms. If two atoms are closer together than 60% of the sum of their atomic radii, they are considered bound. If one of the atoms is a metal, the connectivity is checked, but it is not added to the matrix, as the metal needs to be parametrized separately from the rest of the fragments. Using a depth first search algorithm to traverse the connectivity matrix, we are able to identify each individual fragment. The user is then presented with an interactive window where a Lewis structure of each fragment is displayed. Here, we require the user to provide total fragment charges to perform the parametrization of each individual fragment using antechamber. The ORCA 5 output files are analyzed and converted into inputs for Multiwfn 3.8 and MCPB, also accounting for the usage of effective core potentials for heavy Figure . PyConSolv workflow steps.