def _get_db_options(args): """Parse through a command line of arguments to over-ride the values in the users .dbrc file. If no user name is given then the environment variable $USERNAME is used. If $USERNAME is not defined then prompt for input. """ import optik, getpass, sys from optik import OptionParser parser = OptionParser() parser.add_option("-d", "--database", action="store", type="string", dest="database", default="cfht", help="Name of the SYBASE database containing TABLE", metavar="FILE") parser.add_option("-u", "--user", action="store", type="string", dest="user", default=getpass.getuser(), help="User name to access db with", metavar="USER") (opt, unused_args) = parser.parse_args(args) return opt.database, opt.user, unused_args
#* $Date: 2006/01/09 13:36:44 $ #* #* Programmer : <your name> #* #* Modification History: #* #**** C A N A D I A N A S T R O N O M Y D A T A C E N T R E ***** # Run J-M.'s and Matt's object finding systems... then intersect the # results. if __name__ == '__main__': ### Must be running as a script import optik, sys from optik import OptionParser parser = OptionParser() parser.add_option("--verbose", "-v", action="store_true", dest="verbose", help="Provide feedback on what I'm doing") parser.add_option("--triple", "-t", action="store", type="int", dest="triple", help="Triple to search") parser.add_option("--block", "-b", action="store", default=None,
def main(): usage = "usage: %prog [options] sysName [ctp_id | rtpFileName=Run.rtp] [buildMode] [buildOpts]" dataSource = {"db2": 0, "xml": 1, "ff": 2} parser = OptionParser(usage) rtpName = 'Run.rtp' # sys_class option: parser.add_option("-c", "--sys_class", type="string", action="store", dest="sys_class", default="testing", help="(scratch | [testing] | production)") # source options: parser.add_option("-d", "--from-database", action="store_const", dest="source", const=dataSource["db2"], default=dataSource["db2"], help="look for system in database") parser.add_option("-x", "--from-xml", action="store_const", dest="source", const=dataSource["xml"], help="look for system in xml file") parser.add_option("-p", "--from-package", action="store_const", dest="source", const=dataSource["ff"], help="look for system in force field files") # force field identifier option (only used if source=package) parser.add_option("-f", "--forcefield", action="store", dest="forceField", default="unknown", help="define force field of system") # system id option (only used if source=db2) parser.add_option("-i", "--system-id", action="store", dest="sysId", default="-1", help="identify system in db2") # verbose/quiet options parser.add_option("-v", "--verbose", action="store_true", dest="verbose", default="store_false", help="sets output to be verbose") parser.add_option("-q", "--quiet", action="store_false", dest="verbose", help="sets output to be quiet") (options, args) = parser.parse_args() buildMode = "Opt" buildOpts = '' if len(args) < 1: parser.error("incorrect number of args") sysName = args[0] if len(args) == 2: rtpName = args[1] if len(args) == 3: buildMode = args[2] if len(args) == 4: buildOpts = args[3] if options.verbose: print("sys_class:", options.sys_class) print("source:", options.source) print("rtp file:", rtpName) print("force field:", options.forceField) # set xml creation object based on force field setting creator = None if options.forceField == 'charmm': creator = BuildUtils.createXmlForCharmm() elif options.forceField == 'oplsaa': creator = BuildUtils.createXmlForOplsaa() else: create = BuildUtils.createXml() sysId = options.sysId ctpId = -1 if options.source == dataSource["ff"]: if options.verbose: print("calling creator.fromSource()") creator.fromSource(sysName, None, options.verbose) if options.source == dataSource["xml"] or \ options.source == dataSource["ff"]: if options.verbose: print("calling BuildUtils.xml2db2(), BuildUtils.rtp2db2()") sysId=BuildUtils.xml2db2(sysName + '.' + options.forceField, \ options.verbose) if options.verbose: print("sysId =", str(sysId)) if rtpName.isdigit(): ctpId = rtpName else: ctpId = BuildUtils.rtp2db2(rtpName, options.verbose) if options.source == dataSource["xml"] or \ options.source == dataSource["ff"] or \ options.source == dataSource["db2"]: if options.verbose: print("calling BuildUtils.db2cpp(), BuildUtils.cpp2exe()") BuildUtils.db2cpp( str(sysName) + '.' + str(options.forceField), sysId, ctpId, options.verbose) BuildUtils.cpp2exe( str(sysName) + '.' + str(options.forceField), buildMode, buildOpts, options.verbose) return (0)
def main(): usage = "usage: %prog [options] epsilon sigma/Rmin" parser = OptionParser(usage) parser.add_option("-s", "--sigma", action="store_true", dest="sigma", default="store_false", help="sets input type of sigma/Rmin to sigma") parser.add_option("-r", "--rmin", action="store_false", dest="sigma", default="store_false", help="sets input type of sigma/Rmin to Rmin") parser.add_option("-n", "--number", action="store", dest="count", default=4, help="particle count") parser.add_option("-c", "--chemcomp", action="store", dest="chemcomp", default="AR", help="chemical component") parser.add_option("-e", "--element", action="store", dest="element", default="Ar", help="element symbol") parser.add_option("-t", "--atomtag", action="store", dest="atomtag", default="AR_", help="atom tag") parser.add_option("-m", "--mass", action="store", dest="mass", default="39.948", help="mass (amu)") parser.add_option("-d", "--moleculename", action="store", dest="moleculename", default="Argon", help="molecule name") parser.add_option("-k", "--kelvin", action="store_true", dest="kelvin", default="store_false", help="energy units in kelvin") (options, args) = parser.parse_args() if len(args) < 2: parser.error("incorrect number of args") if int(options.count) <= 0: parser.error("Illegal value for particle number") epsilon = args[0] if options.kelvin: epsilon = epsilon + "*SciConst::KBoltzmann_IU" rMinValue = args[1] if options.sigma: rMinValue = rMinValue + "*SciConst::SixthRootOfTwo" outputXmlHeaderWithDtd() print("<ffparams>") outputHeaderParameterList() outputMoleculeName(options.moleculename, "SALT") outputChemicalComponentInstanceList(int(options.count), options.chemcomp) outputMoleculeInstanceList(int(options.count)) outputSiteList(int(options.count), options.mass, options.atomtag, epsilon, rMinValue, options.element) print("</ffparams>")