Skip to content

PHi-C v2.2.0

Choose a tag to compare

@soyashinkai soyashinkai released this 01 May 06:08
· 6 commits to main since this release

⚡ Performance Improvements

Dramatically faster optimization
The optimization algorithm has been completely overhauled:

  • Replaced fixed-step gradient descent with a backtracking line search, enabling adaptive step sizes and robust convergence
  • Replaced the eigh-based pseudoinverse with a Cholesky decomposition, significantly reducing computation time per step
  • New options: --backtracking-factor and --gradient-degree; --learning-rate has been removed

Vectorized MSD and loss tangent computation

  • msd and losstangent now use fully vectorized matrix operations instead of per-bead for loops, resulting in orders-of-magnitude speedup for large matrices
  • Results are stored in a single compressed .npz file instead of per-bead .txt files

🔄 Subcommand Changes

Consolidated rheology subcommands

  • Removed: rheology, plot-tangent, plot-compliance, plot-modulus
  • Added: losstangent, plot-losstangent

The new losstangent subcommand focuses on the loss tangent (tan δ) spectrum, which is the most informative quantity for characterizing local chromatin dynamics.


📁 Output Format Changes

All data output files have been changed from plain text (.txt) to NumPy compressed format (.npz):

  • C_normalized.npz, P_normalized.npz
  • K_optimized.npz, C_optimized.npz
  • MSD_matrix.npz, losstangent_matrix.npz

✨ New Features

  • dynamics and sampling now additionally output .dcd trajectory files (via MDAnalysis)
  • plot-optimization now outputs Eta.svg showing the learning rate trajectory
  • Progress bars added to dynamics and sampling via tqdm

📦 New Dependencies

  • MDAnalysis
  • tqdm