code: def to_cigar_units(source):
      """Converts object to a list of CigarUnit.
  
      This function attempts to convert source into a list of CigarUnit protos.
      If source is a string, we assume it is a CIGAR string and call
      parse_cigar_string on it, returning the result. It not, we assume it's an
      iterable containing element to be converted with to_cigar_unit(). The
      resulting list of converted elements is returned.
  
      Args:
        source: str or iterable to convert to CigarUnit protos.
  
      Returns:
        list[CigarUnit].
      """
      if isinstance(source, six.string_types):
          return parse_cigar_string(source)
      else:
          return [to_cigar_unit(singleton) for singleton in source]
  
file_path: deepvariant/third_party/nucleus/util/cigar.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import re
  import six
  from third_party.nucleus.protos import cigar_pb2
label_desc: Use image node_id 5 for calling a global function with example usage: to_cigar_units(source) and returns: parse_cigar_string, unknown