code: def _library_from_nglims(gi, sample_info, config):
      
      names = [config.get(x, "").strip() for x in ["lab_association", "researcher"]
               if config.get(x)]
      for name in names:
          for ext in ["sequencing", "lab"]:
              check_name = "%s %s" % (name.split()[0], ext)
              try:
                  return _get_library_from_name(gi, check_name, None, sample_info)
              except ValueError:
                  pass
      check_names = set([x.lower() for x in names])
      for libname, role in config["private_libs"]:
          # Try to find library for lab or rsearcher
          if libname.lower() in check_names:
              return _get_library_from_name(gi, libname, role, sample_info)
      # default to first private library if available
      if len(config.get("private_libs", [])) > 0:
          libname, role = config["private_libs"][0]
          return _get_library_from_name(gi, libname, role, sample_info)
      # otherwise use the lab association or researcher name
      elif len(names) > 0:
          return _get_library_from_name(gi, names[0], None, sample_info, create=True)
      else:
          raise ValueError("Could not find Galaxy library for sample %s" % sample_info["description"])
docs: Retrieve upload library from nglims specified user libraries.