Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
# #####################################################################
# Mutator.
# #####################################################################
mutator = stk.RandomMutation(
stk.RandomTopologyGraph(topology_graphs),
stk.RandomBuildingBlock(building_blocks, lambda mol: True),
stk.SimilarBuildingBlock(building_blocks, lambda mol: True, False)
)
# #####################################################################
# Optimizer.
# #####################################################################
optimizer = stk.NullOptimizer(use_cache=True)
# #####################################################################
# Fitness calculator.
# #####################################################################
def num_atoms(mol):
return len(mol.atoms)
fitness_calculator = stk.PropertyVector(num_atoms)
# #####################################################################
# Fitness normalizer.
# #####################################################################
def test_optimize(tmp_population):
optimizer = stk.NullOptimizer(use_cache=True)
assert not optimizer._cache
tmp_population.optimize(optimizer)
assert len(optimizer._cache) == len(set(tmp_population))
raiser = stk.RaisingCalculator(optimizer, 1)
with pytest.raises(stk.RaisingCalculatorError):
tmp_population.optimize(raiser)
def test_cache_use(tmp_polymer):
opt1 = stk.NullOptimizer()
assert not opt1._cache
opt1.optimize(tmp_polymer)
assert not opt1._cache
opt2 = stk.NullOptimizer(use_cache=True)
assert not opt2._cache
opt2.optimize(tmp_polymer)
assert tmp_polymer in opt2._cache
random_seed=random_seed
),
stk.SimilarBuildingBlock(
building_blocks=building_blocks,
key=lambda mol: True,
duplicate_building_blocks=False,
random_seed=random_seed
),
random_seed=random_seed
)
# #####################################################################
# Optimizer.
# #####################################################################
optimizer = stk.NullOptimizer(use_cache=True)
# #####################################################################
# Fitness calculator.
# #####################################################################
def num_atoms(mol):
return len(mol.atoms)
fitness_calculator = stk.PropertyVector(num_atoms)
# #####################################################################
# Fitness normalizer.
# #####################################################################
# #####################################################################
# Mutator.
# #####################################################################
mutator = stk.RandomMutation(
stk.RandomTopologyGraph(topology_graphs),
stk.RandomBuildingBlock(building_blocks, lambda mol: True),
stk.SimilarBuildingBlock(building_blocks, lambda mol: True, False)
)
# #####################################################################
# Optimizer.
# #####################################################################
optimizer = stk.NullOptimizer(use_cache=True)
# #####################################################################
# Fitness calculator.
# #####################################################################
def num_atoms(mol):
return len(mol.atoms)
fitness_calculator = stk.PropertyVector(num_atoms)
# #####################################################################
# Fitness normalizer.
# #####################################################################
random_seed=random_seed
),
stk.SimilarBuildingBlock(
building_blocks=building_blocks,
key=lambda mol: True,
duplicate_building_blocks=False,
random_seed=random_seed
),
random_seed=random_seed
)
# #####################################################################
# Optimizer.
# #####################################################################
optimizer = stk.NullOptimizer(use_cache=True)
# #####################################################################
# Fitness calculator.
# #####################################################################
def num_atoms(mol):
return len(mol.atoms)
fitness_calculator = stk.PropertyVector(num_atoms)
# #####################################################################
# Fitness normalizer.
# #####################################################################
def test_is_caching():
caching = stk.NullOptimizer(use_cache=True)
assert caching.is_caching()
not_caching = stk.NullOptimizer(use_cache=False)
assert not not_caching.is_caching()
def test_is_caching():
caching = stk.NullOptimizer(use_cache=True)
assert caching.is_caching()
not_caching = stk.NullOptimizer(use_cache=False)
assert not not_caching.is_caching()