Пример #1
0
maf = 0.5

traitname = 'synthetic'
# Create population
pop = pyd.Population()

# Create chromosomes
for i in range(100):
	c = pyd.ChromosomeTemplate()
	c.add_genotype(maf, 0)
	pop.add_chromosome(c)

# Create trait architecture
trait = Architecture('synthetic', 'quantitative', chromosomes=pop.chromosomes)
for i in range(100):
	trait.add_effect((i,0), 1 * (-1 if i % 2 else 1))

print('Locus mean genotypic value: {}'.format(trait.effects[0].expected_genotypic_value))
print('Locus variance: {}'.format(trait.effects[0].locus_additive_variance))

print('Expected trait mean: {}'.format(trait.expected_genotypic_value))
print('Expected trait variance: {}'.format(trait.additive_genetic_variance))
for i in range(ninds):
	i = pop.founder_individual()
	i.get_genotypes(linkeq=True)
	i.phenotypes[traitname] = trait.predict_phenotype(i)

y = np.array([i.phenotypes[traitname] for i in pop.individuals])
print('Observed trait mean {}'.format(y.mean()))
print('Observed trait variance: {}'.format(y.var()))
Пример #2
0
    sim = ConstrainedMendelianSimulation(template, replications=args.replications)
elif args.method.lower() == 'genedrop':
    sim = NaiveGeneDroppingSimulation(template, replications=args.replications)

# Read effects file
if args.effectfile:
    trait = Architecture.from_file(args.effectsfile)
    trait.name = 'affected'
else:
    trait = Architecture('affected','dichotomous')

# More effects. Specified effects override file effects.
if args.effects:
    for effect in args.effects:
        chr, pos, a, k = effect
        locus = int(chr), int(pos)
        a, k = int(a), int(k)
        trait.add_effect(locus, a, k)
    if args.lthresh:
        trait.set_liability_threshold(args.lthresh)

if args.effects or args.effectfile:
    sim.set_trait(trait)

if args.constraintfile:
    sim.read_constraints(args.constraintfile)

sim.prefix = args.prefix

sim.run(verbose=args.verbosity, output_predicate=args.predicate, compression=args.compress, writeibd=args.ibd)