diff --git a/.github/workflows/daily.yaml b/.github/workflows/daily.yaml index 95db9c0d..79a5b4b0 100644 --- a/.github/workflows/daily.yaml +++ b/.github/workflows/daily.yaml @@ -11,14 +11,16 @@ concurrency: jobs: unit: - name: Unit (${{ matrix.os }}, ${{ matrix.python-version }}) + name: Unit (${{ matrix.os }}, py${{ matrix.python-version }}) runs-on: ${{ matrix.os }} timeout-minutes: 30 + strategy: fail-fast: false matrix: os: [ubuntu-24.04, macos-15, windows-2025] python-version: ["3.12", "3.13", "3.14"] + steps: - name: Checkout uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 @@ -29,10 +31,10 @@ jobs: python-version: ${{ matrix.python-version }} cache: pip - - name: Install (testing) + - name: Install testing dependencies run: | python -m pip install --upgrade pip python -m pip install -e .[testing] - - name: Pytest (unit) • ${{ matrix.os }} • py${{ matrix.python-version }} + - name: Run unit tests run: python -m pytest tests/unit diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 851026c3..96aaa0ce 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -17,12 +17,13 @@ jobs: matrix: os: [ubuntu-24.04, macos-15, windows-2025] python-version: ["3.12", "3.13", "3.14"] + steps: - name: Checkout - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 + uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 with: python-version: ${{ matrix.python-version }} cache: pip @@ -35,17 +36,50 @@ jobs: - name: Pytest (unit) • ${{ matrix.os }}, ${{ matrix.python-version }} run: python -m pytest tests/unit + discover-systems: + name: Discover regression systems + runs-on: ubuntu-24.04 + outputs: + systems: ${{ steps.set-systems.outputs.systems }} + + steps: + - name: Checkout + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 + + - name: Set up Python 3.14 + uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 + with: + python-version: "3.14" + cache: pip + + - name: Install testing dependencies + run: | + python -m pip install --upgrade pip + python -m pip install -e .[testing] + + - name: Discover systems + id: set-systems + run: | + SYSTEMS=$(python -m tests.regression.list_systems) + echo "systems=$SYSTEMS" >> $GITHUB_OUTPUT + regression-quick: - name: Regression (quick) - needs: unit + name: Regression (fast) • ${{ matrix.system }} + needs: [unit, discover-systems] runs-on: ubuntu-24.04 timeout-minutes: 35 + + strategy: + fail-fast: false + matrix: + system: ${{ fromJson(needs.discover-systems.outputs.systems) }} + steps: - name: Checkout - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 - name: Set up Python 3.14 - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 + uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 with: python-version: "3.14" cache: pip @@ -54,28 +88,31 @@ jobs: uses: actions/cache@v4 with: path: .testdata - key: codeentropy-testdata-v1-${{ runner.os }}-py3.14 + key: codeentropy-testdata-${{ runner.os }}-py314 - - name: Install (testing) + - name: Install testing dependencies run: | python -m pip install --upgrade pip python -m pip install -e .[testing] - - name: Pytest (regression quick) - run: python -m pytest tests/regression + - name: Run fast regression tests (per system) + run: | + python -m pytest tests/regression \ + -m "not slow" \ + -n auto \ + --dist=loadscope \ + -k "${{ matrix.system }}" \ + -vv \ + --durations=20 - name: Upload artifacts (failure) if: failure() uses: actions/upload-artifact@v4 with: - name: quick-regression-failure + name: quick-regression-failure-${{ matrix.system }} path: | .testdata/** - tests/regression/**/.pytest_cache/** - /tmp/pytest-of-*/pytest-*/**/config.yaml - /tmp/pytest-of-*/pytest-*/**/codeentropy_stdout.txt - /tmp/pytest-of-*/pytest-*/**/codeentropy_stderr.txt - /tmp/pytest-of-*/pytest-*/**/codeentropy_output.json + /tmp/pytest-of-*/pytest-*/** docs: name: Docs @@ -93,7 +130,7 @@ jobs: python-version: "3.14" cache: pip - - name: Install + - name: Install docs dependencies run: | python -m pip install --upgrade pip python -m pip install -e .[docs] @@ -114,23 +151,23 @@ jobs: name: Pre-commit runs-on: ubuntu-24.04 timeout-minutes: 15 + steps: - name: Checkout - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 - name: Set up Python 3.14 - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 + uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 with: python-version: "3.14" cache: pip - - name: Install (pre-commit) + - name: Install pre-commit dependencies run: | python -m pip install --upgrade pip python -m pip install -e .[pre-commit] - name: Run pre-commit - shell: bash run: | pre-commit install pre-commit run --all-files || { @@ -144,8 +181,9 @@ jobs: needs: unit runs-on: ubuntu-24.04 timeout-minutes: 30 + steps: - - name: Checkout repo + - name: Checkout uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 - name: Set up Python 3.14 @@ -154,12 +192,12 @@ jobs: python-version: "3.14" cache: pip - - name: Install (testing) + - name: Install testing dependencies run: | python -m pip install --upgrade pip python -m pip install -e .[testing] - - name: Run unit test suite with coverage + - name: Run coverage run: | pytest tests/unit \ --cov CodeEntropy \ @@ -167,7 +205,7 @@ jobs: --cov-report xml \ -q - - name: Upload to Coveralls + - name: Upload coverage to Coveralls uses: coverallsapp/github-action@5cbfd81b66ca5d10c19b062c04de0199c215fb6e with: github-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/weekly-regression.yaml b/.github/workflows/weekly-regression.yaml index fb6b26ee..5f4595be 100644 --- a/.github/workflows/weekly-regression.yaml +++ b/.github/workflows/weekly-regression.yaml @@ -2,7 +2,7 @@ name: Weekly Regression Tests on: schedule: - - cron: '0 8 * * 1' # Weekly Monday checks + - cron: '0 8 * * 1' workflow_dispatch: concurrency: @@ -10,42 +10,81 @@ concurrency: cancel-in-progress: true jobs: + discover: + name: Discover regression systems + runs-on: ubuntu-24.04 + + outputs: + systems: ${{ steps.set.outputs.systems }} + + steps: + - name: Checkout + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 + + - name: Set up Python 3.14 + uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 + with: + python-version: "3.14" + cache: pip + + - name: Install testing dependencies + run: | + python -m pip install --upgrade pip + python -m pip install -e .[testing] + + - name: Generate system matrix + id: set + run: | + systems=$(python -m tests.regression.list_systems) + echo "systems=$systems" >> $GITHUB_OUTPUT + regression: - name: Regression tests (including slow) + name: Regression (${{ matrix.system }}) + needs: discover runs-on: ubuntu-24.04 + timeout-minutes: 360 + + strategy: + fail-fast: false + matrix: + system: ${{ fromJson(needs.discover.outputs.systems) }} + steps: - - name: Checkout repo - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 + - name: Checkout + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 - name: Set up Python 3.14 - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 + uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 with: python-version: "3.14" cache: pip - - name: Cache regression test data downloads + - name: Cache regression test data uses: actions/cache@v4 with: path: .testdata key: codeentropy-testdata-${{ runner.os }}-py314 - - name: Install CodeEntropy and its testing dependencies + - name: Install testing dependencies run: | - pip install --upgrade pip - pip install -e .[testing] + python -m pip install --upgrade pip + python -m pip install -e .[testing] - - name: Run regression test suite - run: pytest tests/regression --run-slow + - name: Run regression tests (slow, per system) + run: | + pytest tests/regression \ + -k "${{ matrix.system }}" \ + --run-slow \ + -n auto \ + --dist=loadscope \ + -vv \ + --durations=20 - - name: Upload regression artifacts on failure + - name: Upload regression artifacts (failure) if: failure() uses: actions/upload-artifact@v4 with: - name: regression-failure-artifacts + name: regression-${{ matrix.system }}-artifacts path: | .testdata/** - tests/regression/**/.pytest_cache/** - /tmp/pytest-of-*/pytest-*/**/config.yaml - /tmp/pytest-of-*/pytest-*/**/codeentropy_stdout.txt - /tmp/pytest-of-*/pytest-*/**/codeentropy_stderr.txt - /tmp/pytest-of-*/pytest-*/**/codeentropy_output.json + /tmp/pytest-of-*/pytest-*/** diff --git a/.gitignore b/.gitignore index 20fa8d8f..089b0c31 100644 --- a/.gitignore +++ b/.gitignore @@ -129,4 +129,4 @@ job* .testdata/ !tests/regression/baselines/ -!tests/regression/baselines/*.json +!tests/regression/baselines/*/*.json diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml index 7104d80f..28af659e 100644 --- a/conda-recipe/meta.yaml +++ b/conda-recipe/meta.yaml @@ -38,6 +38,7 @@ requirements: - dask >=2026.1.2,<2026.2.0 - distributed >=2026.1.2,<2026.2.0 - dask-jobqueue >=0.9,<0.10 + - pytest-xdist >=3.8, <3.9 test: imports: diff --git a/docs/developer_guide.rst b/docs/developer_guide.rst index cb867ae6..edf1b4bf 100644 --- a/docs/developer_guide.rst +++ b/docs/developer_guide.rst @@ -54,7 +54,7 @@ Run regression tests excluding slow systems:: Run slow regression tests:: - pytest tests/regression -m slow + pytest tests/regression --run-slow Run tests with coverage:: diff --git a/pyproject.toml b/pyproject.toml index cfccdae5..d7b733c9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -61,7 +61,8 @@ Documentation = "https://codeentropy.readthedocs.io" testing = [ "pytest>=9.0,<10.0", "pytest-cov>=7.0,<8.0", - "pytest-sugar>=1.1,<2.0" + "pytest-sugar>=1.1,<2.0", + "pytest-xdist" ] pre-commit = [ "pre-commit>=4.5,<5.0", @@ -83,6 +84,16 @@ docs = [ [project.scripts] CodeEntropy = "CodeEntropy.cli:main" +[tool.pytest.ini_options] +testpaths = ["tests"] + +addopts = "-n auto -vv -ra" + +markers = [ + "regression: end-to-end regression tests against baselines", + "slow: long-running regression tests (20-30+ minutes)", +] + [tool.ruff] line-length = 88 target-version = "py311" diff --git a/tests/__init__.py b/tests/__init__.py index 2f065e73..bc68a398 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -1,4 +1 @@ -""" -Empty init file in case you choose a package besides PyTest such as Nose which may look -for such a file. -""" +""" """ diff --git a/tests/pytest.ini b/tests/pytest.ini deleted file mode 100644 index 64a89db8..00000000 --- a/tests/pytest.ini +++ /dev/null @@ -1,10 +0,0 @@ -[pytest] -testpaths = - unit - regression - -markers = - regression: end-to-end regression tests against baselines - slow: long-running regression tests (20-30+ minutes) - -addopts = -ra diff --git a/tests/regression/baselines/benzaldehyde/axes_off.json b/tests/regression/baselines/benzaldehyde/axes_off.json new file mode 100644 index 00000000..4437a2f5 --- /dev/null +++ b/tests/regression/baselines/benzaldehyde/axes_off.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-53/test_regression_matches_baseli0/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": false, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 0.08982962903796131, + "united_atom:Rovibrational": 32.16018134884085, + "residue:FTmat-Transvibrational": 88.7671666695003, + "residue:FTmat-Rovibrational": 61.61036267672132, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 7.791711490122748 + }, + "total": 190.41925181422317 + } + } +} diff --git a/tests/regression/baselines/benzaldehyde/combined_forcetorque_false.json b/tests/regression/baselines/benzaldehyde/combined_forcetorque_false.json new file mode 100644 index 00000000..33fecafd --- /dev/null +++ b/tests/regression/baselines/benzaldehyde/combined_forcetorque_false.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-53/test_regression_matches_baseli1/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": false, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 0.07119323721997475, + "united_atom:Rovibrational": 49.68669738152346, + "residue:Transvibrational": 69.48692941204929, + "residue:Rovibrational": 68.46147102540942, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 7.791711490122748 + }, + "total": 195.49800254632487 + } + } +} diff --git a/tests/regression/baselines/benzaldehyde.json b/tests/regression/baselines/benzaldehyde/default.json similarity index 61% rename from tests/regression/baselines/benzaldehyde.json rename to tests/regression/baselines/benzaldehyde/default.json index 9bd42510..b1d70cff 100644 --- a/tests/regression/baselines/benzaldehyde.json +++ b/tests/regression/baselines/benzaldehyde/default.json @@ -1,10 +1,10 @@ { "args": { "top_traj_file": [ - "/home/ogo12949/CodeEntropy/.testdata/benzaldehyde/molecules.top", - "/home/ogo12949/CodeEntropy/.testdata/benzaldehyde/trajectory.crd" + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/trajectory.crd" ], - "force_file": "/home/ogo12949/CodeEntropy/.testdata/benzaldehyde/forces.frc", + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/forces.frc", "file_format": "MDCRD", "kcal_force_units": true, "selection_string": "all", @@ -14,7 +14,7 @@ "bin_width": 30, "temperature": 298.0, "verbose": false, - "output_file": "/tmp/pytest-of-ogo12949/pytest-5/test_regression_matches_baseli1/job001/output_file.json", + "output_file": "/tmp/pytest-of-harry-swift/pytest-53/test_regression_matches_baseli2/job001/output_file.json", "force_partitioning": 0.5, "water_entropy": true, "grouping": "molecules", @@ -23,10 +23,10 @@ "search_type": "grid" }, "provenance": { - "python": "3.13.5", - "platform": "Linux-6.17.0-1012-oem-x86_64-with-glibc2.39", - "codeentropy_version": "2.0.0", - "git_sha": "697cc5da0af766f2f69b0fa31254f2ce7b2b1141" + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" }, "groups": { "0": { diff --git a/tests/regression/baselines/benzaldehyde/frame_window.json b/tests/regression/baselines/benzaldehyde/frame_window.json new file mode 100644 index 00000000..a9f6aa56 --- /dev/null +++ b/tests/regression/baselines/benzaldehyde/frame_window.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 5, + "step": 2, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-53/test_regression_matches_baseli3/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 40.30267601961045, + "united_atom:Rovibrational": 38.21906858443615, + "residue:FTmat-Transvibrational": 73.41098578352612, + "residue:FTmat-Rovibrational": 57.881504393660364, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 7.791711490122748 + }, + "total": 217.60594627135583 + } + } +} diff --git a/tests/regression/baselines/benzaldehyde/grouping_each.json b/tests/regression/baselines/benzaldehyde/grouping_each.json new file mode 100644 index 00000000..58b08b2d --- /dev/null +++ b/tests/regression/baselines/benzaldehyde/grouping_each.json @@ -0,0 +1,153 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-53/test_regression_matches_baseli4/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "each", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.062499436482478445, + "residue:FTmat-Transvibrational": 16.83857036769833, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 9.587915463990273 + }, + "total": 26.488985268171085 + }, + "1": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.04214874235319735, + "residue:FTmat-Transvibrational": 9.439228173427328, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 9.481376915780524 + }, + "2": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.0022147884278620462, + "residue:FTmat-Transvibrational": 17.449372254125862, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 13.250255095331166 + }, + "total": 30.70184213788489 + }, + "3": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 138.65701144028458, + "residue:FTmat-Transvibrational": 15.803976930845373, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 154.46098837112996 + }, + "4": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.003874883925216773, + "residue:FTmat-Transvibrational": 23.899916844406114, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 23.90379172833133 + }, + "5": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.010824819910336835, + "residue:FTmat-Transvibrational": 11.05479779559611, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 23.16437388578126 + }, + "total": 34.22999650128771 + }, + "6": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.00018982532508837594, + "residue:FTmat-Transvibrational": 19.723925127490933, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 18.044518549147842 + }, + "total": 37.76863350196386 + }, + "7": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.004033941970593011, + "residue:FTmat-Transvibrational": 18.90676882142135, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 18.910802763391942 + }, + "8": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.020362757918507005, + "residue:FTmat-Transvibrational": 16.13204209116967, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 10.453350878685521 + }, + "total": 26.605755727773698 + }, + "9": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 138.65525900218074, + "residue:FTmat-Transvibrational": 21.42548529236268, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 160.08074429454342 + } + } +} diff --git a/tests/regression/baselines/benzaldehyde/rad.json b/tests/regression/baselines/benzaldehyde/rad.json new file mode 100644 index 00000000..8b8dea12 --- /dev/null +++ b/tests/regression/baselines/benzaldehyde/rad.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "all", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-53/test_regression_matches_baseli5/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "RAD" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "4d39e9aeeed72fc3993f4a4eb6485da40524ebc5" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 24.88518233240474, + "united_atom:Rovibrational": 27.950376507672583, + "residue:FTmat-Transvibrational": 71.03412922724692, + "residue:FTmat-Rovibrational": 59.44169664956799, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 25.3107189764825 + }, + "total": 208.62210369337473 + } + } +} diff --git a/tests/regression/baselines/benzaldehyde/selection_subset.json b/tests/regression/baselines/benzaldehyde/selection_subset.json new file mode 100644 index 00000000..ee4b3fa5 --- /dev/null +++ b/tests/regression/baselines/benzaldehyde/selection_subset.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-53/test_regression_matches_baseli6/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "4d39e9aeeed72fc3993f4a4eb6485da40524ebc5" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 0.07119323721997475, + "united_atom:Rovibrational": 49.68669738152346, + "residue:FTmat-Transvibrational": 87.43527331108173, + "residue:FTmat-Rovibrational": 61.67126452972779, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 7.791711490122748 + }, + "total": 206.65613994967572 + } + } +} diff --git a/tests/regression/baselines/benzaldehyde_rad.json b/tests/regression/baselines/benzaldehyde_rad.json deleted file mode 100644 index 84070952..00000000 --- a/tests/regression/baselines/benzaldehyde_rad.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "args": { - "top_traj_file": [ - "/home/ogo12949/CodeEntropy/.testdata/benzaldehyde/molecules.top", - "/home/ogo12949/CodeEntropy/.testdata/benzaldehyde/trajectory.crd" - ], - "force_file": "/home/ogo12949/CodeEntropy/.testdata/benzaldehyde/forces.frc", - "file_format": "MDCRD", - "kcal_force_units": false, - "selection_string": "all", - "start": 0, - "end": 1, - "step": 1, - "bin_width": 30, - "temperature": 298.0, - "verbose": false, - "output_file": "/tmp/pytest-of-ogo12949/pytest-1/test_regression_matches_baseli1/job001/output_file.json", - "force_partitioning": 0.5, - "water_entropy": true, - "grouping": "molecules", - "combined_forcetorque": true, - "customised_axes": true, - "search_type": "RAD" - }, - "provenance": { - "python": "3.13.5", - "platform": "Linux-6.17.0-1012-oem-x86_64-with-glibc2.39", - "codeentropy_version": "2.0.0", - "git_sha": "3143bcbea9717e13135f61c00e6a0efa7814f82f" - }, - "groups": { - "0": { - "components": { - "united_atom:Transvibrational": 158.90339720185818, - "united_atom:Rovibrational": 143.87250586343512, - "residue:FTmat-Transvibrational": 106.71035236014967, - "residue:FTmat-Rovibrational": 95.07735227595549, - "united_atom:Conformational": 0.0, - "residue:Conformational": 0.0, - "residue:Orientational": 25.3107189764825 - }, - "total": 529.874326677881 - } - } -} diff --git a/tests/regression/baselines/benzene/axes_off.json b/tests/regression/baselines/benzene/axes_off.json new file mode 100644 index 00000000..a70a4cca --- /dev/null +++ b/tests/regression/baselines/benzene/axes_off.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzene/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzene/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzene/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-50/test_regression_matches_baseli0/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": false, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 0.17824017761231503, + "united_atom:Rovibrational": 37.12706256545503, + "residue:FTmat-Transvibrational": 76.8200637641939, + "residue:FTmat-Rovibrational": 47.171663134129304, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 1.1255349480631325 + }, + "total": 162.42256458945369 + } + } +} diff --git a/tests/regression/baselines/benzene/combined_forcetorque_off.json b/tests/regression/baselines/benzene/combined_forcetorque_off.json new file mode 100644 index 00000000..5b264d2c --- /dev/null +++ b/tests/regression/baselines/benzene/combined_forcetorque_off.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzene/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzene/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzene/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-50/test_regression_matches_baseli1/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": false, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 0.16311383522946216, + "united_atom:Rovibrational": 40.695812407899396, + "residue:Transvibrational": 57.59675197041957, + "residue:Rovibrational": 52.85496348419672, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 1.1255349480631325 + }, + "total": 152.43617664580827 + } + } +} diff --git a/tests/regression/baselines/benzene.json b/tests/regression/baselines/benzene/default.json similarity index 61% rename from tests/regression/baselines/benzene.json rename to tests/regression/baselines/benzene/default.json index 488248b5..68b17b2a 100644 --- a/tests/regression/baselines/benzene.json +++ b/tests/regression/baselines/benzene/default.json @@ -1,10 +1,10 @@ { "args": { "top_traj_file": [ - "/home/ogo12949/CodeEntropy/.testdata/benzene/molecules.top", - "/home/ogo12949/CodeEntropy/.testdata/benzene/trajectory.crd" + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzene/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzene/trajectory.crd" ], - "force_file": "/home/ogo12949/CodeEntropy/.testdata/benzene/forces.frc", + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzene/forces.frc", "file_format": "MDCRD", "kcal_force_units": true, "selection_string": "all", @@ -14,7 +14,7 @@ "bin_width": 30, "temperature": 298.0, "verbose": false, - "output_file": "/tmp/pytest-of-ogo12949/pytest-5/test_regression_matches_baseli2/job001/output_file.json", + "output_file": "/tmp/pytest-of-harry-swift/pytest-50/test_regression_matches_baseli2/job001/output_file.json", "force_partitioning": 0.5, "water_entropy": true, "grouping": "molecules", @@ -23,10 +23,10 @@ "search_type": "grid" }, "provenance": { - "python": "3.13.5", - "platform": "Linux-6.17.0-1012-oem-x86_64-with-glibc2.39", - "codeentropy_version": "2.0.0", - "git_sha": "697cc5da0af766f2f69b0fa31254f2ce7b2b1141" + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" }, "groups": { "0": { diff --git a/tests/regression/baselines/benzene/frame_window.json b/tests/regression/baselines/benzene/frame_window.json new file mode 100644 index 00000000..191bd676 --- /dev/null +++ b/tests/regression/baselines/benzene/frame_window.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzene/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzene/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzene/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 5, + "step": 2, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-50/test_regression_matches_baseli3/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 11.46552036084548, + "united_atom:Rovibrational": 34.98492056748493, + "residue:FTmat-Transvibrational": 71.83491878606151, + "residue:FTmat-Rovibrational": 55.6098400281744, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 1.1255349480631325 + }, + "total": 175.02073469062944 + } + } +} diff --git a/tests/regression/baselines/benzene/grouping_each.json b/tests/regression/baselines/benzene/grouping_each.json new file mode 100644 index 00000000..3c5a91f8 --- /dev/null +++ b/tests/regression/baselines/benzene/grouping_each.json @@ -0,0 +1,153 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzene/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzene/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzene/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-0/test_regression_matches_baseli0/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "each", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "40e8a36db44df29720dfc6783865ec87de6ee120" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.001760679467943202, + "residue:FTmat-Transvibrational": 19.14539159233644, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 19.147152271804384 + }, + "1": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.010093246924291187, + "residue:FTmat-Transvibrational": 15.27551568157708, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 9.716642731179457 + }, + "total": 25.00225165968083 + }, + "2": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.07511923174012403, + "residue:FTmat-Transvibrational": 20.327785240055736, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 20.40290447179586 + }, + "3": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.0038209327718877325, + "residue:FTmat-Transvibrational": 9.934141461042111, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 9.937962393813999 + }, + "4": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.026349364088976555, + "residue:FTmat-Transvibrational": 7.206801915761131, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 5.804802962268455 + }, + "total": 13.037954242118563 + }, + "5": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.0015259047993877776, + "residue:FTmat-Transvibrational": 8.539848138171388, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 6.519123559451743 + }, + "total": 15.060497602422519 + }, + "6": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.0034710297151557107, + "residue:FTmat-Transvibrational": 15.469059953010003, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 1.1102416417044547 + }, + "total": 16.582772624429612 + }, + "7": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.004204931339708972, + "residue:FTmat-Transvibrational": 7.333010865090827, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 7.337215796430536 + }, + "8": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.0006818502219972305, + "residue:FTmat-Transvibrational": 22.685475655857566, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 4.476183988092513 + }, + "total": 27.162341494172075 + }, + "9": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.004115086801073575, + "residue:FTmat-Transvibrational": 5.894912294581263, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 5.899027381382337 + } + } +} diff --git a/tests/regression/baselines/benzene/rad.json b/tests/regression/baselines/benzene/rad.json new file mode 100644 index 00000000..521ebc10 --- /dev/null +++ b/tests/regression/baselines/benzene/rad.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzene/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzene/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzene/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "all", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-50/test_regression_matches_baseli5/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "RAD" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "4d39e9aeeed72fc3993f4a4eb6485da40524ebc5" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 9.081853431559052, + "united_atom:Rovibrational": 27.534380126250227, + "residue:FTmat-Transvibrational": 72.66211800013413, + "residue:FTmat-Rovibrational": 59.93761874375924, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 12.282076945243183 + }, + "total": 181.49804724694582 + } + } +} diff --git a/tests/regression/baselines/benzene/selection_subset.json b/tests/regression/baselines/benzene/selection_subset.json new file mode 100644 index 00000000..81cce2f5 --- /dev/null +++ b/tests/regression/baselines/benzene/selection_subset.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzene/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzene/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzene/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-50/test_regression_matches_baseli6/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "4d39e9aeeed72fc3993f4a4eb6485da40524ebc5" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 0.16311383522946216, + "united_atom:Rovibrational": 40.695812407899396, + "residue:FTmat-Transvibrational": 71.15771063929333, + "residue:FTmat-Rovibrational": 47.26253953880574, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 1.1255349480631325 + }, + "total": 160.40471136929105 + } + } +} diff --git a/tests/regression/baselines/benzene_rad.json b/tests/regression/baselines/benzene_rad.json deleted file mode 100644 index 7b5e159f..00000000 --- a/tests/regression/baselines/benzene_rad.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "args": { - "top_traj_file": [ - "/home/ogo12949/CodeEntropy/.testdata/benzene/molecules.top", - "/home/ogo12949/CodeEntropy/.testdata/benzene/trajectory.crd" - ], - "force_file": "/home/ogo12949/CodeEntropy/.testdata/benzene/forces.frc", - "file_format": "MDCRD", - "kcal_force_units": false, - "selection_string": "all", - "start": 0, - "end": 1, - "step": 1, - "bin_width": 30, - "temperature": 298.0, - "verbose": false, - "output_file": "/tmp/pytest-of-ogo12949/pytest-1/test_regression_matches_baseli2/job001/output_file.json", - "force_partitioning": 0.5, - "water_entropy": true, - "grouping": "molecules", - "combined_forcetorque": true, - "customised_axes": true, - "search_type": "RAD" - }, - "provenance": { - "python": "3.13.5", - "platform": "Linux-6.17.0-1012-oem-x86_64-with-glibc2.39", - "codeentropy_version": "2.0.0", - "git_sha": "3143bcbea9717e13135f61c00e6a0efa7814f82f" - }, - "groups": { - "0": { - "components": { - "united_atom:Transvibrational": 93.55450341182438, - "united_atom:Rovibrational": 143.68264201362132, - "residue:FTmat-Transvibrational": 108.34125737284016, - "residue:FTmat-Rovibrational": 95.57598285903227, - "united_atom:Conformational": 0.0, - "residue:Conformational": 0.0, - "residue:Orientational": 12.282076945243183 - }, - "total": 453.43646260256133 - } - } -} diff --git a/tests/regression/baselines/cyclohexane/axes_off.json b/tests/regression/baselines/cyclohexane/axes_off.json new file mode 100644 index 00000000..ffa61e5d --- /dev/null +++ b/tests/regression/baselines/cyclohexane/axes_off.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/cyclohexane/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/cyclohexane/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/cyclohexane/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-45/test_regression_matches_baseli0/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": false, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 0.6825851535582973, + "united_atom:Rovibrational": 22.069351988995066, + "residue:FTmat-Transvibrational": 85.12666483486655, + "residue:FTmat-Rovibrational": 61.14255319533254, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 169.02115517275246 + } + } +} diff --git a/tests/regression/baselines/cyclohexane/combined_forcetorque_off.json b/tests/regression/baselines/cyclohexane/combined_forcetorque_off.json new file mode 100644 index 00000000..41706214 --- /dev/null +++ b/tests/regression/baselines/cyclohexane/combined_forcetorque_off.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/cyclohexane/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/cyclohexane/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/cyclohexane/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-45/test_regression_matches_baseli1/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": false, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 0.5949308536734588, + "united_atom:Rovibrational": 24.234154676578637, + "residue:Transvibrational": 69.9872567772153, + "residue:Rovibrational": 68.68521019685565, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 163.50155250432303 + } + } +} diff --git a/tests/regression/baselines/cyclohexane.json b/tests/regression/baselines/cyclohexane/default.json similarity index 61% rename from tests/regression/baselines/cyclohexane.json rename to tests/regression/baselines/cyclohexane/default.json index eabf7d83..6580e9b2 100644 --- a/tests/regression/baselines/cyclohexane.json +++ b/tests/regression/baselines/cyclohexane/default.json @@ -1,10 +1,10 @@ { "args": { "top_traj_file": [ - "/home/ogo12949/CodeEntropy/.testdata/cyclohexane/molecules.top", - "/home/ogo12949/CodeEntropy/.testdata/cyclohexane/trajectory.crd" + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/cyclohexane/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/cyclohexane/trajectory.crd" ], - "force_file": "/home/ogo12949/CodeEntropy/.testdata/cyclohexane/forces.frc", + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/cyclohexane/forces.frc", "file_format": "MDCRD", "kcal_force_units": true, "selection_string": "all", @@ -14,7 +14,7 @@ "bin_width": 30, "temperature": 298.0, "verbose": false, - "output_file": "/tmp/pytest-of-ogo12949/pytest-5/test_regression_matches_baseli3/job001/output_file.json", + "output_file": "/tmp/pytest-of-harry-swift/pytest-45/test_regression_matches_baseli2/job001/output_file.json", "force_partitioning": 0.5, "water_entropy": true, "grouping": "molecules", @@ -23,10 +23,10 @@ "search_type": "grid" }, "provenance": { - "python": "3.13.5", - "platform": "Linux-6.17.0-1012-oem-x86_64-with-glibc2.39", - "codeentropy_version": "2.0.0", - "git_sha": "697cc5da0af766f2f69b0fa31254f2ce7b2b1141" + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" }, "groups": { "0": { diff --git a/tests/regression/baselines/cyclohexane/frame_window.json b/tests/regression/baselines/cyclohexane/frame_window.json new file mode 100644 index 00000000..819082e4 --- /dev/null +++ b/tests/regression/baselines/cyclohexane/frame_window.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/cyclohexane/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/cyclohexane/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/cyclohexane/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 5, + "step": 2, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-45/test_regression_matches_baseli3/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 17.398382397359153, + "united_atom:Rovibrational": 73.96792995794405, + "residue:FTmat-Transvibrational": 76.4267996157354, + "residue:FTmat-Rovibrational": 63.30469126284744, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 231.09780323388605 + } + } +} diff --git a/tests/regression/baselines/cyclohexane/grouping_each.json b/tests/regression/baselines/cyclohexane/grouping_each.json new file mode 100644 index 00000000..46acbee8 --- /dev/null +++ b/tests/regression/baselines/cyclohexane/grouping_each.json @@ -0,0 +1,153 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/cyclohexane/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/cyclohexane/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/cyclohexane/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-45/test_regression_matches_baseli4/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "each", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.0010533914066148877, + "residue:FTmat-Transvibrational": 13.254094261168165, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 13.25514765257478 + }, + "1": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.006057157987386287, + "residue:FTmat-Transvibrational": 15.132575979975469, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 15.138633137962856 + }, + "2": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.00010095873425357108, + "residue:FTmat-Transvibrational": 19.65885364120911, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 19.658954599943364 + }, + "3": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.0037293322355179776, + "residue:FTmat-Transvibrational": 11.234013572018538, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 11.237742904254056 + }, + "4": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.0007550734967943642, + "residue:FTmat-Transvibrational": 18.70372633557293, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 18.704481409069725 + }, + "5": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.02179378230989012, + "residue:FTmat-Transvibrational": 11.909227365464751, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 11.931021147774642 + }, + "6": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.0027492054614669612, + "residue:FTmat-Transvibrational": 17.43511242811532, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 17.437861633576787 + }, + "7": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.007825221576786185, + "residue:FTmat-Transvibrational": 14.390570450399677, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 14.398395671976463 + }, + "8": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.00022218804178093966, + "residue:FTmat-Transvibrational": 15.08891414424032, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 15.0891363322821 + }, + "9": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.015106344919667631, + "residue:FTmat-Transvibrational": 15.248584501782126, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 15.263690846701794 + } + } +} diff --git a/tests/regression/baselines/cyclohexane/rad.json b/tests/regression/baselines/cyclohexane/rad.json new file mode 100644 index 00000000..4ee61d76 --- /dev/null +++ b/tests/regression/baselines/cyclohexane/rad.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/cyclohexane/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/cyclohexane/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/cyclohexane/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "all", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-45/test_regression_matches_baseli5/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "RAD" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "4d39e9aeeed72fc3993f4a4eb6485da40524ebc5" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 11.726471858700231, + "united_atom:Rovibrational": 47.71088602161552, + "residue:FTmat-Transvibrational": 70.3922327806972, + "residue:FTmat-Rovibrational": 63.44920824648768, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 13.963860657362106 + }, + "total": 207.24265956486275 + } + } +} diff --git a/tests/regression/baselines/cyclohexane/selection_subset.json b/tests/regression/baselines/cyclohexane/selection_subset.json new file mode 100644 index 00000000..86332b26 --- /dev/null +++ b/tests/regression/baselines/cyclohexane/selection_subset.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/cyclohexane/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/cyclohexane/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/cyclohexane/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-45/test_regression_matches_baseli6/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "4d39e9aeeed72fc3993f4a4eb6485da40524ebc5" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 0.5949308536734588, + "united_atom:Rovibrational": 24.234154676578637, + "residue:FTmat-Transvibrational": 84.37184730911717, + "residue:FTmat-Rovibrational": 59.52377096811085, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 168.72470380748013 + } + } +} diff --git a/tests/regression/baselines/cylcohexane_rad.json b/tests/regression/baselines/cylcohexane_rad.json deleted file mode 100644 index 928da296..00000000 --- a/tests/regression/baselines/cylcohexane_rad.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "args": { - "top_traj_file": [ - "/home/ogo12949/CodeEntropy/.testdata/cyclohexane/molecules.top", - "/home/ogo12949/CodeEntropy/.testdata/cyclohexane/trajectory.crd" - ], - "force_file": "/home/ogo12949/CodeEntropy/.testdata/cyclohexane/forces.frc", - "file_format": "MDCRD", - "kcal_force_units": false, - "selection_string": "all", - "start": 0, - "end": 1, - "step": 1, - "bin_width": 30, - "temperature": 298.0, - "verbose": false, - "output_file": "/tmp/pytest-of-ogo12949/pytest-1/test_regression_matches_baseli3/job001/output_file.json", - "force_partitioning": 0.5, - "water_entropy": true, - "grouping": "molecules", - "combined_forcetorque": true, - "customised_axes": true, - "search_type": "RAD" - }, - "provenance": { - "python": "3.13.5", - "platform": "Linux-6.17.0-1012-oem-x86_64-with-glibc2.39", - "codeentropy_version": "2.0.0", - "git_sha": "3143bcbea9717e13135f61c00e6a0efa7814f82f" - }, - "groups": { - "0": { - "components": { - "united_atom:Transvibrational": 109.02761125847158, - "united_atom:Rovibrational": 227.2888326629934, - "residue:FTmat-Transvibrational": 106.06698045971194, - "residue:FTmat-Rovibrational": 99.10449330958527, - "united_atom:Conformational": 0.0, - "residue:Conformational": 0.0, - "residue:Orientational": 13.963860657362106 - }, - "total": 555.4517783481243 - } - } -} diff --git a/tests/regression/baselines/dna/axes_off.json b/tests/regression/baselines/dna/axes_off.json new file mode 100644 index 00000000..e130d0ed --- /dev/null +++ b/tests/regression/baselines/dna/axes_off.json @@ -0,0 +1,61 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/dna/md_A4_dna.tpr", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/dna/md_A4_dna_xf.trr" + ], + "force_file": null, + "file_format": null, + "kcal_force_units": false, + "selection_string": "resid 1:10", + "start": 0, + "end": 5, + "step": 2, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-44/test_regression_matches_baseli0/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": false, + "search_type": "RAD" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 1.2269044878385265, + "residue:Transvibrational": 0.0, + "residue:Rovibrational": 27.45710747332319, + "polymer:FTmat-Transvibrational": 48.62026970762269, + "polymer:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 7.0411434528236345, + "residue:Conformational": 0.0, + "polymer:Orientational": 4.758905336627712 + }, + "total": 89.10433045823575 + }, + "1": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 1.7972774672527945, + "residue:Transvibrational": 0.0, + "residue:Rovibrational": 25.287669468441067, + "polymer:FTmat-Transvibrational": 60.47397935339153, + "polymer:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 6.410455987098191, + "residue:Conformational": 0.46183561256411515, + "polymer:Orientational": 4.758905336627712 + }, + "total": 99.1901232253754 + } + } +} diff --git a/tests/regression/baselines/dna/combined_forcetorque_off.json b/tests/regression/baselines/dna/combined_forcetorque_off.json new file mode 100644 index 00000000..aa5253da --- /dev/null +++ b/tests/regression/baselines/dna/combined_forcetorque_off.json @@ -0,0 +1,61 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/dna/md_A4_dna.tpr", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/dna/md_A4_dna_xf.trr" + ], + "force_file": null, + "file_format": null, + "kcal_force_units": false, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-44/test_regression_matches_baseli1/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": false, + "customised_axes": true, + "search_type": "RAD" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.002160679012128457, + "residue:Transvibrational": 0.0, + "residue:Rovibrational": 3.376800684085249, + "polymer:Transvibrational": 21.18266215491188, + "polymer:Rovibrational": 12.837576042626923, + "united_atom:Conformational": 7.0411434528236345, + "residue:Conformational": 0.0, + "polymer:Orientational": 4.758905336627712 + }, + "total": 49.19924835008753 + }, + "1": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.01846427765949586, + "residue:Transvibrational": 0.0, + "residue:Rovibrational": 2.3863201082544565, + "polymer:Transvibrational": 16.607667396609116, + "polymer:Rovibrational": 12.304363914795593, + "united_atom:Conformational": 6.410455987098191, + "residue:Conformational": 0.46183561256411515, + "polymer:Orientational": 4.758905336627712 + }, + "total": 42.94801263360868 + } + } +} diff --git a/tests/regression/baselines/dna.json b/tests/regression/baselines/dna/default.json similarity index 77% rename from tests/regression/baselines/dna.json rename to tests/regression/baselines/dna/default.json index 40d0fd35..4f1cf692 100644 --- a/tests/regression/baselines/dna.json +++ b/tests/regression/baselines/dna/default.json @@ -1,8 +1,8 @@ { "args": { "top_traj_file": [ - "/home/ogo12949/CodeEntropy/.testdata/dna/md_A4_dna.tpr", - "/home/ogo12949/CodeEntropy/.testdata/dna/md_A4_dna_xf.trr" + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/dna/md_A4_dna.tpr", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/dna/md_A4_dna_xf.trr" ], "force_file": null, "file_format": null, @@ -14,7 +14,7 @@ "bin_width": 30, "temperature": 298.0, "verbose": false, - "output_file": "/tmp/pytest-of-ogo12949/pytest-5/test_regression_matches_baseli0/job001/output_file.json", + "output_file": "/tmp/pytest-of-harry-swift/pytest-44/test_regression_matches_baseli2/job001/output_file.json", "force_partitioning": 0.5, "water_entropy": true, "grouping": "molecules", @@ -23,10 +23,10 @@ "search_type": "RAD" }, "provenance": { - "python": "3.13.5", - "platform": "Linux-6.17.0-1012-oem-x86_64-with-glibc2.39", - "codeentropy_version": "2.0.0", - "git_sha": "697cc5da0af766f2f69b0fa31254f2ce7b2b1141" + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" }, "groups": { "0": { diff --git a/tests/regression/baselines/dna/frame_window.json b/tests/regression/baselines/dna/frame_window.json new file mode 100644 index 00000000..d9782bc9 --- /dev/null +++ b/tests/regression/baselines/dna/frame_window.json @@ -0,0 +1,61 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/dna/md_A4_dna.tpr", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/dna/md_A4_dna_xf.trr" + ], + "force_file": null, + "file_format": null, + "kcal_force_units": false, + "selection_string": "resid 1:10", + "start": 0, + "end": 5, + "step": 2, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-44/test_regression_matches_baseli3/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "RAD" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 1.5821720528374943, + "residue:Transvibrational": 0.0, + "residue:Rovibrational": 27.397449238560412, + "polymer:FTmat-Transvibrational": 48.62026970762269, + "polymer:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 7.0411434528236345, + "residue:Conformational": 0.0, + "polymer:Orientational": 4.758905336627712 + }, + "total": 89.39993978847194 + }, + "1": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 2.5277936366208014, + "residue:Transvibrational": 0.0, + "residue:Rovibrational": 24.80670067454149, + "polymer:FTmat-Transvibrational": 60.47397935339153, + "polymer:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 6.410455987098191, + "residue:Conformational": 0.46183561256411515, + "polymer:Orientational": 4.758905336627712 + }, + "total": 99.43967060084383 + } + } +} diff --git a/tests/regression/baselines/dna/grouping_each.json b/tests/regression/baselines/dna/grouping_each.json new file mode 100644 index 00000000..15551c86 --- /dev/null +++ b/tests/regression/baselines/dna/grouping_each.json @@ -0,0 +1,61 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/dna/md_A4_dna.tpr", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/dna/md_A4_dna_xf.trr" + ], + "force_file": null, + "file_format": null, + "kcal_force_units": false, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-44/test_regression_matches_baseli4/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "each", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "RAD" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.002160679012128457, + "residue:Transvibrational": 0.0, + "residue:Rovibrational": 3.376800684085249, + "polymer:FTmat-Transvibrational": 12.341104347192612, + "polymer:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 7.0411434528236345, + "residue:Conformational": 0.0, + "polymer:Orientational": 4.758905336627712 + }, + "total": 27.52011449974134 + }, + "1": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.01846427765949586, + "residue:Transvibrational": 0.0, + "residue:Rovibrational": 2.3863201082544565, + "polymer:FTmat-Transvibrational": 11.11037253388596, + "polymer:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 6.410455987098191, + "residue:Conformational": 0.46183561256411515, + "polymer:Orientational": 4.758905336627712 + }, + "total": 25.14635385608993 + } + } +} diff --git a/tests/regression/baselines/dna/selection_subset.json b/tests/regression/baselines/dna/selection_subset.json new file mode 100644 index 00000000..a29436b7 --- /dev/null +++ b/tests/regression/baselines/dna/selection_subset.json @@ -0,0 +1,61 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/dna/md_A4_dna.tpr", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/dna/md_A4_dna_xf.trr" + ], + "force_file": null, + "file_format": null, + "kcal_force_units": false, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-44/test_regression_matches_baseli5/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "RAD" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.002160679012128457, + "residue:Transvibrational": 0.0, + "residue:Rovibrational": 3.376800684085249, + "polymer:FTmat-Transvibrational": 12.341104347192612, + "polymer:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 7.0411434528236345, + "residue:Conformational": 0.0, + "polymer:Orientational": 4.758905336627712 + }, + "total": 27.52011449974134 + }, + "1": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.01846427765949586, + "residue:Transvibrational": 0.0, + "residue:Rovibrational": 2.3863201082544565, + "polymer:FTmat-Transvibrational": 11.11037253388596, + "polymer:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 6.410455987098191, + "residue:Conformational": 0.46183561256411515, + "polymer:Orientational": 4.758905336627712 + }, + "total": 25.14635385608993 + } + } +} diff --git a/tests/regression/baselines/ethyl-acetate/axes_off.json b/tests/regression/baselines/ethyl-acetate/axes_off.json new file mode 100644 index 00000000..7b43a98b --- /dev/null +++ b/tests/regression/baselines/ethyl-acetate/axes_off.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/benzaldehyde/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-47/test_regression_matches_baseli0/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": false, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 0.08982962903796131, + "united_atom:Rovibrational": 32.16018134884085, + "residue:FTmat-Transvibrational": 88.7671666695003, + "residue:FTmat-Rovibrational": 61.61036267672132, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 7.791711490122748 + }, + "total": 190.41925181422317 + } + } +} diff --git a/tests/regression/baselines/ethyl-acetate/combined_forcetorque_off.json b/tests/regression/baselines/ethyl-acetate/combined_forcetorque_off.json new file mode 100644 index 00000000..3477105d --- /dev/null +++ b/tests/regression/baselines/ethyl-acetate/combined_forcetorque_off.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/ethyl-acetate/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/ethyl-acetate/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/ethyl-acetate/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-47/test_regression_matches_baseli1/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": false, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 1.5315510444158251, + "united_atom:Rovibrational": 82.36455154278131, + "residue:Transvibrational": 64.68750154134017, + "residue:Rovibrational": 58.903938937880085, + "united_atom:Conformational": 8.140778318198597, + "residue:Conformational": 0.0, + "residue:Orientational": 3.2718547817092687 + }, + "total": 218.90017616632525 + } + } +} diff --git a/tests/regression/baselines/ethyl-acetate.json b/tests/regression/baselines/ethyl-acetate/default.json similarity index 61% rename from tests/regression/baselines/ethyl-acetate.json rename to tests/regression/baselines/ethyl-acetate/default.json index 99886497..99dd1a11 100644 --- a/tests/regression/baselines/ethyl-acetate.json +++ b/tests/regression/baselines/ethyl-acetate/default.json @@ -1,10 +1,10 @@ { "args": { "top_traj_file": [ - "/home/ogo12949/CodeEntropy/.testdata/ethyl-acetate/molecules.top", - "/home/ogo12949/CodeEntropy/.testdata/ethyl-acetate/trajectory.crd" + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/ethyl-acetate/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/ethyl-acetate/trajectory.crd" ], - "force_file": "/home/ogo12949/CodeEntropy/.testdata/ethyl-acetate/forces.frc", + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/ethyl-acetate/forces.frc", "file_format": "MDCRD", "kcal_force_units": true, "selection_string": "all", @@ -14,7 +14,7 @@ "bin_width": 30, "temperature": 298.0, "verbose": false, - "output_file": "/tmp/pytest-of-ogo12949/pytest-5/test_regression_matches_baseli4/job001/output_file.json", + "output_file": "/tmp/pytest-of-harry-swift/pytest-47/test_regression_matches_baseli2/job001/output_file.json", "force_partitioning": 0.5, "water_entropy": true, "grouping": "molecules", @@ -23,10 +23,10 @@ "search_type": "grid" }, "provenance": { - "python": "3.13.5", - "platform": "Linux-6.17.0-1012-oem-x86_64-with-glibc2.39", - "codeentropy_version": "2.0.0", - "git_sha": "697cc5da0af766f2f69b0fa31254f2ce7b2b1141" + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" }, "groups": { "0": { diff --git a/tests/regression/baselines/ethyl-acetate/frame_window.json b/tests/regression/baselines/ethyl-acetate/frame_window.json new file mode 100644 index 00000000..13f69fde --- /dev/null +++ b/tests/regression/baselines/ethyl-acetate/frame_window.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/ethyl-acetate/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/ethyl-acetate/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/ethyl-acetate/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 5, + "step": 2, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-47/test_regression_matches_baseli3/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 28.312711247966337, + "united_atom:Rovibrational": 51.99036142818903, + "residue:FTmat-Transvibrational": 67.80560626717748, + "residue:FTmat-Rovibrational": 55.1631201009248, + "united_atom:Conformational": 8.140778318198597, + "residue:Conformational": 0.0, + "residue:Orientational": 3.2718547817092687 + }, + "total": 214.6844321441655 + } + } +} diff --git a/tests/regression/baselines/ethyl-acetate/grouping_each.json b/tests/regression/baselines/ethyl-acetate/grouping_each.json new file mode 100644 index 00000000..d4f80d6f --- /dev/null +++ b/tests/regression/baselines/ethyl-acetate/grouping_each.json @@ -0,0 +1,153 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/ethyl-acetate/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/ethyl-acetate/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/ethyl-acetate/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-47/test_regression_matches_baseli4/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "each", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.041680247513564334, + "residue:FTmat-Transvibrational": 13.339420001372439, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 8.140778318198597, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 21.5218785670846 + }, + "1": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.1351925826754994, + "residue:FTmat-Transvibrational": 17.260433457821385, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 4.869492932129766, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 22.265118972626652 + }, + "2": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.36182067478253577, + "residue:FTmat-Transvibrational": 14.447464165462247, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 6.664553650467566, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 21.473838490712346 + }, + "3": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.08920089761061596, + "residue:FTmat-Transvibrational": 17.349320458476775, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 7.067541186685671, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 24.506062542773062 + }, + "4": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.245873201826214, + "residue:FTmat-Transvibrational": 14.544753730547711, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 7.124517826214254, + "residue:Conformational": 0.0, + "residue:Orientational": 4.858281876548707 + }, + "total": 26.773426635136886 + }, + "5": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.026788453489210204, + "residue:FTmat-Transvibrational": 9.570910150584444, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 7.4531276098659065, + "residue:Conformational": 0.0, + "residue:Orientational": 5.199993382713831 + }, + "total": 22.250819596653393 + }, + "6": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.052298040051129174, + "residue:FTmat-Transvibrational": 12.801663361822174, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 8.580191120540489, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 21.43415252241379 + }, + "7": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.29162538377256375, + "residue:FTmat-Transvibrational": 16.40926078565228, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 8.807147901866925, + "residue:Conformational": 0.0, + "residue:Orientational": 15.64626157108563 + }, + "total": 41.1542956423774 + }, + "8": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.0469384299833255, + "residue:FTmat-Transvibrational": 10.172098915253201, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 7.3875802362162775, + "residue:Conformational": 0.0, + "residue:Orientational": 15.64626157108563 + }, + "total": 33.25287915253843 + }, + "9": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.2807736872545627, + "residue:FTmat-Transvibrational": 12.020836126353892, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 7.711816673378753, + "residue:Conformational": 0.0, + "residue:Orientational": 5.199993382713831 + }, + "total": 25.21341986970104 + } + } +} diff --git a/tests/regression/baselines/ethyl-acetate/rad.json b/tests/regression/baselines/ethyl-acetate/rad.json new file mode 100644 index 00000000..f539d83b --- /dev/null +++ b/tests/regression/baselines/ethyl-acetate/rad.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/ethyl-acetate/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/ethyl-acetate/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/ethyl-acetate/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "all", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-47/test_regression_matches_baseli5/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "RAD" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "4d39e9aeeed72fc3993f4a4eb6485da40524ebc5" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 20.24374894231227, + "united_atom:Rovibrational": 49.35007067210558, + "residue:FTmat-Transvibrational": 67.91350627765567, + "residue:FTmat-Rovibrational": 60.042233035077246, + "united_atom:Conformational": 8.140778318198597, + "residue:Conformational": 0.0, + "residue:Orientational": 30.894081870911737 + }, + "total": 236.5844191162611 + } + } +} diff --git a/tests/regression/baselines/ethyl-acetate/selection_subset.json b/tests/regression/baselines/ethyl-acetate/selection_subset.json new file mode 100644 index 00000000..2ca0abe5 --- /dev/null +++ b/tests/regression/baselines/ethyl-acetate/selection_subset.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/ethyl-acetate/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/ethyl-acetate/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/ethyl-acetate/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-47/test_regression_matches_baseli6/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "4d39e9aeeed72fc3993f4a4eb6485da40524ebc5" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 1.5315510444158251, + "united_atom:Rovibrational": 82.36455154278131, + "residue:FTmat-Transvibrational": 74.5939232239247, + "residue:FTmat-Rovibrational": 55.42964192531005, + "united_atom:Conformational": 8.140778318198597, + "residue:Conformational": 0.0, + "residue:Orientational": 3.2718547817092687 + }, + "total": 225.33230083633973 + } + } +} diff --git a/tests/regression/baselines/ethyl-acetate_rad.json b/tests/regression/baselines/ethyl-acetate_rad.json deleted file mode 100644 index 269a24d4..00000000 --- a/tests/regression/baselines/ethyl-acetate_rad.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "args": { - "top_traj_file": [ - "/home/ogo12949/CodeEntropy/.testdata/ethyl-acetate/molecules.top", - "/home/ogo12949/CodeEntropy/.testdata/ethyl-acetate/trajectory.crd" - ], - "force_file": "/home/ogo12949/CodeEntropy/.testdata/ethyl-acetate/forces.frc", - "file_format": "MDCRD", - "kcal_force_units": false, - "selection_string": "all", - "start": 0, - "end": 1, - "step": 1, - "bin_width": 30, - "temperature": 298.0, - "verbose": false, - "output_file": "/tmp/pytest-of-ogo12949/pytest-1/test_regression_matches_baseli4/job001/output_file.json", - "force_partitioning": 0.5, - "water_entropy": true, - "grouping": "molecules", - "combined_forcetorque": true, - "customised_axes": true, - "search_type": "RAD" - }, - "provenance": { - "python": "3.13.5", - "platform": "Linux-6.17.0-1012-oem-x86_64-with-glibc2.39", - "codeentropy_version": "2.0.0", - "git_sha": "3143bcbea9717e13135f61c00e6a0efa7814f82f" - }, - "groups": { - "0": { - "components": { - "united_atom:Transvibrational": 124.52960172835098, - "united_atom:Rovibrational": 144.2366436580796, - "residue:FTmat-Transvibrational": 103.5819666889598, - "residue:FTmat-Rovibrational": 95.68311953660015, - "united_atom:Conformational": 8.140778318198597, - "residue:Conformational": 0.0, - "residue:Orientational": 30.894081870911737 - }, - "total": 507.0661918011009 - } - } -} diff --git a/tests/regression/baselines/methane/axes_off.json b/tests/regression/baselines/methane/axes_off.json new file mode 100644 index 00000000..15e8583a --- /dev/null +++ b/tests/regression/baselines/methane/axes_off.json @@ -0,0 +1,42 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methane/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methane/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methane/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 112.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-51/test_regression_matches_baseli0/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": false, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 42.51619525142699, + "united_atom:Rovibrational": 34.692556166968025, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 77.20875141839502 + } + } +} diff --git a/tests/regression/baselines/methane/combined_forcetorque_off.json b/tests/regression/baselines/methane/combined_forcetorque_off.json new file mode 100644 index 00000000..6d52a3db --- /dev/null +++ b/tests/regression/baselines/methane/combined_forcetorque_off.json @@ -0,0 +1,42 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methane/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methane/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methane/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 112.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-51/test_regression_matches_baseli1/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": false, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 42.51619525142699, + "united_atom:Rovibrational": 34.651932322640015, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 77.168127574067 + } + } +} diff --git a/tests/regression/baselines/methane.json b/tests/regression/baselines/methane/default.json similarity index 57% rename from tests/regression/baselines/methane.json rename to tests/regression/baselines/methane/default.json index 6d1bbce5..82657644 100644 --- a/tests/regression/baselines/methane.json +++ b/tests/regression/baselines/methane/default.json @@ -1,10 +1,10 @@ { "args": { "top_traj_file": [ - "/home/ogo12949/CodeEntropy/.testdata/methane/molecules.top", - "/home/ogo12949/CodeEntropy/.testdata/methane/trajectory.crd" + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methane/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methane/trajectory.crd" ], - "force_file": "/home/ogo12949/CodeEntropy/.testdata/methane/forces.frc", + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methane/forces.frc", "file_format": "MDCRD", "kcal_force_units": true, "selection_string": "all", @@ -14,7 +14,7 @@ "bin_width": 30, "temperature": 112.0, "verbose": false, - "output_file": "/tmp/pytest-of-ogo12949/pytest-5/test_regression_matches_baseli5/job001/output_file.json", + "output_file": "/tmp/pytest-of-harry-swift/pytest-51/test_regression_matches_baseli2/job001/output_file.json", "force_partitioning": 0.5, "water_entropy": true, "grouping": "molecules", @@ -23,10 +23,10 @@ "search_type": "grid" }, "provenance": { - "python": "3.13.5", - "platform": "Linux-6.17.0-1012-oem-x86_64-with-glibc2.39", - "codeentropy_version": "2.0.0", - "git_sha": "697cc5da0af766f2f69b0fa31254f2ce7b2b1141" + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" }, "groups": { "0": { diff --git a/tests/regression/baselines/methane/frame_window.json b/tests/regression/baselines/methane/frame_window.json new file mode 100644 index 00000000..473cf6b6 --- /dev/null +++ b/tests/regression/baselines/methane/frame_window.json @@ -0,0 +1,42 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methane/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methane/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methane/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 5, + "step": 2, + "bin_width": 30, + "temperature": 112.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-51/test_regression_matches_baseli3/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 40.70376001258969, + "united_atom:Rovibrational": 33.778792396823484, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 74.48255240941317 + } + } +} diff --git a/tests/regression/baselines/methane/grouping_each.json b/tests/regression/baselines/methane/grouping_each.json new file mode 100644 index 00000000..22524ede --- /dev/null +++ b/tests/regression/baselines/methane/grouping_each.json @@ -0,0 +1,123 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methane/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methane/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methane/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 112.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-51/test_regression_matches_baseli4/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "each", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 24.315699188266926, + "united_atom:Rovibrational": 21.0483901242056, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 45.36408931247253 + }, + "1": { + "components": { + "united_atom:Transvibrational": 23.76608267046309, + "united_atom:Rovibrational": 16.769636839671296, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 40.535719510134385 + }, + "2": { + "components": { + "united_atom:Transvibrational": 24.833896219788347, + "united_atom:Rovibrational": 16.996392060962357, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 41.83028828075071 + }, + "3": { + "components": { + "united_atom:Transvibrational": 6.6723857079283215, + "united_atom:Rovibrational": 4.986376282798274, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 11.658761990726596 + }, + "4": { + "components": { + "united_atom:Transvibrational": 6.880461178899526, + "united_atom:Rovibrational": 4.441585994100298, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 11.322047172999824 + }, + "5": { + "components": { + "united_atom:Transvibrational": 15.473092273577388, + "united_atom:Rovibrational": 7.777083478334702, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 23.25017575191209 + }, + "6": { + "components": { + "united_atom:Transvibrational": 25.694168010993888, + "united_atom:Rovibrational": 6.731392483940261, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 32.425560494934146 + }, + "7": { + "components": { + "united_atom:Transvibrational": 10.533257828925997, + "united_atom:Rovibrational": 8.97563913301586, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 19.508896961941858 + }, + "8": { + "components": { + "united_atom:Transvibrational": 7.332978272264879, + "united_atom:Rovibrational": 3.0418502362906086, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 10.374828508555488 + }, + "9": { + "components": { + "united_atom:Transvibrational": 4.023932761002867, + "united_atom:Rovibrational": 8.289324383636089, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 12.313257144638957 + } + } +} diff --git a/tests/regression/baselines/methane/rad.json b/tests/regression/baselines/methane/rad.json new file mode 100644 index 00000000..d8385fb2 --- /dev/null +++ b/tests/regression/baselines/methane/rad.json @@ -0,0 +1,42 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methane/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methane/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methane/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "all", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 112.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-51/test_regression_matches_baseli5/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "RAD" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 40.3239711717637, + "united_atom:Rovibrational": 33.60582165153992, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 6.742734054179628 + }, + "total": 80.67252687748325 + } + } +} diff --git a/tests/regression/baselines/methane/selection_subset.json b/tests/regression/baselines/methane/selection_subset.json new file mode 100644 index 00000000..3cc5fcc8 --- /dev/null +++ b/tests/regression/baselines/methane/selection_subset.json @@ -0,0 +1,42 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methane/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methane/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methane/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 112.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-51/test_regression_matches_baseli6/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 42.51619525142699, + "united_atom:Rovibrational": 34.651932322640015, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 77.168127574067 + } + } +} diff --git a/tests/regression/baselines/methane_rad.json b/tests/regression/baselines/methane_rad.json deleted file mode 100644 index 7891d7af..00000000 --- a/tests/regression/baselines/methane_rad.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "args": { - "top_traj_file": [ - "/home/ogo12949/CodeEntropy/.testdata/methane/molecules.top", - "/home/ogo12949/CodeEntropy/.testdata/methane/trajectory.crd" - ], - "force_file": "/home/ogo12949/CodeEntropy/.testdata/methane/forces.frc", - "file_format": "MDCRD", - "kcal_force_units": false, - "selection_string": "all", - "start": 0, - "end": 1, - "step": 1, - "bin_width": 30, - "temperature": 112.0, - "verbose": false, - "output_file": "/tmp/pytest-of-ogo12949/pytest-1/test_regression_matches_baseli5/job001/output_file.json", - "force_partitioning": 0.5, - "water_entropy": true, - "grouping": "molecules", - "combined_forcetorque": true, - "customised_axes": true, - "search_type": "RAD" - }, - "provenance": { - "python": "3.13.5", - "platform": "Linux-6.17.0-1012-oem-x86_64-with-glibc2.39", - "codeentropy_version": "2.0.0", - "git_sha": "3143bcbea9717e13135f61c00e6a0efa7814f82f" - }, - "groups": { - "0": { - "components": { - "united_atom:Transvibrational": 75.73291215434239, - "united_atom:Rovibrational": 68.80103728327107, - "united_atom:Conformational": 0.0, - "united_atom:Orientational": 6.742734054179628 - }, - "total": 151.27668349179308 - } - } -} diff --git a/tests/regression/baselines/methanol/axes_off.json b/tests/regression/baselines/methanol/axes_off.json new file mode 100644 index 00000000..3f772aa3 --- /dev/null +++ b/tests/regression/baselines/methanol/axes_off.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methanol/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methanol/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methanol/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-46/test_regression_matches_baseli0/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": false, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 38.62138020563927, + "residue:FTmat-Transvibrational": 71.39139776743173, + "residue:FTmat-Rovibrational": 42.43745474015418, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 152.45023271322518 + } + } +} diff --git a/tests/regression/baselines/methanol/combined_forcetorque_off.json b/tests/regression/baselines/methanol/combined_forcetorque_off.json new file mode 100644 index 00000000..4e1a044e --- /dev/null +++ b/tests/regression/baselines/methanol/combined_forcetorque_off.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methanol/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methanol/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methanol/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-46/test_regression_matches_baseli1/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": false, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 49.59060714158691, + "residue:Transvibrational": 62.34591927524234, + "residue:Rovibrational": 32.010073141644966, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 143.94659955847422 + } + } +} diff --git a/tests/regression/baselines/methanol.json b/tests/regression/baselines/methanol/default.json similarity index 61% rename from tests/regression/baselines/methanol.json rename to tests/regression/baselines/methanol/default.json index 782d9ef0..a3958278 100644 --- a/tests/regression/baselines/methanol.json +++ b/tests/regression/baselines/methanol/default.json @@ -1,10 +1,10 @@ { "args": { "top_traj_file": [ - "/home/ogo12949/CodeEntropy/.testdata/methanol/molecules.top", - "/home/ogo12949/CodeEntropy/.testdata/methanol/trajectory.crd" + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methanol/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methanol/trajectory.crd" ], - "force_file": "/home/ogo12949/CodeEntropy/.testdata/methanol/forces.frc", + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methanol/forces.frc", "file_format": "MDCRD", "kcal_force_units": true, "selection_string": "all", @@ -14,7 +14,7 @@ "bin_width": 30, "temperature": 298.0, "verbose": false, - "output_file": "/tmp/pytest-of-ogo12949/pytest-5/test_regression_matches_baseli6/job001/output_file.json", + "output_file": "/tmp/pytest-of-harry-swift/pytest-46/test_regression_matches_baseli2/job001/output_file.json", "force_partitioning": 0.5, "water_entropy": true, "grouping": "molecules", @@ -23,10 +23,10 @@ "search_type": "grid" }, "provenance": { - "python": "3.13.5", - "platform": "Linux-6.17.0-1012-oem-x86_64-with-glibc2.39", - "codeentropy_version": "2.0.0", - "git_sha": "697cc5da0af766f2f69b0fa31254f2ce7b2b1141" + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" }, "groups": { "0": { diff --git a/tests/regression/baselines/methanol/frame_window.json b/tests/regression/baselines/methanol/frame_window.json new file mode 100644 index 00000000..cbbecb9d --- /dev/null +++ b/tests/regression/baselines/methanol/frame_window.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methanol/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methanol/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methanol/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 5, + "step": 2, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-46/test_regression_matches_baseli3/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 34.6755419354061, + "residue:FTmat-Transvibrational": 61.225853411706915, + "residue:FTmat-Rovibrational": 29.74713345439499, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 125.64852880150801 + } + } +} diff --git a/tests/regression/baselines/methanol/grouping_each.json b/tests/regression/baselines/methanol/grouping_each.json new file mode 100644 index 00000000..4df0bc9d --- /dev/null +++ b/tests/regression/baselines/methanol/grouping_each.json @@ -0,0 +1,153 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methanol/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methanol/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methanol/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-46/test_regression_matches_baseli4/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "each", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 3.6907058707318594, + "residue:FTmat-Transvibrational": 2.3780157804238655, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 6.068721651155725 + }, + "1": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.527531744140127, + "residue:FTmat-Transvibrational": 6.542005999539831, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 7.069537743679958 + }, + "2": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 1.6420992201948423, + "residue:FTmat-Transvibrational": 1.956061819377735, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 3.5981610395725774 + }, + "3": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 1.09131345956036, + "residue:FTmat-Transvibrational": 0.00010873872941396156, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 1.0914221982897738 + }, + "4": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 3.0175220560507166, + "residue:FTmat-Transvibrational": 0.039222512262787265, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 3.056744568313504 + }, + "5": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.7113434639378043, + "residue:FTmat-Transvibrational": 6.420669321384725, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.2618944025459311 + }, + "total": 7.393907187868461 + }, + "6": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 1.8814857352503516, + "residue:FTmat-Transvibrational": 0.0020168609040522737, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 1.8835025961544039 + }, + "7": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.31891831875623067, + "residue:FTmat-Transvibrational": 0.22492845355007476, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 0.5438467723063054 + }, + "8": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 1.3866864927610838, + "residue:FTmat-Transvibrational": 7.095998287788902, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.9125191517246148 + }, + "total": 9.395203932274601 + }, + "9": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.3408829290752051, + "residue:FTmat-Transvibrational": 0.0004316354724950617, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 0.3413145645477002 + } + } +} diff --git a/tests/regression/baselines/methanol/rad.json b/tests/regression/baselines/methanol/rad.json new file mode 100644 index 00000000..6928ee36 --- /dev/null +++ b/tests/regression/baselines/methanol/rad.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methanol/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methanol/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methanol/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "all", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-46/test_regression_matches_baseli5/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "RAD" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 31.71683454772323, + "residue:FTmat-Transvibrational": 57.967437606219264, + "residue:FTmat-Rovibrational": 32.05829756161347, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 17.099561921032407 + }, + "total": 138.84213163658836 + } + } +} diff --git a/tests/regression/baselines/methanol/selection_subset.json b/tests/regression/baselines/methanol/selection_subset.json new file mode 100644 index 00000000..cb017f32 --- /dev/null +++ b/tests/regression/baselines/methanol/selection_subset.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methanol/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methanol/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/methanol/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-46/test_regression_matches_baseli6/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 49.59060714158691, + "residue:FTmat-Transvibrational": 74.80122215540344, + "residue:FTmat-Rovibrational": 27.55539097066781, + "united_atom:Conformational": 0.0, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 151.94722026765817 + } + } +} diff --git a/tests/regression/baselines/methanol_rad.json b/tests/regression/baselines/methanol_rad.json deleted file mode 100644 index 63881816..00000000 --- a/tests/regression/baselines/methanol_rad.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "args": { - "top_traj_file": [ - "/home/ogo12949/CodeEntropy/.testdata/methanol/molecules.top", - "/home/ogo12949/CodeEntropy/.testdata/methanol/trajectory.crd" - ], - "force_file": "/home/ogo12949/CodeEntropy/.testdata/methanol/forces.frc", - "file_format": "MDCRD", - "kcal_force_units": false, - "selection_string": "all", - "start": 0, - "end": 1, - "step": 1, - "bin_width": 30, - "temperature": 298.0, - "verbose": false, - "output_file": "/tmp/pytest-of-ogo12949/pytest-1/test_regression_matches_baseli6/job001/output_file.json", - "force_partitioning": 0.5, - "water_entropy": true, - "grouping": "molecules", - "combined_forcetorque": true, - "customised_axes": true, - "search_type": "RAD" - }, - "provenance": { - "python": "3.13.5", - "platform": "Linux-6.17.0-1012-oem-x86_64-with-glibc2.39", - "codeentropy_version": "2.0.0", - "git_sha": "3143bcbea9717e13135f61c00e6a0efa7814f82f" - }, - "groups": { - "0": { - "components": { - "united_atom:Transvibrational": 0.0, - "united_atom:Rovibrational": 85.74870264018092, - "residue:FTmat-Transvibrational": 93.59616431728384, - "residue:FTmat-Rovibrational": 59.61417719536213, - "united_atom:Conformational": 0.0, - "residue:Conformational": 0.0, - "residue:Orientational": 17.099561921032407 - }, - "total": 256.0586060738593 - } - } -} diff --git a/tests/regression/baselines/octonal_rad.json b/tests/regression/baselines/octonal_rad.json deleted file mode 100644 index 3be148b0..00000000 --- a/tests/regression/baselines/octonal_rad.json +++ /dev/null @@ -1,45 +0,0 @@ -{ - "args": { - "top_traj_file": [ - "/home/ogo12949/CodeEntropy/.testdata/octonol/molecules.top", - "/home/ogo12949/CodeEntropy/.testdata/octonol/trajectory.crd" - ], - "force_file": "/home/ogo12949/CodeEntropy/.testdata/octonol/forces.frc", - "file_format": "MDCRD", - "kcal_force_units": false, - "selection_string": "all", - "start": 0, - "end": 1, - "step": 1, - "bin_width": 30, - "temperature": 298.0, - "verbose": false, - "output_file": "/tmp/pytest-of-ogo12949/pytest-1/test_regression_matches_baseli7/job001/output_file.json", - "force_partitioning": 0.5, - "water_entropy": true, - "grouping": "molecules", - "combined_forcetorque": true, - "customised_axes": true, - "search_type": "RAD" - }, - "provenance": { - "python": "3.13.5", - "platform": "Linux-6.17.0-1012-oem-x86_64-with-glibc2.39", - "codeentropy_version": "2.0.0", - "git_sha": "3143bcbea9717e13135f61c00e6a0efa7814f82f" - }, - "groups": { - "0": { - "components": { - "united_atom:Transvibrational": 254.7961136639108, - "united_atom:Rovibrational": 345.86413400118744, - "residue:FTmat-Transvibrational": 101.79847675768119, - "residue:FTmat-Rovibrational": 92.71423842383722, - "united_atom:Conformational": 20.4159084259166, - "residue:Conformational": 0.0, - "residue:Orientational": 28.13775462144063 - }, - "total": 843.726625893974 - } - } -} diff --git a/tests/regression/baselines/octonol/axes_off.json b/tests/regression/baselines/octonol/axes_off.json new file mode 100644 index 00000000..d4c364b4 --- /dev/null +++ b/tests/regression/baselines/octonol/axes_off.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/octonol/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/octonol/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/octonol/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-48/test_regression_matches_baseli0/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": false, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 4.018871224957591, + "united_atom:Rovibrational": 16.39249280495534, + "residue:FTmat-Transvibrational": 83.57043751308888, + "residue:FTmat-Rovibrational": 58.87291960143169, + "united_atom:Conformational": 20.4159084259166, + "residue:Conformational": 0.0, + "residue:Orientational": 19.06182405604338 + }, + "total": 202.33245362639346 + } + } +} diff --git a/tests/regression/baselines/octonol/combined_forcetorque_off.json b/tests/regression/baselines/octonol/combined_forcetorque_off.json new file mode 100644 index 00000000..ca5a2d36 --- /dev/null +++ b/tests/regression/baselines/octonol/combined_forcetorque_off.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/octonol/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/octonol/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/octonol/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-48/test_regression_matches_baseli1/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": false, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 3.6406563361703705, + "united_atom:Rovibrational": 19.154228264604278, + "residue:Transvibrational": 74.72816183790984, + "residue:Rovibrational": 60.84390144550801, + "united_atom:Conformational": 20.4159084259166, + "residue:Conformational": 0.0, + "residue:Orientational": 19.06182405604338 + }, + "total": 197.84468036615246 + } + } +} diff --git a/tests/regression/baselines/octonol.json b/tests/regression/baselines/octonol/default.json similarity index 62% rename from tests/regression/baselines/octonol.json rename to tests/regression/baselines/octonol/default.json index b0cb7171..f2030273 100644 --- a/tests/regression/baselines/octonol.json +++ b/tests/regression/baselines/octonol/default.json @@ -1,10 +1,10 @@ { "args": { "top_traj_file": [ - "/home/ogo12949/CodeEntropy/.testdata/octonol/molecules.top", - "/home/ogo12949/CodeEntropy/.testdata/octonol/trajectory.crd" + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/octonol/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/octonol/trajectory.crd" ], - "force_file": "/home/ogo12949/CodeEntropy/.testdata/octonol/forces.frc", + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/octonol/forces.frc", "file_format": "MDCRD", "kcal_force_units": true, "selection_string": "all", @@ -14,7 +14,7 @@ "bin_width": 30, "temperature": 298.0, "verbose": false, - "output_file": "/tmp/pytest-of-ogo12949/pytest-5/test_regression_matches_baseli7/job001/output_file.json", + "output_file": "/tmp/pytest-of-harry-swift/pytest-48/test_regression_matches_baseli2/job001/output_file.json", "force_partitioning": 0.5, "water_entropy": true, "grouping": "molecules", @@ -23,10 +23,10 @@ "search_type": "grid" }, "provenance": { - "python": "3.13.5", - "platform": "Linux-6.17.0-1012-oem-x86_64-with-glibc2.39", - "codeentropy_version": "2.0.0", - "git_sha": "697cc5da0af766f2f69b0fa31254f2ce7b2b1141" + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" }, "groups": { "0": { diff --git a/tests/regression/baselines/octonol/frame_window.json b/tests/regression/baselines/octonol/frame_window.json new file mode 100644 index 00000000..d50baa9d --- /dev/null +++ b/tests/regression/baselines/octonol/frame_window.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/octonol/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/octonol/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/octonol/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 5, + "step": 2, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-48/test_regression_matches_baseli3/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 75.76011510628999, + "united_atom:Rovibrational": 162.26463085986236, + "residue:FTmat-Transvibrational": 74.84326467422125, + "residue:FTmat-Rovibrational": 60.95710412746361, + "united_atom:Conformational": 20.4159084259166, + "residue:Conformational": 0.0, + "residue:Orientational": 19.06182405604338 + }, + "total": 413.3028472497972 + } + } +} diff --git a/tests/regression/baselines/octonol/grouping_each.json b/tests/regression/baselines/octonol/grouping_each.json new file mode 100644 index 00000000..c3c3c2c4 --- /dev/null +++ b/tests/regression/baselines/octonol/grouping_each.json @@ -0,0 +1,153 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/octonol/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/octonol/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/octonol/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-48/test_regression_matches_baseli4/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "each", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 6.942013165337579e-05, + "residue:FTmat-Transvibrational": 18.33494873681406, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 20.4159084259166, + "residue:Conformational": 0.0, + "residue:Orientational": 31.535415760973137 + }, + "total": 70.28634234383546 + }, + "1": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.00013794104464519378, + "residue:FTmat-Transvibrational": 14.571797812433102, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 25.283804882769058, + "residue:Conformational": 0.0, + "residue:Orientational": 29.347813215860114 + }, + "total": 69.20355385210692 + }, + "2": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.0007753303955700146, + "residue:FTmat-Transvibrational": 11.64466865126831, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 22.83087746936638, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 34.47632145103026 + }, + "3": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.0031285818933102145, + "residue:FTmat-Transvibrational": 21.24135891910478, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 22.633172290252627, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 43.87765979125072 + }, + "4": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.0015070029381425056, + "residue:FTmat-Transvibrational": 12.221662826352398, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 20.33932047774727, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 32.562490307037805 + }, + "5": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.005775850934008876, + "residue:FTmat-Transvibrational": 7.615636453348747, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 21.436442667442684, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 29.05785497172544 + }, + "6": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.00028812747686091, + "residue:FTmat-Transvibrational": 16.555914111511576, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 24.290085876338953, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 40.84628811532739 + }, + "7": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.0013568745282136598, + "residue:FTmat-Transvibrational": 15.71067757186967, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 16.445839353700418, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 32.1578738000983 + }, + "8": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 8.389568220414916e-05, + "residue:FTmat-Transvibrational": 13.516454082542095, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 16.20911564736676, + "residue:Conformational": 0.0, + "residue:Orientational": 0.0 + }, + "total": 29.72565362559106 + }, + "9": { + "components": { + "united_atom:Transvibrational": 0.0, + "united_atom:Rovibrational": 0.00015446787843376823, + "residue:FTmat-Transvibrational": 20.97761266375896, + "residue:FTmat-Rovibrational": 0.0, + "united_atom:Conformational": 23.903613021846652, + "residue:Conformational": 0.0, + "residue:Orientational": 39.134234408387165 + }, + "total": 84.01561456187122 + } + } +} diff --git a/tests/regression/baselines/octonol/rad.json b/tests/regression/baselines/octonol/rad.json new file mode 100644 index 00000000..2209df1e --- /dev/null +++ b/tests/regression/baselines/octonol/rad.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/octonol/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/octonol/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/octonol/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "all", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-48/test_regression_matches_baseli5/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "RAD" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "4d39e9aeeed72fc3993f4a4eb6485da40524ebc5" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 50.77228933028987, + "united_atom:Rovibrational": 84.2608785308744, + "residue:FTmat-Transvibrational": 66.13571365167344, + "residue:FTmat-Rovibrational": 57.090651827515686, + "united_atom:Conformational": 20.4159084259166, + "residue:Conformational": 0.0, + "residue:Orientational": 28.13775462144063 + }, + "total": 306.8131963877106 + } + } +} diff --git a/tests/regression/baselines/octonol/selection_subset.json b/tests/regression/baselines/octonol/selection_subset.json new file mode 100644 index 00000000..ffcd7b9b --- /dev/null +++ b/tests/regression/baselines/octonol/selection_subset.json @@ -0,0 +1,45 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/octonol/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/octonol/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/octonol/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-48/test_regression_matches_baseli6/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "4d39e9aeeed72fc3993f4a4eb6485da40524ebc5" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 3.6406563361703705, + "united_atom:Rovibrational": 19.154228264604278, + "residue:FTmat-Transvibrational": 83.17889385114952, + "residue:FTmat-Rovibrational": 57.480841206687685, + "united_atom:Conformational": 20.4159084259166, + "residue:Conformational": 0.0, + "residue:Orientational": 19.06182405604338 + }, + "total": 202.93235214057185 + } + } +} diff --git a/tests/regression/baselines/water/axes_off.json b/tests/regression/baselines/water/axes_off.json new file mode 100644 index 00000000..a071e454 --- /dev/null +++ b/tests/regression/baselines/water/axes_off.json @@ -0,0 +1,42 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/water/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/water/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/water/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-49/test_regression_matches_baseli0/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": false, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 51.22145722965398, + "united_atom:Rovibrational": 17.307840626636324, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 68.5292978562903 + } + } +} diff --git a/tests/regression/baselines/water/combined_forcetorque_off.json b/tests/regression/baselines/water/combined_forcetorque_off.json new file mode 100644 index 00000000..c52e1149 --- /dev/null +++ b/tests/regression/baselines/water/combined_forcetorque_off.json @@ -0,0 +1,42 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/water/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/water/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/water/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-49/test_regression_matches_baseli1/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": false, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 51.22145722965398, + "united_atom:Rovibrational": 17.232634718413053, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 68.45409194806703 + } + } +} diff --git a/tests/regression/baselines/water.json b/tests/regression/baselines/water/default.json similarity index 57% rename from tests/regression/baselines/water.json rename to tests/regression/baselines/water/default.json index a74acd58..9dc3b266 100644 --- a/tests/regression/baselines/water.json +++ b/tests/regression/baselines/water/default.json @@ -1,10 +1,10 @@ { "args": { "top_traj_file": [ - "/home/ogo12949/CodeEntropy/.testdata/water/molecules.top", - "/home/ogo12949/CodeEntropy/.testdata/water/trajectory.crd" + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/water/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/water/trajectory.crd" ], - "force_file": "/home/ogo12949/CodeEntropy/.testdata/water/forces.frc", + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/water/forces.frc", "file_format": "MDCRD", "kcal_force_units": true, "selection_string": "all", @@ -14,7 +14,7 @@ "bin_width": 30, "temperature": 298.0, "verbose": false, - "output_file": "/tmp/pytest-of-ogo12949/pytest-5/test_regression_matches_baseli8/job001/output_file.json", + "output_file": "/tmp/pytest-of-harry-swift/pytest-49/test_regression_matches_baseli2/job001/output_file.json", "force_partitioning": 0.5, "water_entropy": true, "grouping": "molecules", @@ -23,10 +23,10 @@ "search_type": "grid" }, "provenance": { - "python": "3.13.5", - "platform": "Linux-6.17.0-1012-oem-x86_64-with-glibc2.39", - "codeentropy_version": "2.0.0", - "git_sha": "697cc5da0af766f2f69b0fa31254f2ce7b2b1141" + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" }, "groups": { "0": { diff --git a/tests/regression/baselines/water/frame_window.json b/tests/regression/baselines/water/frame_window.json new file mode 100644 index 00000000..5061a109 --- /dev/null +++ b/tests/regression/baselines/water/frame_window.json @@ -0,0 +1,42 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/water/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/water/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/water/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 5, + "step": 2, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-49/test_regression_matches_baseli3/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 46.684099714230925, + "united_atom:Rovibrational": 17.694014405444744, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 64.37811411967567 + } + } +} diff --git a/tests/regression/baselines/water/grouping_each.json b/tests/regression/baselines/water/grouping_each.json new file mode 100644 index 00000000..df4b8a9b --- /dev/null +++ b/tests/regression/baselines/water/grouping_each.json @@ -0,0 +1,123 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/water/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/water/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/water/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-49/test_regression_matches_baseli4/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "each", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 14.945907953805552, + "united_atom:Rovibrational": 1.8947243953648254, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 16.840632349170377 + }, + "1": { + "components": { + "united_atom:Transvibrational": 8.111522208287779, + "united_atom:Rovibrational": 0.9607747968334215, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 9.0722970051212 + }, + "2": { + "components": { + "united_atom:Transvibrational": 15.79497347968759, + "united_atom:Rovibrational": 4.606072530590255, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 20.401046010277845 + }, + "3": { + "components": { + "united_atom:Transvibrational": 9.462487265119448, + "united_atom:Rovibrational": 1.6509513986984767, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 11.113438663817924 + }, + "4": { + "components": { + "united_atom:Transvibrational": 16.254161245740693, + "united_atom:Rovibrational": 1.367597374110767, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 17.62175861985146 + }, + "5": { + "components": { + "united_atom:Transvibrational": 11.57779876203329, + "united_atom:Rovibrational": 7.351163568004953, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 18.928962330038242 + }, + "6": { + "components": { + "united_atom:Transvibrational": 10.172061262201801, + "united_atom:Rovibrational": 3.671537296888502, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 13.843598559090303 + }, + "7": { + "components": { + "united_atom:Transvibrational": 13.49951045186194, + "united_atom:Rovibrational": 1.7029491215274863, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 15.202459573389428 + }, + "8": { + "components": { + "united_atom:Transvibrational": 16.597759171924583, + "united_atom:Rovibrational": 1.6190289365617598, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 18.21678810848634 + }, + "9": { + "components": { + "united_atom:Transvibrational": 13.731375187064538, + "united_atom:Rovibrational": 5.650620990305761, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 19.381996177370297 + } + } +} diff --git a/tests/regression/baselines/water_rad.json b/tests/regression/baselines/water/rad.json similarity index 57% rename from tests/regression/baselines/water_rad.json rename to tests/regression/baselines/water/rad.json index 7e03e61d..89962d0e 100644 --- a/tests/regression/baselines/water_rad.json +++ b/tests/regression/baselines/water/rad.json @@ -1,10 +1,10 @@ { "args": { "top_traj_file": [ - "/home/ogo12949/CodeEntropy/.testdata/water/molecules.top", - "/home/ogo12949/CodeEntropy/.testdata/water/trajectory.crd" + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/water/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/water/trajectory.crd" ], - "force_file": "/home/ogo12949/CodeEntropy/.testdata/water/forces.frc", + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/water/forces.frc", "file_format": "MDCRD", "kcal_force_units": false, "selection_string": "all", @@ -14,7 +14,7 @@ "bin_width": 30, "temperature": 298.0, "verbose": false, - "output_file": "/tmp/pytest-of-ogo12949/pytest-2/test_regression_matches_baseli0/job001/output_file.json", + "output_file": "/tmp/pytest-of-harry-swift/pytest-49/test_regression_matches_baseli5/job001/output_file.json", "force_partitioning": 0.5, "water_entropy": true, "grouping": "molecules", @@ -23,10 +23,10 @@ "search_type": "RAD" }, "provenance": { - "python": "3.13.5", - "platform": "Linux-6.17.0-1012-oem-x86_64-with-glibc2.39", - "codeentropy_version": "2.0.0", - "git_sha": "3143bcbea9717e13135f61c00e6a0efa7814f82f" + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" }, "groups": { "0": { diff --git a/tests/regression/baselines/water/selection_subset.json b/tests/regression/baselines/water/selection_subset.json new file mode 100644 index 00000000..5d188214 --- /dev/null +++ b/tests/regression/baselines/water/selection_subset.json @@ -0,0 +1,42 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/water/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/water/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/water/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-49/test_regression_matches_baseli6/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": true, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 51.22145722965398, + "united_atom:Rovibrational": 17.232634718413053, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 68.45409194806703 + } + } +} diff --git a/tests/regression/baselines/water/water_off.json b/tests/regression/baselines/water/water_off.json new file mode 100644 index 00000000..55472326 --- /dev/null +++ b/tests/regression/baselines/water/water_off.json @@ -0,0 +1,42 @@ +{ + "args": { + "top_traj_file": [ + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/water/molecules.top", + "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/water/trajectory.crd" + ], + "force_file": "/home/harry-swift/BioSim/software/CodeEntropy/.testdata/water/forces.frc", + "file_format": "MDCRD", + "kcal_force_units": true, + "selection_string": "resid 1:10", + "start": 0, + "end": 1, + "step": 1, + "bin_width": 30, + "temperature": 298.0, + "verbose": false, + "output_file": "/tmp/pytest-of-harry-swift/pytest-49/test_regression_matches_baseli7/job001/output_file.json", + "force_partitioning": 0.5, + "water_entropy": false, + "grouping": "molecules", + "combined_forcetorque": true, + "customised_axes": true, + "search_type": "grid" + }, + "provenance": { + "python": "3.14.3", + "platform": "Linux-6.17.0-19-generic-x86_64-with-glibc2.39", + "codeentropy_version": "2.1.0", + "git_sha": "be46d826f4ae38e3c6e62a7d5bcddeca85e31590" + }, + "groups": { + "0": { + "components": { + "united_atom:Transvibrational": 51.22145722965398, + "united_atom:Rovibrational": 17.232634718413053, + "united_atom:Conformational": 0.0, + "united_atom:Orientational": 0.0 + }, + "total": 68.45409194806703 + } + } +} diff --git a/tests/regression/cases.py b/tests/regression/cases.py new file mode 100644 index 00000000..3b36188f --- /dev/null +++ b/tests/regression/cases.py @@ -0,0 +1,103 @@ +from dataclasses import dataclass +from pathlib import Path +from typing import Any + +import pytest + + +@dataclass(frozen=True) +class RegressionCase: + """ + Represents a single regression test case. + + A regression case corresponds to a specific system and a specific YAML + configuration file, along with its associated baseline file. + + Attributes: + system (str): Name of the system (e.g. "dna", "benzene"). + config_path (Path): Path to the YAML configuration file defining the scenario. + baseline_path (Path): Path to the expected baseline JSON output. + """ + + system: str + config_path: Path + baseline_path: Path + + +def repo_root() -> Path: + """ + Return the repository root directory. + + Returns: + Path: Absolute path to the repository root. + """ + return Path(__file__).resolve().parents[2] + + +def discover_cases() -> list[Any]: + """ + Discover all regression test cases from the configs directory. + + This function scans the regression configuration directory structure and + constructs a list of parametrized pytest cases. Each case corresponds to + a single YAML configuration file and its associated baseline JSON file. + + Directory structure is expected to follow: + + tests/regression/configs//.yaml + tests/regression/baselines//.json + + For each configuration file: + - A `RegressionCase` instance is created. + - A pytest parameter is generated with a unique ID. + - Slow tests are automatically marked using `pytest.mark.slow` + based on configuration naming conventions. + + Slow Test Heuristic: + Configurations considered "slow" are those representing full-system + or full-selection runs. These are explicitly identified by name + (e.g. "default", "rad") and are marked with `pytest.mark.slow`. + All other configurations (typically subset-based runs such as + selection subsets) are treated as fast tests. + + Returns: + list[Any]: A list of parametrized pytest cases, each wrapping a + RegressionCase instance and optionally marked as slow. + + Notes: + - Baseline files are not required to exist at discovery time. + - Missing baselines will cause failures during test execution unless + `--update-baselines` is used. + - Test IDs are generated in the form: "{system}-{config_name}". + """ + base_dir = Path(__file__).resolve().parent + + configs_root = base_dir / "configs" + baselines_root = base_dir / "baselines" + + cases = [] + + SLOW_CONFIGS = {"default", "rad"} + + for system_dir in sorted(configs_root.iterdir()): + if not system_dir.is_dir(): + continue + + system = system_dir.name + + for config_path in sorted(system_dir.glob("*.yaml")): + case_name = config_path.stem + + baseline_path = baselines_root / system / f"{case_name}.json" + + is_slow = case_name in SLOW_CONFIGS + + cases.append( + pytest.param( + RegressionCase(system, config_path, baseline_path), + id=f"{system}-{case_name}", + marks=pytest.mark.slow if is_slow else (), + ) + ) + + return cases diff --git a/tests/regression/configs/benzaldehyde/axes_off.yaml b/tests/regression/configs/benzaldehyde/axes_off.yaml new file mode 100644 index 00000000..a733dda0 --- /dev/null +++ b/tests/regression/configs/benzaldehyde/axes_off.yaml @@ -0,0 +1,15 @@ +--- + +run1: + force_file: ".testdata/benzaldehyde/forces.frc" + top_traj_file: + - ".testdata/benzaldehyde/molecules.top" + - ".testdata/benzaldehyde/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" + customised_axes: false diff --git a/tests/regression/configs/benzaldehyde/combined_forcetorque_false.yaml b/tests/regression/configs/benzaldehyde/combined_forcetorque_false.yaml new file mode 100644 index 00000000..ea14df32 --- /dev/null +++ b/tests/regression/configs/benzaldehyde/combined_forcetorque_false.yaml @@ -0,0 +1,15 @@ +--- + +run1: + force_file: ".testdata/benzaldehyde/forces.frc" + top_traj_file: + - ".testdata/benzaldehyde/molecules.top" + - ".testdata/benzaldehyde/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" + combined_forcetorque: False diff --git a/tests/regression/configs/benzaldehyde/config.yaml b/tests/regression/configs/benzaldehyde/default.yaml similarity index 100% rename from tests/regression/configs/benzaldehyde/config.yaml rename to tests/regression/configs/benzaldehyde/default.yaml diff --git a/tests/regression/configs/benzaldehyde/frame_window.yaml b/tests/regression/configs/benzaldehyde/frame_window.yaml new file mode 100644 index 00000000..8ec3f4e7 --- /dev/null +++ b/tests/regression/configs/benzaldehyde/frame_window.yaml @@ -0,0 +1,14 @@ +--- + +run1: + force_file: ".testdata/benzaldehyde/forces.frc" + top_traj_file: + - ".testdata/benzaldehyde/molecules.top" + - ".testdata/benzaldehyde/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 5 + step: 2 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" diff --git a/tests/regression/configs/benzaldehyde/grouping_each.yaml b/tests/regression/configs/benzaldehyde/grouping_each.yaml new file mode 100644 index 00000000..cb9050bb --- /dev/null +++ b/tests/regression/configs/benzaldehyde/grouping_each.yaml @@ -0,0 +1,15 @@ +--- + +run1: + force_file: ".testdata/benzaldehyde/forces.frc" + top_traj_file: + - ".testdata/benzaldehyde/molecules.top" + - ".testdata/benzaldehyde/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" + grouping: "each" diff --git a/tests/regression/configs/benzaldehyde_rad/config.yaml b/tests/regression/configs/benzaldehyde/rad.yaml similarity index 91% rename from tests/regression/configs/benzaldehyde_rad/config.yaml rename to tests/regression/configs/benzaldehyde/rad.yaml index 455599b0..ab7b3c2f 100644 --- a/tests/regression/configs/benzaldehyde_rad/config.yaml +++ b/tests/regression/configs/benzaldehyde/rad.yaml @@ -10,5 +10,5 @@ run1: end: 1 step: 1 file_format: "MDCRD" -# kcal_force_units: True + kcal_force_units: True search_type: "RAD" diff --git a/tests/regression/configs/benzaldehyde/selection_subset.yaml b/tests/regression/configs/benzaldehyde/selection_subset.yaml new file mode 100644 index 00000000..f9728c02 --- /dev/null +++ b/tests/regression/configs/benzaldehyde/selection_subset.yaml @@ -0,0 +1,14 @@ +--- + +run1: + force_file: ".testdata/benzaldehyde/forces.frc" + top_traj_file: + - ".testdata/benzaldehyde/molecules.top" + - ".testdata/benzaldehyde/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" diff --git a/tests/regression/configs/benzene/axes_off.yaml b/tests/regression/configs/benzene/axes_off.yaml new file mode 100644 index 00000000..301bc403 --- /dev/null +++ b/tests/regression/configs/benzene/axes_off.yaml @@ -0,0 +1,15 @@ +--- + +run1: + force_file: ".testdata/benzene/forces.frc" + top_traj_file: + - ".testdata/benzene/molecules.top" + - ".testdata/benzene/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" + customised_axes: false diff --git a/tests/regression/configs/benzene/combined_forcetorque_off.yaml b/tests/regression/configs/benzene/combined_forcetorque_off.yaml new file mode 100644 index 00000000..d9e4cfb1 --- /dev/null +++ b/tests/regression/configs/benzene/combined_forcetorque_off.yaml @@ -0,0 +1,15 @@ +--- + +run1: + force_file: ".testdata/benzene/forces.frc" + top_traj_file: + - ".testdata/benzene/molecules.top" + - ".testdata/benzene/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" + combined_forcetorque: False diff --git a/tests/regression/configs/benzene/config.yaml b/tests/regression/configs/benzene/default.yaml similarity index 82% rename from tests/regression/configs/benzene/config.yaml rename to tests/regression/configs/benzene/default.yaml index 611e6934..a3f10191 100644 --- a/tests/regression/configs/benzene/config.yaml +++ b/tests/regression/configs/benzene/default.yaml @@ -5,10 +5,10 @@ run1: top_traj_file: - ".testdata/benzene/molecules.top" - ".testdata/benzene/trajectory.crd" - selection_string: 'all' + selection_string: "all" start: 0 end: 1 step: 1 - file_format: 'MDCRD' + file_format: "MDCRD" kcal_force_units: True search_type: "grid" diff --git a/tests/regression/configs/benzene/frame_window.yaml b/tests/regression/configs/benzene/frame_window.yaml new file mode 100644 index 00000000..e48c1cfd --- /dev/null +++ b/tests/regression/configs/benzene/frame_window.yaml @@ -0,0 +1,14 @@ +--- + +run1: + force_file: ".testdata/benzene/forces.frc" + top_traj_file: + - ".testdata/benzene/molecules.top" + - ".testdata/benzene/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 5 + step: 2 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" diff --git a/tests/regression/configs/benzene/grouping_each.yaml b/tests/regression/configs/benzene/grouping_each.yaml new file mode 100644 index 00000000..5aeb0a05 --- /dev/null +++ b/tests/regression/configs/benzene/grouping_each.yaml @@ -0,0 +1,15 @@ +--- + +run1: + force_file: ".testdata/benzene/forces.frc" + top_traj_file: + - ".testdata/benzene/molecules.top" + - ".testdata/benzene/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" + grouping: "each" diff --git a/tests/regression/configs/benzene_rad/config.yaml b/tests/regression/configs/benzene/rad.yaml similarity index 73% rename from tests/regression/configs/benzene_rad/config.yaml rename to tests/regression/configs/benzene/rad.yaml index e3862947..8474bf2d 100644 --- a/tests/regression/configs/benzene_rad/config.yaml +++ b/tests/regression/configs/benzene/rad.yaml @@ -5,10 +5,10 @@ run1: top_traj_file: - ".testdata/benzene/molecules.top" - ".testdata/benzene/trajectory.crd" - selection_string: 'all' + selection_string: "all" start: 0 end: 1 step: 1 - file_format: 'MDCRD' -# kcal_force_units: True + file_format: "MDCRD" + kcal_force_units: True search_type: "RAD" diff --git a/tests/regression/configs/benzene/selection_subset.yaml b/tests/regression/configs/benzene/selection_subset.yaml new file mode 100644 index 00000000..421b5cb0 --- /dev/null +++ b/tests/regression/configs/benzene/selection_subset.yaml @@ -0,0 +1,14 @@ +--- + +run1: + force_file: ".testdata/benzene/forces.frc" + top_traj_file: + - ".testdata/benzene/molecules.top" + - ".testdata/benzene/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" diff --git a/tests/regression/configs/cyclohexane/axes_off.yaml b/tests/regression/configs/cyclohexane/axes_off.yaml new file mode 100644 index 00000000..de339292 --- /dev/null +++ b/tests/regression/configs/cyclohexane/axes_off.yaml @@ -0,0 +1,15 @@ +--- + +run1: + force_file: ".testdata/cyclohexane/forces.frc" + top_traj_file: + - ".testdata/cyclohexane/molecules.top" + - ".testdata/cyclohexane/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" + customised_axes: false diff --git a/tests/regression/configs/cyclohexane/combined_forcetorque_off.yaml b/tests/regression/configs/cyclohexane/combined_forcetorque_off.yaml new file mode 100644 index 00000000..90a7c27b --- /dev/null +++ b/tests/regression/configs/cyclohexane/combined_forcetorque_off.yaml @@ -0,0 +1,15 @@ +--- + +run1: + force_file: ".testdata/cyclohexane/forces.frc" + top_traj_file: + - ".testdata/cyclohexane/molecules.top" + - ".testdata/cyclohexane/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" + combined_forcetorque: False diff --git a/tests/regression/configs/cyclohexane/config.yaml b/tests/regression/configs/cyclohexane/default.yaml similarity index 83% rename from tests/regression/configs/cyclohexane/config.yaml rename to tests/regression/configs/cyclohexane/default.yaml index 8c8560f1..b70a05ea 100644 --- a/tests/regression/configs/cyclohexane/config.yaml +++ b/tests/regression/configs/cyclohexane/default.yaml @@ -5,10 +5,10 @@ run1: top_traj_file: - ".testdata/cyclohexane/molecules.top" - ".testdata/cyclohexane/trajectory.crd" - selection_string: 'all' + selection_string: "all" start: 0 end: 1 step: 1 - file_format: 'MDCRD' + file_format: "MDCRD" kcal_force_units: True search_type: "grid" diff --git a/tests/regression/configs/cyclohexane/frame_window.yaml b/tests/regression/configs/cyclohexane/frame_window.yaml new file mode 100644 index 00000000..e9cf16c3 --- /dev/null +++ b/tests/regression/configs/cyclohexane/frame_window.yaml @@ -0,0 +1,14 @@ +--- + +run1: + force_file: ".testdata/cyclohexane/forces.frc" + top_traj_file: + - ".testdata/cyclohexane/molecules.top" + - ".testdata/cyclohexane/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 5 + step: 2 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" diff --git a/tests/regression/configs/cyclohexane/grouping_each.yaml b/tests/regression/configs/cyclohexane/grouping_each.yaml new file mode 100644 index 00000000..ed1f2e4c --- /dev/null +++ b/tests/regression/configs/cyclohexane/grouping_each.yaml @@ -0,0 +1,15 @@ +--- + +run1: + force_file: ".testdata/cyclohexane/forces.frc" + top_traj_file: + - ".testdata/cyclohexane/molecules.top" + - ".testdata/cyclohexane/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" + grouping: "each" diff --git a/tests/regression/configs/cyclohexane_rad/config.yaml b/tests/regression/configs/cyclohexane/rad.yaml similarity index 74% rename from tests/regression/configs/cyclohexane_rad/config.yaml rename to tests/regression/configs/cyclohexane/rad.yaml index 1fa78cbe..bd9cb2f4 100644 --- a/tests/regression/configs/cyclohexane_rad/config.yaml +++ b/tests/regression/configs/cyclohexane/rad.yaml @@ -5,10 +5,10 @@ run1: top_traj_file: - ".testdata/cyclohexane/molecules.top" - ".testdata/cyclohexane/trajectory.crd" - selection_string: 'all' + selection_string: "all" start: 0 end: 1 step: 1 - file_format: 'MDCRD' -# kcal_force_units: True + file_format: "MDCRD" + kcal_force_units: True search_type: "RAD" diff --git a/tests/regression/configs/cyclohexane/selection_subset.yaml b/tests/regression/configs/cyclohexane/selection_subset.yaml new file mode 100644 index 00000000..72baec2e --- /dev/null +++ b/tests/regression/configs/cyclohexane/selection_subset.yaml @@ -0,0 +1,14 @@ +--- + +run1: + force_file: ".testdata/cyclohexane/forces.frc" + top_traj_file: + - ".testdata/cyclohexane/molecules.top" + - ".testdata/cyclohexane/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" diff --git a/tests/regression/configs/dna/axes_off.yaml b/tests/regression/configs/dna/axes_off.yaml new file mode 100644 index 00000000..4f5de407 --- /dev/null +++ b/tests/regression/configs/dna/axes_off.yaml @@ -0,0 +1,11 @@ +--- + +run1: + top_traj_file: + - ".testdata/dna/md_A4_dna.tpr" + - ".testdata/dna/md_A4_dna_xf.trr" + selection_string: "resid 1:10" + start: 0 + end: 5 + step: 2 + customised_axes: false diff --git a/tests/regression/configs/dna/combined_forcetorque_off.yaml b/tests/regression/configs/dna/combined_forcetorque_off.yaml new file mode 100644 index 00000000..99825c51 --- /dev/null +++ b/tests/regression/configs/dna/combined_forcetorque_off.yaml @@ -0,0 +1,11 @@ +--- + +run1: + top_traj_file: + - ".testdata/dna/md_A4_dna.tpr" + - ".testdata/dna/md_A4_dna_xf.trr" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + combined_forcetorque: False diff --git a/tests/regression/configs/dna/config.yaml b/tests/regression/configs/dna/default.yaml similarity index 83% rename from tests/regression/configs/dna/config.yaml rename to tests/regression/configs/dna/default.yaml index 854dc148..e1567c7d 100644 --- a/tests/regression/configs/dna/config.yaml +++ b/tests/regression/configs/dna/default.yaml @@ -4,7 +4,7 @@ run1: top_traj_file: - ".testdata/dna/md_A4_dna.tpr" - ".testdata/dna/md_A4_dna_xf.trr" - selection_string: 'all' + selection_string: "all" start: 0 end: 1 step: 1 diff --git a/tests/regression/configs/dna/frame_window.yaml b/tests/regression/configs/dna/frame_window.yaml new file mode 100644 index 00000000..c003f83e --- /dev/null +++ b/tests/regression/configs/dna/frame_window.yaml @@ -0,0 +1,10 @@ +--- + +run1: + top_traj_file: + - ".testdata/dna/md_A4_dna.tpr" + - ".testdata/dna/md_A4_dna_xf.trr" + selection_string: "resid 1:10" + start: 0 + end: 5 + step: 2 diff --git a/tests/regression/configs/dna/grouping_each.yaml b/tests/regression/configs/dna/grouping_each.yaml new file mode 100644 index 00000000..0cc1bdce --- /dev/null +++ b/tests/regression/configs/dna/grouping_each.yaml @@ -0,0 +1,11 @@ +--- + +run1: + top_traj_file: + - ".testdata/dna/md_A4_dna.tpr" + - ".testdata/dna/md_A4_dna_xf.trr" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + grouping: "each" diff --git a/tests/regression/configs/dna/selection_subset.yaml b/tests/regression/configs/dna/selection_subset.yaml new file mode 100644 index 00000000..637e30f8 --- /dev/null +++ b/tests/regression/configs/dna/selection_subset.yaml @@ -0,0 +1,10 @@ +--- + +run1: + top_traj_file: + - ".testdata/dna/md_A4_dna.tpr" + - ".testdata/dna/md_A4_dna_xf.trr" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 diff --git a/tests/regression/configs/ethyl-acetate/axes_off.yaml b/tests/regression/configs/ethyl-acetate/axes_off.yaml new file mode 100644 index 00000000..a733dda0 --- /dev/null +++ b/tests/regression/configs/ethyl-acetate/axes_off.yaml @@ -0,0 +1,15 @@ +--- + +run1: + force_file: ".testdata/benzaldehyde/forces.frc" + top_traj_file: + - ".testdata/benzaldehyde/molecules.top" + - ".testdata/benzaldehyde/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" + customised_axes: false diff --git a/tests/regression/configs/ethyl-acetate/combined_forcetorque_off.yaml b/tests/regression/configs/ethyl-acetate/combined_forcetorque_off.yaml new file mode 100644 index 00000000..3bcc649f --- /dev/null +++ b/tests/regression/configs/ethyl-acetate/combined_forcetorque_off.yaml @@ -0,0 +1,15 @@ +--- + +run1: + force_file: ".testdata/ethyl-acetate/forces.frc" + top_traj_file: + - ".testdata/ethyl-acetate/molecules.top" + - ".testdata/ethyl-acetate/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" + combined_forcetorque: False diff --git a/tests/regression/configs/ethyl-acetate/config.yaml b/tests/regression/configs/ethyl-acetate/default.yaml similarity index 83% rename from tests/regression/configs/ethyl-acetate/config.yaml rename to tests/regression/configs/ethyl-acetate/default.yaml index d6d29694..4e0c9bc4 100644 --- a/tests/regression/configs/ethyl-acetate/config.yaml +++ b/tests/regression/configs/ethyl-acetate/default.yaml @@ -5,10 +5,10 @@ run1: top_traj_file: - ".testdata/ethyl-acetate/molecules.top" - ".testdata/ethyl-acetate/trajectory.crd" - selection_string: 'all' + selection_string: "all" start: 0 end: 1 step: 1 - file_format: 'MDCRD' + file_format: "MDCRD" kcal_force_units: True search_type: "grid" diff --git a/tests/regression/configs/ethyl-acetate/frame_window.yaml b/tests/regression/configs/ethyl-acetate/frame_window.yaml new file mode 100644 index 00000000..66edeb98 --- /dev/null +++ b/tests/regression/configs/ethyl-acetate/frame_window.yaml @@ -0,0 +1,14 @@ +--- + +run1: + force_file: ".testdata/ethyl-acetate/forces.frc" + top_traj_file: + - ".testdata/ethyl-acetate/molecules.top" + - ".testdata/ethyl-acetate/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 5 + step: 2 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" diff --git a/tests/regression/configs/ethyl-acetate/grouping_each.yaml b/tests/regression/configs/ethyl-acetate/grouping_each.yaml new file mode 100644 index 00000000..c704af59 --- /dev/null +++ b/tests/regression/configs/ethyl-acetate/grouping_each.yaml @@ -0,0 +1,15 @@ +--- + +run1: + force_file: ".testdata/ethyl-acetate/forces.frc" + top_traj_file: + - ".testdata/ethyl-acetate/molecules.top" + - ".testdata/ethyl-acetate/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" + grouping: "each" diff --git a/tests/regression/configs/ethyl-acetate_rad/config.yaml b/tests/regression/configs/ethyl-acetate/rad.yaml similarity index 75% rename from tests/regression/configs/ethyl-acetate_rad/config.yaml rename to tests/regression/configs/ethyl-acetate/rad.yaml index df09dfe4..47c04aec 100644 --- a/tests/regression/configs/ethyl-acetate_rad/config.yaml +++ b/tests/regression/configs/ethyl-acetate/rad.yaml @@ -5,10 +5,10 @@ run1: top_traj_file: - ".testdata/ethyl-acetate/molecules.top" - ".testdata/ethyl-acetate/trajectory.crd" - selection_string: 'all' + selection_string: "all" start: 0 end: 1 step: 1 - file_format: 'MDCRD' -# kcal_force_units: True + file_format: "MDCRD" + kcal_force_units: True search_type: "RAD" diff --git a/tests/regression/configs/ethyl-acetate/selection_subset.yaml b/tests/regression/configs/ethyl-acetate/selection_subset.yaml new file mode 100644 index 00000000..9e0a624a --- /dev/null +++ b/tests/regression/configs/ethyl-acetate/selection_subset.yaml @@ -0,0 +1,14 @@ +--- + +run1: + force_file: ".testdata/ethyl-acetate/forces.frc" + top_traj_file: + - ".testdata/ethyl-acetate/molecules.top" + - ".testdata/ethyl-acetate/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" diff --git a/tests/regression/configs/methane/axes_off.yaml b/tests/regression/configs/methane/axes_off.yaml new file mode 100644 index 00000000..26c36569 --- /dev/null +++ b/tests/regression/configs/methane/axes_off.yaml @@ -0,0 +1,16 @@ +--- + +run1: + force_file: ".testdata/methane/forces.frc" + top_traj_file: + - ".testdata/methane/molecules.top" + - ".testdata/methane/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + temperature: 112.0 + kcal_force_units: True + search_type: "grid" + customised_axes: false diff --git a/tests/regression/configs/methane/combined_forcetorque_off.yaml b/tests/regression/configs/methane/combined_forcetorque_off.yaml new file mode 100644 index 00000000..fa80f4e9 --- /dev/null +++ b/tests/regression/configs/methane/combined_forcetorque_off.yaml @@ -0,0 +1,16 @@ +--- + +run1: + force_file: ".testdata/methane/forces.frc" + top_traj_file: + - ".testdata/methane/molecules.top" + - ".testdata/methane/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + temperature: 112.0 + kcal_force_units: True + search_type: "grid" + combined_forcetorque: False diff --git a/tests/regression/configs/methane/config.yaml b/tests/regression/configs/methane/default.yaml similarity index 100% rename from tests/regression/configs/methane/config.yaml rename to tests/regression/configs/methane/default.yaml diff --git a/tests/regression/configs/methane/frame_window.yaml b/tests/regression/configs/methane/frame_window.yaml new file mode 100644 index 00000000..8050972b --- /dev/null +++ b/tests/regression/configs/methane/frame_window.yaml @@ -0,0 +1,15 @@ +--- + +run1: + force_file: ".testdata/methane/forces.frc" + top_traj_file: + - ".testdata/methane/molecules.top" + - ".testdata/methane/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 5 + step: 2 + file_format: "MDCRD" + temperature: 112.0 + kcal_force_units: True + search_type: "grid" diff --git a/tests/regression/configs/methane/grouping_each.yaml b/tests/regression/configs/methane/grouping_each.yaml new file mode 100644 index 00000000..95704fcd --- /dev/null +++ b/tests/regression/configs/methane/grouping_each.yaml @@ -0,0 +1,16 @@ +--- + +run1: + force_file: ".testdata/methane/forces.frc" + top_traj_file: + - ".testdata/methane/molecules.top" + - ".testdata/methane/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + temperature: 112.0 + kcal_force_units: True + search_type: "grid" + grouping: "each" diff --git a/tests/regression/configs/methane_rad/config.yaml b/tests/regression/configs/methane/rad.yaml similarity index 84% rename from tests/regression/configs/methane_rad/config.yaml rename to tests/regression/configs/methane/rad.yaml index 10e3ea39..353bed7a 100644 --- a/tests/regression/configs/methane_rad/config.yaml +++ b/tests/regression/configs/methane/rad.yaml @@ -10,5 +10,6 @@ run1: step: 1 end: 1 file_format: "MDCRD" -# kcal_force_units: True + temperature: 112.0 + kcal_force_units: True search_type: "RAD" diff --git a/tests/regression/configs/methane/selection_subset.yaml b/tests/regression/configs/methane/selection_subset.yaml new file mode 100644 index 00000000..7639faca --- /dev/null +++ b/tests/regression/configs/methane/selection_subset.yaml @@ -0,0 +1,15 @@ +--- + +run1: + force_file: ".testdata/methane/forces.frc" + top_traj_file: + - ".testdata/methane/molecules.top" + - ".testdata/methane/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + temperature: 112.0 + kcal_force_units: True + search_type: "grid" diff --git a/tests/regression/configs/methanol/axes_off.yaml b/tests/regression/configs/methanol/axes_off.yaml new file mode 100644 index 00000000..50124731 --- /dev/null +++ b/tests/regression/configs/methanol/axes_off.yaml @@ -0,0 +1,15 @@ +--- + +run1: + force_file: ".testdata/methanol/forces.frc" + top_traj_file: + - ".testdata/methanol/molecules.top" + - ".testdata/methanol/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" + customised_axes: false diff --git a/tests/regression/configs/methanol/combined_forcetorque_off.yaml b/tests/regression/configs/methanol/combined_forcetorque_off.yaml new file mode 100644 index 00000000..7aacc1d0 --- /dev/null +++ b/tests/regression/configs/methanol/combined_forcetorque_off.yaml @@ -0,0 +1,15 @@ +--- + +run1: + force_file: ".testdata/methanol/forces.frc" + top_traj_file: + - ".testdata/methanol/molecules.top" + - ".testdata/methanol/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" + combined_forcetorque: False diff --git a/tests/regression/configs/methanol/config.yaml b/tests/regression/configs/methanol/default.yaml similarity index 82% rename from tests/regression/configs/methanol/config.yaml rename to tests/regression/configs/methanol/default.yaml index 9b7ee6f9..d27f7068 100644 --- a/tests/regression/configs/methanol/config.yaml +++ b/tests/regression/configs/methanol/default.yaml @@ -5,10 +5,10 @@ run1: top_traj_file: - ".testdata/methanol/molecules.top" - ".testdata/methanol/trajectory.crd" - selection_string: 'all' + selection_string: "all" start: 0 end: 1 step: 1 - file_format: 'MDCRD' + file_format: "MDCRD" kcal_force_units: True search_type: "grid" diff --git a/tests/regression/configs/methanol/frame_window.yaml b/tests/regression/configs/methanol/frame_window.yaml new file mode 100644 index 00000000..97c71136 --- /dev/null +++ b/tests/regression/configs/methanol/frame_window.yaml @@ -0,0 +1,14 @@ +--- + +run1: + force_file: ".testdata/methanol/forces.frc" + top_traj_file: + - ".testdata/methanol/molecules.top" + - ".testdata/methanol/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 5 + step: 2 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" diff --git a/tests/regression/configs/methanol/grouping_each.yaml b/tests/regression/configs/methanol/grouping_each.yaml new file mode 100644 index 00000000..90cb1c66 --- /dev/null +++ b/tests/regression/configs/methanol/grouping_each.yaml @@ -0,0 +1,15 @@ +--- + +run1: + force_file: ".testdata/methanol/forces.frc" + top_traj_file: + - ".testdata/methanol/molecules.top" + - ".testdata/methanol/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" + grouping: "each" diff --git a/tests/regression/configs/methanol_rad/config.yaml b/tests/regression/configs/methanol/rad.yaml similarity index 73% rename from tests/regression/configs/methanol_rad/config.yaml rename to tests/regression/configs/methanol/rad.yaml index 1629654a..ef0d1b62 100644 --- a/tests/regression/configs/methanol_rad/config.yaml +++ b/tests/regression/configs/methanol/rad.yaml @@ -5,10 +5,10 @@ run1: top_traj_file: - ".testdata/methanol/molecules.top" - ".testdata/methanol/trajectory.crd" - selection_string: 'all' + selection_string: "all" start: 0 end: 1 step: 1 - file_format: 'MDCRD' -# kcal_force_units: True + file_format: "MDCRD" + kcal_force_units: True search_type: "RAD" diff --git a/tests/regression/configs/methanol/selection_subset.yaml b/tests/regression/configs/methanol/selection_subset.yaml new file mode 100644 index 00000000..bdba7dec --- /dev/null +++ b/tests/regression/configs/methanol/selection_subset.yaml @@ -0,0 +1,14 @@ +--- + +run1: + force_file: ".testdata/methanol/forces.frc" + top_traj_file: + - ".testdata/methanol/molecules.top" + - ".testdata/methanol/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" diff --git a/tests/regression/configs/octonol/axes_off.yaml b/tests/regression/configs/octonol/axes_off.yaml new file mode 100644 index 00000000..361d3619 --- /dev/null +++ b/tests/regression/configs/octonol/axes_off.yaml @@ -0,0 +1,15 @@ +--- + +run1: + force_file: ".testdata/octonol/forces.frc" + top_traj_file: + - ".testdata/octonol/molecules.top" + - ".testdata/octonol/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" + customised_axes: false diff --git a/tests/regression/configs/octonol/combined_forcetorque_off.yaml b/tests/regression/configs/octonol/combined_forcetorque_off.yaml new file mode 100644 index 00000000..87c6556b --- /dev/null +++ b/tests/regression/configs/octonol/combined_forcetorque_off.yaml @@ -0,0 +1,15 @@ +--- + +run1: + force_file: ".testdata/octonol/forces.frc" + top_traj_file: + - ".testdata/octonol/molecules.top" + - ".testdata/octonol/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" + combined_forcetorque: False diff --git a/tests/regression/configs/octonol/config.yaml b/tests/regression/configs/octonol/default.yaml similarity index 82% rename from tests/regression/configs/octonol/config.yaml rename to tests/regression/configs/octonol/default.yaml index 926d03f1..8ee5ee8b 100644 --- a/tests/regression/configs/octonol/config.yaml +++ b/tests/regression/configs/octonol/default.yaml @@ -5,10 +5,10 @@ run1: top_traj_file: - ".testdata/octonol/molecules.top" - ".testdata/octonol/trajectory.crd" - selection_string: 'all' + selection_string: "all" start: 0 end: 1 step: 1 - file_format: 'MDCRD' + file_format: "MDCRD" kcal_force_units: True search_type: "grid" diff --git a/tests/regression/configs/octonol/frame_window.yaml b/tests/regression/configs/octonol/frame_window.yaml new file mode 100644 index 00000000..21d2ada9 --- /dev/null +++ b/tests/regression/configs/octonol/frame_window.yaml @@ -0,0 +1,14 @@ +--- + +run1: + force_file: ".testdata/octonol/forces.frc" + top_traj_file: + - ".testdata/octonol/molecules.top" + - ".testdata/octonol/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 5 + step: 2 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" diff --git a/tests/regression/configs/octonol/grouping_each.yaml b/tests/regression/configs/octonol/grouping_each.yaml new file mode 100644 index 00000000..3b38e71b --- /dev/null +++ b/tests/regression/configs/octonol/grouping_each.yaml @@ -0,0 +1,15 @@ +--- + +run1: + force_file: ".testdata/octonol/forces.frc" + top_traj_file: + - ".testdata/octonol/molecules.top" + - ".testdata/octonol/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" + grouping: "each" diff --git a/tests/regression/configs/octonol_rad/config.yaml b/tests/regression/configs/octonol/rad.yaml similarity index 73% rename from tests/regression/configs/octonol_rad/config.yaml rename to tests/regression/configs/octonol/rad.yaml index 918f8c25..ae2bd232 100644 --- a/tests/regression/configs/octonol_rad/config.yaml +++ b/tests/regression/configs/octonol/rad.yaml @@ -5,10 +5,10 @@ run1: top_traj_file: - ".testdata/octonol/molecules.top" - ".testdata/octonol/trajectory.crd" - selection_string: 'all' + selection_string: "all" start: 0 end: 1 step: 1 - file_format: 'MDCRD' -# kcal_force_units: True + file_format: "MDCRD" + kcal_force_units: True search_type: "RAD" diff --git a/tests/regression/configs/octonol/selection_subset.yaml b/tests/regression/configs/octonol/selection_subset.yaml new file mode 100644 index 00000000..46f8fd45 --- /dev/null +++ b/tests/regression/configs/octonol/selection_subset.yaml @@ -0,0 +1,14 @@ +--- + +run1: + force_file: ".testdata/octonol/forces.frc" + top_traj_file: + - ".testdata/octonol/molecules.top" + - ".testdata/octonol/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" diff --git a/tests/regression/configs/water/axes_off.yaml b/tests/regression/configs/water/axes_off.yaml new file mode 100644 index 00000000..0cb2482d --- /dev/null +++ b/tests/regression/configs/water/axes_off.yaml @@ -0,0 +1,15 @@ +--- + +run1: + force_file: ".testdata/water/forces.frc" + top_traj_file: + - ".testdata/water/molecules.top" + - ".testdata/water/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" + customised_axes: false diff --git a/tests/regression/configs/water/combined_forcetorque_off.yaml b/tests/regression/configs/water/combined_forcetorque_off.yaml new file mode 100644 index 00000000..e6cc4984 --- /dev/null +++ b/tests/regression/configs/water/combined_forcetorque_off.yaml @@ -0,0 +1,15 @@ +--- + +run1: + force_file: ".testdata/water/forces.frc" + top_traj_file: + - ".testdata/water/molecules.top" + - ".testdata/water/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + step: 1 + end: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" + combined_forcetorque: False diff --git a/tests/regression/configs/water/config.yaml b/tests/regression/configs/water/default.yaml similarity index 100% rename from tests/regression/configs/water/config.yaml rename to tests/regression/configs/water/default.yaml diff --git a/tests/regression/configs/water/frame_window.yaml b/tests/regression/configs/water/frame_window.yaml new file mode 100644 index 00000000..651d164a --- /dev/null +++ b/tests/regression/configs/water/frame_window.yaml @@ -0,0 +1,14 @@ +--- + +run1: + force_file: ".testdata/water/forces.frc" + top_traj_file: + - ".testdata/water/molecules.top" + - ".testdata/water/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 5 + step: 2 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" diff --git a/tests/regression/configs/water/grouping_each.yaml b/tests/regression/configs/water/grouping_each.yaml new file mode 100644 index 00000000..019c3f4b --- /dev/null +++ b/tests/regression/configs/water/grouping_each.yaml @@ -0,0 +1,15 @@ +--- + +run1: + force_file: ".testdata/water/forces.frc" + top_traj_file: + - ".testdata/water/molecules.top" + - ".testdata/water/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + step: 1 + end: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" + grouping: "each" diff --git a/tests/regression/configs/water_rad/config.yaml b/tests/regression/configs/water/rad.yaml similarity index 100% rename from tests/regression/configs/water_rad/config.yaml rename to tests/regression/configs/water/rad.yaml diff --git a/tests/regression/configs/water/selection_subset.yaml b/tests/regression/configs/water/selection_subset.yaml new file mode 100644 index 00000000..92fe9bc5 --- /dev/null +++ b/tests/regression/configs/water/selection_subset.yaml @@ -0,0 +1,14 @@ +--- + +run1: + force_file: ".testdata/water/forces.frc" + top_traj_file: + - ".testdata/water/molecules.top" + - ".testdata/water/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + end: 1 + step: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" diff --git a/tests/regression/configs/water/water_off.yaml b/tests/regression/configs/water/water_off.yaml new file mode 100644 index 00000000..3b138532 --- /dev/null +++ b/tests/regression/configs/water/water_off.yaml @@ -0,0 +1,15 @@ +--- + +run1: + force_file: ".testdata/water/forces.frc" + top_traj_file: + - ".testdata/water/molecules.top" + - ".testdata/water/trajectory.crd" + selection_string: "resid 1:10" + start: 0 + step: 1 + end: 1 + file_format: "MDCRD" + kcal_force_units: True + search_type: "grid" + water_entropy: False diff --git a/tests/regression/conftest.py b/tests/regression/conftest.py index 6693f568..05be6f7c 100644 --- a/tests/regression/conftest.py +++ b/tests/regression/conftest.py @@ -4,6 +4,12 @@ def pytest_addoption(parser: pytest.Parser) -> None: + """ + Register custom command-line options for pytest. + + Adds options to control regression test execution, baseline updates, + and debugging output. + """ parser.addoption( "--run-slow", action="store_true", @@ -22,9 +28,18 @@ def pytest_addoption(parser: pytest.Parser) -> None: default=False, help="Print CodeEntropy stdout/stderr and paths for easier debugging.", ) + parser.addoption( + "--system", + action="append", + default=None, + help="Run only tests for specified system(s). Can be passed multiple times.", + ) def pytest_configure(config: pytest.Config) -> None: + """ + Register custom pytest markers. + """ config.addinivalue_line("markers", "regression: end-to-end regression tests") config.addinivalue_line("markers", "slow: long-running tests (20-30+ minutes)") @@ -33,14 +48,37 @@ def pytest_collection_modifyitems( config: pytest.Config, items: list[pytest.Item] ) -> None: """ - Regression tests are collected and runnable by default. - - Only @pytest.mark.slow tests are skipped unless you pass --run-slow. + Modify collected test items to: + 1. Skip slow tests unless --run-slow is provided + 2. Filter tests by --system if specified """ - if config.getoption("--run-slow"): + if not config.getoption("--run-slow"): + skip_slow = pytest.mark.skip( + reason="Skipped slow test (use --run-slow to run)." + ) + for item in items: + if "slow" in item.keywords: + item.add_marker(skip_slow) + + selected_systems = config.getoption("--system") + if not selected_systems: return - skip_slow = pytest.mark.skip(reason="Skipped slow test (use --run-slow to run).") + filtered_items = [] + for item in items: - if "slow" in item.keywords: - item.add_marker(skip_slow) + callspec = getattr(item, "callspec", None) + + case = None + if callspec is not None: + case = callspec.params.get("case") + + # Keep non-parametrized tests + if case is None: + filtered_items.append(item) + continue + + if hasattr(case, "system") and case.system in selected_systems: + filtered_items.append(item) + + items[:] = filtered_items diff --git a/tests/regression/list_systems.py b/tests/regression/list_systems.py new file mode 100644 index 00000000..0da18eea --- /dev/null +++ b/tests/regression/list_systems.py @@ -0,0 +1,12 @@ +import json + +from tests.regression.cases import discover_cases + + +def main(): + systems = sorted({case.values[0].system for case in discover_cases()}) + print(json.dumps(systems)) + + +if __name__ == "__main__": + main() diff --git a/tests/regression/test_regression.py b/tests/regression/test_regression.py index 8eecd052..fea359b3 100644 --- a/tests/regression/test_regression.py +++ b/tests/regression/test_regression.py @@ -7,20 +7,43 @@ import numpy as np import pytest +from tests.regression.cases import discover_cases from tests.regression.helpers import run_codeentropy_with_config +CASES = discover_cases() + + +def pytest_generate_tests(metafunc: pytest.Metafunc) -> None: + """ + Dynamically parametrize regression test cases. + + This hook enables pytest-xdist to distribute individual regression cases + across multiple workers by generating test parametrization at collection time. + + Args: + metafunc (pytest.Metafunc): Pytest metafunction object used to inspect + and modify test function parametrization. + """ + if "case" in metafunc.fixturenames: + metafunc.parametrize( + "case", + CASES, + ids=[c.id for c in CASES], + ) + def _group_index(payload: dict[str, Any]) -> dict[str, dict[str, Any]]: - """Return the groups mapping from a regression payload. + """ + Extract the grouped structure from a regression output payload. Args: - payload: Parsed JSON payload. + payload (dict[str, Any]): The full output payload produced by CodeEntropy. Returns: - Mapping of group id to group data. + dict[str, dict[str, Any]]: Mapping of group IDs to group data. Raises: - TypeError: If payload["groups"] is not a dict. + TypeError: If the 'groups' field is not a dictionary. """ groups = payload.get("groups", {}) if not isinstance(groups, dict): @@ -35,16 +58,20 @@ def _compare_grouped( rtol: float, atol: float, ) -> None: - """Compare grouped regression outputs against baseline values. + """ + Compare grouped regression outputs against baseline data. + + Performs a structured comparison of group components and totals, + using numerical tolerances for floating-point comparisons. Args: - got_payload: Newly produced payload. - baseline_payload: Baseline payload. - rtol: Relative tolerance. - atol: Absolute tolerance. + got_payload (dict[str, Any]): Output generated by the test run. + baseline_payload (dict[str, Any]): Reference baseline output. + rtol (float): Relative tolerance for numeric comparisons. + atol (float): Absolute tolerance for numeric comparisons. Raises: - AssertionError: If any required group/component differs from baseline. + AssertionError: If any mismatches are found between outputs and baseline. """ got_groups = _group_index(got_payload) base_groups = _group_index(baseline_payload) @@ -100,52 +127,57 @@ def _compare_grouped( @pytest.mark.regression -@pytest.mark.parametrize( - "system", - [ - "dna", - pytest.param("benzaldehyde", marks=pytest.mark.slow), - pytest.param("benzene", marks=pytest.mark.slow), - pytest.param("cyclohexane", marks=pytest.mark.slow), - pytest.param("ethyl-acetate", marks=pytest.mark.slow), - pytest.param("methane", marks=pytest.mark.slow), - pytest.param("methanol", marks=pytest.mark.slow), - pytest.param("octonol", marks=pytest.mark.slow), - pytest.param("water", marks=pytest.mark.slow), - ], -) def test_regression_matches_baseline( - tmp_path: Path, system: str, request: pytest.FixtureRequest + tmp_path: Path, + case, + request: pytest.FixtureRequest, ) -> None: - """Run a regression test for one system and compare to its baseline. + """ + Execute a regression test for a single scenario and compare against baseline. + + This test: + 1. Loads a YAML configuration for a given system/scenario + 2. Runs CodeEntropy using that configuration + 3. Compares the output payload against a stored baseline JSON + 4. Optionally updates the baseline if --update-baselines is set Args: - tmp_path: Pytest-provided temporary directory. - system: System name parameter. - request: Pytest request fixture for reading CLI options. + tmp_path (Path): Temporary directory provided by pytest. + case: A RegressionCase instance containing system, config, and baseline paths. + request (pytest.FixtureRequest): Pytest request object used to access CLI + options. + + Raises: + AssertionError: If the output does not match the baseline or baseline is missing """ - repo_root = Path(__file__).resolve().parents[2] - config_path = ( - repo_root / "tests" / "regression" / "configs" / system / "config.yaml" + system = case.system + config_path = case.config_path + baseline_path = case.baseline_path + + update_mode = request.config.getoption("--update-baselines") + + if not baseline_path.exists(): + if not update_mode: + raise AssertionError(f"Missing baseline: {baseline_path}") + baseline_payload = {} + else: + baseline_payload = json.loads(baseline_path.read_text()) + + run = run_codeentropy_with_config( + workdir=tmp_path, + config_src=config_path, ) - baseline_path = repo_root / "tests" / "regression" / "baselines" / f"{system}.json" - - assert config_path.exists(), f"Missing config: {config_path}" - assert baseline_path.exists(), f"Missing baseline: {baseline_path}" - - baseline_payload = json.loads(baseline_path.read_text()) - run = run_codeentropy_with_config(workdir=tmp_path, config_src=config_path) if request.config.getoption("--codeentropy-debug"): - print("\n[CodeEntropy regression debug]") - print("workdir:", run.workdir) - print("job_dir:", run.job_dir) - print("output_json:", run.output_json) - print("payload copy saved:", run.workdir / "codeentropy_output.json") + print("\n[DEBUG]") + print("system:", system) + print("config:", config_path) + print("baseline:", baseline_path) if request.config.getoption("--update-baselines"): + baseline_path.parent.mkdir(parents=True, exist_ok=True) baseline_path.write_text(json.dumps(run.payload, indent=2)) - pytest.skip(f"Baseline updated for {system}: {baseline_path}") + pytest.skip(f"Updated baseline for {system}") _compare_grouped( got_payload=run.payload, diff --git a/tests/unit/CodeEntropy/levels/test_search.py b/tests/unit/CodeEntropy/levels/test_search.py index 2e970212..51b15e0c 100644 --- a/tests/unit/CodeEntropy/levels/test_search.py +++ b/tests/unit/CodeEntropy/levels/test_search.py @@ -31,7 +31,7 @@ def test_get_RAD_neighbors(tmp_path: Path): system = "methane" repo_root = Path(__file__).resolve().parents[4] config_path = ( - repo_root / "tests" / "regression" / "configs" / system / "config.yaml" + repo_root / "tests" / "regression" / "configs" / system / "default.yaml" ) tmp_path.mkdir(parents=True, exist_ok=True) @@ -82,7 +82,7 @@ def test_get_grid_neighbors(tmp_path: Path): system = "methane" repo_root = Path(__file__).resolve().parents[4] config_path = ( - repo_root / "tests" / "regression" / "configs" / system / "config.yaml" + repo_root / "tests" / "regression" / "configs" / system / "default.yaml" ) tmp_path.mkdir(parents=True, exist_ok=True)