Ejemplo n.º 1
0
    def _run_project_all(self):
        """Runs project_all
        """
        projectiondir = self._get_projection_dir()
        if not os.path.isdir(projectiondir):
            os.makedirs(projectiondir)

        cmd = (
            os.path.join(self._etspecbin, "project_all")
            + " "
            + os.path.join(self._get_marker_dir(), self._markermrc)
            + " "
            + os.path.join(self._workdir, self._projectionmrc)
            + " "
            + str(self._begintilt)
            + " "
            + str(self._tiltshift)
            + " "
            + str(self._endtilt)
            + " "
            + str(self._shrinkage)
            + " "
            + str(self._projmaxangle)
            + " 0 0 0 0"
        )

        exitcode, out, err = util.run_mpiexec_command(cmd, self._mpiexec, self._cores)
        if exitcode != 0:
            raise Exception("Unable to run project_all : " + err)
Ejemplo n.º 2
0
    def _run_volume_marker_position_all(self):
        """Runs volume_marker_position_all
        """
        trackingdir = self._get_tracking_dir()
        if not os.path.isdir(trackingdir):
            os.makedirs(trackingdir)

        cmd = (
            os.path.join(self._etspecbin, "volume_marker_position_all")
            + " "
            + os.path.join(self._get_marker_dir(), self._markermrc)
            + " "
            + os.path.join(self._get_marker_dir(), TiltSeriesCreator.THREE_D_MARKERS_TXT)
            + " "
            + os.path.join(self._get_projection_dir(), TiltSeriesCreator.OFFSET_ALL_TXT)
            + " "
            + str(self._nummarkers)
            + " "
            + str(self._begintilt)
            + " "
            + str(self._tiltshift)
            + " "
            + str(self._endtilt)
            + " "
            + str(self._shrinkage)
            + " "
            + str(self._projmaxangle)
            + " 0 0 0 0"
        )

        exitcode, out, err = util.run_mpiexec_command(cmd, self._mpiexec, 1)
        if exitcode != 0:
            raise Exception("Unable to run volume_marker_position_all : " + err)
Ejemplo n.º 3
0
    def test_run_mpiexec_command_fail_with_cores_not_set(self):
        temp_dir = tempfile.mkdtemp()
        try:
            script = os.path.join(temp_dir, 'yo.py')

            # create a small python script that outputs args passed
            # in to standard out, writes error to standard error
            #  and exits with 0 exit code
            f = open(script, 'w')
            f.write('#! /usr/bin/env python\n\n')
            f.write('import sys\n')
            f.write('sys.stdout.write(sys.argv[1])\n')
            f.write('sys.stdout.write(sys.argv[2])\n')
            f.write('sys.stdout.write(sys.argv[3])\n')

            f.write('sys.stderr.write("error")\n')
            f.write('sys.exit(1)\n')
            f.flush()
            f.close()
            os.chmod(script, stat.S_IRWXU)

            ecode, out, err = util.run_mpiexec_command('foo', script, None)

            self.assertEqual(err, 'error')
            self.assertEqual(out, '-np1foo')
            self.assertEqual(ecode, 1)

        finally:
            shutil.rmtree(temp_dir)
Ejemplo n.º 4
0
 def _run_extend_mean(self):
     """Runs exteand_mean command
     """
     cmd = (
         os.path.join(self._etspecbin, "extend_mean")
         + " "
         + os.path.join(self._workdir, self._unimrc)
         + " "
         + os.path.join(self._workdir, self._extmeanmrc)
     )
     exitcode, out, err = util.run_mpiexec_command(cmd, self._mpiexec, self._cores)
     if exitcode != 0:
         raise Exception("Unable to run extend_mean : " + err)
Ejemplo n.º 5
0
 def _run_all_255(self):
     """Runs all_255 command
     """
     cmd = (
         os.path.join(self._etspecbin, "all_255")
         + " "
         + self._inputmrc
         + " "
         + os.path.join(self._workdir, self._unimrc)
     )
     exitcode, out, err = util.run_mpiexec_command(cmd, self._mpiexec, self._cores)
     if exitcode != 0:
         raise Exception("Unable to run all_255 : " + err)
Ejemplo n.º 6
0
    def _run_raw_tilt(self):
        """Runs exteand_mean command
        """
        cmd = (
            os.path.join(self._etspecbin, "rawtlt")
            + " "
            + str(self._begintilt)
            + " "
            + str(self._tiltshift)
            + " "
            + str(self._endtilt)
            + " "
            + os.path.join(self._workdir, self._rawtlt)
        )

        exitcode, out, err = util.run_mpiexec_command(cmd, self._mpiexec, 1)
        if exitcode != 0:
            raise Exception("Unable to run rawtlt : " + err)
Ejemplo n.º 7
0
    def _run_warpz(self):
        """Runs exteand_mean command
        """
        warpzdir = self._get_warpz_dir()
        if not os.path.isdir(warpzdir):
            os.makedirs(warpzdir)

        cmd = (
            os.path.join(self._etspecbin, "warpZ_inter_del")
            + " "
            + os.path.join(self._workdir, self._extmeanmrc)
            + " "
            + os.path.join(self._workdir, self._extmeanmrc)
            + " "
            + os.path.join(warpzdir, self._warpz)
            + " "
            + str(self._get_number_of_tilts())
            + " 0 0 0 0"
        )

        exitcode, out, err = util.run_mpiexec_command(cmd, self._mpiexec, self._cores)
        if exitcode != 0:
            raise Exception("Unable to run warpZ_inter_del : " + err)
Ejemplo n.º 8
0
    def _run_volume_marker(self):
        """Runs exteand_mean command
        """
        markerdir = self._get_marker_dir()
        if not os.path.isdir(markerdir):
            os.makedirs(markerdir)

        warpzdir = self._get_warpz_dir()

        cmd = (
            os.path.join(self._etspecbin, "volume_marker")
            + " "
            + os.path.join(self._workdir, self._extmeanmrc)
            + " "
            + os.path.join(warpzdir, self._warpz)
            + " "
            + os.path.join(markerdir, self._markermrc)
            + " "
            + str(self._nummarkers)
            + " "
            + str(self._bottommarkersize)
            + " "
            + str(self._topmarkersize)
            + " "
            + str(self._markernoise)
            + " "
            + str(self._get_number_of_tilts())
            + " 0 0 0 0 0 "
            + str(self._markera)
            + " "
            + str(self._aparam)
        )

        exitcode, out, err = util.run_mpiexec_command(cmd, self._mpiexec, self._cores)
        if exitcode != 0:
            raise Exception("Unable to run rawtlt : " + err)
Ejemplo n.º 9
0
 def test_run_mpiexec_command_with_mpiexec_not_set(self):
     ecode, out, err = util.run_mpiexec_command('foo', None, None)
     self.assertEqual(ecode, 255)
     self.assertEqual(out, '')
     self.assertEqual(err, 'mpiexec must be set')