filters
Filters for the jfchemistry package.
EnergyFilter
dataclass
Bases: Filter, PymatGenMaker[InputType, OutputType]
flowchart TD
jfchemistry.filters.EnergyFilter[EnergyFilter]
jfchemistry.filters.base.Filter[Filter]
jfchemistry.core.makers.pymatgen_maker.PymatGenMaker[PymatGenMaker]
jfchemistry.core.makers.jfchem_maker.JFChemMaker[JFChemMaker]
jfchemistry.core.makers.core_maker.CoreMaker[CoreMaker]
jfchemistry.filters.base.Filter --> jfchemistry.filters.EnergyFilter
jfchemistry.core.makers.pymatgen_maker.PymatGenMaker --> jfchemistry.filters.EnergyFilter
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.filters.EnergyFilter href "" "jfchemistry.filters.EnergyFilter"
click jfchemistry.filters.base.Filter href "" "jfchemistry.filters.base.Filter"
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"
Base class for energy filters.
Units
Pass a float in the listed unit or a pint Quantity (e.g. jfchemistry.ureg
or jfchemistry.Q_):
- threshold: [kcal/mol]
| ATTRIBUTE | DESCRIPTION |
|---|---|
name |
The name of the energy filter.
TYPE:
|
threshold |
The threshold for the energy filter [kcal/mol]. Accepts float in [kcal/mol] or pint Quantity; stored as magnitude in [kcal/mol].
TYPE:
|
Source code in jfchemistry/filters/energy_filter.py
17 18 19 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 | |
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 | |
PrismPrunerFilter
dataclass
Bases: Filter, PymatGenMaker[InputType, OutputType]
flowchart TD
jfchemistry.filters.PrismPrunerFilter[PrismPrunerFilter]
jfchemistry.filters.base.Filter[Filter]
jfchemistry.core.makers.pymatgen_maker.PymatGenMaker[PymatGenMaker]
jfchemistry.core.makers.jfchem_maker.JFChemMaker[JFChemMaker]
jfchemistry.core.makers.core_maker.CoreMaker[CoreMaker]
jfchemistry.filters.base.Filter --> jfchemistry.filters.PrismPrunerFilter
jfchemistry.core.makers.pymatgen_maker.PymatGenMaker --> jfchemistry.filters.PrismPrunerFilter
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.filters.PrismPrunerFilter href "" "jfchemistry.filters.PrismPrunerFilter"
click jfchemistry.filters.base.Filter href "" "jfchemistry.filters.base.Filter"
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"
PrismPruner-based structural and energy filter for molecular ensembles.
Units
Pass a float in the listed unit or a pint Quantity (e.g. jfchemistry.ureg
or jfchemistry.Q_):
- energy_threshold: [kcal/mol]
| ATTRIBUTE | DESCRIPTION |
|---|---|
name |
The name of the filter (default: "PrismPruner Structural Filter").
TYPE:
|
structural_threshold |
The threshold for the structural filter (default: 0.0). Accepts float or pint Quantity.
TYPE:
|
energy_threshold |
The threshold for the energy filter [kcal/mol] (default: None). Accepts float in [kcal/mol] or pint Quantity.
TYPE:
|
methods |
Pruning methods to apply: "MOI", "RMSD", "RMSD_RC" (default: ["MOI", "RMSD"]). |
Source code in jfchemistry/filters/prism_filter.py
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 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 141 142 | |
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 | |