code: def update_assembly(data):
      
  
      print("##############################################################")
      print("Updating assembly to current version")
      ## New assembly object to update pdate from.
      new_assembly = ip.Assembly("update", quiet=True)
  
      ## Hackersonly dict gets automatically overwritten
      ## Always use the current version for params in this dict.
      data._hackersonly = deepcopy(new_assembly._hackersonly)
  
      new_params = set(new_assembly.paramsdict.keys())
  
      my_params = set(data.paramsdict.keys())
  
      ## Find all params in loaded assembly that aren't in the new assembly.
      ## Make a new dict that doesn't include anything in removed_params
      removed_params = my_params.difference(new_params)
      for i in removed_params:
          print("Removing parameter: {} = {}".format(i, data.paramsdict[i]))
          
      ## Find all params that are in the new paramsdict and not in the old one.
      ## If the set isn't emtpy then we create a new dictionary based on the new
      ## assembly parameters and populated with currently loaded assembly values.
      ## Conditioning on not including any removed params. Magic.
      added_params = new_params.difference(my_params)
      for i in added_params:
          print("Adding parameter: {} = {}".format(i, new_assembly.paramsdict[i]))
  
      print("\nPlease take note of these changes. Every effort is made to\n"\
              +"ensure compatibility across versions of ipyrad. See online\n"\
              +"documentation for further details about new parameters.")
      time.sleep(5)
      print("##############################################################")
      
      if added_params:
          for i in data.paramsdict:
              if i not in removed_params:
                  new_assembly.paramsdict[i] = data.paramsdict[i]
          data.paramsdict = deepcopy(new_assembly.paramsdict)
  
      data.save()
      return data
docs: Create a new Assembly() and convert as many of our old params to the new
      version as we can. Also report out any parameters that are removed
      and what their values are.