PHENIX: a comprehensive Python-based system for macromolecular structure solution