Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
logging_level = logging.DEBUG
# #####################################################################
# Initial population.
# #####################################################################
carbon = 'C'
building_blocks = [
stk.BuildingBlock(f'[Br]{carbon*i}[Br]', ['bromine'])
for i in range(2, 27)
]
topology_graphs = [
stk.polymer.Linear('A', [0], 3),
stk.polymer.Linear('A', [0], 6),
stk.polymer.Linear('A', [0], 12)
]
population = stk.GAPopulation.init_random(
building_blocks=[building_blocks],
topology_graphs=topology_graphs,
size=25,
use_cache=True
)
# #####################################################################
# Selector for selecting the next generation.
# #####################################################################
generation_selector = stk.SelectorSequence(
stk.Fittest(num_batches=3, duplicates=False),
stk.Roulette(num_batches=22, duplicates=False)
def test_init(amine2, aldehyde2, amine3):
"""
Tests the __init__ method of the stk.Population class.
"""
pop = stk.Population(
NewMol(),
amine2,
NewMol(),
stk.Population(NewMol(), NewMol(), aldehyde2),
stk.Population(),
stk.Population(amine3, stk.Population(NewMol(), NewMol())),
NewMol()
)
assert len(pop) == 10
assert len(pop.direct_members) == 4
assert len(pop.subpopulations) == 3
def test_init(amine2, aldehyde2, amine3):
"""
Tests the __init__ method of the stk.Population class.
"""
pop = stk.Population(
NewMol(),
amine2,
NewMol(),
stk.Population(NewMol(), NewMol(), aldehyde2),
stk.Population(),
stk.Population(amine3, stk.Population(NewMol(), NewMol())),
NewMol()
)
assert len(pop) == 10
assert len(pop.direct_members) == 4
assert len(pop.subpopulations) == 3
def test_init(amine2, aldehyde2):
polymer = stk.ConstructedMolecule(
building_blocks=[amine2, aldehyde2],
topology_graph=stk.polymer.Linear('AB', 3),
use_cache=True
)
polymer2 = stk.ConstructedMolecule(
building_blocks=[amine2, aldehyde2],
topology_graph=stk.polymer.Linear('AB', 3),
use_cache=True
)
assert polymer is polymer2
polymer3 = stk.ConstructedMolecule(
building_blocks=[amine2, aldehyde2],
topology_graph=stk.polymer.Linear('AB', 3),
use_cache=False
)
assert polymer is not polymer3
polymer4 = stk.ConstructedMolecule(
building_blocks=[amine2, aldehyde2],
topology_graph=stk.polymer.Linear('AB', 3, (1, 0.5)),
use_cache=True
)
logging_level = logging.DEBUG
# #####################################################################
# Initial population.
# #####################################################################
carbon = 'C'
building_blocks = [
stk.BuildingBlock(f'[Br]{carbon*i}[Br]', ['bromine'])
for i in range(2, 27)
]
topology_graphs = [
stk.polymer.Linear('A', 3),
stk.polymer.Linear('A', 6),
stk.polymer.Linear('A', 12)
]
population = stk.EAPopulation.init_random(
building_blocks=[building_blocks],
topology_graphs=topology_graphs,
size=25,
use_cache=True,
random_seed=random_seed
)
# #####################################################################
# Selector for selecting the next generation.
# #####################################################################
generation_selector = stk.SelectorSequence(
stk.Fittest(num_batches=3, duplicates=False),
# #####################################################################
generation_selector = stk.SelectorSequence(
stk.Fittest(num_batches=3, duplicates=False),
stk.Roulette(
num_batches=22,
duplicates=False,
random_seed=random_seed
)
)
# #####################################################################
# Selector for selecting parents.
# #####################################################################
crossover_selector = stk.AboveAverage(num_batches=5, batch_size=2)
# #####################################################################
# Selector for selecting molecules for mutation.
# #####################################################################
mutation_selector = stk.SelectorFunnel(
stk.AboveAverage(num_batches=10, duplicates=False),
stk.Roulette(num_batches=5, random_seed=random_seed)
)
# #####################################################################
# Crosser.
# #####################################################################
crosser = stk.Jumble(
num_offspring_building_blocks=3,
)
# #####################################################################
# Selector for selecting the next generation.
# #####################################################################
generation_selector = stk.SelectorSequence(
stk.Fittest(num_batches=3, duplicates=False),
stk.Roulette(num_batches=22, duplicates=False)
)
# #####################################################################
# Selector for selecting parents.
# #####################################################################
crossover_selector = stk.AboveAverage(num_batches=5, batch_size=2)
# #####################################################################
# Selector for selecting molecules for mutation.
# #####################################################################
mutation_selector = stk.SelectorFunnel(
stk.AboveAverage(num_batches=10, duplicates=False),
stk.Roulette(num_batches=5)
)
# #####################################################################
# Crosser.
# #####################################################################
crosser = stk.Jumble(num_offspring_building_blocks=3)
)
# #####################################################################
# Selector for selecting the next generation.
# #####################################################################
generation_selector = stk.SelectorSequence(
stk.Fittest(num_batches=3, duplicates=False),
stk.Roulette(num_batches=22, duplicates=False)
)
# #####################################################################
# Selector for selecting parents.
# #####################################################################
crossover_selector = stk.AboveAverage(num_batches=5, batch_size=2)
# #####################################################################
# Selector for selecting molecules for mutation.
# #####################################################################
mutation_selector = stk.SelectorFunnel(
stk.AboveAverage(num_batches=10, duplicates=False),
stk.Roulette(num_batches=5)
)
# #####################################################################
# Crosser.
# #####################################################################
crosser = stk.Jumble(num_offspring_building_blocks=3)
# #####################################################################
generation_selector = stk.SelectorSequence(
stk.Fittest(num_batches=3, duplicates=False),
stk.Roulette(
num_batches=22,
duplicates=False,
random_seed=random_seed
)
)
# #####################################################################
# Selector for selecting parents.
# #####################################################################
crossover_selector = stk.AboveAverage(num_batches=5, batch_size=2)
# #####################################################################
# Selector for selecting molecules for mutation.
# #####################################################################
mutation_selector = stk.SelectorFunnel(
stk.AboveAverage(num_batches=10, duplicates=False),
stk.Roulette(num_batches=5, random_seed=random_seed)
)
# #####################################################################
# Crosser.
# #####################################################################
crosser = stk.Jumble(
num_offspring_building_blocks=3,
population = stk.EAPopulation.init_random(
building_blocks=[building_blocks],
topology_graphs=topology_graphs,
size=25,
use_cache=True,
random_seed=random_seed
)
# #####################################################################
# Selector for selecting the next generation.
# #####################################################################
generation_selector = stk.SelectorSequence(
stk.Fittest(num_batches=3, duplicates=False),
stk.Roulette(
num_batches=22,
duplicates=False,
random_seed=random_seed
)
)
# #####################################################################
# Selector for selecting parents.
# #####################################################################
crossover_selector = stk.AboveAverage(num_batches=5, batch_size=2)
# #####################################################################
# Selector for selecting molecules for mutation.
# #####################################################################