tautomerization
Tautomer modification methods.
CRESTTautomerization
dataclass
Bases: TautomerMaker, CRESTCalculator, PymatGenMaker[InputType, OutputType]
flowchart TD
jfchemistry.modification.tautomerization.CRESTTautomerization[CRESTTautomerization]
jfchemistry.modification.tautomerization.base.TautomerMaker[TautomerMaker]
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.tautomerization.base.TautomerMaker --> jfchemistry.modification.tautomerization.CRESTTautomerization
jfchemistry.modification.base.StructureModification --> jfchemistry.modification.tautomerization.base.TautomerMaker
jfchemistry.calculators.crest.crest_calculator.CRESTCalculator --> jfchemistry.modification.tautomerization.CRESTTautomerization
jfchemistry.calculators.base.Calculator --> jfchemistry.calculators.crest.crest_calculator.CRESTCalculator
jfchemistry.core.makers.pymatgen_maker.PymatGenMaker --> jfchemistry.modification.tautomerization.CRESTTautomerization
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.tautomerization.CRESTTautomerization href "" "jfchemistry.modification.tautomerization.CRESTTautomerization"
click jfchemistry.modification.tautomerization.base.TautomerMaker href "" "jfchemistry.modification.tautomerization.base.TautomerMaker"
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 tautomers using CREST.
Uses CREST's automated tautomerization workflow to identify basic sites and generate low-energy tautomers. The method systematically explores different tautomer sites and optimizes the resulting structures.
| ATTRIBUTE | DESCRIPTION |
|---|---|
name |
Name of the job (default: "CREST Tautomers").
TYPE:
|
runtype |
Workflow type (default: "tautomerize").
TYPE:
|
ewin |
Energy window [kcal/mol] for selecting tautomers (default: None, uses CREST default).
TYPE:
|
ffopt |
Perform force field pre-optimization (default: True).
TYPE:
|
freezeopt |
Freeze constraint string for optimization (default: None).
TYPE:
|
finalopt |
Perform final optimization (default: True).
TYPE:
|
threads |
Number of parallel threads (default: 1).
TYPE:
|
References
- CREST Documentation: https://crest-lab.github.io/crest-docs/
Examples:
>>> from jfchemistry.modification import CRESTTautomers
>>> from pymatgen.core import Molecule
>>> from ase.build import molecule
>>> molecule = Molecule.from_ase_atoms(molecule("CCH"))
>>> prot = CRESTTautomers(ewin=6.0, threads=4)
>>> job = prot.make(molecule)
>>> protonated_structures = job.output["structure"]
>>> prot_custom = CRESTTautomers(
... ewin=8.0,
... ffopt=True,
... finalopt=True,
... threads=8
... )
>>> job = prot_custom.make(molecule)
>>> protonated_structures = job.output["structure"]
Source code in jfchemistry/modification/tautomerization/crest_tautomers.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 111 112 113 | |
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 | |