code: def _slurm_info(queue):
      
      cl = "sinfo -h -p {} --format '%c %m %D'".format(queue)
      num_cpus, mem, num_nodes = subprocess.check_output(shlex.split(cl)).decode().split()
      # if the queue contains multiple memory configurations, the minimum value is printed with a trailing '+'
      mem = float(mem.replace('+', ''))
      num_cpus = int(num_cpus.replace('+', ''))
      # handle small clusters where we need to allocate memory for bcbio and the controller
      # This will typically be on cloud AWS machines
      bcbio_mem = 2000
      controller_mem = 4000
      if int(num_nodes) < 3 and mem > (bcbio_mem + controller_mem) * 2:
          mem = mem - bcbio_mem - controller_mem
      return [{"cores": int(num_cpus), "memory": mem / 1024.0, "name": "slurm_machine"}]
docs: Returns machine information for a slurm job scheduler.