code: def cut3d(self, cut3d_input, workdir):
          
          self.stdin_fname, self.stdout_fname, self.stderr_fname = \
              map(os.path.join, 3 * [os.path.abspath(workdir)], ["cut3d.stdin", "cut3d.stdout", "cut3d.stderr"])
  
          cut3d_input.write(self.stdin_fname)
  
          retcode = self._execute(workdir, with_mpirun=False)
  
          if retcode != 0:
              raise RuntimeError("Error while running cut3d in %s." % workdir)
  
          output_filepath = cut3d_input.output_filepath
  
          if output_filepath is not None:
              if not os.path.isabs(output_filepath):
                  output_filepath = os.path.abspath(os.path.join(workdir, output_filepath))
  
              if not os.path.isfile(output_filepath):
                  raise RuntimeError("The file was not converted correctly in %s." % workdir)
  
          return self.stdout_fname, output_filepath
docs: Runs cut3d with a Cut3DInput
  
          Args:
              cut3d_input: a Cut3DInput object.
              workdir: directory where cut3d is executed.
  
          Returns:
              (string) absolute path to the standard output of the cut3d execution.
              (string) absolute path to the output filepath. None if output is required.