This repository was archived by the owner on Mar 10, 2026. It is now read-only.
Conversation
… numerical stability
…d Dreiding potentials
…zation in MolecularSystem
…y in MolecularSystem
…ctor and update parameterization logic
…ulomb potential calculation
…ogen bond energy calculation
…trieving bonded neighbors
…lculate total energy
…alculate interaction energies
21 tasks
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR adds a new forcefield module and associated data files to support molecular energy calculation and parameter assignment.
- Introduces residue topology definitions for all standard amino acids in
topology.toml. - Adds two forcefield profiles (Lennard-Jones 12-6 and Buckingham exp-6) in TOML under
data/forcefield/. - Includes a series of
delta-rmsd-*.csvfiles for per-atom delta parameters across multiple RMSD cutoffs.
Reviewed Changes
Copilot reviewed 71 out of 72 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| data/topology/topology.toml | New residue atom/bond definitions for molecular system topology. |
| data/forcefield/dreiding-lennard-jones-12-6.toml | Lennard-Jones forcefield parameters and H-bond entries. |
| data/forcefield/dreiding-buckingham-exp-6.toml | Buckingham-exp-6 forcefield parameters and H-bond entries. |
| data/delta/delta-rmsd-*.csv | Multiple CSVs providing delta μ/σ for each atom at various cutoffs. |
Comments suppressed due to low confidence (1)
data/forcefield/dreiding-lennard-jones-12-6.toml:38
- The hydrogen type key 'H___b' uses a lowercase 'b' while other hydrogen types use uppercase letters (e.g., 'H___A'). Consider normalizing case to maintain consistency across ff_type naming.
H___b = { radius = 1.5975, well_depth = 0.0152 }
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary:
Introduces a complete
forcefieldmodule designed for molecular energy calculation and system parameterization. It includes a robust system for loading forcefield parameters from data files, aParameterizerto apply these settings to aMolecularSystem, and aScorerto calculate non-bonded interaction energies. This module establishes the core functionality for evaluating molecular interactions, enabling scoring, minimization, and future simulation tasks. It also includes the necessary parameter data files for a baseline forcefield implementation.Changes:
Created a Comprehensive Parameter System (
params.rs):VdwParam,HBondParam,ChargeParam,DeltaParam) to represent forcefield parameters, usingserdefor deserialization.Forcefield::loadto parse parameters from TOML (for non-bonded) and CSV (for charges, deltas, etc.) files.ParamLoadError) for file I/O and parsing issues.data/directory containing CSV files for charges, deltas, and other parameters.Implemented Core Energy Potentials (
potentials.rs):apply_flat_bottom_vdw,apply_flat_bottom_hbond) to handle thedeltaparameter.Developed an Energy Calculation Engine (
energy.rs):EnergyCalculatorto compute specific interaction energies (VDW, Coulomb, H-bond).Introduced a
Parameterizerfor System Setup (parameterization.rs):Parameterizerto apply a loadedForcefieldto aMolecularSystem.Provided a High-Level
ScorerAPI (scoring.rs):Scorerto calculate the total interaction energy (VDW, Coulomb, H-bond) between two distinct groups of atoms (e.g., a query and its environment).Scorercorrectly handles exclusion rules, such as ignoring intra-residue interactions.Enhanced Core Models and Utilities:
AtomFlagsbitflags from theAtommodel, simplifying its structure.get_bonded_neighborstoMolecularSystemfor efficient topology lookups.bond_angleutility function to the geometry module.