Common issues

Genes missing from output

Main reasons a gene drops out (see #33):

  • Its transcripts never reach qv >= 20 — check transcripts.parquet.

  • It’s a control probe (NegControlProbe_, DeprecatedCodeword_, etc.), filtered by design.

  • It has few nuclear transcripts and gets pruned during node/cluster construction, even when it’s abundant in the cytoplasm.

Noisy results from segger_segmentation.parquet

The raw per-transcript output is noisy unless you filter by similarity (related: #73). Filter on the filtered column before use:

assigned = seg.filter(pl.col("filtered"))

See Outputs for details.

CUDA 13 driver segfaults

UCX, pulled in transitively by cugraph, segfaults calling into the CUDA 13.x driver before any segger code runs (#30, #68).

Tip

Set this before running segger:

export NUMBA_CUDA_USE_NVIDIA_BINDING=1

Multiple GPUs

segger segment pins the Lightning Trainer to a single device by default, so it no longer crashes on multi-GPU SLURM allocations. Distributed multi-GPU training isn’t supported yet (#12) — segger just uses one of the visible GPUs.

To pick a specific GPU, set:

export CUDA_VISIBLE_DEVICES=0