コード例 #1
0
def run_on_batch(est, args):
    s = sm.Simulation(args.sim_name)
    pretty.print_namespace(s)
    print()
    print('batch=', args.batch_num)
    print(est)
    est.run_and_save_results(args.batch_num, s)
コード例 #2
0
def run_on_batch(est, args):
    sim = SumstatSimulation(args.sim_name)
    pretty.print_namespace(sim)
    print()
    print("batch=", args.batch_num)
    print(est)
    est.run_and_save_results(args.batch_num, sim)
コード例 #3
0
def main(args):
    np.random.seed(args.beta_num + args.sample_num * 10000)
    sim = SumstatSimulation(args.sim_name)
    d = Dataset(sim.dataset)
    pretty.print_namespace(sim)
    print()

    # read in noiseless phenotypes
    Y = pickle.load(sim.noiseless_Y_file(args.beta_num))

    # choose individuals and create ensemble of Ys
    indices = np.random.choice(Y.shape[0], size=(sim.sample_size, ))
    Y = Y[indices]

    # compute how much noise to add
    sigma2e = 1 - sim.h2g
    print('adding noise. sigma2e =', sigma2e)
    Y += np.sqrt(sigma2e) * np.random.randn(*Y.shape)

    if sim.condition_on_covariates:
        print('projecting covariates out of Y')
        Y = d.project_out_covariates(Y, covariates=d.covariates[indices])

    alphahat = np.zeros(d.M)
    t0 = time()

    def compute_sumstats_for_slice(s):
        # X will be N x M
        print(int(time() - t0), ': getting genotypes from file. SNPs', s)
        X = d.get_standardized_genotypes(s)[indices]

        if sim.condition_on_covariates:
            print(int(time() - t0), ': projecting out covariates')
            X = d.project_out_covariates(X, covariates=d.covariates[indices])

        print(int(time() - t0), ': computing sumstats. SNPs', s)
        alphahat[s[0]:s[1]] = X.T.dot(Y) / sim.sample_size
        del X

    map(compute_sumstats_for_slice, d.slices())

    # write output
    def write_output():
        pickle.dump(indices,
                    sim.individuals_file(args.beta_num, args.sample_num, 'wb'),
                    2)
        pickle.dump(Y, sim.noisy_Y_file(args.beta_num, args.sample_num, 'wb'),
                    2)
        pickle.dump(alphahat,
                    sim.sumstats_file(args.beta_num, args.sample_num, 'wb'), 2)

    write_output()
コード例 #4
0
ファイル: sim_sumstats.py プロジェクト: yakirr/statgen_y1
def main(args):
    np.random.seed(args.beta_num + args.sample_num * 10000)
    sim = SumstatSimulation(args.sim_name)
    d = Dataset(sim.dataset)
    pretty.print_namespace(sim); print()

    # read in noiseless phenotypes
    Y = pickle.load(sim.noiseless_Y_file(args.beta_num))

    # choose individuals and create ensemble of Ys
    indices = np.random.choice(Y.shape[0], size=(sim.sample_size,))
    Y = Y[indices]

    # compute how much noise to add
    sigma2e = 1 - sim.h2g
    print('adding noise. sigma2e =', sigma2e)
    Y += np.sqrt(sigma2e) * np.random.randn(*Y.shape)

    if sim.condition_on_covariates:
        print('projecting covariates out of Y')
        Y = d.project_out_covariates(Y, covariates=d.covariates[indices])

    alphahat = np.zeros(d.M)
    t0 = time()
    def compute_sumstats_for_slice(s):
        # X will be N x M
        print(int(time() - t0), ': getting genotypes from file. SNPs', s)
        X = d.get_standardized_genotypes(s)[indices]

        if sim.condition_on_covariates:
            print(int(time() - t0), ': projecting out covariates')
            X = d.project_out_covariates(X, covariates=d.covariates[indices])

        print(int(time() - t0), ': computing sumstats. SNPs', s)
        alphahat[s[0]:s[1]] = X.T.dot(Y) / sim.sample_size
        del X
    map(compute_sumstats_for_slice, d.slices())

    # write output
    def write_output():
        pickle.dump(indices, sim.individuals_file(
                    args.beta_num, args.sample_num, 'wb'), 2)
        pickle.dump(Y, sim.noisy_Y_file(
                    args.beta_num, args.sample_num, 'wb'), 2)
        pickle.dump(alphahat, sim.sumstats_file(
                    args.beta_num, args.sample_num, 'wb'), 2)
    write_output()
コード例 #5
0
ファイル: estimator_manager.py プロジェクト: yakirr/fcor-sim
def run_on_batch(est, args):
    s = sm.Simulation(args.sim_name)
    pretty.print_namespace(s); print()
    print('batch=', args.batch_num)
    print(est)
    est.run_and_save_results(args.batch_num, s)