Geometry optimization with QM/MM, ONIOM, and other combined methods. I. Microiterations and constraints | Synapse