Beispiel #1
0
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
Beispiel #2
0
#*	$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)
Beispiel #4
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>")