Analysis Overview

adamacs_analysis is the student-facing analysis workspace split from ingest operations.

Start here

Analysis philosophy

  • Keep ingest/pipeline mutation in adamacs_ingest.

  • Keep analysis logic, figures, and project interpretation in adamacs_analysis.

  • Fork adamacs_analysis for project-specific work and open PRs for reusable improvements.

What lives in analysis repository

  • starter notebooks for querying and plotting

  • personal/project notebook workspaces

  • analysis helper modules

  • schema-class scaffold generator (adamacs-analysis-generate)

Typical analysis flow

  1. Start from proven keys (subject, session_id, scan_id).

  2. Join incrementally across schema domains.

  3. Validate counts and key uniqueness at each join.

  4. Restrict by paramset_idx and curation_id explicitly.

  5. Extract DataFrames/arrays only when key logic is correct.

  6. Persist derived analysis artifacts with clear provenance.

Analysis and worker interaction

Analysis assumes ingest and worker-managed populations are complete. If expected tables are empty, check worker status and upstream task completion before debugging analysis code.

Reproducibility expectations

For every analysis figure/table, preserve:

  • key restriction definitions

  • table versions (paramset_idx, curation_id, model_name)

  • commit hash of analysis code

  • environment metadata (pip freeze or lockfile)