Filament tracing utilities for cryo-EM micrographs using Topaz autopicks.
- Reads Topaz
*_autopick.starfiles and corresponding.mrcimages. - Filters picks by FOM.
- Builds candidate neighbor graph from pairwise distances.
- Greedily traces filaments under line-fit constraints.
- Writes:
- endpoint STAR files for downstream processing,
- optional overlay PNGs,
- optional NPZ summary.
conda create -n findfil python=3.11 -y
conda activate findfil
pip install numpy matplotlib mrcfile starfiletrace_filaments.py: run tracing on one STAR/MRC pair.trace_filaments_relion_job.py: batch over a RELION-style job tree.filfind_trace_lib.py: shared tracing logic.
python trace_filaments.py \
--autopick /path/to/file_autopick.star \
--mrc /path/to/file.mrc \
--fom-min 0 \
--candidate-k-std 1.5 \
--max-neighbors 2 \
--max-line-rms 14 \
--overlay-max-dim 1024 \
--out-dir /path/to/outpython trace_filaments_relion_job.py \
--job-dir /path/to/AutoPick/jobXXX/frames \
--mrc-root /path/to/MotionCorr/jobYYY/frames \
--fom-min -0.5 \
--candidate-k-std 1.5 \
--max-neighbors 2 \
--max-line-rms 14 \
--overlay-max-dim 1024 \
--output-dir /path/to/outNotes:
--output-dirand--out-dirare equivalent.- Overlay PNGs are downscaled to max dimension
1024by default (--overlay-max-dim). - For multiline shell commands, each continued line must end with
\. - In batch mode, outputs are forced under
--output-dirwhen provided.
Batch runs write a human-readable command log with status for each file.
Default log location:
- if
--output-diris set:<output-dir>/filfind_batch_commands.log - otherwise:
<job-dir>/filfind_batch_commands.log
You can override with:
--command-log /path/to/custom.logFor each processed micrograph stem X:
X_filfind_endpoints.starX_filfind_overlay.png(unless--no-save-overlay)X_filfind.npz(only if--save-npz)