Ionize is a threaded program for placing counterions near a biological molecule in preparation for molecular dynamics simulations. In this case, placement is performed by calculating the coulombic potential due to the molecule in the nearby volume, and placing ions at points of minimal energy. After each ion is placed, the potential is updated, so that subsequent ions will be placed in response to this. Unlike some ion placement tools, ionize should be used *prior* to solvation so that the potential from unequilibrated water does not interfere with it (the addition of water would also make the energy calculations even more time consuming). Ionize is designed to be used on multiple processors; it uses a pthreads parallel implementation to run on shared memory machines (any traditional multiprocessor machine, or shared memory clusters such as an SGI Altix). After ionize is finished, you should solvate your system normally.


If you have questions please send email to the authors, at



UIUC open source license


Please see the included README file for usage information and platform-specific comments.