def _checkInput(self):
        async_re_job._checkInput(self)
        try:
            engine = str(self.keywords.get('ENGINE')).upper()
            engine = SUPPORTED_AMBER_ENGINES[engine]
        except KeyError:
            _exit('Requested ENGINE (%s) is either invalid or not '
                  'currently supported.'%self.keywords.get('ENGINE'))

        if int(self.keywords.get('SUBJOB_CORES')) > 1:
            self.spmd = 'mpi'
            engine = '%s.MPI'%engine
            if ((engine == 'sander.MPI' and not at.SANDER_MPI_EXE)
                or engine == 'pmemd.MPI' and not at.PMEMD_MPI_EXE):
                no_exe = True
            else:
                no_exe = False
        else:
            self.spmd = 'single'
            if ((engine == 'sander' and not at.SANDER_SERIAL_EXE)
                or engine == 'pmemd' and not at.PMEMD_SERIAL_EXE):
                no_exe = True
            else:
                no_exe = False
        if no_exe:
            _exit('Cannot find %s executable. Is it compiled and in '
                  'AMBERHOME/bin?'%engine)

        self.exe = os.path.join(at.AMBERHOME,'bin',engine)
        self.states = amber_states_from_configobj(self.keywords,self.verbose)
        self.nreplicas = len(self.states)
示例#2
0
 def _checkInput(self):
     async_re_job._checkInput(self)
     #make sure BEDAM is wanted
     if self.keywords.get('RE_TYPE') != 'BEDAM':
         self._exit("RE_TYPE is not BEDAM")
     #BEDAM runs with IMPACT
     if self.keywords.get('ENGINE') != 'IMPACT':
         self._exit("ENGINE is not IMPACT")
     #input files
     # self.extfiles = self.keywords.get('ENGINE_INPUT_EXTFILES')
     # if not (self.extfiles is None):
     #    if self.extfiles != '':
     #        self.extfiles = self.extfiles.split(',')
     #list of lambdas
     if self.keywords.get('LAMBDAS') is None:
         self._exit("LAMBDAS needs to be specified")
     self.lambdas = self.keywords.get('LAMBDAS').split(',')
     self.nreplicas = len(self.lambdas)
     #simulation temperature
     if self.keywords.get('BEDAM_TEMPERATURE') is None:
         self._exit("BEDAM_TEMPERATURE is a required parameter")
     bedam_temperature = float(self.keywords.get('BEDAM_TEMPERATURE'))
     self.bedam_beta = 1./(0.0019872041*bedam_temperature)
 def _checkInput(self):
     async_re_job._checkInput(self)
     #make sure BEDAM + TEMPERATURE is wanted
     if self.keywords.get('RE_TYPE') != 'BEDAMTEMPT':
         self._exit("RE_TYPE is not BEDAMTEMPT")
     #BEDAM runs with IMPACT
     if self.keywords.get('ENGINE') != 'IMPACT':
         self._exit("ENGINE is not IMPACT")
     #input files
     self.extfiles = self.keywords.get('ENGINE_INPUT_EXTFILES')
     if not (self.extfiles is None):
         if self.extfiles != '':
             self.extfiles = self.extfiles.split(',')
     #list of lambdas
     if self.keywords.get('LAMBDAS') is None:
         self._exit("LAMBDAS needs to be specified")
     lambdas = self.keywords.get('LAMBDAS').split(',')
     #list of temperatures
     if self.keywords.get('TEMPERATURES') is None:
         self._exit("TEMPERATURES needs to be specified")
     temperatures = self.keywords.get('TEMPERATURES').split(',')
     #build parameters for the lambda/temperatures combined states
     self.nreplicas = self._buildBEDAMStates(lambdas,temperatures)
示例#4
0
    def _checkInput(self):
        async_re_job._checkInput(self)
        try:
            engine = self.keywords.get('ENGINE').upper()
            engine = SUPPORTED_AMBER_ENGINES[engine]
        except KeyError:
            _exit('Requested ENGINE (%s) is either invalid or not '
                  'currently supported.'%self.keywords.get('ENGINE'))

        if int(self.keywords.get('SUBJOB_CORES')) > 1:
            self.spmd = 'mpi'
            engine = '%s.MPI'%engine
            if not at.AMBER_MPI_EXES:
                _exit('Cannot find AMBER MPI executables. Are these compiled '
                      'and in AMBERHOME/bin?')
        else:
            self.spmd = 'single'
            if not at.AMBER_SERIAL_EXES:
                _exit('Cannot find AMBER serial executables. Are these '
                      'compiled and in AMBERHOME/bin?')
      
        self.exe = os.path.join(at.AMBERHOME,'bin',engine)
        self.states = amber_states_from_configobj(self.keywords,self.verbose)
        self.nreplicas = len(self.states)