stk.RandomBuildingBlock
- class stk.RandomBuildingBlock(building_blocks, is_replaceable, name='RandomBuildingBlock', random_seed=None)[source]
Bases:
object
Substitutes random building blocks.
This mutator takes a
ConstructedMolecule
and substitutes the building blocks with one chosen at random from a given set.Examples
Constructed Molecule Mutation
import stk # Create a molecule which is to be mutated. bb1 = stk.BuildingBlock('NCCN', [stk.PrimaryAminoFactory()]) bb2 = stk.BuildingBlock('O=CCC=O', [stk.AldehydeFactory()]) polymer = stk.MoleculeRecord( topology_graph=stk.polymer.Linear((bb1, bb2), 'AB', 3), ) # Create molecules used to substitute building blocks. building_blocks = ( stk.BuildingBlock( smiles='NC[Si]CCN', functional_groups=[stk.PrimaryAminoFactory()], ), stk.BuildingBlock( smiles='NCCCCCCCN', functional_groups=[stk.PrimaryAminoFactory()], ), stk.BuildingBlock( smiles='NC1CCCCC1N', functional_groups=[stk.PrimaryAminoFactory()], ), ) # Create the mutator. def has_primary_amino_group(building_block): fg, = building_block.get_functional_groups(0) return type(fg) is stk.PrimaryAmino random_bb = stk.RandomBuildingBlock( building_blocks=building_blocks, is_replaceable=has_primary_amino_group, ) # Mutate a molecule. mutation_record1 = random_bb.mutate(polymer) # Mutate the molecule a second time. mutation_record2 = random_bb.mutate(polymer)
- Parameters:
building_blocks (list[BuildingBlock]) – A group of molecules which are used to replace building blocks in molecules being mutated.
is_replaceable (Callable[[BuildingBlock], bool]) – This function is applied to every building block in the molecule being mutated. Building blocks which returned
True
are liable for substitution by one of the molecules in building_blocks.name (str) – A name to help identify the mutator instance.
random_seed (int | Generator | None) – The random seed to use.
Methods
Return a mutant of record.
- mutate(record)[source]
Return a mutant of record.
- Parameters:
record (MoleculeRecord[T]) – The molecule to be mutated.
- Returns:
A record of the mutation.
- Return type: