🔄 Workflow Restructuring
optimization and plot-optimization have been reorganized:
optimizationnow also producesC_optimized.npzandP_optimized.npz, which were previously generated byplot-optimization- Downstream analyses (
msd,losstangent) no longer require runningplot-optimizationfirst plot-optimizationnow only renders figures by reading the pre-computed arrays fromoptimization- The
--resoption ofplot-optimizationhas been removed (the resolution is now read fromP_normalized.npz)
⚙️ Auto-determined Spectrum Ranges
msd and losstangent now automatically determine the exponent range from the eigenvalues of the Laplacian matrix induced from the optimized polymer network interaction matrix:
- The
--upperand--loweroptions have been removed - This eliminates manual tuning and ensures the range covers all relaxation modes
📊 Structured Analysis Log (experimental)
Most subcommands (fetch-fileinfo, preprocessing, optimization, plot-optimization, msd, losstangent) now accept --json, --json-path, and --run-uuid options to append a structured analysis log to
phic.json in the workspace:
- Records Hi-C file metadata, runtime profile (host, OS, CPU/GPU, Python environment, package versions), per-subcommand parameters, elapsed time, output file paths, and numerical summaries
- Intended for internal pipeline integration; the schema and detailed usage will be documented in a future release
✨ New Options
preprocessing:--nameoption to set the output directory name directlyplot-optimization:--no-figuresflag to skip matplotlib figure generation (faster when only the.npzoutputs are needed)
📦 New Dependencies
psutilhictkpy
📖 Documentation
- README updated with descriptions of
.npzkeys (shape and content) for all outputs, and a description of the columns inoptimization.log - Mol* added as a browser-based alternative to VMD for visualizing the
.psf/.dcdoutputs