def runDielec(arg): """ Runs UHBD calculation with a set of dielectric constants in dielc_file. """ # Parse the command line arguments dielec = ArgParser.modeClass("dielec",["pdb_file","dielec_file"], ["inpfile","inpfile"],["ionic_strength","pHtitr","out_dir"]) dielec.parseArg(arg) filename = dielec.required["pdb_file"] dielec_file = dielec.required["dielec_file"] output_path = dielec.optional.out_dir pH_start = dielec.optional.pHtitr[0] pH_stop = dielec.optional.pHtitr[1] pH_interval = dielec.optional.pHtitr[2] salt = dielec.optional.ionic_strength f = open(dielec_file) dielectric_constants = [float(d) for d in f.readlines()] f.close() base_path = os.path.join(__init__.invocation_path,output_path) for dielectric in dielectric_constants: print "dielectric constant: %4.2F" % dielectric dielec_path = os.path.join(base_path,"D%.1F" % dielectric) FileOps.makeDir(dielec_path) dielec_output = os.path.join(dielec_path,"%.1F" % salt) FileOps.makeDir(dielec_output) indivRun(filename,dielec_output,pH_start,pH_stop,pH_interval,salt, dielectric)
def runSingle(arg): """ Runs UHBD calculation on a single file. """ single = ArgParser.modeClass("single",["pdb_file"],["inpfile"], ["dielectric", "ionic_strength","pHtitr","out_dir"]) single.parseArg(arg) indivRun(single.required["pdb_file"],single.optional.out_dir, single.optional.pHtitr[0],single.optional.pHtitr[1], single.optional.pHtitr[2],single.optional.ionic_strength, single.optional.dielectric)
def runSalts(arg): """ Runs UHBD calculation on set of salts in salts_file. """ # Parse the command line arguments salts = ArgParser.modeClass("salts",["pdb_file","salt_file"], ["inpfile","inpfile"],["dielectric","pHtitr","out_dir"]) salts.parseArg(arg) filename = salts.required["pdb_file"] salts_file = salts.required["salt_file"] output_path = salts.optional.out_dir pH_start = salts.optional.pHtitr[0] pH_stop = salts.optional.pHtitr[1] pH_interval = salts.optional.pHtitr[2] dielectric = salts.optional.dielectric # Execute the indivRun function for every salt in salts_file f = open(salts_file) salts = [float(salt) for salt in f.readlines()] f.close() for salt in salts: print "Ionic strength: %4.2F" % salt salt_output = os.path.join(output_path,"%.1F" % salt) # Create output directory try: os.mkdir(os.path.join(__init__.invocation_path,salt_output)) except OSError, value: # Don't stop if we are only overwriting existing directory if value[0] != 17: print 'File error.' print value[0], os.path.join(__init__.invocation_path, salt_output), value[1] sys.exit() # Run UHBD at this specific salt concentration indivRun(filename,salt_output,pH_start,pH_stop,pH_interval,salt, dielectric)
def runDielec(arg): """ Runs UHBD calculation with a set of dielectric constants in dielc_file. """ # Parse the command line arguments dielec = ArgParser.modeClass("dielec",["pdb_file","dielec_file"], ["inpfile","inpfile"],["ionic_strength","pHtitr","out_dir"]) dielec.parseArg(arg) filename = dielec.required["pdb_file"] dielec_file = dielec.required["dielec_file"] output_path = dielec.optional.out_dir pH_start = dielec.optional.pHtitr[0] pH_stop = dielec.optional.pHtitr[1] pH_interval = dielec.optional.pHtitr[2] salt = dielec.optional.ionic_strength f = open(dielec_file) dielectric_constants = [float(d) for d in f.readlines()] f.close() for dielectric in dielectric_constants: print "dielectric constant: %4.2F" % dielectric dielec_output = os.path.join(output_path,"%.1F" % dielectric) # Create output directory try: os.mkdir(os.path.join(__init__.invocation_path,dielec_output)) except OSError, value: # Don't stop if we are only overwriting existing directory if value[0] != 17: print 'File error.' print value[0], os.path.join(__init__.invocation_path, dielec_output), value[1] sys.exit() indivRun(filename,dielec_output,pH_start,pH_stop,pH_interval,salt, dielectric)
def runSalts(arg): """ Runs UHBD calculation on set of salts in salts_file. """ # Parse the command line arguments salts = ArgParser.modeClass("salts",["pdb_file","salt_file"], ["inpfile","inpfile"],["dielectric","pHtitr","out_dir"]) salts.parseArg(arg) filename = salts.required["pdb_file"] salts_file = salts.required["salt_file"] output_path = salts.optional.out_dir pH_start = salts.optional.pHtitr[0] pH_stop = salts.optional.pHtitr[1] pH_interval = salts.optional.pHtitr[2] dielectric = salts.optional.dielectric # Execute the indivRun function for every salt in salts_file f = open(salts_file) salts = [float(salt) for salt in f.readlines()] f.close() base_path = os.path.join(__init__.invocation_path,output_path) dielec_path = os.path.join(base_path,"D%.1F" % dielectric) FileOps.makeDir(dielec_path) for salt in salts: print "Ionic strength: %4.2F" % salt salt_output = os.path.join(dielec_path,"%.1F" % salt) # Create output directory FileOps.makeDir(salt_output) # Run UHBD at this specific salt concentration indivRun(filename,salt_output,pH_start,pH_stop,pH_interval,salt, dielectric)