예제 #1
0
    def _run(self):
        self.make_workdir()

        if self.is_fragment:
            parrot = Parrot(self.workdir, self.refmac_hklout, self.seqin,
                            self.solvent)
            parrot.run()
            if parrot.error:
                self.logger.error('Parrot run failed! {}'.format(parrot.cmd))
                return
            self.mtz_fname = parrot.expected_output

        cad = Cad(self.workdir, self.mtz_fname, 'buccaneer_input.mtz',
                  self.cad_stdin, self.refmac_hklout)
        cad.run()
        if cad.error:
            self.logger.error('Cad run failed! {}'.format(cad.cmd))
            return

        original_dir = os.getcwd()
        os.chdir(self.workdir)
        p = subprocess.Popen(self.cmd, stdout=subprocess.PIPE, shell=True)
        self.logcontents = p.communicate()[0]
        touch(self.logfile, self.logcontents)
        os.chdir(original_dir)
예제 #2
0
 def _run(self):
     self.make_workdir()
     original_dir = os.getcwd()
     os.chdir(self.workdir)
     p = subprocess.Popen(self.cmd, stdout=subprocess.PIPE, shell=True)
     self.logcontents = p.communicate()[0]
     touch(self.logfile, self.logcontents)
     os.chdir(original_dir)
예제 #3
0
    def _run(self):
        self.make_workdir()
        original_dir = os.getcwd()
        os.chdir(self.workdir)

        mtz2various = Mtz2Various(self.workdir, self.hklin, self.input_hkl,
                                  self.mtz2various_stdin)
        mtz2various.run()
        if mtz2various.error:
            self.logger.error('mtz2various run failed! {}'.format(
                mtz2various.cmd))
            return

        shutil.copyfile(self.xyzin, self.input_pda)
        p = subprocess.Popen(self.cmd, stdout=subprocess.PIPE, shell=True)
        self.logcontents = p.communicate()[0]
        touch(self.logfile, self.logcontents)
        os.chdir(original_dir)
예제 #4
0
 def _run(self):
     self.make_workdir()
     p = subprocess.Popen(self.cmd, stdout=subprocess.PIPE, shell=True)
     self.logcontents = p.communicate()[0]
     touch(self.logfile, self.logcontents)