O: A Macromolecule Modeling Environment