gitextract_8sr_6d4i/ ├── .codecov.yml ├── .gitattributes ├── .github/ │ └── workflows/ │ ├── CI.yaml │ ├── clean_cache.yaml │ └── docker.yaml ├── .gitignore ├── .readthedocs.yaml ├── LICENSE ├── MANIFEST.in ├── README.md ├── devtools/ │ ├── README.md │ ├── conda-envs/ │ │ └── espaloma.yaml │ ├── conda-recipe/ │ │ ├── build.sh │ │ └── meta.yml │ ├── gh-actions/ │ │ └── initialize_conda.sh │ └── scripts/ │ └── create_conda_env.py ├── docker/ │ └── Dockerfile ├── docs/ │ ├── Makefile │ ├── README.md │ ├── _static/ │ │ └── README.md │ ├── _templates/ │ │ ├── README.md │ │ ├── custom-class-template.rst │ │ └── custom-module-template.rst │ ├── api.rst │ ├── autosummary/ │ │ ├── espaloma.data.collection.alkethoh.rst │ │ ├── espaloma.data.collection.esol.rst │ │ ├── espaloma.data.collection.md17_new.rst │ │ ├── espaloma.data.collection.md17_old.rst │ │ ├── espaloma.data.collection.qca.rst │ │ ├── espaloma.data.collection.rst │ │ ├── espaloma.data.collection.zinc.rst │ │ ├── espaloma.data.dataset.Dataset.rst │ │ ├── espaloma.data.dataset.GraphDataset.rst │ │ ├── espaloma.data.dataset.rst │ │ ├── espaloma.data.md.MoleculeVacuumSimulation.rst │ │ ├── espaloma.data.md.rst │ │ ├── espaloma.data.md.subtract_nonbonded_force.rst │ │ ├── espaloma.data.md.subtract_nonbonded_force_except_14.rst │ │ ├── espaloma.data.md17_utils.get_molecule.rst │ │ ├── espaloma.data.md17_utils.realize_molecule.rst │ │ ├── espaloma.data.md17_utils.rst │ │ ├── espaloma.data.md17_utils.sum_offsets.rst │ │ ├── espaloma.data.normalize.BaseNormalize.rst │ │ ├── espaloma.data.normalize.DatasetLogNormalNormalize.rst │ │ ├── espaloma.data.normalize.DatasetNormalNormalize.rst │ │ ├── espaloma.data.normalize.ESOL100LogNormalNormalize.rst │ │ ├── espaloma.data.normalize.ESOL100NormalNormalize.rst │ │ ├── espaloma.data.normalize.NotNormalize.rst │ │ ├── espaloma.data.normalize.PositiveNotNormalize.rst │ │ ├── espaloma.data.normalize.rst │ │ ├── espaloma.data.qcarchive_utils.MolWithTargets.rst │ │ ├── espaloma.data.qcarchive_utils.breakdown_along_time_axis.rst │ │ ├── espaloma.data.qcarchive_utils.fetch_td_record.rst │ │ ├── espaloma.data.qcarchive_utils.get_client.rst │ │ ├── espaloma.data.qcarchive_utils.get_collection.rst │ │ ├── espaloma.data.qcarchive_utils.get_energy_and_gradient.rst │ │ ├── espaloma.data.qcarchive_utils.get_graph.rst │ │ ├── espaloma.data.qcarchive_utils.h5_to_dataset.rst │ │ ├── espaloma.data.qcarchive_utils.make_batch_size_consistent.rst │ │ ├── espaloma.data.qcarchive_utils.rst │ │ ├── espaloma.data.qcarchive_utils.weight_by_snapshots.rst │ │ ├── espaloma.data.rst │ │ ├── espaloma.data.utils.batch.rst │ │ ├── espaloma.data.utils.collate_fn.rst │ │ ├── espaloma.data.utils.from_csv.rst │ │ ├── espaloma.data.utils.infer_mol_from_coordinates.rst │ │ ├── espaloma.data.utils.make_temp_directory.rst │ │ ├── espaloma.data.utils.normalize.rst │ │ ├── espaloma.data.utils.rst │ │ ├── espaloma.data.utils.split.rst │ │ ├── espaloma.data.utils.sum_offsets.rst │ │ ├── espaloma.graphs.deploy.load_forcefield.rst │ │ ├── espaloma.graphs.deploy.openmm_system_from_graph.rst │ │ ├── espaloma.graphs.deploy.rst │ │ ├── espaloma.graphs.graph.BaseGraph.rst │ │ ├── espaloma.graphs.graph.Graph.rst │ │ ├── espaloma.graphs.graph.rst │ │ ├── espaloma.graphs.legacy_force_field.LegacyForceField.rst │ │ ├── espaloma.graphs.legacy_force_field.rst │ │ ├── espaloma.graphs.rst │ │ ├── espaloma.graphs.utils.offmol_indices.angle_indices.rst │ │ ├── espaloma.graphs.utils.offmol_indices.atom_indices.rst │ │ ├── espaloma.graphs.utils.offmol_indices.bond_indices.rst │ │ ├── espaloma.graphs.utils.offmol_indices.improper_torsion_indices.rst │ │ ├── espaloma.graphs.utils.offmol_indices.proper_torsion_indices.rst │ │ ├── espaloma.graphs.utils.offmol_indices.rst │ │ ├── espaloma.graphs.utils.read_heterogeneous_graph.duplicate_index_ordering.rst │ │ ├── espaloma.graphs.utils.read_heterogeneous_graph.from_homogeneous_and_mol.rst │ │ ├── espaloma.graphs.utils.read_heterogeneous_graph.relationship_indices_from_offmol.rst │ │ ├── espaloma.graphs.utils.read_heterogeneous_graph.rst │ │ ├── espaloma.graphs.utils.read_homogeneous_graph.fp_oe.rst │ │ ├── espaloma.graphs.utils.read_homogeneous_graph.fp_rdkit.rst │ │ ├── espaloma.graphs.utils.read_homogeneous_graph.from_oemol.rst │ │ ├── espaloma.graphs.utils.read_homogeneous_graph.from_openff_toolkit_mol.rst │ │ ├── espaloma.graphs.utils.read_homogeneous_graph.from_rdkit_mol.rst │ │ ├── espaloma.graphs.utils.read_homogeneous_graph.rst │ │ ├── espaloma.graphs.utils.rst │ │ ├── espaloma.mm.angle.angle_high.rst │ │ ├── espaloma.mm.angle.bond_angle.rst │ │ ├── espaloma.mm.angle.bond_bond.rst │ │ ├── espaloma.mm.angle.harmonic_angle.rst │ │ ├── espaloma.mm.angle.linear_mixture_angle.rst │ │ ├── espaloma.mm.angle.rst │ │ ├── espaloma.mm.angle.urey_bradley.rst │ │ ├── espaloma.mm.bond.bond_high.rst │ │ ├── espaloma.mm.bond.gaussian_bond.rst │ │ ├── espaloma.mm.bond.harmonic_bond.rst │ │ ├── espaloma.mm.bond.linear_mixture_bond.rst │ │ ├── espaloma.mm.bond.rst │ │ ├── espaloma.mm.energy.CarryII.rst │ │ ├── espaloma.mm.energy.EnergyInGraph.rst │ │ ├── espaloma.mm.energy.EnergyInGraphII.rst │ │ ├── espaloma.mm.energy.apply_angle.rst │ │ ├── espaloma.mm.energy.apply_angle_ii.rst │ │ ├── espaloma.mm.energy.apply_angle_linear_mixture.rst │ │ ├── espaloma.mm.energy.apply_bond.rst │ │ ├── espaloma.mm.energy.apply_bond_gaussian.rst │ │ ├── espaloma.mm.energy.apply_bond_ii.rst │ │ ├── espaloma.mm.energy.apply_bond_linear_mixture.rst │ │ ├── espaloma.mm.energy.apply_improper_torsion.rst │ │ ├── espaloma.mm.energy.apply_nonbonded.rst │ │ ├── espaloma.mm.energy.apply_torsion.rst │ │ ├── espaloma.mm.energy.apply_torsion_ii.rst │ │ ├── espaloma.mm.energy.energy_in_graph.rst │ │ ├── espaloma.mm.energy.energy_in_graph_ii.rst │ │ ├── espaloma.mm.energy.rst │ │ ├── espaloma.mm.functional.gaussian.rst │ │ ├── espaloma.mm.functional.harmonic.rst │ │ ├── espaloma.mm.functional.harmonic_harmonic_coupled.rst │ │ ├── espaloma.mm.functional.harmonic_harmonic_periodic_coupled.rst │ │ ├── espaloma.mm.functional.harmonic_periodic_coupled.rst │ │ ├── espaloma.mm.functional.linear_mixture.rst │ │ ├── espaloma.mm.functional.linear_mixture_to_original.rst │ │ ├── espaloma.mm.functional.lj.rst │ │ ├── espaloma.mm.functional.periodic.rst │ │ ├── espaloma.mm.functional.periodic_fixed_phases.rst │ │ ├── espaloma.mm.functional.rst │ │ ├── espaloma.mm.geometry.GeometryInGraph.rst │ │ ├── espaloma.mm.geometry.angle.rst │ │ ├── espaloma.mm.geometry.apply_angle.rst │ │ ├── espaloma.mm.geometry.apply_bond.rst │ │ ├── espaloma.mm.geometry.apply_torsion.rst │ │ ├── espaloma.mm.geometry.copy_src.rst │ │ ├── espaloma.mm.geometry.dihedral.rst │ │ ├── espaloma.mm.geometry.distance.rst │ │ ├── espaloma.mm.geometry.geometry_in_graph.rst │ │ ├── espaloma.mm.geometry.reduce_stack.rst │ │ ├── espaloma.mm.geometry.rst │ │ ├── espaloma.mm.nonbonded.arithmetic_mean.rst │ │ ├── espaloma.mm.nonbonded.geometric_mean.rst │ │ ├── espaloma.mm.nonbonded.lj_12_6.rst │ │ ├── espaloma.mm.nonbonded.lj_9_6.rst │ │ ├── espaloma.mm.nonbonded.lorentz_berthelot.rst │ │ ├── espaloma.mm.nonbonded.rst │ │ ├── espaloma.mm.rst │ │ ├── espaloma.mm.torsion.angle_angle.rst │ │ ├── espaloma.mm.torsion.angle_angle_torsion.rst │ │ ├── espaloma.mm.torsion.angle_torsion.rst │ │ ├── espaloma.mm.torsion.bond_torsion.rst │ │ ├── espaloma.mm.torsion.periodic_torsion.rst │ │ ├── espaloma.mm.torsion.rst │ │ ├── espaloma.nn.baselines.FreeParameterBaseline.rst │ │ ├── espaloma.nn.baselines.FreeParameterBaselineInitMean.rst │ │ ├── espaloma.nn.baselines.rst │ │ ├── espaloma.nn.layers.dgl_legacy.GN.rst │ │ ├── espaloma.nn.layers.dgl_legacy.rst │ │ ├── espaloma.nn.layers.rst │ │ ├── espaloma.nn.readout.base_readout.BaseReadout.rst │ │ ├── espaloma.nn.readout.base_readout.rst │ │ ├── espaloma.nn.readout.charge_equilibrium.ChargeEquilibrium.rst │ │ ├── espaloma.nn.readout.charge_equilibrium.get_charges.rst │ │ ├── espaloma.nn.readout.charge_equilibrium.rst │ │ ├── espaloma.nn.readout.graph_level_readout.GraphLevelReadout.rst │ │ ├── espaloma.nn.readout.graph_level_readout.rst │ │ ├── espaloma.nn.readout.janossy.ExpCoefficients.rst │ │ ├── espaloma.nn.readout.janossy.JanossyPooling.rst │ │ ├── espaloma.nn.readout.janossy.JanossyPoolingImproper.rst │ │ ├── espaloma.nn.readout.janossy.JanossyPoolingNonbonded.rst │ │ ├── espaloma.nn.readout.janossy.LinearMixtureToOriginal.rst │ │ ├── espaloma.nn.readout.janossy.rst │ │ ├── espaloma.nn.readout.node_typing.NodeTyping.rst │ │ ├── espaloma.nn.readout.node_typing.rst │ │ ├── espaloma.nn.readout.rst │ │ ├── espaloma.nn.rst │ │ ├── espaloma.nn.sequential.Sequential.rst │ │ └── espaloma.nn.sequential.rst │ ├── conf.py │ ├── deploy.rst │ ├── download_experiments.sh │ ├── experiments/ │ │ ├── index.rst │ │ ├── mm_fitting_small.rst │ │ ├── qm_fitting.rst │ │ └── typing.rst │ ├── index.rst │ ├── install.rst │ ├── make.bat │ └── qm_fitting.rst ├── espaloma/ │ ├── .py │ ├── __init__.py │ ├── _version.py │ ├── app/ │ │ ├── __init__.py │ │ ├── experiment.py │ │ ├── report.py │ │ ├── tests/ │ │ │ └── test_experiment.py │ │ ├── train.py │ │ ├── train_all_params.py │ │ ├── train_bonded_energy.py │ │ └── train_multi_typing.py │ ├── data/ │ │ ├── __init__.py │ │ ├── collection.py │ │ ├── dataset.py │ │ ├── md.py │ │ ├── md17_utils.py │ │ ├── normalize.py │ │ ├── off-mol_0_10_6.json │ │ ├── qcarchive_utils.py │ │ ├── tests/ │ │ │ ├── test_collection.py │ │ │ ├── test_dataset.py │ │ │ ├── test_md.py │ │ │ ├── test_normalize.py │ │ │ ├── test_qcarchive.py │ │ │ └── test_save_and_load.py │ │ └── utils.py │ ├── graphs/ │ │ ├── __init__.py │ │ ├── deploy.py │ │ ├── graph.py │ │ ├── legacy_force_field.py │ │ ├── tests/ │ │ │ ├── test_deploy.py │ │ │ ├── test_gaff_parametrize.py │ │ │ ├── test_graph.py │ │ │ └── test_smirnoff.py │ │ └── utils/ │ │ ├── __init__.py │ │ ├── offmol_indices.py │ │ ├── read_heterogeneous_graph.py │ │ ├── read_homogeneous_graph.py │ │ └── regenerate_impropers.py │ ├── metrics.py │ ├── mm/ │ │ ├── __init__.py │ │ ├── angle.py │ │ ├── bond.py │ │ ├── energy.py │ │ ├── functional.py │ │ ├── geometry.py │ │ ├── nonbonded.py │ │ ├── tests/ │ │ │ ├── system.xml │ │ │ ├── test_angle.py │ │ │ ├── test_angle_energy.py │ │ │ ├── test_bond_energy.py │ │ │ ├── test_charge_energy_consistency.py │ │ │ ├── test_charge_energy_consistency_hardcode.py │ │ │ ├── test_dihedral.py │ │ │ ├── test_distance.py │ │ │ ├── test_energy.py │ │ │ ├── test_energy_gaussian.py │ │ │ ├── test_energy_ii.py │ │ │ ├── test_geometry.py │ │ │ ├── test_linear_combination.py │ │ │ ├── test_openmm_consistency.py │ │ │ └── test_recoverability.py │ │ └── torsion.py │ ├── nn/ │ │ ├── __init__.py │ │ ├── baselines.py │ │ ├── layers/ │ │ │ ├── __init__.py │ │ │ └── dgl_legacy.py │ │ ├── readout/ │ │ │ ├── __init__.py │ │ │ ├── base_readout.py │ │ │ ├── charge_equilibrium.py │ │ │ ├── graph_level_readout.py │ │ │ ├── janossy.py │ │ │ └── node_typing.py │ │ ├── sequential.py │ │ └── tests/ │ │ ├── test_baseline.py │ │ ├── test_janossy.py │ │ └── test_simple_net.py │ ├── units.py │ └── utils/ │ ├── geometry.py │ ├── model_fetch.py │ └── tests/ │ └── test_model_fetch.py ├── requirements.txt ├── scripts/ │ ├── README.md │ └── perses-benchmark/ │ ├── README.md │ ├── espaloma-perses.export.yaml │ ├── espaloma-perses.yaml │ └── tyk2/ │ ├── README.md │ ├── espaloma-0.2.2/ │ │ ├── LSF-job-template.sh │ │ ├── README.md │ │ ├── benchmark_analysis.py │ │ ├── run_benchmarks.py │ │ └── template.yaml │ └── openff-1.2.0/ │ ├── LSF-job-template.sh │ ├── README.md │ ├── benchmark_analysis.py │ ├── run_benchmarks.py │ └── template.yaml ├── setup.cfg ├── setup.py └── versioneer.py