As illustrated in Figure , metallicious iterates through each metal center in the input structure, executing one of the following actions: (a) Parametrization using template library. Selects a suitable template from a repository of predefined templates and adjust the input topology accordingly. (a) Parametrization using template library. The most efficient approach is to use readily available templates. This subroutine is always performed for each site and can be summarized in the following key steps (Figure ): (a.i) Template selection and (optionally) truncation: This search aims to identify filenames that match the user-specified metal name, charge, and LJ type. The first matching template is used for the next step. If unavailable, users can truncate the system and perform the search again, or parametrize a new template. Truncation involves applying a distance cut-off based on the user-defined truncation_scheme variable (default: None for which the whole template structure is considered). Depending on the scheme, atoms more than 1, 2 or 3-bonds away from the metal center are removed, and their charges are evenly redistributed among the remaining atoms. The influence of different truncation schemes on the final parameters is discussed in § (a.ii) Reduction of the metal site: The original metal site is aligned with a selected template, chosen after matching the name, charge, and LJ type through an iterative process. A distance cut-off equal to the template's radius plus 2Å is used (Figure , step (ii), blue dashed line). The template's radius is defined as the distance between the metal and its furthest atom (Figure (i), red dashed line). Matching ligands in both structures are identified by constructing their molecular graphs and locating combinations where the template's linker graphs are subgraphs of the metal site's graphs. The metal site's linkers are then reduced to match template graphs, resulting in identical structures that only differ in the order of the atoms.