Module 21: Reproducibility and FAIR Principles in Connectomics

Operationalize reproducibility and FAIR principles for connectomics datasets, code, and releases.

Stylized vector art: a pipeline of linked, openly latched stages.

Lesson Flow

Learn

Goals and Concepts

Start with the capability target and concept set for this module.

Practice

Studio Activity

Apply the ideas in a guided activity tied to realistic outputs.

Check

Assessment Rubric

Use the rubric to verify competency and identify improvement targets.

Interactive Lab

Practice in short loops: checkpoint quiz, microtask decision, and competency progress tracking.

FAIR Release Checkpoint

Q1. Your analysis outputs sit on a lab web page as CSV downloads. Which FAIR principle is still unmet?

CSV is interoperable enough for tabular outputs and an HTTP URL is accessible, so the gap is the one that bites in two years: a lab page carries no persistent identifier and no version, so the exact file behind a published number cannot be resolved. A DOI plus a version tag is the minimum, and it is engineering work rather than paperwork.

Q2. Another group re-runs your code on your data, reproduces your numbers, then reaches a different conclusion using a different null model. What has been shown?

The two layers are separable, and conflating them hides which one failed. Same code and data yielding the same numbers is computational reproducibility, the cheaper of the two. Whether the conclusion survives reasonable analytical variation is the question they actually raised, and the response to it is a sensitivity analysis.

Q3. Your release names the dataset version, the code commit and the parameter configuration. What is still missing from the module's checklist?

The checklist has five elements, and the two omitted here are the ones that change results silently: an unpinned materialization means the segmentation under your query has moved, and an unspecified environment means a dependency version can shift a numerical answer. Checksums and a README help a reader navigate the release; neither lets them recreate the computation.

Reuse Friction Microtask

A collaborator cannot reproduce your figure. Which artifact settles the question fastest?

Progress Tracker

State is saved locally in your browser for this module.

0% complete

Capability target

Publish a reproducibility-ready connectomics package (data + methods + metadata + limitations) that an external group can audit and reuse.

Why this module matters

Connectomics studies are technically dense and often impossible to interpret without exact workflow context. FAIR and reproducibility are not paperwork; they are scientific validity infrastructure.

Concept set

1) FAIR as implementation checklist

2) Reproducibility is layered

3) Hidden curriculum in reproducibility

4) FAIR applied to connectomics

Each FAIR principle maps to concrete connectomics infrastructure. Findable means assigning DOIs for datasets and providing stable CAVE endpoints that resolve to specific data versions. Accessible means offering open APIs and tools like CloudVolume that allow programmatic data retrieval without manual download. Interoperable means using standard formats such as SWC for neuron morphologies, Zarr for volumetric data, and NWB for neurophysiology so that tools across labs can ingest each other’s outputs. Reusable means materialization versioning in CAVE, which lets any researcher retrieve the exact state of the segmentation and annotations at a given point in time.

A practical reproducibility checklist for any connectomics analysis release should include: the dataset version or release identifier, the CAVE materialization number (if applicable), the code commit hash for all analysis scripts, the environment specification (e.g., conda environment file or Docker image), and the full parameter configuration used. Without all five elements, a third party cannot reliably reproduce the analysis, even with access to the same underlying data.

Worked example: the number that changed while the code did not

The numbers below are illustrative — they show the shape of the reasoning, not results from a specific release.

In March you report 4,712 synapses between two labeled cell populations. In September a collaborator reruns your notebook, unchanged, and gets 5,103. Nothing in the code changed. Work the five-element checklist as a diagnostic.

Step 1: dataset version and materialization. The notebook queries “latest.” Proofreading continued for six months, so the segmentation your query resolves against today is not the one you analyzed in March. Root IDs are only meaningful as of a version; querying latest silently re-asks the question against a different brain state. This is the most common silent correctness failure in the field — the mechanics of why are Technical Unit 04 and provenance and versioning.

Step 2: quantify the drift instead of guessing. Map your 214 stored root IDs forward with the platform’s ID-lineage facility: 183 map 1:1, 24 split into two or more objects, 7 merged into other cells. So 31 of 214 objects changed under you. That churn number belongs in your methods, because it tells every reader how much proofreading moved the ground.

Step 3: reproduce and update — as two separate acts. To reproduce March: query materialization version 795 explicitly, and recover 4,712 exactly. To update: rerun against version 1042 and get 5,103, which is now a statement about proofreading progress, not a bug. Both acts are legitimate; the error was conflating them by letting “latest” decide which one you were performing.

Step 4: pin the remaining four elements. Code commit hash (eight characters in the figure caption), environment specification (an exported conda file or Docker digest — “Python 3.11” is not an environment), the full parameter configuration (synapse threshold of 3, the inclusion radius, every default you touched), and the dataset release identifier with its DOI. The test for each: could a stranger rerun this with no channel to ask you questions?

Step 5: prove it in a clean room. A labmate reruns the package from the README alone. Friction log: an undeclared plotting dependency, a hard-coded path into your home directory, and a parameter cell that was edited after the figure was exported. Three fixes, one afternoon. The friction log is the deliverable — a package that has never been rerun cold is “reproducible in principle,” which means unverified.

What gets released. The data slice with a DOI, the materialization number in every figure caption, the commit hash, the environment file, the parameter configuration, a limitations note naming the two excluded tiles and the one failed run — and a changelog entry, so that version 2 can deprecate version 1 without erasing it.

What this example does not establish: that the September number is wrong. Both numbers are right about different states of the reconstruction; the failure was that the March release could not say which state it described.

Hidden curriculum scaffold

Core workflow: FAIR/reproducibility release

  1. Define release scope (dataset slice, code commit, parameter set).
  2. Add machine-readable metadata and provenance fields.
  3. Validate rerun path in a clean environment.
  4. Write methods/limitations notes for external users.
  5. Publish with changelog and deprecation policy.

60-minute tutorial run-of-show

Pre-class preparation (15 min async)

Minute-by-minute plan

  1. **00:00-06:00 Framing: the silent bug**
    • Prompt: “Your notebook ran fine last month and gives a different number today. Nothing in your code changed. What happened?”
    • Establish that analysis against an unpinned segmentation is the most common silent correctness failure in this field.
  2. **06:00-16:00 The five-element checklist, modeled**
    • Instructor walks one real analysis through: dataset release ID, materialization number, code commit hash, environment specification, parameter configuration.
    • Show what breaks when each one is missing, in turn.
  3. **16:00-30:00 Guided practice: audit your own work**
    • Learners score their brought-in analysis against the five elements. Most will fail two or three; say so in advance to make that safe.
    • Produce a remediation list ordered by how cheap each fix is.
  4. **30:00-40:00 Clean-environment rerun**
    • Attempt a rerun of a partner’s analysis from their instructions alone, without asking them questions.
    • Log every point of friction. The friction log is the deliverable, not the successful rerun.
  5. **40:00-50:00 Known limitations, written honestly**
    • Each learner drafts a limitations paragraph naming concrete failure modes, excluded samples, and failed runs — not generic caveats.
    • Discuss why this is a hidden-curriculum norm: reviewers expect it, and almost nobody is taught to write it.
  6. **50:00-57:00 Competency check**
    • Submit: completed five-element record, friction report on a partner’s package, and one limitations paragraph.
  7. **57:00-60:00 Exit ticket**
    • “One thing in my current work that another person could not reproduce today.”

Formative checkpoints

Studio activity: reproducibility hardening sprint

Scenario: Your lab plans to release a connectomics analysis package to collaborators.

Tasks

  1. Build a FAIR metadata sheet for one analysis output.
  2. Create a reproducibility checklist with pass/fail criteria.
  3. Draft a “known limitations” section and one deprecation note.
  4. Peer-test another team’s package for reuse friction.

Expected outputs

Assessment rubric

Common errors and how to recover

What this module does not cover

Content library references

Teaching resources

Evidence anchors from connectomics practice

Key papers/resources to use

Key datasets/platforms

Competency checks

Quick practice prompt

Take one prior analysis output and add:

  1. provenance metadata,
  2. reproducibility instructions,
  3. a 5-line limitations section.

Teaching Materials

Activity Worksheet

Learner worksheet aligned to the studio activity and rubric.

Open worksheet

Slide Source

Marp source file for editing and rendering.

course/decks/marp/modules/module21.marp.md

Related Content