deprotonation
Deprotonation modification methods.
CRESTDeprotonation
dataclass
Bases: DeprotonationMaker, CRESTCalculator, PymatGenMaker[InputType, OutputType]
flowchart TD
jfchemistry.modification.deprotonation.CRESTDeprotonation[CRESTDeprotonation]
jfchemistry.modification.deprotonation.base.DeprotonationMaker[DeprotonationMaker]
jfchemistry.modification.base.StructureModification[StructureModification]
jfchemistry.calculators.crest.crest_calculator.CRESTCalculator[CRESTCalculator]
jfchemistry.calculators.base.Calculator[Calculator]
jfchemistry.core.makers.pymatgen_maker.PymatGenMaker[PymatGenMaker]
jfchemistry.core.makers.jfchem_maker.JFChemMaker[JFChemMaker]
jfchemistry.core.makers.core_maker.CoreMaker[CoreMaker]
jfchemistry.modification.deprotonation.base.DeprotonationMaker --> jfchemistry.modification.deprotonation.CRESTDeprotonation
jfchemistry.modification.base.StructureModification --> jfchemistry.modification.deprotonation.base.DeprotonationMaker
jfchemistry.calculators.crest.crest_calculator.CRESTCalculator --> jfchemistry.modification.deprotonation.CRESTDeprotonation
jfchemistry.calculators.base.Calculator --> jfchemistry.calculators.crest.crest_calculator.CRESTCalculator
jfchemistry.core.makers.pymatgen_maker.PymatGenMaker --> jfchemistry.modification.deprotonation.CRESTDeprotonation
jfchemistry.core.makers.jfchem_maker.JFChemMaker --> jfchemistry.core.makers.pymatgen_maker.PymatGenMaker
jfchemistry.core.makers.core_maker.CoreMaker --> jfchemistry.core.makers.jfchem_maker.JFChemMaker
click jfchemistry.modification.deprotonation.CRESTDeprotonation href "" "jfchemistry.modification.deprotonation.CRESTDeprotonation"
click jfchemistry.modification.deprotonation.base.DeprotonationMaker href "" "jfchemistry.modification.deprotonation.base.DeprotonationMaker"
click jfchemistry.modification.base.StructureModification href "" "jfchemistry.modification.base.StructureModification"
click jfchemistry.calculators.crest.crest_calculator.CRESTCalculator href "" "jfchemistry.calculators.crest.crest_calculator.CRESTCalculator"
click jfchemistry.calculators.base.Calculator href "" "jfchemistry.calculators.base.Calculator"
click jfchemistry.core.makers.pymatgen_maker.PymatGenMaker href "" "jfchemistry.core.makers.pymatgen_maker.PymatGenMaker"
click jfchemistry.core.makers.jfchem_maker.JFChemMaker href "" "jfchemistry.core.makers.jfchem_maker.JFChemMaker"
click jfchemistry.core.makers.core_maker.CoreMaker href "" "jfchemistry.core.makers.core_maker.CoreMaker"
Generate deprotonated structures using CREST.
Uses CREST's automated deprotonation workflow to identify acidic sites and generate low-energy deprotonated structures. The method systematically explores different deprotonation sites and optimizes the resulting structures using GFN2-xTB.
| ATTRIBUTE | DESCRIPTION |
|---|---|
name |
Name of the job (default: "CREST Deprotonation").
TYPE:
|
ewin |
Energy window [kcal/mol] for selecting deprotonated structures (default: None, uses CREST default). Structures within ewin of the lowest energy structure are retained.
TYPE:
|
References
- CREST Documentation: https://crest-lab.github.io/crest-docs/
Examples:
>>> from jfchemistry.modification import CRESTDeprotonation
>>> from pymatgen.core import Molecule
>>> from ase.build import molecule
>>> ethane = Molecule.from_ase_atoms(molecule("C2H6"))
>>> # Deprotonate a ethane
>>> deprot = CRESTDeprotonation(ewin=6.0)
>>> job = deprot.make(ethane)
>>> deprotonated_structures = job.output["structure"]
>>>
>>> deprot_default = CRESTDeprotonation()
>>> job = deprot_default.make(ethane)
Source code in jfchemistry/modification/deprotonation/crest_deprotonation.py
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 | |
make
make(input: InputType | list[InputType], **kwargs) -> Response[_output_model]
Create a workflow job for processing structure(s).
Automatically handles job distribution for lists of structures. Each structure in a list is processed as a separate job for parallel execution.
| PARAMETER | DESCRIPTION |
|---|---|
input
|
Single Pymatgen SiteCollection or list of SiteCollections.
TYPE:
|
**kwargs
|
Additional kwargs to pass to the operation.
DEFAULT:
|
| RETURNS | DESCRIPTION |
|---|---|
Response[_output_model]
|
Response containing: - structure: Processed structure(s) - files: XYZ format file(s) of the structure(s) - properties: Computed properties from the operation |
Examples:
>>> from jfchemistry.conformers import CRESTConformers
>>> from pymatgen.core import Molecule
>>> molecule = Molecule.from_ase_atoms(molecule("C2H6"))
>>> # Generate conformers
>>> conformer_gen = CRESTConformers(ewin=6.0)
>>> job = conformer_gen.make(input)
Source code in jfchemistry/core/makers/jfchem_maker.py
111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | |