

def run(self):
    '\n        Perform the actual VASP run.\n\n        Returns:\n            (subprocess.Popen) Used for monitoring.\n        '
    cmd = list(self.vasp_cmd)
    if self.auto_gamma:
        vi = VaspInput.from_directory('.')
        kpts = vi['KPOINTS']
        if ((kpts.style == Kpoints.supported_modes.Gamma) and (tuple(kpts.kpts[0]) == (1, 1, 1))):
            if ((self.gamma_vasp_cmd is not None) and which(self.gamma_vasp_cmd[(- 1)])):
                cmd = p.gamma_vasp_cmd
            elif which((cmd[(- 1)] + '.gamma')):
                cmd[(- 1)] += '.gamma'
    logging.info('Running {}'.format(' '.join(cmd)))
    with open(self.output_file, 'w') as f:
        p = subprocess.Popen(cmd, stdout=f)
    return p

dataset/ETHPy150Open materialsproject/custodian/custodian/vasp/jobs.py VaspJob.run/VarMisuse@110/175 `self`->`p`