receptor_filename = gpf4_stem + '.pdbqs' print("gpf4_to_gpf3: using default receptor_filename:", receptor_filename) if not gpf4_filename: print('gpf4_to_gpf3: no gpf4_filename specified using GridParameter defaults') #what about nucleic acids??? GPO3 = GridParameters() GPO3.read4(gpf4_filename) GPO3.read(gpf4_filename) if verbose: print('read ', gpf4_filename) #have to set the ligand_types GPO3.set_ligand(ligand_filename) #build an autogrid3 'types' string from autogrid4 ligand_types GPO3.set_ligand_types3(GPO3['ligand_types']['value']) if verbose: print('set ligand to ', ligand_filename) GPO3.set_receptor(receptor_filename) if verbose: print('set receptor to ', receptor_filename) if outputfilename is None: outputfilename = gpf4_stem + '_3.gpf' GPO3.write(outputfilename, grid_parameter_list) if verbose: print("wrote ", outputfilename, ' using:') for p in grid_parameter_list: print(p) # To execute this command type: # gpf4_to_gpf3.py -s gpf4_stem -v
receptor_filename = gpf4_stem + '.pdbqs' print "gpf4_to_gpf3: using default receptor_filename:", receptor_filename if not gpf4_filename: print 'gpf4_to_gpf3: no gpf4_filename specified using GridParameter defaults' #what about nucleic acids??? GPO3 = GridParameters() GPO3.read4(gpf4_filename) GPO3.read(gpf4_filename) if verbose: print 'read ', gpf4_filename #have to set the ligand_types GPO3.set_ligand(ligand_filename) #build an autogrid3 'types' string from autogrid4 ligand_types GPO3.set_ligand_types3(GPO3['ligand_types']['value']) if verbose: print 'set ligand to ', ligand_filename GPO3.set_receptor(receptor_filename) if verbose: print 'set receptor to ', receptor_filename if outputfilename is None: outputfilename = gpf4_stem + '_3.gpf' GPO3.write(outputfilename, grid_parameter_list) if verbose: print "wrote ", outputfilename, ' using:' for p in grid_parameter_list: print p # To execute this command type: # gpf4_to_gpf3.py -s gpf4_stem -v
class LibraryGpfWriter: def __init__(self, gpffile, extension='pdbq', err_file="write_lib_gpf_errors", prefix='',alltypes=None, extratypes_dict={}, verbose=0): self.verbose = verbose if verbose: print("self.verbose = ", verbose) self.extratypes_dict = extratypes_dict self.setup(gpffile) self.alltypes = alltypes if self.alltypes is None: self.alltypes = self.gettypes(extension) self.prefix = prefix #real element, Rii, epsii #eg {X:['Cl', 4.09, .02345]} #WHAT errors should be captured #self.error_file = open(err_file, 'w') def setup(self,gpffile): self.gpffile = gpffile self.gpo = GridParameters() self.gpo.read(gpffile) if len(self.extratypes_dict): print("update each type in extratypes here") #????RENAME extratype in receptor and write new output file here? def set_receptor(self, receptor_filename): self.gpo.set_receptor(receptor_filename) ty def gettypes(self, extension, name=''): typeDict = {} key = name + '*.' + extension ligandfilenames = glob.glob(key) if self.verbose: print("processing ", len(ligandfilenames), " files matching ", key) for ligand_file in ligandfilenames: m = Read(ligand_file)[0] for a in m.allAtoms: typeDict[a.autodock_element] = 1 del(m) alltypes = list(typeDict.keys()) return alltypes def write(self, gpo): #set types in groups of 6 + write outputlist = [] number_of_files = len(self.alltypes)/6 + 1 ctr = 0 last = 6 for i in range(number_of_files): if i == number_of_files-1: current_types = self.alltypes[ctr*6:] elif last>len(self.alltypes): current_types = self.alltypes[ctr*6:] else: current_types = self.alltypes[ctr*6:last] gpo['types']['value'] = string.join(current_types,'') if not gpo.receptor_stem: gpo.receptor_stem = os.path.splitext(gpo['receptor']['value'])[0] outputfilename = self.prefix + gpo.receptor_stem + '_'+ str(ctr) + '_library.gpf' gpo.write(outputfilename, grid_parameter_list) ctr = ctr + 1 last = last + 6 outputlist.append(outputfilename) return outputlist
class LibraryGpfWriter: def __init__(self, gpffile, extension='pdbq', err_file="write_lib_gpf_errors", prefix='',alltypes=None, extratypes_dict={}, verbose=0): self.verbose = verbose if verbose: print "self.verbose = ", verbose self.extratypes_dict = extratypes_dict self.setup(gpffile) self.alltypes = alltypes if self.alltypes is None: self.alltypes = self.gettypes(extension) self.prefix = prefix #real element, Rii, epsii #eg {X:['Cl', 4.09, .02345]} #WHAT errors should be captured #self.error_file = open(err_file, 'w') def setup(self,gpffile): self.gpffile = gpffile self.gpo = GridParameters() self.gpo.read(gpffile) if len(self.extratypes_dict): print "update each type in extratypes here" #????RENAME extratype in receptor and write new output file here? def set_receptor(self, receptor_filename): self.gpo.set_receptor(receptor_filename) ty def gettypes(self, extension, name=''): typeDict = {} key = name + '*.' + extension ligandfilenames = glob.glob(key) if self.verbose: print "processing ", len(ligandfilenames), " files matching ", key for ligand_file in ligandfilenames: m = Read(ligand_file)[0] for a in m.allAtoms: typeDict[a.autodock_element] = 1 del(m) alltypes = typeDict.keys() return alltypes def write(self, gpo): #set types in groups of 6 + write outputlist = [] number_of_files = len(self.alltypes)/6 + 1 ctr = 0 last = 6 for i in range(number_of_files): if i == number_of_files-1: current_types = self.alltypes[ctr*6:] elif last>len(self.alltypes): current_types = self.alltypes[ctr*6:] else: current_types = self.alltypes[ctr*6:last] gpo['types']['value'] = string.join(current_types,'') if not gpo.receptor_stem: gpo.receptor_stem = os.path.splitext(gpo['receptor']['value'])[0] outputfilename = self.prefix + gpo.receptor_stem + '_'+ str(ctr) + '_library.gpf' gpo.write(outputfilename, grid_parameter_list) ctr = ctr + 1 last = last + 6 outputlist.append(outputfilename) return outputlist