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)
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)
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)