Skip to content

pipeio_run env resolution bug: _resolve_snakemake_cmd() finds snakemake on PATH (from rag env) before checking the cogpy fallback. The SNAKEMAKE Makefile variable (step 2 in resolution) isn't being picked up either. Result: flows fail with ModuleNotFoundError: No module named 'snakebids' because they run in the wrong Python env.

Root cause: In src/projio/mcp/pipeio.py, line ~1622, _resolve_snakemake_cmd() is called without arguments even though _resolve_snakemake_cmd(use_conda: str = "") accepts an env name. The use_conda parameter on pipeio_run is typed as bool (for --use-conda flag) rather than str (for env name).

Fix: Either (1) read the project's code.envs.default from projio config and pass it to _resolve_snakemake_cmd, or (2) parse the SNAKEMAKE variable from the flow's Makefile correctly. The Makefile parsing may have a bug — I added SNAKEMAKE := conda run -n cogpy snakemake to the preprocess_ieeg Makefile but it wasn't picked up.

Workaround: run snakemake directly via conda run -n cogpy snakemake ... from the flow directory.


Source context: pixecog

PixEcog (pixecog): Neuropixels and ECoG dataset and analysis

Recent commits:

b666c23 TTL masking POC: injection guards experiment — drift is real, not injection contamination
910401b preprocess_ieeg: TTL masking POC notebook exported + docs collected
ef3592f preprocess_motion: report, updated index with report link, docs collect

README:


type: readme


Quick Start for Collaborators

Follow this checklist to get started with Pixecog documentation and workflows.

🐀 Pixecog Project — Compact Overview

Core principles

  • One immutable BIDS raw dataset (raw/) as the canonical baseline
  • Each analysis pipeline ha