Skip to content

Version 3.0.0

Choose a tag to compare

@TsingYang1112 TsingYang1112 released this 01 Jul 20:09
· 29 commits to main since this release

Highlights

  • Smarter Conflict Resolution: Evaluates all candidate positions and selects optimal based on penalty scores (lowest penalty first) instead of breaking on conflict.
  • Sequential Mutation Reattachment: Changed from batch to one-by-one reattachment for more robust tree building.
  • Accelerated Leiden Clustering: Significantly improved speed of Leiden graph-based cell grouping.
  • Structured Outputs: All critical outputs organized into dedicated directories.
  • Performance Optimizations: Major speed improvements across Steps 1, 4, 6, and 6.6.

What's New

Core Algorithm

  • Conflict Resolution: Rollback mechanism now evaluates all candidates and selects optimal position.
  • Mutation Reattachment: Sequential one-by-one reattachment for conservative and robust tree building.
  • Leiden Clustering: Significantly accelerated.

Performance Optimizations

  • Step 1: Block-based multi-threaded parsing; added --load_workers and --export_workers.
  • Step 4: Extensive caching (fin_cache); numpy-vectorized penalty scoring replacing pandas loops.
  • Step 6: Optimized Bayesian scoring; reduced deep-copy overhead.
  • Step 6.6: Numpy-vectorized FP/FN recomputation across trees.

Code Quality

  • Code refactoring with cleaner organization and improved annotations.
  • Structured outputs in dedicated directories.

New Files

  • src/bootstrap_support.py: Bootstrap analysis utilities.
  • src/utils.py: Shared utility functions.

Notes