ConductScience Morris Water Maze Analyzer: method and validation record
The calculation behind ConductScience's free Morris water maze analyzer, with four worked examples that check it.
ConductScience
- Published
- September 28, 2026
- Version
- 1.0.0
- Files
- 11 release files
About this dataset
Overview
Method and validation record for the free Morris Water Maze Analyzer at conductscience.com/tools/morris-water-maze-analyzer. From tracked swim paths or typed latencies, the tool computes escape latency, path length and swim speed, quadrant times, platform crossings and the Gallagher proximity measure for probe trials, and a rule-based search-strategy label. Four examples cover a straight 50 cm swim onto the platform, two separate platform crossings, the latency and speed of the direct swim, and a trial with no tracked positions, which has no proximity score (Gallagher et al. 1993). The record holds the calculation source files, the worked examples, a validation report with each file's SHA-256, and what changed on the tool page when the record was written.
Inspect before download
Data preview
cases.csv · first 4 rows
| id | title | source_type | expected | pass |
|---|---|---|---|---|
| analytic-direct-swim | A straight 50 cm swim onto the platform in 5 s | analytic | {"pathLength":50,"timeNE":83.3333333333,"timeSE":16.6666666667,"platformCrossings":1,"gallagherProximity":25,"strategy":"direct"} | true |
| analytic-two-crossings | Two separate entries into the platform zone | analytic | {"platformCrossings":2,"gallagherProximity":10.5} | true |
| analytic-speed | Latency and swim speed of the direct swim | analytic | {"latency":5,"pathLength":50,"speed":10} | true |
| edge-empty-track | A trial with no tracked positions | analytic | {"pathLength":0,"latency":0,"speed":0,"platformCrossings":0,"gallagherProximity":null,"strategy":"random"} | true |
Read the columns
Data dictionary
cases.csvOne row per worked example.7 entries
| Name | Type | Units or values | Meaning |
|---|---|---|---|
| id | string | e.g. analytic-direct-swim | Case identifier; edge cases start with "edge-" |
| title | string | What the case checks | |
| source_type | string | analytic | Where the expected answer comes from: published, hand-worked, analytic or cross-check |
| citation | string | Source of the method or the expected answer | |
| locator | string | Section, formula or table of the source that the case relies on | |
| expected | JSON object | null: not computable | Expected outputs as JSON; null means not computable |
| pass | boolean | true, false | true when every expected output matched the engine within the stated tolerance |
cases.json
The worked examples in full: inputs, expected outputs, tolerances, source passage and the arithmetic behind each expected answer.
validation-report.json
The engine's output for every case, pass or fail, with the byte count and SHA-256 of each calculation and harness file.
engine/behavioral/mwm-metrics.ts
Calculation source (MIT). Path length, latency, speed, quadrant time, platform crossings, Gallagher proximity and the search-strategy label.
engine/behavioral/types.ts
Calculation source (MIT). Shared types, and group statistics that leave out values that are not computable.
engine/pilot-tools.ts
Harness source (MIT). Slugs of the ten tools with validation records; the check accepts only these.
engine/validation/run.ts
Harness source (MIT). Runs one case: passes its inputs to the tool's adapter and compares each output with the expected value within the tolerance.
engine/validation/tools/morris-water-maze-analyzer.ts
Harness source (MIT). Adapter from a case's inputs to this tool's calculation, returning the outputs the cases check.
engine/validation/types.ts
Harness source (MIT). Types for cases, tolerances and results.
Files
tool-morris-water-maze-analyzer-record-1.0.0.zip
15.6 kBComplete frozen release: 15 source-manifest files plus MANIFEST.json.
SHA-256 043e4be516c7a9f470e2a430222f3f8f4450852f57bf000a2d7f34c4eb02fe0d
cases.csv
1.7 kBThe worked examples, one row each: what the case checks, the source of the expected answer, the expected outputs and whether the engine matched them.
SHA-256 ea33fae917eca95ec6cb5726b76d7af04cc1935b7dbb29849aa4e75ae2768918
cases.json
5.1 kBThe worked examples in full: inputs, expected outputs, tolerances, source passage and the arithmetic behind each expected answer.
SHA-256 9ba551dc8fe0bbd88d549735d49cedcb1d7de2767f645abd46c787f70b2a0d3f
validation-report.json
2.8 kBThe engine's output for every case, pass or fail, with the byte count and SHA-256 of each calculation and harness file.
SHA-256 d34c6bf939c5272ffb3c8f61c2361428b5785b478de2b4f6a9b225d33ed1eb25
data_dictionary.csv
472 bytesColumns of cases.csv.
SHA-256 96b57ee5185ffcccc5397d98673c42bbc53ff77cc7f676fe5789ef04a7648090
README.md
1.7 kBWhat the tool computes, the files, and how to cite the record.
SHA-256 2b65b2d0dd47c142393c45dcc1c640faa2853bbd3ca53bece1096578769bd691
METHODS.md
3.5 kBFormulas, input rules, conventions, references and what changed on the tool page.
SHA-256 064b7b0b00b48ce19989edee2ca256144236e0d549f75ac5a09101ec44c64ed6
MANIFEST.json
2.3 kBByte count and SHA-256 for every file in the source release.
SHA-256 11d1f7adc83f8d91a2edbc54351c4cd5ee7d766b9a236cfa2935b968df3d56a3
CITATION.cff
413 bytesCitation metadata.
SHA-256 abc30fb05849e6253df3cd77c9e1e996a666f30fc8226f759dfa3e5df78a69a7
LICENSE
1.3 kBMIT License for the calculation source files; CC BY 4.0 for everything else.
SHA-256 d2dca2297cc985f3577b9376fbf5a72231ac88be401776098486f6d1e8a4d87a
deposit-receipt.json
3.0 kBConductScience verification and packaging receipt.
SHA-256 44ff31b896a3c66f1ebf4c9643b65107da38dab999f9324af88fb7a9d97d52e3
How it was made
Methods
- 1
Worked examples: each of the four cases gives its inputs, the expected outputs, the source and passage behind the expected answer, and the arithmetic. Expected answers follow from the geometry of tracks built for the purpose, under the rules METHODS.md states. Cases whose ids start with edge- test inputs at the limits of the method.
- 2
Check: each case was run in Node.js 24 through the tool's calculation source files, and every output was compared with its expected value, exactly or within the tolerance the case states. All four cases pass (validation-report.json), and ConductScience's test suite runs the same cases whenever the tool changes.
- 3
Fingerprint: the validation report gives the byte count and SHA-256 of each calculation file and of the files that ran the check, and engine/ holds those files, so anyone can rerun the cases and tell whether a later version of the calculation differs from this one.
Version history
Version 1.0.0 · current
Published September 28, 2026 from source tag v1.0.0 at commit cf6a0f4e4918.