Software implementation. We developed an integrated, modular C++/Python application which can be run as a userfriendly command-line tool as well as from within Python or C/C++ code. It can read experimental density maps in the MRC/CCP4 format as well as the DSN6/BRIX 23 format. Multiple experimental density maps can be read and averaged. Furthermore, automatic alignment between docking affinity maps and experimental density maps is available when associated receptor chains are provided in PDB or PDBQT format. For alignment purposes, the MACROMOLECULE field in a given set of AutoDock4.2 affinity maps is used in conjunction with user-specified receptor chains for each provided experimental density map. Alignment is performed within affinity map boundaries for each mutual combination of chains of the two receptors. Our automated receptor alignment starts by matching the longest common sequence of residue names for a given chain combination. Then, in order to match heavy atom indices for each residue pair, their squared distances with the residue centroid are calculated and aligned as closely as possible. If the squared-distance alignment difference is larger than 0.5 Å 2 or if a residue pair has different numbers of heavy atoms it is excluded. When corresponding atom indices are identified for at least 3 residues and 20 heavy atoms their respective centroids are used for translational matching and a modified Kabsch-Umeyama algorithm is used for finding an optimal rotation matrix. For each combination of receptor chains from the two receptors to be aligned, the resulting normalized RMSDs following Carugo and Pongor 26 are calculated and the lowest normalized RMSD is then used as a metric for best alignment. The resulting alignment coefficients are then used to translate and rotate the affinity grid box inside each experimental density thus matched. For each point in the grid box the corresponding value of the experimental density maps is then obtained using trilinear interpolation (similar to how AutoDock4 and AutoDock-GPU apply affinity grid maps to each ligand atom). The above steps give us an experimental density map at each point in the given AutoDock4.2 affinity map thus allowing further processing such as averaging as well as, ultimately, calculation of a bias for each heavy atom affinity map. The bias we have chosen is a smooth mapping of the density map