gt4sd.algorithms.conditional_generation.molgx.core module

MolGX Algorithm.

MolGX generation algorithm.

Summary

Classes:

MolGX

MolGX Algorithm.

MolGXQM9Generator

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

MolGXGenerator

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