class_docstr: Submits jobs to SLURM, can check on their status, and kill jobs.
  
  Uses ``drmaa`` Python library.
  
  Args:
      submit_options (str): command line options such as queue ``-q``,
           all written in one string.
      environment (str): the path to a file that contains environment
          variables; will be sourced before job is run.
      output_dir (str): path to directory in which ``stdout`` and ``stderr``
          will be written to. If not specified this will use the same as
          defined for the study.
class_docstr_tok: ["Submits","jobs","to","SLURM",",","can","check","on","their","status",",","and","kill","jobs",".","Uses","``","drmaa","``","Python","library",".","Args",":","submit_options","(","str",")",":","command","line","options","such","as","queue","``","-q","``",",","all","written","in","one","string",".","environment","(","str",")",":","the","path","to","a","file","that","contains","environment","variables",";","will","be","sourced","before","job","is","run",".","output_dir","(","str",")",":","path","to","directory","in","which","``","stdout","``","and","``","stderr","``","will","be","written","to",".","If","not","specified","this","will","use","the","same","as","defined","for","the","study","."]
code: def __init__(self, submit_options, environment, output_dir=""):
      self.count = 0
      self.submit_options = submit_options
      self.environment = environment
      self.output_dir = output_dir
      self.killed_jobs = set()
      self.drmaa = __import__("drmaa")
      self.decode_status = {
          self.drmaa.JobState.UNDETERMINED: _JobStatus.other,
          self.drmaa.JobState.QUEUED_ACTIVE: _JobStatus.queued,
          self.drmaa.JobState.SYSTEM_ON_HOLD: _JobStatus.other,
          self.drmaa.JobState.USER_ON_HOLD: _JobStatus.other,
          self.drmaa.JobState.USER_SYSTEM_ON_HOLD: _JobStatus.other,
          self.drmaa.JobState.RUNNING: _JobStatus.running,
          self.drmaa.JobState.SYSTEM_SUSPENDED: _JobStatus.other,
          self.drmaa.JobState.USER_SUSPENDED: _JobStatus.other,
          self.drmaa.JobState.DONE: _JobStatus.finished,
          self.drmaa.JobState.FAILED: _JobStatus.failed,
      }
  
imports: import subprocess
  import re
  import sys
  import os
  import logging
label_desc: Use image node_id 1 to create a new SLURMScheduler object from inherited base classes: Scheduler with example: obj = SLURMScheduler(submit_options, environment, output_dir)