Skip to content

Releases: genecell/PIASO

PIASO v1.1.0: Rust-Accelerated Scoring & Multi-Batch GDR Parallelism

01 Apr 01:44

Choose a tag to compare

PIASO v1.1.0

Highlights

Faster gene set scoring via a new Rust backend, plus faster multi-batch GDR via ThreadPool parallelism. Backward-compatible.

What's New

Rust-Accelerated Scoring

  • New score_complete() in Rust (PyO3): fuses control gene sampling, sparse matrix multiplication, and column-wise reduction into a single pass
  • Releases the GIL during computation, enabling true thread-level parallelism
  • LCG PRNG for deterministic control gene sampling (same seed per gene set)
  • Automatically used when the Rust extension is available; falls back to Python otherwise

ThreadPoolExecutor for Multi-Batch Scoring

  • calculateScoreParallel_multiBatch now processes batches concurrently using ThreadPoolExecutor (replaces sequential loop)
  • New n_concurrent_batches parameter in runGDRParallel() for explicit control
  • Auto-parallelism via _determine_parallelism(): balances inter-batch concurrency vs per-batch threads

Vectorized kNN Self-Loop Removal

  • _precompute_stats() kNN cleanup rewritten with numpy gather+shift
  • Eliminates Python list comprehension over all genes

Precomputed kNN

  • New precomputed_knn parameter in score() — pass pre-built KDTree + indices to avoid redundant queries when scoring multiple gene sets on the same data

Build System

  • Switched to maturin build backend for native Rust compilation during pip install
  • Upgraded to PyO3 0.24 + numpy 0.24

PIASO v1.0.3 PIASOmarkerDB client and API

21 Jan 05:35

Choose a tag to compare

PIASO v1.0.3 Release Notes

New Feature: PIASOmarkerDB Python Client

This release introduces the PIASOmarkerDB Python client, providing programmatic access to PIASOmarkerDB - our comprehensive database of cell type marker genes with standardized specificity scores across studies, tissues, species and conditions.

Key Features

  • Query marker genes by gene, cell type, study, species, and tissue
  • Analyze gene lists to infer cell types from marker genes
  • COSG integration for automated cell type annotation workflows
  • Study filtering to restrict analysis to specific reference studies
  • Download markers directly to CSV files

Documentation

PIASO v1.0.2 - SCALAR, StitchSpace & Parallel Stability

23 Nov 04:07

Choose a tag to compare

New Features

  • Ligand-Receptor Analysis: Added piaso.tl.runSCALAR for single-cell L-R inference.
  • Dataset Integration: Added piaso.tl.stitchSpace for integrating datasets.
  • Preprocessing: Added utility for 2D coordinate rotation in piaso.pp.

Visualization

  • SCALAR Plots: Added piaso.pl.plotLigandReceptorInteraction and piaso.pl.plotLigandReceptorLollipop.
  • Metrics: Added piaso.pl.plotConfusionMatrix.

Critical Stability

  • Fixed "Unsafe Fork" Crash: Switched ProcessPoolExecutor to use the 'spawn' start method. This resolves Terminating: fork() called from a process already using GNU OpenMP errors on Linux/macOS.
  • Strict Seeding: random_seed is now enforced across internal steps (Neighbors, Leiden).
  • Race Condition Resolved: Fixed a logic error in parallel functions where results were processed by completion order rather than batch order. Results are now explicitly sorted.

Compatibility & Maintenance

  • Updated for Pandas 2.1+ (applymap -> map) and fixed Scanpy/AnnData warnings.

Thank you for your feedback and support!

PIASO v1.0.1

13 Mar 05:05

Choose a tag to compare

Release v1.0.1

Bug Fixes and Enhancements

  • Enhanced tl.score: Improved gene set scoring functionality with P value for each cell
  • Enhanced tl.infog: Improved INFOG normalization with more user-friendly data manipulation and clearer variable naming
  • Enhanced pl.plot_embeddings_split: Added global legend option for simplified visualization
  • New Feature: Introduced tl.predictCellTypeByMarker function for marker gene-based cell type prediction
  • Improved API: Refined function interfaces for better usability and consistency
  • Dependency Update: Added COSG v1.0.3 to fix errors and improve verbosity control

This release focuses on improving stability and user experience while maintaining full compatibility with existing workflows.

Thank you for your feedback and support!

Release v1.0.0

24 Feb 22:23

Choose a tag to compare

The first official release of PIASO