citrine.informatics.design_spaces.hierarchical_design_space module
- class citrine.informatics.design_spaces.hierarchical_design_space.HierarchicalDesignSpace(*args, **kwargs)
Bases:
EngineResource
[HierarchicalDesignSpace
],DesignSpace
A design space that produces hierarchical candidates representing a material history.
A hierarchical design space always contains a root node that defines the attributes and formulation contents included on terminal materials of the candidates. It also includes a set of sub-nodes that can be used to define the any new materials that appear in the history of the terminal material.
Material histories produced by this design space are connected based on the name identifiers and formulation contents of each node. For example, the root node may contain a formulation subspace with an ingredient named ‘New Mixture-001’. If this ingredient matches the name field on one of the sub-nodes in the design space, the resulting candidates will contain a terminal material with this new mixture as one of its ingredients. This procedure can be extended to sub-nodes referencing other sub-nodes, allowing for the linkage of complex material history shapes in the resulting candidates.
Every node also contains a set of
Dimension
s used to define any attributes (i.e., properties, processing parameters) that will appear on the materials produced by that node.DataSource
s can be included on the configuration to allow for design over “known” materials. The Citrine Platform will look up the ingredient names from formulation subspaces on the design space nodes in order to inject their composition/properties into the material history of the candidates. When constructing a default hierarchical design space, the Citrine Platform includes any data sources found on the provided predictor configuration.- Parameters:
name (str) – Name of the design space
description (str) – Description of the design space
root (MaterialNodeDefinition) – Terminal material node produced by the design space
subspaces (List[MaterialNodeDefinition]) – Sub material nodes produced by the design space
data_sources (List[DataSource]) – Data sources used to inject known materials into the hierarchical candidates
- access_control_dict() dict
Return an access control entity representation of this resource. Internal use only.
- classmethod build(data: dict)
Build an instance of this object from given data.
- classmethod build_with_parent(data: dict, base_cls) Self
- dump() dict
Dump this instance.
- failed() bool
Whether the backend process has completed unsuccessfully.
- classmethod get_type(data) Type[Serializable]
Return the subtype.
- in_progress() bool
Whether the backend process is in progress.
- succeeded() bool
Whether the backend process has completed successfully.
- static wrap_instance(subspace_data: dict) dict
Insert a serialized embedded design space into an entity envelope.
This facilitates deserialization.
- archive_time = None
date and time at which the resource was archived, if it has been archived
- Type:
Optional[datetime]
- archived_by = None
id of the user who archived the resource, if it has been archived
- Type:
Optional[UUID]
- create_time = None
date and time at which the resource was created
- Type:
Optional[datetime]
- created_by = None
id of the user who created the resource
- Type:
Optional[UUID]
- data_sources: List[DataSource] = None
- description: str = None
- property is_archived
whether the resource is archived (hidden but not deleted).
- Type:
bool
- name: str = None
- root: MaterialNodeDefinition = None
- property sample_design_space_executions
Start a Sample Design Space Execution using the current Design Space.
- status = None
short description of the resource’s status
- Type:
Optional[str]
- status_detail = []
a list of structured status info, containing the message and level
- Type:
List[StatusDetail]
- subspaces: List[MaterialNodeDefinition] = None
- typ = 'HierarchicalDesignSpace'
- uid = None
Citrine Platform unique identifier
- Type:
Optional[UUID]
- update_time = None
date and time at which the resource was most recently updated, if it has been updated
- Type:
Optional[datetime]
- updated_by = None
id of the user who most recently updated the resource, if it has been updated
- Type:
Optional[UUID]
- class citrine.informatics.design_spaces.hierarchical_design_space.MaterialNodeDefinition(*, name: str, scope: str | None = None, attributes: List[Dimension] | None = None, formulation_subspace: FormulationDesignSpace | None = None, template_link: TemplateLink | None = None, display_name: str | None = None)
Bases:
Serializable
[MaterialNodeDefinition
]A single node in a material history design space.
- Parameters:
name (str) – A unique name used to reference the materials produced by this node in the design space. This name should be used to identify the material when used as an ingredient in the formulation subspace of a different node.
scope (Optional[str]) – An optional custom scope used to identify the materials produced by this node.
attributes (List[Dimension]) – Set of dimensions included on materials produced by this node.
formulation_subspace (Optional[FormulationDesignSpace]) – An optional formulation design space defining the ingredients, labels, and constraints for formulations in materials produced by this node.
template_link (Optional[TemplateLink]) – A set of identifiers linking the materials produced by this node to material and process templates on the Citrine Platform.
display_name (Optional[str]) – Optional name for identifying the node on the Citrine Platform. Solely for display purposes (does not appear in generated hierarchical candidates)
- classmethod build(data: dict) Self
Build an instance of this object from given data.
- dump() dict
Dump this instance.
- attributes = None
- display_name: str | None = None
- formulation_subspace: FormulationDesignSpace | None = None
- name = None
- scope: str | None = None
- template_link: TemplateLink | None = None
- class citrine.informatics.design_spaces.hierarchical_design_space.TemplateLink(*, material_template: UUID, process_template: UUID, material_template_name: str | None = None, process_template_name: str | None = None)
Bases:
Serializable
[TemplateLink
]Link to a Citrine Platform material and process template for a material node definition.
- Parameters:
material_template (UUID) – Citrine ID referencing an on-platform material template.
process_template (UUID) – Citrine ID referencing an on-platform process template.
material_template_name (Optional[str]) – Optional name of the material template.
process_template_name (Optional[str]) – Optional name of the process template.
- classmethod build(data: dict) Self
Build an instance of this object from given data.
- dump() dict
Dump this instance.
- material_template: UUID = None
- material_template_name: str | None = None
- process_template: UUID = None
- process_template_name: str | None = None