gt4sd.algorithms.conditional_generation.molgx.core module¶
MolGX Algorithm.
MolGX generation algorithm.
Summary¶
Classes:
MolGX Algorithm. |
|
Configuration to generate compounds with given HOMO and LUMO energies. |
Reference¶
- class MolGX(configuration, target=None)[source]¶
Bases:
GeneratorAlgorithm
[S
,None
]MolGX Algorithm.
- __init__(configuration, target=None)[source]¶
Instantiate MolGX ready to generate items.
- Parameters
configuration (
AlgorithmConfiguration
[~S,None
]) – domain and application specification defining parameters, types and validations.target (
None
) – a target for which to generate items.
Example
An example for generating small molecules (SMILES) with given HOMO and LUMO energies:
configuration = MolGXQM9Generator() molgx = MolGX(configuration=configuration, target=target) items = list(molgx.sample(10)) print(items)
- get_generator(configuration, target)[source]¶
Get the function to sample batches via the ConditionalGenerator.
- Parameters
configuration (
AlgorithmConfiguration
[~S,None
]) – helps to set up the application.target (
None
) – context or condition for the generation. Unused in the algorithm.
- Return type
Callable
[[],Iterable
[Any
]]- Returns
callable generating a batch of items.
- validate_configuration(configuration)[source]¶
Overload to validate the a configuration for the algorithm.
- Parameters
configuration (
AlgorithmConfiguration
[~S,None
]) – the algorithm configuration.- Raises
InvalidAlgorithmConfiguration – in case the configuration for the algorithm is invalid.
- Return type
AlgorithmConfiguration
[~S,None
]- Returns
the validated configuration.
- sample(number_of_items=100)[source]¶
Generate a number of unique and valid items.
- Parameters
number_of_items (
int
) – number of items to generate. Defaults to 100.- Yields
the items.
- Return type
Iterator
[~S]
- __abstractmethods__ = frozenset({})¶
- __annotations__ = {'generate': 'Untargeted', 'generator': 'Union[Untargeted, Targeted[T]]', 'max_runtime': 'int', 'max_samples': 'int', 'target': 'Optional[T]'}¶
- __doc__ = 'MolGX Algorithm.'¶
- __module__ = 'gt4sd.algorithms.conditional_generation.molgx.core'¶
- __orig_bases__ = (gt4sd.algorithms.core.GeneratorAlgorithm[~S, NoneType],)¶
- __parameters__ = (~S,)¶
- _abc_impl = <_abc._abc_data object>¶
- class MolGXQM9Generator(*args, **kwargs)[source]¶
Bases:
MolGXQM9Generator
,Generic
[T
]Configuration to generate compounds with given HOMO and LUMO energies.
- algorithm_type: ClassVar[str] = 'conditional_generation'¶
General type of generative algorithm.
- domain: ClassVar[str] = 'materials'¶
General application domain. Hints at input/output types.
- algorithm_version: str = 'v0'¶
To differentiate between different versions of an application.
There is no imposed naming convention.
- homo_energy_value: float = -0.25¶
- lumo_energy_value: float = 0.08¶
- use_linear_model: bool = True¶
- number_of_candidates: int = 2¶
- maximum_number_of_candidates: int = 5¶
- maximum_number_of_solutions: int = 10¶
- maximum_number_of_nodes: int = 50000¶
- beam_size: int = 2000¶
- without_estimate: bool = True¶
- use_specific_rings: bool = True¶
- use_fragment_const: bool = False¶
- get_target_description()[source]¶
Get description of the target for generation.
- Return type
Optional
[Dict
[str
,str
],None
]- Returns
target description, returns None in case no target is used.
- get_conditional_generator(resources_path)[source]¶
Instantiate the actual generator implementation.
- Parameters
resources_path (
str
) – local path to model files.- Return type
- Returns
instance with
generate
for generation.
- validate_item(item)[source]¶
Check that item is a valid SMILES.
- Parameters
item (
str
) – a generated item that is possibly not valid.- Raises
InvalidItem – in case the item can not be validated.
- Return type
str
- Returns
the validated SMILES.
- __annotations__ = {'algorithm_application': 'ClassVar[str]', 'algorithm_name': 'ClassVar[str]', 'algorithm_type': typing.ClassVar[str], 'algorithm_version': <class 'str'>, 'beam_size': <class 'int'>, 'domain': typing.ClassVar[str], 'homo_energy_value': <class 'float'>, 'lumo_energy_value': <class 'float'>, 'maximum_number_of_candidates': <class 'int'>, 'maximum_number_of_nodes': <class 'int'>, 'maximum_number_of_solutions': <class 'int'>, 'number_of_candidates': <class 'int'>, 'use_fragment_const': <class 'bool'>, 'use_linear_model': <class 'bool'>, 'use_specific_rings': <class 'bool'>, 'without_estimate': <class 'bool'>}¶
- __dataclass_fields__ = {'algorithm_application': Field(name='algorithm_application',type=typing.ClassVar[str],default='MolGXQM9Generator',default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=<dataclasses._MISSING_TYPE object>,_field_type=_FIELD_CLASSVAR), 'algorithm_name': Field(name='algorithm_name',type=typing.ClassVar[str],default='MolGX',default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=<dataclasses._MISSING_TYPE object>,_field_type=_FIELD_CLASSVAR), 'algorithm_type': Field(name='algorithm_type',type=typing.ClassVar[str],default='conditional_generation',default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=<dataclasses._MISSING_TYPE object>,_field_type=_FIELD_CLASSVAR), 'algorithm_version': Field(name='algorithm_version',type=<class 'str'>,default='v0',default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'beam_size': Field(name='beam_size',type=<class 'int'>,default=2000,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'description': 'Size of the beam during search.'}),kw_only=False,_field_type=_FIELD), 'domain': Field(name='domain',type=typing.ClassVar[str],default='materials',default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=<dataclasses._MISSING_TYPE object>,_field_type=_FIELD_CLASSVAR), 'homo_energy_value': Field(name='homo_energy_value',type=<class 'float'>,default=-0.25,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'description': 'Target HOMO energy value.'}),kw_only=False,_field_type=_FIELD), 'lumo_energy_value': Field(name='lumo_energy_value',type=<class 'float'>,default=0.08,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'description': 'Target LUMO energy value.'}),kw_only=False,_field_type=_FIELD), 'maximum_number_of_candidates': Field(name='maximum_number_of_candidates',type=<class 'int'>,default=5,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'description': 'Maximum number of candidates to consider.'}),kw_only=False,_field_type=_FIELD), 'maximum_number_of_nodes': Field(name='maximum_number_of_nodes',type=<class 'int'>,default=50000,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'description': 'Maximum number of nodes in the graph exploration.'}),kw_only=False,_field_type=_FIELD), 'maximum_number_of_solutions': Field(name='maximum_number_of_solutions',type=<class 'int'>,default=10,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'description': 'Maximum number of solutions.'}),kw_only=False,_field_type=_FIELD), 'number_of_candidates': Field(name='number_of_candidates',type=<class 'int'>,default=2,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'description': 'Number of candidates to consider.'}),kw_only=False,_field_type=_FIELD), 'use_fragment_const': Field(name='use_fragment_const',type=<class 'bool'>,default=False,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'description': 'Using constant fragments.'}),kw_only=False,_field_type=_FIELD), 'use_linear_model': Field(name='use_linear_model',type=<class 'bool'>,default=True,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'description': 'Linear model usage.'}),kw_only=False,_field_type=_FIELD), 'use_specific_rings': Field(name='use_specific_rings',type=<class 'bool'>,default=True,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'description': 'Flag to indicate whether specific rings are used.'}),kw_only=False,_field_type=_FIELD), 'without_estimate': Field(name='without_estimate',type=<class 'bool'>,default=True,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({'description': 'Disable estimates.'}),kw_only=False,_field_type=_FIELD)}¶
- __dataclass_params__ = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False)¶
- __doc__ = 'Configuration to generate compounds with given HOMO and LUMO energies.'¶
- __eq__(other)¶
Return self==value.
- __hash__ = None¶
- __init__(*args, **kwargs)¶
- __match_args__ = ('algorithm_version', 'homo_energy_value', 'lumo_energy_value', 'use_linear_model', 'number_of_candidates', 'maximum_number_of_candidates', 'maximum_number_of_solutions', 'maximum_number_of_nodes', 'beam_size', 'without_estimate', 'use_specific_rings', 'use_fragment_const')¶
- __module__ = 'gt4sd.algorithms.conditional_generation.molgx.core'¶
- __orig_bases__ = (<class 'types.MolGXQM9Generator'>, typing.Generic[~T])¶
- __parameters__ = (~T,)¶
- __pydantic_complete__ = True¶
- __pydantic_config__ = {}¶
- __pydantic_core_schema__ = {'cls': <class 'gt4sd.algorithms.conditional_generation.molgx.core.MolGXQM9Generator'>, 'config': {'title': 'MolGXQM9Generator'}, 'fields': ['algorithm_version', 'homo_energy_value', 'lumo_energy_value', 'use_linear_model', 'number_of_candidates', 'maximum_number_of_candidates', 'maximum_number_of_solutions', 'maximum_number_of_nodes', 'beam_size', 'without_estimate', 'use_specific_rings', 'use_fragment_const'], 'frozen': False, 'post_init': False, 'ref': 'types.MolGXQM9Generator:94427938857968', 'schema': {'collect_init_only': False, 'computed_fields': [], 'dataclass_name': 'MolGXQM9Generator', 'fields': [{'type': 'dataclass-field', 'name': 'algorithm_version', 'schema': {'type': 'default', 'schema': {'type': 'str'}, 'default': 'v0'}, 'kw_only': False, 'init': True, 'metadata': {}}, {'type': 'dataclass-field', 'name': 'homo_energy_value', 'schema': {'type': 'default', 'schema': {'type': 'float'}, 'default': -0.25}, 'kw_only': False, 'init': True, 'metadata': {'pydantic_js_updates': {'description': 'Target HOMO energy value.'}}}, {'type': 'dataclass-field', 'name': 'lumo_energy_value', 'schema': {'type': 'default', 'schema': {'type': 'float'}, 'default': 0.08}, 'kw_only': False, 'init': True, 'metadata': {'pydantic_js_updates': {'description': 'Target LUMO energy value.'}}}, {'type': 'dataclass-field', 'name': 'use_linear_model', 'schema': {'type': 'default', 'schema': {'type': 'bool'}, 'default': True}, 'kw_only': False, 'init': True, 'metadata': {'pydantic_js_updates': {'description': 'Linear model usage.'}}}, {'type': 'dataclass-field', 'name': 'number_of_candidates', 'schema': {'type': 'default', 'schema': {'type': 'int'}, 'default': 2}, 'kw_only': False, 'init': True, 'metadata': {'pydantic_js_updates': {'description': 'Number of candidates to consider.'}}}, {'type': 'dataclass-field', 'name': 'maximum_number_of_candidates', 'schema': {'type': 'default', 'schema': {'type': 'int'}, 'default': 5}, 'kw_only': False, 'init': True, 'metadata': {'pydantic_js_updates': {'description': 'Maximum number of candidates to consider.'}}}, {'type': 'dataclass-field', 'name': 'maximum_number_of_solutions', 'schema': {'type': 'default', 'schema': {'type': 'int'}, 'default': 10}, 'kw_only': False, 'init': True, 'metadata': {'pydantic_js_updates': {'description': 'Maximum number of solutions.'}}}, {'type': 'dataclass-field', 'name': 'maximum_number_of_nodes', 'schema': {'type': 'default', 'schema': {'type': 'int'}, 'default': 50000}, 'kw_only': False, 'init': True, 'metadata': {'pydantic_js_updates': {'description': 'Maximum number of nodes in the graph exploration.'}}}, {'type': 'dataclass-field', 'name': 'beam_size', 'schema': {'type': 'default', 'schema': {'type': 'int'}, 'default': 2000}, 'kw_only': False, 'init': True, 'metadata': {'pydantic_js_updates': {'description': 'Size of the beam during search.'}}}, {'type': 'dataclass-field', 'name': 'without_estimate', 'schema': {'type': 'default', 'schema': {'type': 'bool'}, 'default': True}, 'kw_only': False, 'init': True, 'metadata': {'pydantic_js_updates': {'description': 'Disable estimates.'}}}, {'type': 'dataclass-field', 'name': 'use_specific_rings', 'schema': {'type': 'default', 'schema': {'type': 'bool'}, 'default': True}, 'kw_only': False, 'init': True, 'metadata': {'pydantic_js_updates': {'description': 'Flag to indicate whether specific rings are used.'}}}, {'type': 'dataclass-field', 'name': 'use_fragment_const', 'schema': {'type': 'default', 'schema': {'type': 'bool'}, 'default': False}, 'kw_only': False, 'init': True, 'metadata': {'pydantic_js_updates': {'description': 'Using constant fragments.'}}}], 'type': 'dataclass-args'}, 'slots': True, 'type': 'dataclass'}¶
- __pydantic_decorators__ = DecoratorInfos(validators={}, field_validators={}, root_validators={}, field_serializers={}, model_serializers={}, model_validators={}, computed_fields={})¶
- __pydantic_fields__ = {'algorithm_version': FieldInfo(annotation=str, required=False, default='v0', init=True, init_var=False, kw_only=False), 'beam_size': FieldInfo(annotation=int, required=False, default=2000, description='Size of the beam during search.', init=True, init_var=False, kw_only=False), 'homo_energy_value': FieldInfo(annotation=float, required=False, default=-0.25, description='Target HOMO energy value.', init=True, init_var=False, kw_only=False), 'lumo_energy_value': FieldInfo(annotation=float, required=False, default=0.08, description='Target LUMO energy value.', init=True, init_var=False, kw_only=False), 'maximum_number_of_candidates': FieldInfo(annotation=int, required=False, default=5, description='Maximum number of candidates to consider.', init=True, init_var=False, kw_only=False), 'maximum_number_of_nodes': FieldInfo(annotation=int, required=False, default=50000, description='Maximum number of nodes in the graph exploration.', init=True, init_var=False, kw_only=False), 'maximum_number_of_solutions': FieldInfo(annotation=int, required=False, default=10, description='Maximum number of solutions.', init=True, init_var=False, kw_only=False), 'number_of_candidates': FieldInfo(annotation=int, required=False, default=2, description='Number of candidates to consider.', init=True, init_var=False, kw_only=False), 'use_fragment_const': FieldInfo(annotation=bool, required=False, default=False, description='Using constant fragments.', init=True, init_var=False, kw_only=False), 'use_linear_model': FieldInfo(annotation=bool, required=False, default=True, description='Linear model usage.', init=True, init_var=False, kw_only=False), 'use_specific_rings': FieldInfo(annotation=bool, required=False, default=True, description='Flag to indicate whether specific rings are used.', init=True, init_var=False, kw_only=False), 'without_estimate': FieldInfo(annotation=bool, required=False, default=True, description='Disable estimates.', init=True, init_var=False, kw_only=False)}¶
- __pydantic_serializer__ = SchemaSerializer(serializer=Dataclass( DataclassSerializer { class: Py( 0x000055e1b7c0a3f0, ), serializer: Fields( GeneralFieldsSerializer { fields: { "use_linear_model": SerField { key_py: Py( 0x00007f9dbe872e20, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x000055e1a1fe15a0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "beam_size": SerField { key_py: Py( 0x00007f9dbe876130, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f9dbec78bd0, ), ), serializer: Int( IntSerializer, ), }, ), ), required: true, }, "without_estimate": SerField { key_py: Py( 0x00007f9dbe872fb0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x000055e1a1fe15a0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "use_specific_rings": SerField { key_py: Py( 0x00007f9dbe873000, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x000055e1a1fe15a0, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "algorithm_version": SerField { key_py: Py( 0x00007f9dbe872d30, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f9e996507f0, ), ), serializer: Str( StrSerializer, ), }, ), ), required: true, }, "use_fragment_const": SerField { key_py: Py( 0x00007f9dbe873050, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x000055e1a1fe1580, ), ), serializer: Bool( BoolSerializer, ), }, ), ), required: true, }, "maximum_number_of_candidates": SerField { key_py: Py( 0x00007f9dbe872ec0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f9e9d500170, ), ), serializer: Int( IntSerializer, ), }, ), ), required: true, }, "lumo_energy_value": SerField { key_py: Py( 0x00007f9dbe872dd0, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f9dbec79530, ), ), serializer: Float( FloatSerializer { inf_nan_mode: Null, }, ), }, ), ), required: true, }, "homo_energy_value": SerField { key_py: Py( 0x00007f9dbe872d80, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f9dbec6fd70, ), ), serializer: Float( FloatSerializer { inf_nan_mode: Null, }, ), }, ), ), required: true, }, "maximum_number_of_nodes": SerField { key_py: Py( 0x00007f9dbe872f60, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f9dbec794b0, ), ), serializer: Int( IntSerializer, ), }, ), ), required: true, }, "maximum_number_of_solutions": SerField { key_py: Py( 0x00007f9dbe872f10, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f9e9d500210, ), ), serializer: Int( IntSerializer, ), }, ), ), required: true, }, "number_of_candidates": SerField { key_py: Py( 0x00007f9dbe872e70, ), alias: None, alias_py: None, serializer: Some( WithDefault( WithDefaultSerializer { default: Default( Py( 0x00007f9e9d500110, ), ), serializer: Int( IntSerializer, ), }, ), ), required: true, }, }, computed_fields: Some( ComputedFields( [], ), ), mode: SimpleDict, extra_serializer: None, filter: SchemaFilter { include: None, exclude: None, }, required_fields: 12, }, ), fields: [ Py( 0x00007f9e9963bc80, ), Py( 0x00007f9dbeab17f0, ), Py( 0x00007f9dbeab1890, ), Py( 0x00007f9dbeab1930, ), Py( 0x00007f9dbeb8dc00, ), Py( 0x00007f9dbeab1980, ), Py( 0x00007f9dbeab1610, ), Py( 0x00007f9dbeab1a20, ), Py( 0x00007f9dc2bb88f0, ), Py( 0x00007f9dbeab1b10, ), Py( 0x00007f9dbeab1b60, ), Py( 0x00007f9dbeab1c00, ), ], name: "MolGXQM9Generator", }, ), definitions=[])¶
- __pydantic_validator__ = SchemaValidator(title="MolGXQM9Generator", validator=Dataclass( DataclassValidator { strict: false, validator: DataclassArgs( DataclassArgsValidator { fields: [ Field { kw_only: false, name: "algorithm_version", py_name: Py( 0x00007f9e9963bc80, ), init: true, init_only: false, lookup_key: Simple { key: "algorithm_version", py_key: Py( 0x00007f9dbe8726a0, ), path: LookupPath( [ S( "algorithm_version", Py( 0x00007f9dbe8726f0, ), ), ], ), }, validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f9e996507f0, ), ), on_error: Raise, validator: Str( StrValidator { strict: false, coerce_numbers_to_str: false, }, ), validate_default: false, copy_default: false, name: "default[str]", undefined: Py( 0x00007f9e9b5139a0, ), }, ), frozen: false, }, Field { kw_only: false, name: "homo_energy_value", py_name: Py( 0x00007f9dbeab17f0, ), init: true, init_only: false, lookup_key: Simple { key: "homo_energy_value", py_key: Py( 0x00007f9dbe872650, ), path: LookupPath( [ S( "homo_energy_value", Py( 0x00007f9dbe872740, ), ), ], ), }, validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f9dbec6fd70, ), ), on_error: Raise, validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), validate_default: false, copy_default: false, name: "default[float]", undefined: Py( 0x00007f9e9b5139a0, ), }, ), frozen: false, }, Field { kw_only: false, name: "lumo_energy_value", py_name: Py( 0x00007f9dbeab1890, ), init: true, init_only: false, lookup_key: Simple { key: "lumo_energy_value", py_key: Py( 0x00007f9dbe872790, ), path: LookupPath( [ S( "lumo_energy_value", Py( 0x00007f9dbe8727e0, ), ), ], ), }, validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f9dbec79530, ), ), on_error: Raise, validator: Float( FloatValidator { strict: false, allow_inf_nan: true, }, ), validate_default: false, copy_default: false, name: "default[float]", undefined: Py( 0x00007f9e9b5139a0, ), }, ), frozen: false, }, Field { kw_only: false, name: "use_linear_model", py_name: Py( 0x00007f9dbeab1930, ), init: true, init_only: false, lookup_key: Simple { key: "use_linear_model", py_key: Py( 0x00007f9dbe872830, ), path: LookupPath( [ S( "use_linear_model", Py( 0x00007f9dbe872880, ), ), ], ), }, validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x000055e1a1fe15a0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007f9e9b5139a0, ), }, ), frozen: false, }, Field { kw_only: false, name: "number_of_candidates", py_name: Py( 0x00007f9dbeb8dc00, ), init: true, init_only: false, lookup_key: Simple { key: "number_of_candidates", py_key: Py( 0x00007f9dbe8728d0, ), path: LookupPath( [ S( "number_of_candidates", Py( 0x00007f9dbe872920, ), ), ], ), }, validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f9e9d500110, ), ), on_error: Raise, validator: Int( IntValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[int]", undefined: Py( 0x00007f9e9b5139a0, ), }, ), frozen: false, }, Field { kw_only: false, name: "maximum_number_of_candidates", py_name: Py( 0x00007f9dbeab1980, ), init: true, init_only: false, lookup_key: Simple { key: "maximum_number_of_candidates", py_key: Py( 0x00007f9dbe872970, ), path: LookupPath( [ S( "maximum_number_of_candidates", Py( 0x00007f9dbe8729c0, ), ), ], ), }, validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f9e9d500170, ), ), on_error: Raise, validator: Int( IntValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[int]", undefined: Py( 0x00007f9e9b5139a0, ), }, ), frozen: false, }, Field { kw_only: false, name: "maximum_number_of_solutions", py_name: Py( 0x00007f9dbeab1610, ), init: true, init_only: false, lookup_key: Simple { key: "maximum_number_of_solutions", py_key: Py( 0x00007f9dbe872a10, ), path: LookupPath( [ S( "maximum_number_of_solutions", Py( 0x00007f9dbe872a60, ), ), ], ), }, validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f9e9d500210, ), ), on_error: Raise, validator: Int( IntValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[int]", undefined: Py( 0x00007f9e9b5139a0, ), }, ), frozen: false, }, Field { kw_only: false, name: "maximum_number_of_nodes", py_name: Py( 0x00007f9dbeab1a20, ), init: true, init_only: false, lookup_key: Simple { key: "maximum_number_of_nodes", py_key: Py( 0x00007f9dbe872ab0, ), path: LookupPath( [ S( "maximum_number_of_nodes", Py( 0x00007f9dbe872b00, ), ), ], ), }, validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f9dbec794b0, ), ), on_error: Raise, validator: Int( IntValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[int]", undefined: Py( 0x00007f9e9b5139a0, ), }, ), frozen: false, }, Field { kw_only: false, name: "beam_size", py_name: Py( 0x00007f9dc2bb88f0, ), init: true, init_only: false, lookup_key: Simple { key: "beam_size", py_key: Py( 0x00007f9dbe8761b0, ), path: LookupPath( [ S( "beam_size", Py( 0x00007f9dbe876170, ), ), ], ), }, validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x00007f9dbec78bd0, ), ), on_error: Raise, validator: Int( IntValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[int]", undefined: Py( 0x00007f9e9b5139a0, ), }, ), frozen: false, }, Field { kw_only: false, name: "without_estimate", py_name: Py( 0x00007f9dbeab1b10, ), init: true, init_only: false, lookup_key: Simple { key: "without_estimate", py_key: Py( 0x00007f9dbe872b50, ), path: LookupPath( [ S( "without_estimate", Py( 0x00007f9dbe872ba0, ), ), ], ), }, validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x000055e1a1fe15a0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007f9e9b5139a0, ), }, ), frozen: false, }, Field { kw_only: false, name: "use_specific_rings", py_name: Py( 0x00007f9dbeab1b60, ), init: true, init_only: false, lookup_key: Simple { key: "use_specific_rings", py_key: Py( 0x00007f9dbe872bf0, ), path: LookupPath( [ S( "use_specific_rings", Py( 0x00007f9dbe872c40, ), ), ], ), }, validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x000055e1a1fe15a0, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007f9e9b5139a0, ), }, ), frozen: false, }, Field { kw_only: false, name: "use_fragment_const", py_name: Py( 0x00007f9dbeab1c00, ), init: true, init_only: false, lookup_key: Simple { key: "use_fragment_const", py_key: Py( 0x00007f9dbe872c90, ), path: LookupPath( [ S( "use_fragment_const", Py( 0x00007f9dbe872ce0, ), ), ], ), }, validator: WithDefault( WithDefaultValidator { default: Default( Py( 0x000055e1a1fe1580, ), ), on_error: Raise, validator: Bool( BoolValidator { strict: false, }, ), validate_default: false, copy_default: false, name: "default[bool]", undefined: Py( 0x00007f9e9b5139a0, ), }, ), frozen: false, }, ], positional_count: 12, init_only_count: None, dataclass_name: "MolGXQM9Generator", validator_name: "dataclass-args[MolGXQM9Generator]", extra_behavior: Ignore, extras_validator: None, loc_by_alias: true, }, ), class: Py( 0x000055e1b7c0a3f0, ), generic_origin: None, fields: [ Py( 0x00007f9e9963bc80, ), Py( 0x00007f9dbeab17f0, ), Py( 0x00007f9dbeab1890, ), Py( 0x00007f9dbeab1930, ), Py( 0x00007f9dbeb8dc00, ), Py( 0x00007f9dbeab1980, ), Py( 0x00007f9dbeab1610, ), Py( 0x00007f9dbeab1a20, ), Py( 0x00007f9dc2bb88f0, ), Py( 0x00007f9dbeab1b10, ), Py( 0x00007f9dbeab1b60, ), Py( 0x00007f9dbeab1c00, ), ], post_init: None, revalidate: Never, name: "MolGXQM9Generator", frozen: false, slots: true, }, ), definitions=[], cache_strings=True)¶
- __repr__()¶
Return repr(self).
- __signature__ = <Signature (algorithm_version: str = 'v0', homo_energy_value: float = -0.25, lumo_energy_value: float = 0.08, use_linear_model: bool = True, number_of_candidates: int = 2, maximum_number_of_candidates: int = 5, maximum_number_of_solutions: int = 10, maximum_number_of_nodes: int = 50000, beam_size: int = 2000, without_estimate: bool = True, use_specific_rings: bool = True, use_fragment_const: bool = False) -> None>¶
- __wrapped__¶
alias of
MolGXQM9Generator