Skip to content

Releases: Jianhua-Wang/credtools

v0.5.0

10 Mar 17:30

Choose a tag to compare

Added

  • MESuSiE (Multiple Ancestry Sum of Single Effects) multi-ancestry fine-mapping tool, integrated via Rscript subprocess following the SuSiEx wrapper pattern
    • Identifies both shared and ancestry-specific causal variants across populations
    • Credible set classification (shared/population-specific) stored in parameters["cs_types"]
    • Automatic cross-population SNP alignment and LD matrix subsetting
    • R environment validation with clear installation guidance on error
  • MESuSiE installation documentation covering native R, conda, and HPC module environments
  • MESuSiE sections in fine-mapping docs and multi-input tutorial with usage examples

v0.4.10

07 Mar 02:01

Choose a tag to compare

Changed

  • Reverted RSparsePro eigendecomposition optimization from v0.4.9 to preserve result consistency across all datasets

v0.4.9

06 Mar 20:57

Choose a tag to compare

Changed

  • Optimized RSparsePro performance: replace repeated O(p³) matrix inversions with single eigendecomposition in adaptive_train loop, achieving 8-10x speedup for typical locus sizes

v0.4.8

03 Mar 17:13

Choose a tag to compare

Changed

  • Optimized CLI startup speed by deferring heavy module imports (pandas, numpy, scipy, sklearn) and internal modules (credtools.credtools, credtools.locus, credtools.meta, credtools.qc) from module level to function level via lazy loading

v0.4.7

26 Feb 01:00

Choose a tag to compare

Changed

  • Increased unit test coverage from 76% to 87% across 9 modules: credtools.py (59%→100%), credibleset.py (69%→97%), prepare.py (31%→95%), cli.py (34%→61%), plot.py (62%→75%), qc.py (85%→92%), validation.py (90%→97%), headers.py (90%→95%), RSparsePro.py (78%→100%)

Fixed

  • Applied black/isort formatting and resolved flake8 lint errors in test files

v0.4.6

25 Feb 23:47

Choose a tag to compare

Added

  • Unit tests for susie_rss.py internal functions (coverage 16% → 82%): 107 tests covering credible sets, statistical gradients, SER, prior variance optimization, initialization, and integration
  • Unit tests for multisusie_rss.py internal functions (coverage 8% → 65%): 65 tests covering S/SER_RESULTS classes, recovery functions, compute_lbf, optimization, and integration

Changed

  • Upgraded typer>=0.9.0 and cojopy>=0.1.4 to fix click 8.2 incompatibility

Fixed

  • Added D102 and E226 to flake8 ignore list for pre-existing lint issues

v0.4.5

24 Feb 02:57

Choose a tag to compare

Added

  • Outlier SNP detail tracking: identify_outliers() now returns a DataFrame with per-criterion flags (C1_ld_mismatch, C2_marginal, C3_dentist_s) instead of a plain SNPID list
  • outlier_snps.txt.gz output file saved at both per-locus and global levels, recording each outlier SNP with its triggered detection criteria
  • Updated QC documentation with detailed outlier detection criteria descriptions

Fixed

  • Use outer join in cochran_q() to include all SNPs across cohorts (previously only intersection)

v0.4.4

24 Feb 01:12

Choose a tag to compare

Added

  • Comprehensive unit tests for all wrapper modules (93 new tests): ABF, ABF+COJO, FINEMAP, SuSiE, SuSiEx, MultiSuSiE, RSparsePro
  • --skip option to meta command to resume from previous runs

Fixed

  • Handle cohorts with no sumstats-LD overlap in QC metrics
  • Compute heterogeneity by population in meta_by_population mode
  • Format test files and fix D403 docstring lint errors

v0.4.3

23 Feb 00:47

Choose a tag to compare

Fixed

  • Update uv.lock after version bump

v0.4.2

23 Feb 00:28

Choose a tag to compare

Added

  • Comprehensive unit tests for QC module (tests/test_qc.py): 80 tests across 17 test classes covering get_eigen, estimate_s_rss, kriging_rss, compute_dentist_s, compare_maf, snp_missingness, ld_4th_moment, ld_decay, cochran_q, locus_qc, identify_outliers, remove_snps_from_locus, save_cleaned_locus, remove_outliers_and_rerun_qc, locus_qc_summary, qc_locus_cli, safe_qc_locus_cli, and loci_qc — achieving 82% coverage for credtools/qc.py

Changed

  • Rewrote docs/qc.md to match actual code: tabbed quick-start examples, Python API example using exampledata, complete CLI parameter reference, QC method descriptions (Kriging RSS, Dentist-S, MAF comparison), accurate output directory structure and column tables, mermaid pipeline diagram, collapsible troubleshooting FAQ, and note that heterogeneity metrics are now in credtools meta