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)
import FASTA import random import sys from optik import OptionParser usage = "usage: %prog [options] < faInput > faOutput" parser = OptionParser(usage) parser.add_option("-r", "--rate", type="float", dest="rate", help="probability that a given base mutates", default=0.1) parser.add_option("-s", "--seed", type="int", dest="seed", help="seed for initializing RNG", default=None) (options, args) = parser.parse_args() if len(args) != 0: parser.error("incorrect number of arguments") mutations = {'A': ('C', 'G', 'T'), 'C': ('A', 'G', 'T'), 'G': ('A', 'C', 'T'), 'T': ('A', 'C', 'G')} def mutateCharacter(char, rate): if random.random() < rate: return random.choice(mutations[char]) else: return char def mutateSequence(seq, rate): return ''.join(map(mutateCharacter, seq, [rate] * len(seq)))
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>")