<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def tag_atoms_unique_ids(self, force=False):
 """ Tags each Atom in the Assembly with its unique_id. Notes ----- The unique_id for each atom is a tuple (a double). `unique_id[0]` is the unique_id for its parent `Monomer` (see `Monomer.unique_id` for more information). `unique_id[1]` is the atom_type in the `Assembly` as a string, e.g. 'CA', 'CD2'. Parameters force : bool, optional If True the tag will be run even if Atoms are already tagged. If False, only runs if at least one Atom is not tagged. """

        tagged = ['unique_id' in x.tags.keys() for x in self.get_atoms()]
        if (not all(tagged)) or force:
            for m in self.get_monomers():
                for atom_type, atom in m.atoms.items():
                    atom.tags['unique_id'] = (m.unique_id, atom_type)
        return