def get_atoms(self, ligands=True, pseudo_group=False, inc_alt_states=False):
        """ Flat list of all the `Atoms` in the `Assembly`.

        Parameters
        ----------
        ligands : bool, optional
            Include ligand `Atoms`.
        pseudo_group : bool, optional
            Include pseudo_group `Atoms`.
        inc_alt_states : bool, optional
            Include alternate sidechain conformations.

        Returns
        -------
        atoms : itertools.chain
            All the `Atoms` as a iterator.
        """
        atoms = itertools.chain(
            *(list(m.get_atoms(inc_alt_states=inc_alt_states))
                for m in self.get_monomers(ligands=ligands,
                                           pseudo_group=pseudo_group)))
        return atoms