Skip to content

Releases: teenu/INDIalign

INDIalign v1.1.0

26 Mar 19:57

Choose a tag to compare

What's New

Removed 4096-residue hard limit. All fixed-size stack arrays replaced with dynamic allocation. Structures of any length are now supported (tested up to N=8192).

Spatial grid for anchor contact seeds. Neighbor lookups reduced from O(V²) to O(V × k_avg) using cell-based spatial hashing, improving seed generation on longer structures.

Early termination in seed bank. When the score exceeds a configurable threshold (default 0.99), remaining seeds are skipped. Significantly speeds up easy cases.

Hash-based seed deduplication. FNV-1a hashing replaces O(K×N) byte comparison for duplicate seed detection.

Configurable rescue and early-termination thresholds. Three new NativeConfig fields: rescue_score_1 (default 0.5), rescue_score_2 (default 0.3), early_term_score (default 0.99).

Benchmark scripts updated to match the new API (Cfg struct, relative library paths).

Validation

All three benchmarks reproduce the published results exactly:

Benchmark Pairs INDIalign wins USalign wins Ties
NMR PDB structures 128 108 (84.4%) 13 (10.2%) 7 (5.5%)
Challenging PDB pairs 72 39 (54.2%) 18 (25.0%) 15 (20.8%)
Synthetic pairs 500 330 (66.0%) 137 (27.4%) 33 (6.6%)

No speed regression: old vs new library measured at 481ms vs 500ms on the same 20-pair subset (within noise).

Large-structure smoke tests pass at N=6000 and N=8192.

INDIalign v1.0.1

26 Mar 12:18

Choose a tag to compare

Highlights

  • Improves long-target rescue performance, especially on hard RNA pairs where dense local-fragment rescue previously dominated runtime.
  • Reduces avoidable OpenMP overhead in seed-bank and rescue evaluation by avoiding nested or tiny parallel regions.
  • Adds optional per-stage profiling via INDIALIGN_PROFILE=1 and INDIALIGN_PROFILE_TAG for targeted performance debugging.
  • Updates the README with profiling instructions and notes on sequential benchmark timing.

Validation

  • Benchmark win/loss results were unchanged on the bundled PDB and synthetic benchmark scripts.
  • Hard PDB benchmark runtime improved substantially on the tested machine, with the large 1H1K outlier reduced from roughly 13.5s to 1.6s.

INDIalign v1.0.0

25 Mar 22:28

Choose a tag to compare

Initial public release.

Highlights

  • Multi-strategy TM-score search for RNA C1' coordinate alignment
  • 66% win rate over USalign on 500-pair benchmark (common scorer, p < 10^-19)
  • C API via libindialign.so — single-pair and OpenMP batch modes
  • Optional CUDA acceleration — fused GPU kernel for seed evaluation
  • Reproducible benchmark included (benchmark/fair_benchmark.py)

Building

cd indialign_c
make        # auto-detects CUDA
make cpu    # CPU-only

See README for full documentation.