# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] ### Added - `collect_files` script to gather localization files from nested acquisition folders - `trace_split_labels` script to split traces by assigned mask labels - `localization_analyzer` script for localization quality-control analysis - Support for assigning barcode genomic coordinates from BED files in `trace_genomic_coordinates` - Pipe/stdin input support across trace-processing scripts, including `trace_stats` - New tutorials for trace merging, quality control, filtering, label splitting, matrix visualization, multi-way colocalization, dataset comparison, and pipe usage - Test coverage for localization tables, trace filtering, trace merging, matrix plotting, matrix conversion, and file collection ### Fixed - NumPy 2 compatibility for NaN handling in matrix and plotting workflows - Localization table formatting and comment-field handling when reading, merging, and updating localization tables - Missing comments in chromatin trace tables - `trace_filter --clean_spots` test discovery and behavior coverage - FOF-CT import/export compatibility and standardized input option naming - Multi-worker output collisions by including the trace file name in generated output paths ### Changed - Refactored localization table handling and homogenized command-line arguments across scripts - Renamed `trace_impute_genomic_coordinates` to `trace_genomic_coordinates` - Default spot-table output format is now `ecsv` - `plot_3way_coloc` can write plots in user-selected output formats - Updated documentation structure, script pages, pipe examples, release guidance, and project logo ### Removed - `trace_correct_coordinates`: superseded by `trace_genomic_coordinates` - `localization_cp_files`: superseded by `collect_files` - `analyze_localizations`: replaced by `localization_analyzer` - `plot_single_cell`: unused & deprecated script - `plot_n_him_matrices`: unused & deprecated script ## [0.5.0] - 2025-04-17 ### Added - This CHANGELOG.md file ### Fixed - figure_him_matrix: Apply delta margin to avoid massive tick generation for narrow color ranges (Matplotlib <3.7) ### Changed * rename `figure_him_matrix` to `plot_him_matrix` * rename `compare_pwd_matrices` to `plot_matrix_comparison` * rename `plot_3way` to `trace_3way_coloc` * rename `replot_3way` to `plot_3way_coloc` ### Removed - process_him_matrix: unused & deprecated script - trace_combinator: unused & deprecated script - pwd_matrix_2_pdb: unused & deprecated script ## [0.4.0] - 2025-04-09 ### Added - Doc: Reliability status for each script (development < beta-test < stable) - trace_filter: [localization intensity filtering](https://traceratops.readthedocs.io/en/latest/tutorials/filter_intensity.html) - Import from pyHiM **post-processing** scripts: * trace_to_matrix * trace_stats * trace_splitter * trace_plot * trace_pearsons * trace_genomic_coordinates * trace_import_from_fofct * trace_export_to_fofct * trace_filter_advanced * trace_correct_coordinates * trace_combinator * trace_assign_mask * trace_analyzer * pwd_matrix_2_pdb * process_him_matrix * localization_merge * localization_cp_files * compare_pwd_matrices * analyze_localizations - Import from pyHiM **plot** scripts: * replot_3way.py * plot_bootstrapping.py * plot_4m.py * plot_3way.py * plot_single_cell.py * plot_n_him_matrices.py * plot_compare2matrices.py ## [0.3.0] - 2025-03-25 ### Added - `trace_merge` script (import from pyHiM) - prevent ROI number merge conflict ### Fixed - figure_him_matrix: change default proximity normalization (By default, NaN values per bin are removed before compute statistics for proximity). ### Changed - figure_him_matrix: `--remove_nan` become `--keep_nan` ## [0.2.0] - 2025-03-20 ### Added - Installation guide - `trace_filter` script (import from pyHiM) - [Documentation available online](https://traceratops.readthedocs.io) - `figure_him_matrix` script (import from pyHiM) - nan_matrix: plot with him_matrix the nan percentage - add a threshold based on NaN percentage [#26](https://github.com/pyHi-M/traceratops/issues/26) ### Fixed - Fix the `--clean_spots` option of `trace_filter` to ensure that a spot_ID is unique to a single trace_ID - Windows compatibility - figure_him_matrix: fix `--shuffle` option ### Changed - `figure_him_matrix`: `--norm` option become `--remove_nan` ## [0.1.0] - 2025-03-07 ### Added - Documentation can be build locally - Project can be installed locally with `pip install .` or `pip install .[dev]` ## [Template] - YYYY-MM-DD ### Added ### Fixed ### Changed ### Removed