code: def update_w_custom(config, lane_info):
      
      name_remaps = {"variant": ["SNP calling", "variant", "variant2"],
                     "SNP calling": ["SNP calling", "variant", "variant2"],
                     "variant2": ["SNP calling", "variant", "variant2"]}
      config = copy.deepcopy(config)
      base_name = lane_info.get("analysis")
      if "algorithm" not in config:
          config["algorithm"] = {}
      for analysis_type in name_remaps.get(base_name, [base_name]):
          custom = config.get("custom_algorithms", {}).get(analysis_type)
          if custom:
              for key, val in custom.items():
                  config["algorithm"][key] = val
      # apply any algorithm details specified with the lane
      for key, val in lane_info.get("algorithm", {}).items():
          config["algorithm"][key] = val
      # apply any resource details specified with the lane
      for prog, pkvs in lane_info.get("resources", {}).items():
          if prog not in config["resources"]:
              config["resources"][prog] = {}
          for key, val in pkvs.items():
              config["resources"][prog][key] = val
      return config
docs: Update the configuration for this lane if a custom analysis is specified.