Defines cages made from building blocks with 2 and 4 functional groups.
- 
class EightPlusSixteen(vertex_alignments=None, num_processes=1)¶
- Bases: - stk.molecular.topology_graphs.cage.base.Cage- Represents a cage topology graph. - See - Cagefor more details and examples.- 
vertex_data¶
- A class attribute. Holds the data of the vertices which make up the topology graph. - Type
- tupleof- VertexData
 
 - 
edge_data¶
- A class attribute. Holds the data of the edges which make up the topology graph. - Type
- tupleof- EdgeData
 
 - Methods - assign_building_blocks_to_vertices(self, …)- Assign building_blocks to - vertices.- construct(self, mol)- Construct a - ConstructedMolecule.- 
__init__(self, vertex_alignments=None, num_processes=1)¶
- Initialize a - Cage.- Parameters
- vertex_alignments ( - dict, optional) – A mapping from the- Vertex.idof a- Vertex- verticesto an- Edgeconnected to it. The- Edgeis used to align the first- FunctionalGroupof a- BuildingBlockplaced on that vertex. Only vertices which need to have their default edge changed need to be present in the- dict. If- Nonethen the default edge is used for each vertex. Changing which- Edgeis used will mean that the topology graph represents different structural isomers. The edge is refered to by a number between- 0(inclusive) and the number of edges the vertex is connected to (exclusive).
- num_processes ( - int, optional) – The number of parallel processes to create during- construct().
 
 
 - 
assign_building_blocks_to_vertices(self, building_blocks)¶
- Assign building_blocks to - vertices.- Parameters
- building_blocks ( - listof- Molecule) – The- BuildingBlockand- ConstructedMoleculeinstances which represent the building block molecules used for construction. Only one instance is present per building block molecule, even if multiples of that building block join up to form the- ConstructedMolecule.
- Returns
- Maps the building_blocks, to the - Vertexobjects in- verticesthey are placed on during construction. The- dicthas the form- building_block_vertices = { BuildingBlock(...): [Vertex(...), Vertex(...)], BuildingBlock(...): [ Vertex(...), Vertex(...), Vertex(...), ] ConstructedMolecule(...): [Vertex(...)] } 
- Return type
- dict
- Raises
- ValueError – If there is more than one building with a given number of functional groups. 
 
 - 
construct(self, mol)¶
- Construct a - ConstructedMolecule.- Parameters
- mol ( - ConstructedMolecule) – The- ConstructedMoleculeinstance which needs to be constructed.
- Returns
- None 
- Return type
- NoneType
 
 - 
edge_data= (EdgeData(8, 1, id=0), EdgeData(8, 5, id=1), EdgeData(9, 2, id=2), EdgeData(9, 5, id=3), EdgeData(10, 0, id=4), EdgeData(10, 4, id=5), EdgeData(11, 1, id=6), EdgeData(11, 4, id=7), EdgeData(12, 2, id=8), EdgeData(12, 6, id=9), EdgeData(13, 3, id=10), EdgeData(13, 6, id=11), EdgeData(14, 0, id=12), EdgeData(14, 7, id=13), EdgeData(15, 3, id=14), EdgeData(15, 7, id=15), EdgeData(16, 0, id=16), EdgeData(16, 1, id=17), EdgeData(17, 1, id=18), EdgeData(17, 2, id=19), EdgeData(18, 2, id=20), EdgeData(18, 3, id=21), EdgeData(19, 3, id=22), EdgeData(19, 0, id=23), EdgeData(20, 4, id=24), EdgeData(20, 5, id=25), EdgeData(21, 5, id=26), EdgeData(21, 6, id=27), EdgeData(22, 6, id=28), EdgeData(22, 7, id=29), EdgeData(23, 7, id=30), EdgeData(23, 4, id=31))
 - 
num_window_types= 2¶
 - 
num_windows= 10¶
 - 
vertex_data= (VertexData(id=0, position=[-1.0, 1.0, -0.7]), VertexData(id=1, position=[-1.0, -1.0, -0.7]), VertexData(id=2, position=[1.0, -1.0, -0.7]), VertexData(id=3, position=[1.0, 1.0, -0.7]), VertexData(id=4, position=[-1.4142135623730951, 0.0, 0.7]), VertexData(id=5, position=[0.0, -1.4142135623730951, 0.7]), VertexData(id=6, position=[1.4142135623730951, 0.0, 0.7]), VertexData(id=7, position=[0.0, 1.4142135623730951, 0.7]), VertexData(id=8, position=[-0.5, -1.2071067811865475, 0.0]), VertexData(id=9, position=[0.5, -1.2071067811865475, 0.0]), VertexData(id=10, position=[-1.2071067811865475, 0.5, 0.0]), VertexData(id=11, position=[-1.2071067811865475, -0.5, 0.0]), VertexData(id=12, position=[1.2071067811865475, -0.5, 0.0]), VertexData(id=13, position=[1.2071067811865475, 0.5, 0.0]), VertexData(id=14, position=[-0.5, 1.2071067811865475, 0.0]), VertexData(id=15, position=[0.5, 1.2071067811865475, 0.0]), VertexData(id=16, position=[-1.0, 0.0, -0.7]), VertexData(id=17, position=[0.0, -1.0, -0.7]), VertexData(id=18, position=[1.0, 0.0, -0.7]), VertexData(id=19, position=[0.0, 1.0, -0.7]), VertexData(id=20, position=[-0.7071067811865476, -0.7071067811865476, 0.7]), VertexData(id=21, position=[0.7071067811865476, -0.7071067811865476, 0.7]), VertexData(id=22, position=[0.7071067811865476, 0.7071067811865476, 0.7]), VertexData(id=23, position=[-0.7071067811865476, 0.7071067811865476, 0.7]))
 
- 
- 
class FivePlusTen(vertex_alignments=None, num_processes=1)¶
- Bases: - stk.molecular.topology_graphs.cage.base.Cage- Represents a cage topology graph. - See - Cagefor more details and examples.- 
vertex_data¶
- A class attribute. Holds the data of the vertices which make up the topology graph. - Type
- tupleof- VertexData
 
 - 
edge_data¶
- A class attribute. Holds the data of the edges which make up the topology graph. - Type
- tupleof- EdgeData
 
 - Methods - assign_building_blocks_to_vertices(self, …)- Assign building_blocks to - vertices.- construct(self, mol)- Construct a - ConstructedMolecule.- 
__init__(self, vertex_alignments=None, num_processes=1)¶
- Initialize a - Cage.- Parameters
- vertex_alignments ( - dict, optional) – A mapping from the- Vertex.idof a- Vertex- verticesto an- Edgeconnected to it. The- Edgeis used to align the first- FunctionalGroupof a- BuildingBlockplaced on that vertex. Only vertices which need to have their default edge changed need to be present in the- dict. If- Nonethen the default edge is used for each vertex. Changing which- Edgeis used will mean that the topology graph represents different structural isomers. The edge is refered to by a number between- 0(inclusive) and the number of edges the vertex is connected to (exclusive).
- num_processes ( - int, optional) – The number of parallel processes to create during- construct().
 
 
 - 
assign_building_blocks_to_vertices(self, building_blocks)¶
- Assign building_blocks to - vertices.- Parameters
- building_blocks ( - listof- Molecule) – The- BuildingBlockand- ConstructedMoleculeinstances which represent the building block molecules used for construction. Only one instance is present per building block molecule, even if multiples of that building block join up to form the- ConstructedMolecule.
- Returns
- Maps the building_blocks, to the - Vertexobjects in- verticesthey are placed on during construction. The- dicthas the form- building_block_vertices = { BuildingBlock(...): [Vertex(...), Vertex(...)], BuildingBlock(...): [ Vertex(...), Vertex(...), Vertex(...), ] ConstructedMolecule(...): [Vertex(...)] } 
- Return type
- dict
- Raises
- ValueError – If there is more than one building with a given number of functional groups. 
 
 - 
construct(self, mol)¶
- Construct a - ConstructedMolecule.- Parameters
- mol ( - ConstructedMolecule) – The- ConstructedMoleculeinstance which needs to be constructed.
- Returns
- None 
- Return type
- NoneType
 
 - 
edge_data= (EdgeData(5, 0, id=0), EdgeData(5, 1, id=1), EdgeData(6, 0, id=2), EdgeData(6, 1, id=3), EdgeData(7, 1, id=4), EdgeData(7, 2, id=5), EdgeData(8, 1, id=6), EdgeData(8, 2, id=7), EdgeData(9, 2, id=8), EdgeData(9, 3, id=9), EdgeData(10, 2, id=10), EdgeData(10, 3, id=11), EdgeData(11, 3, id=12), EdgeData(11, 4, id=13), EdgeData(12, 3, id=14), EdgeData(12, 4, id=15), EdgeData(13, 4, id=16), EdgeData(13, 0, id=17), EdgeData(14, 4, id=18), EdgeData(14, 0, id=19))
 - 
num_window_types= 2¶
 - 
num_windows= 7¶
 - 
vertex_data= (VertexData(id=0, position=[0.0, 1.0, 0.0]), VertexData(id=1, position=[0.9510565162951535, 0.30901699437494745, 0.0]), VertexData(id=2, position=[0.5877852522924732, -0.8090169943749475, 0.0]), VertexData(id=3, position=[-0.5877852522924732, -0.8090169943749475, 0.0]), VertexData(id=4, position=[-0.9510565162951535, 0.30901699437494745, 0.0]), VertexData(id=5, position=[0.9510565162951535, 1.3090169943749475, 0.5]), VertexData(id=6, position=[0.9510565162951535, 1.3090169943749475, -0.5]), VertexData(id=7, position=[1.5388417685876268, -0.5, 0.5]), VertexData(id=8, position=[1.5388417685876268, -0.5, -0.5]), VertexData(id=9, position=[0.0, -1.618033988749895, 0.5]), VertexData(id=10, position=[0.0, -1.618033988749895, -0.5]), VertexData(id=11, position=[-1.5388417685876268, -0.5, 0.5]), VertexData(id=12, position=[-1.5388417685876268, -0.5, -0.5]), VertexData(id=13, position=[-0.9510565162951535, 1.3090169943749475, 0.5]), VertexData(id=14, position=[-0.9510565162951535, 1.3090169943749475, -0.5]))
 
- 
- 
class FourPlusEight(vertex_alignments=None, num_processes=1)¶
- Bases: - stk.molecular.topology_graphs.cage.base.Cage- Represents a cage topology graph. - See - Cagefor more details and examples.- 
vertex_data¶
- A class attribute. Holds the data of the vertices which make up the topology graph. - Type
- tupleof- VertexData
 
 - 
edge_data¶
- A class attribute. Holds the data of the edges which make up the topology graph. - Type
- tupleof- EdgeData
 
 - Methods - assign_building_blocks_to_vertices(self, …)- Assign building_blocks to - vertices.- construct(self, mol)- Construct a - ConstructedMolecule.- 
__init__(self, vertex_alignments=None, num_processes=1)¶
- Initialize a - Cage.- Parameters
- vertex_alignments ( - dict, optional) – A mapping from the- Vertex.idof a- Vertex- verticesto an- Edgeconnected to it. The- Edgeis used to align the first- FunctionalGroupof a- BuildingBlockplaced on that vertex. Only vertices which need to have their default edge changed need to be present in the- dict. If- Nonethen the default edge is used for each vertex. Changing which- Edgeis used will mean that the topology graph represents different structural isomers. The edge is refered to by a number between- 0(inclusive) and the number of edges the vertex is connected to (exclusive).
- num_processes ( - int, optional) – The number of parallel processes to create during- construct().
 
 
 - 
assign_building_blocks_to_vertices(self, building_blocks)¶
- Assign building_blocks to - vertices.- Parameters
- building_blocks ( - listof- Molecule) – The- BuildingBlockand- ConstructedMoleculeinstances which represent the building block molecules used for construction. Only one instance is present per building block molecule, even if multiples of that building block join up to form the- ConstructedMolecule.
- Returns
- Maps the building_blocks, to the - Vertexobjects in- verticesthey are placed on during construction. The- dicthas the form- building_block_vertices = { BuildingBlock(...): [Vertex(...), Vertex(...)], BuildingBlock(...): [ Vertex(...), Vertex(...), Vertex(...), ] ConstructedMolecule(...): [Vertex(...)] } 
- Return type
- dict
- Raises
- ValueError – If there is more than one building with a given number of functional groups. 
 
 - 
construct(self, mol)¶
- Construct a - ConstructedMolecule.- Parameters
- mol ( - ConstructedMolecule) – The- ConstructedMoleculeinstance which needs to be constructed.
- Returns
- None 
- Return type
- NoneType
 
 - 
edge_data= (EdgeData(4, 0, id=0), EdgeData(4, 1, id=1), EdgeData(5, 0, id=2), EdgeData(5, 1, id=3), EdgeData(6, 1, id=4), EdgeData(6, 3, id=5), EdgeData(7, 1, id=6), EdgeData(7, 3, id=7), EdgeData(8, 0, id=8), EdgeData(8, 2, id=9), EdgeData(9, 0, id=10), EdgeData(9, 2, id=11), EdgeData(10, 2, id=12), EdgeData(10, 3, id=13), EdgeData(11, 2, id=14), EdgeData(11, 3, id=15))
 - 
num_window_types= 2¶
 - 
num_windows= 6¶
 - 
vertex_data= (VertexData(id=0, position=[-1.0, -1.0, 0.0]), VertexData(id=1, position=[-1.0, 1.0, 0.0]), VertexData(id=2, position=[1.0, -1.0, 0.0]), VertexData(id=3, position=[1.0, 1.0, 0.0]), VertexData(id=4, position=[-2.0, 0.0, 1.0]), VertexData(id=5, position=[-2.0, 0.0, -1.0]), VertexData(id=6, position=[0.0, 2.0, 1.0]), VertexData(id=7, position=[0.0, 2.0, -1.0]), VertexData(id=8, position=[0.0, -2.0, 1.0]), VertexData(id=9, position=[0.0, -2.0, -1.0]), VertexData(id=10, position=[2.0, 0.0, 1.0]), VertexData(id=11, position=[2.0, 0.0, -1.0]))
 
- 
- 
class SixPlusTwelve(vertex_alignments=None, num_processes=1)¶
- Bases: - stk.molecular.topology_graphs.cage.base.Cage- Represents a cage topology graph. - See - Cagefor more details and examples.- 
vertex_data¶
- A class attribute. Holds the data of the vertices which make up the topology graph. - Type
- tupleof- VertexData
 
 - 
edge_data¶
- A class attribute. Holds the data of the edges which make up the topology graph. - Type
- tupleof- EdgeData
 
 - Methods - assign_building_blocks_to_vertices(self, …)- Assign building_blocks to - vertices.- construct(self, mol)- Construct a - ConstructedMolecule.- 
__init__(self, vertex_alignments=None, num_processes=1)¶
- Initialize a - Cage.- Parameters
- vertex_alignments ( - dict, optional) – A mapping from the- Vertex.idof a- Vertex- verticesto an- Edgeconnected to it. The- Edgeis used to align the first- FunctionalGroupof a- BuildingBlockplaced on that vertex. Only vertices which need to have their default edge changed need to be present in the- dict. If- Nonethen the default edge is used for each vertex. Changing which- Edgeis used will mean that the topology graph represents different structural isomers. The edge is refered to by a number between- 0(inclusive) and the number of edges the vertex is connected to (exclusive).
- num_processes ( - int, optional) – The number of parallel processes to create during- construct().
 
 
 - 
assign_building_blocks_to_vertices(self, building_blocks)¶
- Assign building_blocks to - vertices.- Parameters
- building_blocks ( - listof- Molecule) – The- BuildingBlockand- ConstructedMoleculeinstances which represent the building block molecules used for construction. Only one instance is present per building block molecule, even if multiples of that building block join up to form the- ConstructedMolecule.
- Returns
- Maps the building_blocks, to the - Vertexobjects in- verticesthey are placed on during construction. The- dicthas the form- building_block_vertices = { BuildingBlock(...): [Vertex(...), Vertex(...)], BuildingBlock(...): [ Vertex(...), Vertex(...), Vertex(...), ] ConstructedMolecule(...): [Vertex(...)] } 
- Return type
- dict
- Raises
- ValueError – If there is more than one building with a given number of functional groups. 
 
 - 
construct(self, mol)¶
- Construct a - ConstructedMolecule.- Parameters
- mol ( - ConstructedMolecule) – The- ConstructedMoleculeinstance which needs to be constructed.
- Returns
- None 
- Return type
- NoneType
 
 - 
edge_data= (EdgeData(6, 0, id=0), EdgeData(6, 1, id=1), EdgeData(7, 1, id=2), EdgeData(7, 3, id=3), EdgeData(8, 3, id=4), EdgeData(8, 2, id=5), EdgeData(9, 0, id=6), EdgeData(9, 2, id=7), EdgeData(10, 4, id=8), EdgeData(10, 0, id=9), EdgeData(11, 4, id=10), EdgeData(11, 1, id=11), EdgeData(12, 4, id=12), EdgeData(12, 2, id=13), EdgeData(13, 4, id=14), EdgeData(13, 3, id=15), EdgeData(14, 5, id=16), EdgeData(14, 0, id=17), EdgeData(15, 5, id=18), EdgeData(15, 1, id=19), EdgeData(16, 5, id=20), EdgeData(16, 2, id=21), EdgeData(17, 5, id=22), EdgeData(17, 3, id=23))
 - 
num_window_types= 1¶
 - 
num_windows= 8¶
 - 
vertex_data= (VertexData(id=0, position=[-1.0, -1.0, 0.0]), VertexData(id=1, position=[-1.0, 1.0, 0.0]), VertexData(id=2, position=[1.0, -1.0, 0.0]), VertexData(id=3, position=[1.0, 1.0, 0.0]), VertexData(id=4, position=[0.0, 0.0, 1.0]), VertexData(id=5, position=[0.0, 0.0, -1.0]), VertexData(id=6, position=[-1.0, 0.0, 0.0]), VertexData(id=7, position=[0.0, 1.0, 0.0]), VertexData(id=8, position=[1.0, 0.0, 0.0]), VertexData(id=9, position=[0.0, -1.0, 0.0]), VertexData(id=10, position=[-0.5, -0.5, 0.5]), VertexData(id=11, position=[-0.5, 0.5, 0.5]), VertexData(id=12, position=[0.5, -0.5, 0.5]), VertexData(id=13, position=[0.5, 0.5, 0.5]), VertexData(id=14, position=[-0.5, -0.5, -0.5]), VertexData(id=15, position=[-0.5, 0.5, -0.5]), VertexData(id=16, position=[0.5, -0.5, -0.5]), VertexData(id=17, position=[0.5, 0.5, -0.5]))
 
- 
- 
class TenPlusTwenty(vertex_alignments=None, num_processes=1)¶
- Bases: - stk.molecular.topology_graphs.cage.base.Cage- Represents a cage topology graph. - See - Cagefor more details and examples.- 
vertex_data¶
- A class attribute. Holds the data of the vertices which make up the topology graph. - Type
- tupleof- VertexData
 
 - 
edge_data¶
- A class attribute. Holds the data of the edges which make up the topology graph. - Type
- tupleof- EdgeData
 
 - Methods - assign_building_blocks_to_vertices(self, …)- Assign building_blocks to - vertices.- construct(self, mol)- Construct a - ConstructedMolecule.- 
__init__(self, vertex_alignments=None, num_processes=1)¶
- Initialize a - Cage.- Parameters
- vertex_alignments ( - dict, optional) – A mapping from the- Vertex.idof a- Vertex- verticesto an- Edgeconnected to it. The- Edgeis used to align the first- FunctionalGroupof a- BuildingBlockplaced on that vertex. Only vertices which need to have their default edge changed need to be present in the- dict. If- Nonethen the default edge is used for each vertex. Changing which- Edgeis used will mean that the topology graph represents different structural isomers. The edge is refered to by a number between- 0(inclusive) and the number of edges the vertex is connected to (exclusive).
- num_processes ( - int, optional) – The number of parallel processes to create during- construct().
 
 
 - 
assign_building_blocks_to_vertices(self, building_blocks)¶
- Assign building_blocks to - vertices.- Parameters
- building_blocks ( - listof- Molecule) – The- BuildingBlockand- ConstructedMoleculeinstances which represent the building block molecules used for construction. Only one instance is present per building block molecule, even if multiples of that building block join up to form the- ConstructedMolecule.
- Returns
- Maps the building_blocks, to the - Vertexobjects in- verticesthey are placed on during construction. The- dicthas the form- building_block_vertices = { BuildingBlock(...): [Vertex(...), Vertex(...)], BuildingBlock(...): [ Vertex(...), Vertex(...), Vertex(...), ] ConstructedMolecule(...): [Vertex(...)] } 
- Return type
- dict
- Raises
- ValueError – If there is more than one building with a given number of functional groups. 
 
 - 
construct(self, mol)¶
- Construct a - ConstructedMolecule.- Parameters
- mol ( - ConstructedMolecule) – The- ConstructedMoleculeinstance which needs to be constructed.
- Returns
- None 
- Return type
- NoneType
 
 - 
edge_data= (EdgeData(10, 0, id=0), EdgeData(10, 2, id=1), EdgeData(11, 0, id=2), EdgeData(11, 1, id=3), EdgeData(12, 1, id=4), EdgeData(12, 3, id=5), EdgeData(13, 2, id=6), EdgeData(13, 3, id=7), EdgeData(14, 4, id=8), EdgeData(14, 6, id=9), EdgeData(15, 4, id=10), EdgeData(15, 5, id=11), EdgeData(16, 5, id=12), EdgeData(16, 7, id=13), EdgeData(17, 6, id=14), EdgeData(17, 7, id=15), EdgeData(18, 0, id=16), EdgeData(18, 4, id=17), EdgeData(19, 1, id=18), EdgeData(19, 5, id=19), EdgeData(20, 2, id=20), EdgeData(20, 6, id=21), EdgeData(21, 3, id=22), EdgeData(21, 7, id=23), EdgeData(22, 8, id=24), EdgeData(22, 4, id=25), EdgeData(23, 8, id=26), EdgeData(23, 5, id=27), EdgeData(24, 8, id=28), EdgeData(24, 6, id=29), EdgeData(25, 8, id=30), EdgeData(25, 7, id=31), EdgeData(26, 9, id=32), EdgeData(26, 0, id=33), EdgeData(27, 9, id=34), EdgeData(27, 1, id=35), EdgeData(28, 9, id=36), EdgeData(28, 2, id=37), EdgeData(29, 9, id=38), EdgeData(29, 3, id=39))
 - 
num_window_types= 2¶
 - 
num_windows= 12¶
 - 
vertex_data= (VertexData(id=0, position=[-2.0, 2.0, -2.0]), VertexData(id=1, position=[-2.0, -2.0, -2.0]), VertexData(id=2, position=[2.0, 2.0, -2.0]), VertexData(id=3, position=[2.0, -2.0, -2.0]), VertexData(id=4, position=[-2.0, 2.0, 2.0]), VertexData(id=5, position=[-2.0, -2.0, 2.0]), VertexData(id=6, position=[2.0, 2.0, 2.0]), VertexData(id=7, position=[2.0, -2.0, 2.0]), VertexData(id=8, position=[0.0, 0.0, 3.0]), VertexData(id=9, position=[0.0, 0.0, -3.0]), VertexData(id=10, position=[0.0, 2.0, -2.0]), VertexData(id=11, position=[-2.0, 0.0, -2.0]), VertexData(id=12, position=[0.0, -2.0, -2.0]), VertexData(id=13, position=[2.0, 0.0, -2.0]), VertexData(id=14, position=[0.0, 2.0, 2.0]), VertexData(id=15, position=[-2.0, 0.0, 2.0]), VertexData(id=16, position=[0.0, -2.0, 2.0]), VertexData(id=17, position=[2.0, 0.0, 2.0]), VertexData(id=18, position=[-2.0, 2.0, 0.0]), VertexData(id=19, position=[-2.0, -2.0, 0.0]), VertexData(id=20, position=[2.0, 2.0, 0.0]), VertexData(id=21, position=[2.0, -2.0, 0.0]), VertexData(id=22, position=[-1.0, 1.0, 2.5]), VertexData(id=23, position=[-1.0, -1.0, 2.5]), VertexData(id=24, position=[1.0, 1.0, 2.5]), VertexData(id=25, position=[1.0, -1.0, 2.5]), VertexData(id=26, position=[-1.0, 1.0, -2.5]), VertexData(id=27, position=[-1.0, -1.0, -2.5]), VertexData(id=28, position=[1.0, 1.0, -2.5]), VertexData(id=29, position=[1.0, -1.0, -2.5]))
 
- 
- 
class ThreePlusSix(vertex_alignments=None, num_processes=1)¶
- Bases: - stk.molecular.topology_graphs.cage.base.Cage- Represents a cage topology graph. - See - Cagefor more details and examples.- 
vertex_data¶
- A class attribute. Holds the data of the vertices which make up the topology graph. - Type
- tupleof- VertexData
 
 - 
edge_data¶
- A class attribute. Holds the data of the edges which make up the topology graph. - Type
- tupleof- EdgeData
 
 - Methods - assign_building_blocks_to_vertices(self, …)- Assign building_blocks to - vertices.- construct(self, mol)- Construct a - ConstructedMolecule.- 
__init__(self, vertex_alignments=None, num_processes=1)¶
- Initialize a - Cage.- Parameters
- vertex_alignments ( - dict, optional) – A mapping from the- Vertex.idof a- Vertex- verticesto an- Edgeconnected to it. The- Edgeis used to align the first- FunctionalGroupof a- BuildingBlockplaced on that vertex. Only vertices which need to have their default edge changed need to be present in the- dict. If- Nonethen the default edge is used for each vertex. Changing which- Edgeis used will mean that the topology graph represents different structural isomers. The edge is refered to by a number between- 0(inclusive) and the number of edges the vertex is connected to (exclusive).
- num_processes ( - int, optional) – The number of parallel processes to create during- construct().
 
 
 - 
assign_building_blocks_to_vertices(self, building_blocks)¶
- Assign building_blocks to - vertices.- Parameters
- building_blocks ( - listof- Molecule) – The- BuildingBlockand- ConstructedMoleculeinstances which represent the building block molecules used for construction. Only one instance is present per building block molecule, even if multiples of that building block join up to form the- ConstructedMolecule.
- Returns
- Maps the building_blocks, to the - Vertexobjects in- verticesthey are placed on during construction. The- dicthas the form- building_block_vertices = { BuildingBlock(...): [Vertex(...), Vertex(...)], BuildingBlock(...): [ Vertex(...), Vertex(...), Vertex(...), ] ConstructedMolecule(...): [Vertex(...)] } 
- Return type
- dict
- Raises
- ValueError – If there is more than one building with a given number of functional groups. 
 
 - 
construct(self, mol)¶
- Construct a - ConstructedMolecule.- Parameters
- mol ( - ConstructedMolecule) – The- ConstructedMoleculeinstance which needs to be constructed.
- Returns
- None 
- Return type
- NoneType
 
 - 
edge_data= (EdgeData(3, 0, id=0), EdgeData(3, 1, id=1), EdgeData(4, 0, id=2), EdgeData(4, 1, id=3), EdgeData(5, 1, id=4), EdgeData(5, 2, id=5), EdgeData(6, 1, id=6), EdgeData(6, 2, id=7), EdgeData(7, 0, id=8), EdgeData(7, 2, id=9), EdgeData(8, 0, id=10), EdgeData(8, 2, id=11))
 - 
num_window_types= 2¶
 - 
num_windows= 5¶
 - 
vertex_data= (VertexData(id=0, position=[-2.0, -1.7320508075688772, 0.0]), VertexData(id=1, position=[2.0, -1.7320508075688772, 0.0]), VertexData(id=2, position=[0.0, 1.7320508075688772, 0.0]), VertexData(id=3, position=[0.0, -3.4641016151377544, 1.0]), VertexData(id=4, position=[0.0, -3.4641016151377544, -1.0]), VertexData(id=5, position=[2.0, 0.0, 1.0]), VertexData(id=6, position=[2.0, 0.0, -1.0]), VertexData(id=7, position=[-2.0, 0.0, 1.0]), VertexData(id=8, position=[-2.0, 0.0, -1.0]))
 
- 
- 
class TwoPlusFour(vertex_alignments=None, num_processes=1)¶
- Bases: - stk.molecular.topology_graphs.cage.base.Cage- Represents a capsule cage topology graph. - See - Cagefor more details and examples.- 
vertex_data¶
- A class attribute. Holds the data of the vertices which make up the topology graph. - Type
- tupleof- VertexData
 
 - 
edge_data¶
- A class attribute. Holds the data of the edges which make up the topology graph. - Type
- tupleof- EdgeData
 
 - Methods - assign_building_blocks_to_vertices(self, …)- Assign building_blocks to - vertices.- construct(self, mol)- Construct a - ConstructedMolecule.- 
__init__(self, vertex_alignments=None, num_processes=1)¶
- Initialize a - Cage.- Parameters
- vertex_alignments ( - dict, optional) – A mapping from the- Vertex.idof a- Vertex- verticesto an- Edgeconnected to it. The- Edgeis used to align the first- FunctionalGroupof a- BuildingBlockplaced on that vertex. Only vertices which need to have their default edge changed need to be present in the- dict. If- Nonethen the default edge is used for each vertex. Changing which- Edgeis used will mean that the topology graph represents different structural isomers. The edge is refered to by a number between- 0(inclusive) and the number of edges the vertex is connected to (exclusive).
- num_processes ( - int, optional) – The number of parallel processes to create during- construct().
 
 
 - 
assign_building_blocks_to_vertices(self, building_blocks)¶
- Assign building_blocks to - vertices.- Parameters
- building_blocks ( - listof- Molecule) – The- BuildingBlockand- ConstructedMoleculeinstances which represent the building block molecules used for construction. Only one instance is present per building block molecule, even if multiples of that building block join up to form the- ConstructedMolecule.
- Returns
- Maps the building_blocks, to the - Vertexobjects in- verticesthey are placed on during construction. The- dicthas the form- building_block_vertices = { BuildingBlock(...): [Vertex(...), Vertex(...)], BuildingBlock(...): [ Vertex(...), Vertex(...), Vertex(...), ] ConstructedMolecule(...): [Vertex(...)] } 
- Return type
- dict
- Raises
- ValueError – If there is more than one building with a given number of functional groups. 
 
 - 
construct(self, mol)¶
- Construct a - ConstructedMolecule.- Parameters
- mol ( - ConstructedMolecule) – The- ConstructedMoleculeinstance which needs to be constructed.
- Returns
- None 
- Return type
- NoneType
 
 - 
edge_data= (EdgeData(2, 0, id=0), EdgeData(2, 1, id=1), EdgeData(3, 0, id=2), EdgeData(3, 1, id=3), EdgeData(4, 0, id=4), EdgeData(4, 1, id=5), EdgeData(5, 0, id=6), EdgeData(5, 1, id=7))
 - 
num_window_types= 1¶
 - 
num_windows= 4¶
 - 
vertex_data= (VertexData(id=0, position=[0.0, 0.0, -1.0]), VertexData(id=1, position=[0.0, 0.0, 1.0]), VertexData(id=2, position=[2.0, 0.0, 0.0]), VertexData(id=3, position=[-2.0, 0.0, 0.0]), VertexData(id=4, position=[0.0, 2.0, 0.0]), VertexData(id=5, position=[0.0, -2.0, 0.0]))
 
-