code: def _clean_algorithm(data):
      
      # convert single items to lists
      for key in ["variantcaller", "jointcaller", "svcaller"]:
          val = tz.get_in(["algorithm", key], data)
          if val:
              if not isinstance(val, (list, tuple)) and isinstance(val, six.string_types):
                  val = [val]
              # check for cases like [false] or [None]
              if isinstance(val, (list, tuple)):
                  if len(val) == 1 and not val[0] or (isinstance(val[0], six.string_types)
                                                      and val[0].lower() in ["none", "false"]):
                      val = False
              data["algorithm"][key] = val
      return data
docs: Clean algorithm keys, handling items that can be specified as lists or single items.