Releases: genecell/PIASO
Releases · genecell/PIASO
PIASO v1.1.0: Rust-Accelerated Scoring & Multi-Batch GDR Parallelism
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_multiBatchnow processes batches concurrently usingThreadPoolExecutor(replaces sequential loop)- New
n_concurrent_batchesparameter inrunGDRParallel()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_knnparameter inscore()— 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
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
- Tutorial: PIASOmarkerDB API - Mouse Cortex
- PIASOmarkerDB website: https://piaso.org/piasomarkerdb/
PIASO v1.0.2 - SCALAR, StitchSpace & Parallel Stability
New Features
- Ligand-Receptor Analysis: Added
piaso.tl.runSCALARfor single-cell L-R inference. - Dataset Integration: Added
piaso.tl.stitchSpacefor integrating datasets. - Preprocessing: Added utility for 2D coordinate rotation in
piaso.pp.
Visualization
- SCALAR Plots: Added
piaso.pl.plotLigandReceptorInteractionandpiaso.pl.plotLigandReceptorLollipop. - Metrics: Added
piaso.pl.plotConfusionMatrix.
Critical Stability
- Fixed "Unsafe Fork" Crash: Switched
ProcessPoolExecutorto use the'spawn'start method. This resolvesTerminating: fork() called from a process already using GNU OpenMPerrors on Linux/macOS. - Strict Seeding:
random_seedis 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
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.predictCellTypeByMarkerfunction 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
The first official release of PIASO