Skip to content

Metcalf

Metcalf

Bases: BaseInteractionDataset

Metcalf is a dataset consisting of 126 hydrogen-bonded dimers involving N-methylacetamide (NMA) with 14,744 to 156,704 geometries/configurations for each complex. The geometries are optimized using the RI-MP2 method and the cc-pVTZ basis set. SAPT(0) calculations are performed for computing interaction energies and the various components.

Usage:

from openqdc.datasets import Metcalf
dataset = Metcalf()

Reference

https://doi.org/10.1063/1.5142636

Source code in openqdc/datasets/interaction/metcalf.py
 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
class Metcalf(BaseInteractionDataset):
    """
    Metcalf is a dataset consisting of 126 hydrogen-bonded dimers involving N-methylacetamide (NMA) with 14,744 to
    156,704 geometries/configurations for each complex. The geometries are optimized using the RI-MP2 method and
    the cc-pVTZ basis set. SAPT(0) calculations are performed for computing interaction energies and the various
    components.

    Usage:
    ```python
    from openqdc.datasets import Metcalf
    dataset = Metcalf()
    ```

    Reference:
        https://doi.org/10.1063/1.5142636
    """

    __name__ = "metcalf"
    __energy_unit__ = "kcal/mol"
    __distance_unit__ = "ang"
    __forces_unit__ = "kcal/mol/ang"
    __energy_methods__ = [
        InteractionMethod.SAPT0_JUN_CC_PVDZ,
        InteractionMethod.SAPT0_JUN_CC_PVDZ,
        InteractionMethod.SAPT0_JUN_CC_PVDZ,
        InteractionMethod.SAPT0_JUN_CC_PVDZ,
        InteractionMethod.SAPT0_JUN_CC_PVDZ,
    ]
    __energy_type__ = [
        InterEnergyType.TOTAL,
        InterEnergyType.ES,
        InterEnergyType.EX,
        InterEnergyType.IND,
        InterEnergyType.DISP,
    ]
    energy_target_names = [
        "total energy",
        "electrostatic energy",
        "exchange energy",
        "induction energy",
        "dispersion energy",
    ]
    __links__ = {"model-data.tar.gz": "https://zenodo.org/records/10934211/files/model-data.tar?download=1"}

    def read_raw_entries(self) -> List[Dict]:
        # extract in folders
        extract_raw_tar_gz(self.root)
        data = []
        for filename in glob(self.root + f"{os.sep}*.xyz"):
            data.extend(read_xyz(filename, self.__name__))
        return data