def compute(self):
        allowed_ops = ['-', 'r', 'sin',
                       'cos', 'tan', 'asin', 'acos', 'atan',
                       'exp', 'log', 'log10', 'log1p', 'log2', 'sqrt'
                       'cbrt', 'ceil', 'floor', 'erf', 'rup',
                       'abs', 'sgn', 'exists', 'rand', 'nrand',
                       'if', '0', '1']
        self.check_input('op')
        if not self.get_input('op') in allowed_ops:
            raise ModuleError(self, ("Operation %s is not allowed." % 
                                     self.get_input('op')))
        cmdline = ['unu 1op']
        cmdline += [self.get_input('op')]
        cmdline += self.do_input()
        (ocmd, output_file) = self.do_output()
        cmdline += ocmd
        self.set_output('output_file', output_file)
        self.run_teem(*cmdline)
dataset/ETHPy150Open VisTrails/VisTrails/contrib/edu_utah_sci_cscheid_teem/__init__.py/Unu1op.compute/original