<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def run_slurm(self, steps=None, **kwargs):
 """Run the steps via the SLURM queue."""

        # Optional extra SLURM parameters #
        params = self.extra_slurm_params
        params.update(kwargs)
        # Mandatory extra SLURM parameters #
        if 'time'       not in params: params['time']       = self.default_time
        if 'job_name'   not in params: params['job_name']   = self.job_name
        if 'email'      not in params: params['email']      = None
        if 'dependency' not in params: params['dependency'] = 'singleton'
        # Send it #
        self.slurm_job = LoggedJobSLURM(self.command(steps),
                                        base_dir = self.parent.p.logs_dir,
                                        modules  = self.modules,
                                        **params)
        # Return the Job ID #
        return self.slurm_job.run()