Skip to content

pipeio_run MCP: targets array only passes first target to snakemake

Observation

When calling pipeio_run with multiple targets:

pipeio_run(flow="preprocess_ieeg", targets=["clock_correction_all", "clock_triggered_avg_all"], cores=4)

Only the first target (clock_correction_all) was included in the snakemake command. The second (clock_triggered_avg_all) was silently dropped. Verified by reading the snakemake log: job stats showed only clock_correction jobs (82) + clock_correction_all (1), no clock_triggered_avg jobs.

Expected behavior

Snakemake accepts multiple target arguments: snakemake target1 target2 .... pipeio_run should pass all elements of the targets list as positional arguments to snakemake.

Workaround

Launch separate pipeio_run invocations for each target, but this fights the snakemake lock and requires sequencing.

Impact

The workaround forced a second full pipeio_run after the first clock_correction_all finished, doubling wall time and complicating the orchestration. Was the cause of the "only clock_correction ran, no PNGs generated" confusion in this session.


Source context: pixecog

PixEcog (pixecog): Neuropixels and ECoG dataset and analysis

Recent commits:

bee27f8 preprocess_ieeg: clock correction + mod refactor + two-pass bad channel detection
36d420f preprocess_ieeg: clock correction + mod refactor + two-pass badchannel + linenoise aliased harmonics
61a7fe8 [DATALAD] Added subdataset

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