def _get_frame_molecule(self):
        """
        モデリングされた分子構造をAtomGroupオブジェクトで返す
        """
        if "frame_molecule" not in self._cache:
            logger.info("create frame molecule coordinates.")
            frame_molecule = bridge.AtomGroup()
            for frg_name, frg in self._fragments.items():
                logger.info(
                    "fragment name={name}: atoms={atoms}, elec={elec}, charge={charge}".format(
                        name=frg_name,
                        atoms=frg.get_number_of_all_atoms(),
                        elec=frg.sum_of_atomic_number(),
                        charge=frg.get_AtomGroup().charge,
                    )
                )
                frame_molecule[frg_name] = frg.get_AtomGroup()
            self._cache["frame_molecule"] = frame_molecule
            logger.info("")
        return self._cache["frame_molecule"]