Skip to content

Commit 6140253

Browse files
authored
Merge branch 'main' into 161-averaging-multimer
2 parents 71127da + 9087152 commit 6140253

19 files changed

Lines changed: 327 additions & 111 deletions

‎.github/renovate.json‎

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"extends": [
3+
"config:best-practices",
4+
":pinAllExceptPeerDependencies",
5+
":dependencyDashboard",
6+
"group:monorepos",
7+
"group:recommended"
8+
],
9+
"rangeStrategy": "pin",
10+
"lockFileMaintenance": {
11+
"enabled": true
12+
},
13+
"packageRules": [
14+
{
15+
"matchUpdateTypes": ["minor", "patch"],
16+
"automerge": false
17+
}
18+
]
19+
}
Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
---
2-
title: CI Failure: MDAnalysis v{{ env.MDA_VERSION }} / Python {{ env.PYTHON_VERSION }}
3-
labels: CI Failure, MDAnalysis Compatibility
2+
title: "CI Failure: MDAnalysis v{{ env.MDA_VERSION }} / Python {{ env.PYTHON_VERSION }}"
3+
labels:
4+
- "CI Failure"
5+
- "MDAnalysis Compatibility"
46
---
57

6-
### Automated MDAnalysis Compatibility Test Failure
7-
8-
**MDAnalysis version**: `{{ env.MDA_VERSION }}`
9-
**Python version**: `{{ env.PYTHON_VERSION }}`
10-
**Workflow Run**: [Run #{{ env.RUN_NUMBER }}]({{ env.RUN_URL }})
8+
Automated MDAnalysis Compatibility Test Failure
9+
MDAnalysis version: {{ env.MDA_VERSION }}
10+
Python version: {{ env.PYTHON_VERSION }}
11+
Workflow Run: [Run #{{ env.RUN_NUMBER }}]({{ env.RUN_URL }})
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: MDAnalysis Compatibility
2+
3+
on:
4+
schedule:
5+
- cron: '0 8 * * 1' # Weekly Monday checks
6+
workflow_dispatch:
7+
8+
jobs:
9+
mdanalysis-compatibility:
10+
name: MDAnalysis Compatibility Tests
11+
runs-on: ${{ matrix.os }}
12+
13+
strategy:
14+
matrix:
15+
os: [ubuntu-24.04, windows-2025, macos-15]
16+
python-version: ["3.11", "3.12", "3.13", "3.14"]
17+
mdanalysis-version: ["2.10.0"]
18+
19+
steps:
20+
- name: Checkout repo
21+
uses: actions/checkout@v6
22+
23+
- name: Set up Python ${{ matrix.python-version }}
24+
uses: actions/setup-python@v6.0.0
25+
with:
26+
python-version: ${{ matrix.python-version }}
27+
28+
- name: Install dependencies with MDAnalysis ${{ matrix.mdanalysis-version }}
29+
run: |
30+
pip install --upgrade pip
31+
pip install -e .[testing]
32+
pip install "MDAnalysis==${{ matrix.mdanalysis-version }}"
33+
34+
- name: Run compatibility tests
35+
run: pytest --cov CodeEntropy --cov-report=term-missing --cov-append
36+
37+
- name: Create Issue on Failure
38+
if: failure()
39+
uses: JasonEtco/create-an-issue@v2
40+
env:
41+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
42+
PYTHON_VERSION: ${{ matrix.python-version }}
43+
MDA_VERSION: ${{ matrix.mdanalysis-version }}
44+
RUN_NUMBER: ${{ github.run_number }}
45+
RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
46+
with:
47+
filename: .github/workflows/mdanalysis-compatibility-failure.md
48+
update_existing: true
49+
search_existing: open

‎.github/workflows/project-ci.yaml‎

Lines changed: 12 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,19 @@ on:
66
pull_request:
77
schedule:
88
- cron: '0 8 * * 1'
9-
9+
workflow_dispatch:
10+
1011
jobs:
1112
tests:
1213
name: Run tests
1314
runs-on: ${{ matrix.os }}
1415
strategy:
1516
matrix:
1617
os: [ubuntu-24.04, windows-2025, macos-15]
17-
python-version: ["3.11", "3.12", "3.13"]
18+
python-version: ["3.11", "3.12", "3.13", "3.14"]
1819
steps:
1920
- name: Checkout repo
20-
uses: actions/checkout@v5.0.0
21+
uses: actions/checkout@v6
2122

2223
- name: Set up Python ${{ matrix.python-version }}
2324
uses: actions/setup-python@v6.0.0
@@ -31,19 +32,19 @@ jobs:
3132
run: pytest --cov CodeEntropy --cov-report term-missing --cov-append .
3233

3334
- name: Coveralls GitHub Action
34-
uses: coverallsapp/github-action@v2.3.6
35+
uses: coverallsapp/github-action@v2.3.7
3536
with:
3637
github-token: ${{ secrets.GITHUB_TOKEN }}
3738

3839
docs:
3940
runs-on: ubuntu-latest
4041
timeout-minutes: 15
4142
steps:
42-
- uses: actions/checkout@v5.0.0
43-
- name: Set up Python 3.13
43+
- uses: actions/checkout@v6
44+
- name: Set up Python 3.14
4445
uses: actions/setup-python@v6.0.0
4546
with:
46-
python-version: 3.13
47+
python-version: 3.14
4748
- name: Install python dependencies
4849
run: |
4950
pip install --upgrade pip
@@ -55,61 +56,16 @@ jobs:
5556
runs-on: ubuntu-24.04
5657
timeout-minutes: 15
5758
steps:
58-
- uses: actions/checkout@v5.0.0
59-
- name: Set up Python 3.13
59+
- uses: actions/checkout@v6
60+
- name: Set up Python 3.14
6061
uses: actions/setup-python@v6.0.0
6162
with:
62-
python-version: 3.13
63+
python-version: 3.14
6364
- name: Install python dependencies
6465
run: |
6566
pip install --upgrade pip
6667
pip install -e .[pre-commit,docs,testing]
6768
- name: Run pre-commit
6869
run: |
6970
pre-commit install
70-
pre-commit run --all-files || ( git status --short ; git diff ; exit 1 )
71-
72-
mdanalysis-compatibility:
73-
if: github.event_name == 'schedule'
74-
runs-on: ubuntu-24.04
75-
timeout-minutes: 15
76-
strategy:
77-
matrix:
78-
python-version: ["3.11", "3.12", "3.13"]
79-
mdanalysis-version: ["2.9.0", "latest"]
80-
name: MDAnalysis Compatibility Tests
81-
steps:
82-
- name: Checkout repo
83-
uses: actions/checkout@v5.0.0
84-
85-
- name: Set up Python ${{ matrix.python-version }}
86-
uses: actions/setup-python@v6.0.0
87-
with:
88-
python-version: ${{ matrix.python-version }}
89-
90-
- name: Install dependencies with MDAnalysis ${{ matrix.mdanalysis-version }}
91-
run: |
92-
pip install --upgrade pip
93-
pip install -e .[testing]
94-
if [ "${{ matrix.mdanalysis-version }}" = "latest" ]; then
95-
pip install MDAnalysis
96-
else
97-
pip install "MDAnalysis==${{ matrix.mdanalysis-version }}"
98-
fi
99-
100-
- name: Run compatibility tests
101-
run: pytest --cov CodeEntropy --cov-report=term-missing --cov-append
102-
103-
- name: Create Issue on Failure
104-
if: failure()
105-
uses: JasonEtco/create-an-issue@v2
106-
env:
107-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
108-
PYTHON_VERSION: ${{ matrix.python-version }}
109-
MDA_VERSION: ${{ matrix.mdanalysis-version }}
110-
RUN_NUMBER: ${{ github.run_number }}
111-
RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
112-
with:
113-
filename: .github/workflows/mdanalysis-compatibility-failure.md
114-
update_existing: true
115-
search_existing: open
71+
pre-commit run --all-files || ( git status --short ; git diff ; exit 1 )

‎.github/workflows/release.yaml‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ jobs:
1818
steps:
1919
- name: Checkout repository
2020
id: repo
21-
uses: actions/checkout@v5.0.0
21+
uses: actions/checkout@v6
2222

2323
- name: Set up Python
2424
uses: actions/setup-python@v6.0.0
2525
with:
26-
python-version: 3.13
26+
python-version: 3.14
2727

2828
- name: Get latest release from pip
2929
id: latestreleased
@@ -46,7 +46,7 @@ jobs:
4646
steps:
4747

4848
- name: checkout
49-
uses: actions/checkout@v5.0.0
49+
uses: actions/checkout@v6
5050

5151
- name: Change version in repo and CITATION.cff
5252
run: |
@@ -95,7 +95,7 @@ jobs:
9595
runs-on: ubuntu-24.04
9696
steps:
9797
- name: Checkout repository
98-
uses: actions/checkout@v5.0.0
98+
uses: actions/checkout@v6
9999
with:
100100
ref: main
101101

@@ -113,7 +113,7 @@ jobs:
113113
steps:
114114

115115
- name: create release
116-
uses: softprops/action-gh-release@v2.4.1
116+
uses: softprops/action-gh-release@v2.4.2
117117
with:
118118
name: v${{ github.event.inputs.version }}
119119
generate_release_notes: true
@@ -126,14 +126,14 @@ jobs:
126126
steps:
127127

128128
- name: checkout
129-
uses: actions/checkout@v5.0.0
129+
uses: actions/checkout@v6
130130
with:
131131
ref: main
132132

133133
- name: Set up Python
134134
uses: actions/setup-python@v6.0.0
135135
with:
136-
python-version: 3.13
136+
python-version: 3.14
137137

138138
- name: Install flit
139139
run: |

‎.github/workflows/renovate.yaml‎

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Renovate
2+
3+
on:
4+
schedule:
5+
- cron: "0 8 * * *"
6+
workflow_dispatch:
7+
8+
jobs:
9+
renovate:
10+
runs-on: ubuntu-24.04
11+
concurrency:
12+
group: renovate
13+
cancel-in-progress: true
14+
15+
permissions:
16+
contents: write
17+
pull-requests: write
18+
issues: write
19+
20+
steps:
21+
- uses: actions/checkout@v6
22+
23+
- uses: renovatebot/github-action@v44.0.3
24+
with:
25+
token: ${{ secrets.RENOVATE_TOKEN }}
26+
env:
27+
RENOVATE_CONFIG_FILE: ".github/renovate.json"
28+
LOG_LEVEL: debug
29+
RENOVATE_REPOSITORIES: "CCPBioSim/CodeEntropy"

‎CITATION.cff‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,5 +76,5 @@ keywords:
7676
- biomolecular simulations
7777
- protein flexibility
7878
license: MIT
79-
version: 1.0.3
80-
date-released: '2025-09-29'
79+
version: 1.0.5
80+
date-released: '2025-11-18'

‎CodeEntropy/__init__.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,4 @@
88
and statistical mechanics.
99
"""
1010

11-
__version__ = "1.0.3"
11+
__version__ = "1.0.5"

‎CodeEntropy/config/arg_config_manager.py‎

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,22 @@
1212
"top_traj_file": {
1313
"type": str,
1414
"nargs": "+",
15-
"help": "Path to Structure/topology file followed by Trajectory file(s)",
15+
"help": "Path to structure/topology file followed by trajectory file",
16+
},
17+
"force_file": {
18+
"type": str,
19+
"default": None,
20+
"help": "Optional path to force file if forces are not in trajectory file",
21+
},
22+
"file_format": {
23+
"type": str,
24+
"default": None,
25+
"help": "String for file format as recognised by MDAnalysis",
26+
},
27+
"kcal_force_units": {
28+
"type": bool,
29+
"default": False,
30+
"help": "Set this to True if you have a separate force file with nonSI units.",
1631
},
1732
"force_file": {
1833
"type": str,
@@ -268,5 +283,5 @@ def _check_input_force_partitioning(self, args):
268283
if args.force_partitioning != default_value:
269284
logger.warning(
270285
f"'force_partitioning' is set to {args.force_partitioning},"
271-
" which differs from the default ({default_value})."
286+
f" which differs from the default {default_value}."
272287
)

‎CodeEntropy/entropy.py‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ def execute(self):
9797
)
9898

9999
reduced_atom, number_molecules, levels, groups = self._initialize_molecules()
100-
100+
logger.debug(f"Universe 3: {reduced_atom}")
101101
water_atoms = self._universe.select_atoms("water")
102102
water_resids = set(res.resid for res in water_atoms.residues)
103103

@@ -129,6 +129,7 @@ def execute(self):
129129
end,
130130
step,
131131
number_frames,
132+
self._args.force_partitioning,
132133
)
133134
)
134135

@@ -543,6 +544,7 @@ def _process_vibrational_entropy(
543544
"""
544545
# Find the relevant force and torque matrices and tidy them up
545546
# by removing rows and columns that are all zeros
547+
546548
force_matrix = self._level_manager.filter_zero_rows_columns(force_matrix)
547549

548550
torque_matrix = self._level_manager.filter_zero_rows_columns(torque_matrix)

0 commit comments

Comments
 (0)