code: def do_apply(mutation_pk, dict_synonyms, backup):
      
      filename, mutation_id = filename_and_mutation_id_from_pk(int(mutation_pk))
  
      update_line_numbers(filename)
  
      context = Context(
          mutation_id=mutation_id,
          filename=filename,
          dict_synonyms=dict_synonyms,
      )
      mutate_file(
          backup=backup,
          context=context,
      )
      if context.number_of_performed_mutations == 0:
          raise RuntimeError('No mutations performed.')
docs: Apply a specified mutant to the source code
  
      :param mutation_pk: mutmut cache primary key of the mutant to apply
      :type mutation_pk: str
  
      :param dict_synonyms: list of synonym keywords for a python dictionary
      :type dict_synonyms: list[str]
  
      :param backup: if :obj:`True` create a backup of the source file
          before applying the mutation
      :type backup: bool