def runGenTraj(options): donor = genRandomVec() acceptor = genRandomVec() distance = genRandomVec() with open(options.outputfile, "w") as fh: R = float(options.distexpr.split(";")[0]) print "Starting distance is %f" % R for time in numpy.arange(0, options.timestep * options.samples, options.timestep): donor = alterVec(options, donor) acceptor = alterVec(options, acceptor) distance = alterVec(options, distance) kappa2 = getKappa(donor, acceptor, distance) ** 2 t = float(time) R = eval(options.distexpr.split(";")[1]) kappa2 = eval(options.kappacorr) fh.write("%f %f %f\n" % (time, R, kappa2)) print "Trajectory generated."
def testRandomUncorr(self): length = 100000 startdist = 4 enddist = 7 rbins = 10 ebins = 20 bursts = 10000 R0 = 5.475 bgen = self.constant50Burstgen R = numpy.random.random(length) * (enddist - startdist) + startdist kappa2 = numpy.array(list(getKappa(genRandomVec(), genRandomVec(), genRandomVec()) ** 2 for _ in range(length))) print "Kappa^2 mean is ", kappa2.mean() R0mod = modifyR0(R0, kappa2.mean()) prbs = numpy.ones(length) globaltm = GlobalAVGKappaTransferMatrix(rbins, ebins, bursts, bgen, R0mod, (startdist, enddist)) localtm = DistanceAVGKappaTransferMatrix(rbins, ebins, bursts, bgen, R0, R, kappa2, prbs, RRange = (startdist, enddist)) self.assertMatrixAlmostEqual(globaltm.getMatrix(), localtm.getMatrix(), delta = 0.10)
def runGenTraj(options): donor = genRandomVec() acceptor = genRandomVec() distance = genRandomVec() with open(options.outputfile, "w") as fh: R = float(options.distexpr.split(";")[0]) print "Starting distance is %f" % R for time in numpy.arange(0, options.timestep * options.samples, options.timestep): donor = alterVec(options, donor) acceptor = alterVec(options, acceptor) distance = alterVec(options, distance) kappa2 = getKappa(donor, acceptor, distance)**2 t = float(time) R = eval(options.distexpr.split(";")[1]) kappa2 = eval(options.kappacorr) fh.write("%f %f %f\n" % (time, R, kappa2)) print "Trajectory generated."
def alterVec(options, vec): vec = (1 - options.decay) * vec + options.decay * genRandomVec() vec /= sqrt((vec ** 2).sum()) return vec
def alterVec(options, vec): vec = (1 - options.decay) * vec + options.decay * genRandomVec() vec /= sqrt((vec**2).sum()) return vec