Optional

There are a number of arguments which can be used to modify the functionality and behaviour of the quantum dot builder. Herein an overview is provided.

Note: Inclusion of this section in the input file is not required, assuming one is content with the default settings.

Index

Option Description
optional.database.dirname The name of the directory where the database will be stored.
optional.database.read Attempt to read results from the database before starting calculations.
optional.database.write Export results to the database.
optional.database.overwrite Allow previous results in the database to be overwritten.
optional.database.mol_format The file format(s) for exporting moleculair structures.
optional.database.mongodb Options related to the MongoDB format.
optional.core.dirname The name of the directory where all cores will be stored.
optional.core.dummy Atomic number of symbol of the core dummy atoms.
optional.ligand.dirname The name of the directory where all ligands will be stored.
optional.ligand.optimize Optimize the geometry of the to-be attached ligands.
optional.ligand.functional_groups Manually specify SMILES strings representing functional groups.
optional.ligand.split If the ligand should be attached in its entirety to the core or not.
optional.ligand.cosmo-rs Perform a property calculation with COSMO-RS on the ligand.
optional.qd.dirname The name of the directory where all quantum dots will be stored.
optional.qd.optimize Optimize the quantum dot (i.e. core + all ligands) .
optional.qd.activation_strain Perform an activation strain analyses.
optional.qd.dissociate Calculate the ligand dissociation energy.

Default Settings

optional:
    database:
        dirname: database
        read: True
        write: True
        overwrite: False
        mol_format: (pdb, xyz)
        mongodb: False

    core:
        dirname: core
        dummy: Cl

    ligand:
        dirname: ligand
        optimize: True
        functional_groups: null
        split: True
        cosmo-rs: False

    qd:
        dirname: qd
        optimize: False
        activation_strain: False
        dissociate: False

Arguments

Database

optional.database

All database-related settings.

Note

For optional.database settings to take effect the Data-CAT package has to be installed.

Example:

optional:
    database:
        dirname: database
        read: True
        write: True
        overwrite: False
        mol_format: (pdb, xyz)
        mongodb: False

optional.database.dirname
Parameter:
  • Type - str
  • Default Value - "database"

The name of the directory where the database will be stored.

The database directory will be created (if it does not yet exist) at the path specified in path.

optional.database.read
Parameter:

Attempt to read results from the database before starting calculations.

Before optimizing a structure, check if a geometry is available from previous calculations. If a match is found, use that structure and avoid a geometry reoptimizations. If one wants more control then the boolean can be substituted for a list of strings (i.e. "core", "ligand" and/or "qd"), meaning that structures will be read only for a specific subset.

Example

Example #1:

optional:
    database:
        read: (core, ligand, qd)  # This is equivalent to read: True

Example #2:

optional:
    database:
        read: ligand
optional.database.write
Parameter:

Export results to the database.

Previous results will not be overwritten unless optional.database.overwrite = True. If one wants more control then the boolean can be substituted for a list of strings (i.e. "core", "ligand" and/or "qd"), meaning that structures written for for a specific subset.

See optional.database.read for a similar relevant example.

optional.database.overwrite
Parameter:

Allow previous results in the database to be overwritten.

Only apllicable if optional.database.write = True. If one wants more control then the boolean can be substituted for a list of strings (i.e. "core", "ligand" and/or "qd"), meaning that structures written for for a specific subset.

See optional.database.read for a similar relevant example.

optional.database.mol_format
Parameter:

The file format(s) for exporting moleculair structures.

By default all structures are stored in the .hdf5 format as (partially) de-serialized .pdb files. Additional formats can be requisted with this keyword. Accepted values: "pdb", "xyz", "mol" and/or "mol2".

optional.database.mongodb
Parameter:
  • Type - bool or dict
  • Default ValueFalse

Options related to the MongoDB format.

See also

More extensive options for this argument are provided in The Database Class:.


Core

optional.core

All settings related to the core.

Example:

optional:
    core:
        dirname: core
        dummy: Cl

optional.core.dirname
Parameter:
  • Type - str
  • Default value"core"

The name of the directory where all cores will be stored.

The core directory will be created (if it does not yet exist) at the path specified in path.

optional.core.dummy
Parameter:
  • Type - str or int
  • Default value17

Atomic number of symbol of the core dummy atoms.

The atomic number or atomic symbol of the atoms in the core which are to be replaced with ligands. Alternatively, dummy atoms can be manually specified with the core_indices variable.


Ligand

optional.ligand

All settings related to the ligands.

Example:

optional:
    ligand:
        dirname: ligand
        optimize: True
        functional_groups: null
        split: True
        cosmo-rs: False

optional.ligand.dirname
Parameter:
  • Type - str
  • Default value"ligand"

The name of the directory where all ligands will be stored.

The ligand directory will be created (if it does not yet exist) at the path specified in path.

optional.ligand.optimize
Parameter:
  • Type - bool
  • Default valueTrue

Optimize the geometry of the to-be attached ligands.

The ligand is split into one or multiple (more or less) linear fragments, which are subsequently optimized (RDKit UFF [1, 2, 3]) and reassembled while checking for the optimal dihedral angle. The ligand fragments are biased towards more linear conformations to minimize inter-ligand repulsion once the ligands are attached to the core.

optional.ligand.functional_groups
Parameter:

Manually specify SMILES strings representing functional groups.

For example, with optional.ligand.functional_groups = ("O[H]", "[N+].[Cl-]") all ligands will be searched for the presence of hydroxides and ammonium chlorides.

The first atom in each SMILES string (i.e. the “anchor”) will be used for attaching the ligand to the core, while the last atom (assuming optional.ligand.split = True) will be dissociated from the ligand and disgarded.

If not specified, the default functional groups of CAT are used.

Note

This argument has no value be default and will thus default to SMILES strings of the default functional groups supported by CAT.

Note

The yaml format uses null rather than None as in Python.

optional.ligand.split
Parameter:
  • Type - bool
  • Default valueTrue

If False: The ligand is to be attached to the core in its entirety .

Before After
\({NR_4}^+\) \({NR_4}^+\)
\(O_2 CR\) \(O_2 CR\)
\(HO_2 CR\) \(HO_2 CR\)
\(H_3 CO_2 CR\) \(H_3 CO_2 CR\)

True: A proton, counterion or functional group is to be removed from the ligand before attachment to the core.

Before After
\(Cl^- + {NR_4}^+\) \({NR_4}^+\)
\(HO_2 CR\) \({O_2 CR}^-\)
\(Na^+ + {O_2 CR}^-\) \({O_2 CR}^-\)
\(HO_2 CR\) \({O_2 CR}^-\)
\(H_3 CO_2 CR\) \({O_2 CR}^-\)
optional.ligand.cosmo-rs
Parameter:
  • Type - bool or dict
  • Default valueFalse

Perform a property calculation with COSMO-RS [4, 5, 6, 7] on the ligand.

The COSMO surfaces are by default constructed using ADF MOPAC [8, 9, 10].

The solvation energy of the ligand and its activity coefficient are calculated in the following solvents: acetone, acetonitrile, dimethyl formamide (DMF), dimethyl sulfoxide (DMSO), ethyl acetate, ethanol, n-hexane, toluene and water.


QD

optional.qd

All settings related to the quantum dots.

Example:

optional:
    qd:
        dirname: QD
        optimize: False
        activation_strain: False
        dissociate: False

optional.qd.dirname
Parameter:
  • Type - str
  • Default value"qd"

The name of the directory where all quantum dots will be stored.

The quantum dot directory will be created (if it does not yet exist) at the path specified in path.

optional.qd.optimize
Parameter:
  • Type - bool or dict
  • Default valueFalse

Optimize the quantum dot (i.e. core + all ligands) .

By default the calculation is performed with ADF UFF [3, 11]. The geometry of the core and ligand atoms directly attached to the core are frozen during this optimization.

optional.qd.activation_strain
Parameter:
  • Type - bool
  • Default valueFalse

Perform an activation strain analyses [12, 13, 14].

The activation strain analyses (kcal mol-1) is performed on the ligands attached to the quantum dot surface with RDKit UFF [1, 2, 3].

The core is removed during this process; the analyses is thus exclusively focused on ligand deformation and inter-ligand interaction. Yields three terms:

1. dEstrain : The energy required to deform the ligand from their equilibrium geometry to the geometry they adopt on the quantum dot surface. This term is, by definition, destabilizing. Also known as the preperation energy (dEprep).

2. dEint : The mutual interaction between all deformed ligands. This term is characterized by the non-covalent interaction between ligands (UFF Lennard-Jones potential) and, depending on the inter-ligand distances, can be either stabilizing or destabilizing.

3. dE : The sum of dEstrain and dEint. Accounts for both the destabilizing ligand deformation and (de-)stabilizing interaction between all ligands in the absence of the core.

optional.qd.dissociate
Parameter:
  • Type - bool or dict
  • Default valueFalse

Calculate the ligand dissociation energy.

Calculate the ligand dissociation energy (BDE) of ligands attached to the surface of the core. See Bond Dissociation Energy for more details. The calculation consists of five distinct steps:

1. Dissociate all combinations of \({n}\) ligands (\(Y\)) and an atom from the core (\(X\)) within a radius r from aforementioned core atom. The dissociated compound has the general structure of \(XY_{n}\).

2. Optimize the geometry of \(XY_{n}\) at the first level of theory (\(1\)). Default: ADF MOPAC [1, 2, 3].

3. Calculate the “electronic” contribution to the BDE (\(\Delta E\)) at the first level of theory (\(1\)): ADF MOPAC [1, 2, 3]. This step consists of single point calculations of the complete quantum dot, \(XY_{n}\) and all \(XY_{n}\)-dissociated quantum dots.

4. Calculate the thermalchemical contribution to the BDE (\(\Delta \Delta G\)) at the second level of theory (\(2\)). Default: ADF UFF [4, 5]. This step consists of geometry optimizations and frequency analyses of the same compounds used for step 3.

  1. \(\Delta G_{tot} = \Delta E_{1} + \Delta \Delta G_{2} = \Delta E_{1} + (\Delta G_{2} - \Delta E_{2})\).

See also

More extensive options for this argument are provided in Bond Dissociation Energy:.