diff --git a/CHANGELOG.md b/CHANGELOG.md index 19c3201..3a75f87 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,21 +1,20 @@ Changelog ========= -[2026.2.0](https://github.com/openbiosim/ghostly/compare/2026.1.0...2026.2.0) - ******** -------------------------------------------------------------------------------------- +[2026.2.0](https://github.com/openbiosim/ghostly/compare/2026.1.0...2026.2.0) - Sep 2026 +---------------------------------------------------------------------------------------- -* Please add an item to this CHANGELOG for any new features or bug fixes when creating a PR. * Revert auto-zeroing of anchor dihedrals for ring-constrained immediate ghosts: a singly-attached ring still has one unconstrained rotational degree of freedom about the bridge-ghost bond, so removing the anchor reintroduces flapping risk. [2026.1.0](https://github.com/openbiosim/ghostly/compare/2025.2.0...2026.1.0) - Jun 2026 -------------------------------------------------------------------------------------- +---------------------------------------------------------------------------------------- * Add linear spacer modification for ring-breaking ghost bridges. * Fixed missing removal of bridge-extension dihedrals (`real–ghost–ghost–ghost`) that arise when a ghost group contains a ring, e.g. cyclopropyl, where the ring topology creates spurious torsional coupling between the real scaffold and the ghost ring interior. * Auto-zero anchor dihedrals when the immediate ghost atom lies on a ring within the ghost subgraph. The ring topology already constrains the ghost orientation relative to the bridge, making the anchor redundant. [2025.2.0](https://github.com/openbiosim/ghostly/compare/2025.1.0...2025.2.0) - Mar 2026 -------------------------------------------------------------------------------------- +---------------------------------------------------------------------------------------- * Ensure that there are independent, per-state, physical neighbours. This removes the spurious cross-state ghost filter that resulted in a downgrading of junction types when multiple junctions were present in the molecule. * Added a fallback for failed angle optimisation to ensure that the original equilibrium value is preserved when convergence fails. @@ -29,6 +28,6 @@ Changelog * Changed the default for ``--optimise-angles`` to ``False``. Angle optimisation is conformer-dependent: different input geometries can yield different equilibrium angles for the same perturbation, adding variability to the resulting force field. The original force field theta0 is sufficient given the small ``k_soft`` value. Optimisation can still be enabled explicitly to follow Boresch et al. (JCTC 2021) strictly. [2025.1.0](https://github.com/OpenBioSim/ghostly/releases/tag/2025.1.0) - Nov 2025 -------------------------------------------------------------------------------- +---------------------------------------------------------------------------------- * Initial public release. diff --git a/README.md b/README.md index 28ecfd8..e31c968 100644 --- a/README.md +++ b/README.md @@ -161,7 +161,7 @@ ghostly --system system.bss --log-level debug When finished, the program will output a [BioSimSpace](https://biosimspace.openbiosim.org) stream file for the perturbable molecule, or AMBER or GROMACS files for the two end states. The format can be specified using the the `--output-format` option. If you require input -for a free-energy perturbation simulation, e.g. a hybrid GROMACS toplogy file, the you can +for a free-energy perturbation simulation, e.g. a hybrid GROMACS topology file, then you can use the stream file with [BioSimSpace](https://biosimspace.openbiosim.org) to generate the required input files. Additionally, the program will output a JSON file summarising the modifications that were made. diff --git a/pixi.toml b/pixi.toml index 99e85f2..d6853ff 100644 --- a/pixi.toml +++ b/pixi.toml @@ -9,9 +9,9 @@ loguru = "*" [target.linux-64.dependencies] # main -biosimspace = ">=2026.1.0,<2026.2.0" +biosimspace = ">=2026.2.0,<2026.3.0" # devel -#biosimspace = "==2026.2.0.dev" +#biosimspace = "==2026.3.0.dev" [target.linux-aarch64.dependencies] # biosimspace/sire not available as conda packages on linux-aarch64; @@ -19,15 +19,15 @@ biosimspace = ">=2026.1.0,<2026.2.0" [target.osx-arm64.dependencies] # main -biosimspace = ">=2026.1.0,<2026.2.0" +biosimspace = ">=2026.2.0,<2026.3.0" # devel -#biosimspace = "==2026.2.0.dev" +#biosimspace = "==2026.3.0.dev" [target.win-64.dependencies] # main -biosimspace = ">=2026.1.0,<2026.2.0" +biosimspace = ">=2026.2.0,<2026.3.0" # devel -#biosimspace = "==2026.2.0.dev" +#biosimspace = "==2026.3.0.dev" [feature.test.dependencies] pytest = "*" diff --git a/recipes/ghostly/recipe.yaml b/recipes/ghostly/recipe.yaml index 61e0d9e..66f325e 100644 --- a/recipes/ghostly/recipe.yaml +++ b/recipes/ghostly/recipe.yaml @@ -21,9 +21,9 @@ requirements: - versioningit run: # main - - biosimspace >=2026.1.0,<2026.2.0 + - biosimspace >=2026.2.0,<2026.3.0 # devel - #- biosimspace ==2026.2.0.dev + #- biosimspace ==2026.3.0.dev - loguru - python @@ -31,6 +31,10 @@ tests: - python: imports: - ghostly + # AmberTools can be pulled in transitively, and installs tools into + # site-packages whose metadata still pins numpy <2, so 'pip check' + # fails even though nothing here uses them. + pip_check: false - script: - pytest -vvv --color=yes --import-mode=importlib ./tests files: diff --git a/src/ghostly/_ghostly.py b/src/ghostly/_ghostly.py index ba03534..21231fa 100644 --- a/src/ghostly/_ghostly.py +++ b/src/ghostly/_ghostly.py @@ -2584,14 +2584,6 @@ def _check_rotamer_anchors( which has a single minimum at phi = 0 (trans) and a barrier of 2k. - .. note:: - - Stiffening is not currently enabled. When wiring in, add - ``stiffen_rotamers`` and ``k_rotamer`` parameters to ``modify()`` - and expose them through the CLI. The ``modifications`` dict will - also need a ``"stiffened_dihedrals"`` key initialised to an empty - list for each end state. - Parameters ----------