Release Notes¶
v 1.0.0¶
First public release.
v 1.1.7¶
bulk module:¶
Added Deseq2, including
pyDEseqfunctions:deseq2_normalize,estimateSizeFactors,estimateDispersions,Matrix_ID_mapping.Included TCGA with
TCGA.Introduced Enrichment with functions
geneset_enrichment,geneset_plot.
single module:¶
Integrated scdrug with functions
autoResolution,writeGEP,Drug_Response.Added cpdb with functions
cpdb_network_cal,cpdb_plot_network,cpdb_plot_interaction,cpdb_interaction_filtered.Included scgsea with functions
geneset_aucell,pathway_aucell,pathway_aucell_enrichment,pathway_enrichment,pathway_enrichment_plot.
v 1.1.8¶
single module:¶
Addressed errors in cpdb, including import errors and color issues in
cpdb_plot_network.Introduced
cpdb_submeans_exactedin cpdb for easy sub-network extraction.
v 1.1.9¶
bulk2single module:¶
Added the
bulk2singlemodule.Fixed model load error from bulk2space.
Resolved early stop issues from bulk2space.
Included more user-friendly input methods and visualizations.
Added loss history visualization.
utils module:¶
Introduced
pyomic_palettein the plot module.
v 1.1.10¶
Updated all code references.
single module:¶
Fixed non-valid parameters in
single.mofa.mofa_runfunction.Added layer raw count addition in
single.scanpy_lazyfunction.Introduced
utils.plot_boxplotfor plotting box plots with jittered points.Added
bulk.pyDEseq.plot_boxplotfor plotting box plots with jittered points for specific genes.
v 1.2.0¶
bulk module:¶
Fixed non-valid
cutoffparameter inbulk.geneset_enrichment.Added modules:
pyPPI,pyGSEA,pyWGCNA,pyTCGA,pyDEG.
bulk2single module:¶
Introduced
bulk2single.savefor manual model saving.
v 1.2.1-4¶
single module:¶
Added
pySCSAmodule with functions:cell_anno,cell_anno_print,cell_auto_anno,get_model_tissue.Implemented doublet cell filtering in
single.scanpy_lazy.Added
single.scanpy_cellanno_from_dictfor easier annotation.Updated SCSA database from CellMarker2.0.
Fixed errors in SCSA database keys:
Ensembl_HGNCandEnsembl_Mouse.
v 1.2.5¶
single module:¶
Added
pyVIAmodule with functions:run,plot_piechart_graph,plot_stream,plot_trajectory_gams,plot_lineage_probability,plot_gene_trend,plot_gene_trend_heatmap,plot_clustergraph.Fixed warning error in
utils.pyomic_plot_set.Updated requirements, including
pybind11,hnswlib,termcolor,pygam,pillow,gdown.
v 1.2.6¶
single module:¶
Added
pyVIA.get_piechart_dictandpyVIA.get_pseudotime.
v 1.2.7¶
bulk2single module:¶
Added
Single2Spatialmodule with functions:load,save,train,spot_assess.Fixed installation errors for packages in pip.
v 1.2.8¶
Fixed pip installation errors.
bulk2single module:¶
Replaced
deep-forestinSingle2SpatialwithNeuron Networkfor classification tasks.Accelerated the entire Single2Spatial inference process using GPU and batch-level estimation by modifying the
predicted_sizesetting.
v 1.2.9¶
bulk module:¶
Fixed duplicates_index mapping in
Matrix_ID_mapping.Resolved hub genes plot issues in
pyWGCNA.plot_sub_network.Fixed backupgene in
pyGSEA.geneset_enrichmentto support rare species.Added matrix plot module in
pyWGCNA.plot_matrix.
single module:¶
Added
rank_genes_groupscheck inpySCSA.
bulk2single module:¶
Fixed import error of
deepforest.
v 1.2.10¶
Renamed the package to
omicverse.
single module:¶
Fixed argument error in
pySCSA.
bulk2single module:¶
Updated plot arguments in
bulk2single.
v 1.2.11¶
bulk module:¶
Fixed
wilcoxonmethod inpyDEG.deg_analysis.Added parameter setting for treatment and control group names in
pyDEG.plot_boxplot.Fixed figure display issues in
pyWGCNA.plot_matrix.Fixed category correlation failed by one-hot in
pyWGCNA.analysis_meta_correlation.Fixed network display issues in
pyWGCNA.plot_sub_networkand updatedutils.plot_networkto avoid errors.
v 1.3.0¶
bulk module:¶
Added
DEseq2method topyDEG.deg_analysis.Introduced
pyGSEAmodule inbulk.Renamed raw
pyGSEAtopyGSEinbulk.Added
get_gene_annotationinutilsfor gene name transformation.
v 1.3.1¶
single module:¶
Added
get_celltype_markermethod.
single module:¶
Added
GLUE_pair,pyMOFA,pyMOFAARTmodule.Added tutorials for
Multi omics analysis by MOFA and GLUE.Updated tutorial for
Multi omics analysis by MOFA.
v 1.4.0¶
bulk2single module:¶
Added
BulkTrajBlendmethod.
single module:¶
Fixed errors in
scnocdmodel.Added
save,load, andget_pair_dictinscnocdmodel.
utils module:¶
Added
mdemethod.Added
gzformat support forutils.read.
v 1.4.1¶
preprocess module:¶
v 1.4.3¶
¶
preprocess module:
Fixed sparse preprocess error in
pp.Fixed trajectory import error in
via.Added gene correlation analysis of trajectory.
v 1.4.4¶
single module:¶
Added
panglaodbdatabase topySCSAmodule.Fixed errors in
pySCSA.cell_auto_annowhen some cell types are not found in clusters.Fixed errors in
pySCSA.cell_annowhenrank_genes_groupsare not consistent with clusters.Added
pySIMBAmodule in single for batch correction.
preprocess module:¶
Added
store_layersandretrieve_layersinov.utils.Added
plot_embedding_celltypeandplot_cellproportioninov.utils.
v 1.4.5¶
single module:¶
Added
MetaTiMEmodule to perform cell type annotation automatically in TME.
v 1.4.12¶
Updated
conda install omicverse -c conda-forge.
single module:¶
Added
pyTOSICAmodule to perform cell type migration from reference scRNA-seq in Transformer model.Added
atac_concat_get_index,atac_concat_inner,atac_concat_outerfunctions to merge/concatenate scATAC data.Fixed
MetaTime.predictedwhen Unknown cell type appears.
preprocess module:¶
Added
plot_embeddinginov.utilsto plot UMAP in a special color dictionary.
v 1.4.13¶
bulk module:¶
Added
mad_filteredto filter robust genes when calculating the network inov.bulk.pyWGCNAmodule.Fixed
string_interactioninov.bulk.pyPPIfor string-db updates.
preprocess module:¶
Changed
modeargument ofpp.preprocessto control preprocessing steps.Added
ov.utils.embedding,ov.utils.neighbors, andov.utils.stacking_vol.
v 1.4.14¶
preprocess module:¶
Added
batch_keyinpp.preprocessandpp.qc.
utils module:¶
Added
plot_ConvexHullto visualize the boundary of clusters.Added
weighted_knn_trainerandweighted_knn_transferfor multi-adata integration.
single module:¶
Fixed import errors in
mofa.
v 1.4.17¶
bulk module:¶
Fixed compatibility issues with
pydeseq2version0.4.0.Added
bulk.batch_correctionfor multi-bulk RNA-seq/microarray samples.
single module:¶
Added
single.batch_correctionfor multi-single cell datasets.
preprocess module:¶
Added parameter
layers_addinpp.scale.
v 1.5.0¶
single module:¶
Added
cellfategenieto calculate timing-associated genes/genesets.Fixed the name error in
atac_concat_outer.Added more kwargs for
batch_correction.
utils module:¶
Added
plot_heatmapto visualize the heatmap of pseudotime.Fixed
embeddingwhen the version ofmplis larger than3.7.0.Added
geneset_wordcloudto visualize geneset heatmaps of pseudotime.
v 1.5.1¶
single module:¶
Added
scLTNNto infer cell trajectory.
bulk2single module:¶
Updated cell fraction prediction with
TAPEin bulk2single.Fixed group and normalization issues in bulk2single.
utils module:¶
Added
Ro/ecalculation (by: Haihao Zhang).Added
cal_pagaandplot_pagato visualize the state transfer matrix.Fixed the
readfunction.
v 1.5.2¶
bulk2single Module:¶
Resolved a matrix error occurring when gene symbols are not unique.
Addressed the
interpolationissue inBulkTrajBlendwhen target cells do not exist.Corrected the
generatefunction inBulkTrajBlend.Rectified the argument for
vae_configureinBulkTrajBlendwhencell_target_numis set to None.Introduced the parameter
max_single_cellsfor input inBulkTrajBlend.Defaulted to using
scadenfor deconvolution in Bulk RNA-seq.
single Module:¶
Fixed an error in
pyVIAwhen the root is set to None.Added the
TrajInfermodule for inferring cell trajectories.Integrated
PalantirandDiffusion_mapinto theTrajInfermodule.Corrected the parameter error in
batch_correction.
utils Module:¶
Introduced
plot_pca_variance_ratiofor visualizing the ratio of PCA variance.Added the
clusterandfilteredmodule for clustering the cellsIntegrated
MiRAto calculate the LDA topic
v 1.5.3¶
single Module:¶
Added
scVIandMIRAto remove batch effect
space Module:¶
Added
STAGATEto cluster and denoisy the spatial RNA-seq
pp Module:¶
Added
doubletsargument ofov.pp.qcto control doublets(‘Default’=True)
v 1.5.4¶
bulk Module:¶
Fixed an error in
pyDEG.deg_analysiswhenn_cpuscan not be set inpyDeseq2(v0.4.3)
single Module:¶
Fixed an argument error in
single.batch_correctionof combat
utils Module:¶
Added
venn4plot to visualizeFixed the label visualization of
plot_networkAdded
ondiskargument ofLDA_topic
space Module:¶
Added
Tangramto mapping the scRNA-seq to stRNA-seq
v 1.5.5¶
pp Module:¶
Added
max_cells_ratioandmax_genes_ratioto control the max threshold in qc of scRNA-seq
single Module:¶
Added
SEACellsmodel to calculate the metacells from scRNA-seq
space Module:¶
Added
STAlignerto integrate multi stRNA-seq
v 1.5.6¶
pp Module¶
Added
mt_startswithargument to control theqcin mouse or other species.
utils Module¶
Added
schistmethod to cluster the single cell RNA-seq
single Module¶
Fixed the import error of
palantirin SEACellsAdded
CEFCONmodel to identify the driver regulators of cell fate decisions
bulk2single Module¶
Added
use_repandneighbor_repargument to configure the nocd
space Module¶
Added
SpaceFlowto identify the pseudo-spatial map
v 1.5.8¶
pp Module¶
Added
score_genes_cell_cyclefunction to calculate the cell cycle
bulk Module¶
Fixed
dds.plot_volcanotext plot error when the version ofadjustTextlarger than0.9
single Module¶
Optimised
MetaCell.loadmodel loading logicFixed an error when loading the model usng
MetaCell.loadAdded tutorials of
Metacells
pl Module¶
Add pl as a unified drawing prefix for the next release, to replace the drawing functionality in the original utils, while retaining the drawing in the original utils.
Added
embeddingto plot the embedding of scRNA-seq usingov.pl.embeddingAdded
optim_paletteto provide a spatially constrained approach that generates discriminate color assignments for visualizing single-cell spatial data in various scenariosAdded
cellproportionto plot the proportion of stack bar of scRNA-seqAdded
embedding_celltypeto plot the figures both celltype proportion and embeddingAdded
ConvexHullto plot the ConvexHull around the target cellsAdded
embedding_adjustto adjust the text of celltype legend in embeddingAdded
embedding_densityto plot the category density in the cellsAdded
bardotplotto plot the bardotplot between different groups.Added
add_palueto plot the p-threshold between different groups.Added
embedding_multito support themudataobjectAdded
purple_colorto visualize the purple palette.Added
vennto plot the venn from set 2 to set 4Added
boxplotto visualize the boxdotplotAdded
volcanoto visualzize the result of differential expressed genes
v 1.5.9¶
single Module¶
Added
slingshotinsingle.TrajInferFixed some error of
scLTNNAdded
GPUmode to preprocess the dataAdded
cNMFto calculate the nmf
space Module¶
Added
Spatrioto mapping the scRNA-seq to stRNA-seq
v 1.6.0¶
Move CEFCON,GNTD,mofapy2,spaceflow,spatrio,STAligner,tosica from root to external module.
space Module¶
Added
STTinomicverse.spaceto calculate the spatial transition tensor.Added
scSLATinomicverse.externalto align of different spatial slices.Added
PROSTinomicverse.externalandsvginomicverse.spaceto identify the spatially variable genes and domain.
single Module¶
Added
get_results_rfcinomicverse.single.cNMFto predict the precise cluster in complex scRNA-seq/stRNA-seqAdded
get_results_rfcinomicverse.utils.LDA_topicto predict the precise cluster in complex scRNA-seq/stRNA-seqAdded
gptcelltypeinomicverse.singleto annotate celltype using large language model #82.
pl Module¶
Added
plot_spatialinomicverse.plto visual the spot proportion of cells when deconvolution
v 1.6.2¶
Support Raw Windows platform
Added
mdeinomicverse.ppto accerate the umap calculation.
v 1.6.3¶
Added
ov.setting.cpu_initto change the environment to CPU.Move module
tape,SEACellsandpalantirtoexternal
Single Module¶
Added
CytoTrace2to predict cellular potency categories and absolute developmental potential from single-cell RNA-sequencing data.Added
cpdb_exact_targetandcpdb_exact_sourceto exact the means of special ligand/receptorAdded
gptcelltype_localto identify the celltype using local LLM #96 #99
Bulk Module¶
Added
MaxBaseMeancolumns in dds.result to help people ignore the empty samples.
Space Module¶
Added
**kwargsinSTT.compute_pathwayAdded
GraphSTto identify the spatial domain
pl Module¶
Added
cpdb_network,cpdb_chord,cpdb_heatmap,cpdb_interacting_network,cpdb_interacting_heatmapandcpdb_group_heatmapto visualize the result of CellPhoneDB
utils Module¶
Added
mclust_pyto identify the Gaussian Mixture clusterAdded
mclustmethdo inclusterfunction
v 1.6.4¶
Bulk Module¶
Optimised pyGSEA’s
geneset_plotvisualisation of coordinate effectsFixed an error of
pyTCGA.survival_analysiswhen the matrix is sparse. #62, #68, #95Added tqdm to visualize the process of
pyTCGA.survial_analysis_allFixed an error of
data_drop_duplicates_indexwith remove duplicate indexes to retain only the highest expressed genes #45Added
geneset_plot_multiinov.bulkto visualize the multi results of enrichment. #103
Single Module¶
Added
mellon_densityto calculate the cell density. #103
PP Module¶
Fixed an error of
ov.pp.pcawhen pcs smaller than 13. #102Added
COMPOSITEinov.pp.qc’s method to predicted doublet cells. #103Added
speciesargument inscore_genes_cell_cycleto calculate the cell phase without gene manual input
v 1.6.6¶
Pl Module¶
Fixed the ‘celltyep_key’ error of
ov.pl.cpdb_group_heatmap#109Fixed an error in
ov.utils.roewhen some expected frequencies are less than expected value.Added
cellstackareato visual the Percent stacked area chart of celltype in samples.
Single Module¶
Fixed the bug of
ov.single.cytotrace2when adata.X is not sparse data. #115, #116Fixed the groupby error in
ov.single.get_obs_valueof SEACells.Fixed the error of cNMF #107, #85
Fixed the plot error when
Pycomplexheatmapversion > 1.7 #136
Bulk Module¶
Fixed an key error in
ov.bulk.Matrix_ID_mappingAdded
enrichment_multi_concatinov.bulkto concat the result of enrichment.Fixed the pandas version error in gseapy #137
Bulk2Single Module¶
Added
adata.var_names_make_unique()to avoid mat shape error if gene not unique. #100
Space Module¶
Fixed an error in
construct_landscapeofov.space.STTFixed an error of
get_image_idx_1Dinov.space.svg#117Added
COMMOTto calculate the cell-cell interaction of spatial RNA-seq.Added
starfyshto deconvolute spatial transcriptomic without scRNA-seq (#108)
PP Module¶
Updated constraint error of ov.pp.mde #129
Fixed type error of
float128#134
v 1.6.7¶
Space Module¶
Added
n_jobsargument to adjust thread inextenel.STT.pl.plot_tensor_singleFixed an error in
extenel.STT.tl.construct_landscapeUpdated the tutorial of
COMMOTandFlowsig
Pl Module¶
Added
legend_awargsto adjust the legend set inpl.cellstackareaandpl.cellproportion
Single Module¶
Fixed the error of
get_resultsandget_results_rfcincNMFmodule. (#143) (#139)Added
sccafto obtain the best clusters.Fixed the
.strerror in cytotrace2 (#146)
Bulk Module¶
Fixed the import error of
gseapyinbulk.geneset_enrichmentOptimized code logic for offline enrichment analysis, added background parameter
Added
pyWGCNApackage replace the raw calculation of pyWGCNA (#162)
Bulk2Single Module¶
Remove
_stat_axisinbulk2single_data_prepareand useindexinstead of it (#160).
PP Module¶
Fixed a return bugs in
pp.regress_and_scale(#156)Fixed a scanpy version error when using
ov.pp.pca(#154)
v 1.6.8¶
Bulk Module¶
Fixed the error of log_init in gsea_obj.enrichment (#184)
Added
axargument to visualize thegeneset_plot
Space Module¶
Added CAST to integrate multi slice
Added
crop_space_visiuminomicverse.tlto crop the sub area of space data
Pl Module¶
Added
legendargument to visualize thecpdb_heatmapAdded
text_showargument to visualize thecellstackareaAdded
ForbiddenCitycolor system
v 1.6.9¶
PP Module¶
Added
recover_countsto recovercountsafterov.pp.preprocessremoved the lognorm layers added in
ov.pp.pca
Single Module¶
Added
MultiMapmodule to integrate multi speciesAdded
CellVoteto vote the best cellsAdded
CellANOVAto integrate samples and correct the batch effectAdded
StaViato calculate the pseudotime and infer trajectory.
Space Module¶
Added
ov.space.clusterto identify the spatial domainAdded
Binaryfor spatial clusterAdded
Spateoto calculate the SVG
v 1.7.0¶
Added cpu-gpu-mixed to accelerate the analysis of scrna-seq using GPU.
Changed the logo presentation of Omicverse to ov.plot_set
Bulk Module¶
Added
limma,edgeRin different expression gene analysis. (#238)Fixed the version error of
DEseq2analysis.
Single Module¶
Added
lazyfunction to calculate all function of scrna-seq (#291)Added
generate_scRNA_reportandgenerate_reference_tableto generate the report and reference (#291) (#292)Fixed
geneset_preparenot being able to read gmt not split by\t\t(#235) (#238)Added
geneset_aucell_tmp,pathway_aucell_tmp,pathway_aucell_enrichment_tmpto test the chunk_size (#238)Added data enhancement of
FateAdded
plot_atlas_view_ovin VIAFixed an error when the matrix is too large in
recover_counts.Added
forceatlas2to calculate theX_force_directed.Added
miloandscCODAto analysis different celltype abundance.Added
mementoto analysis different gene expression.
Space Module¶
Added
GASTONto learn a topographic map of a tissue slice from spatially resolved transcriptomics (SRT) data (#238)Added super kwargs in
plot_tensor_singleof STT.Updated
COMMOTusing GPU-accerlate
Plot Module¶
Added
dotplot_doublegroupto visual the genes in doublegroup.Added
transposeargument ofcpdb_interacting_heatmapto transpose the figure.Added
calculate_gene_densityto plot the gene’s density.
v 1.7.1¶
Single Module¶
Fixed some error of
ov.single.lazy.Fixed the format of
ov.single.generate_scRNA_reportUpdated some functions of
palantirAdded
CellOntologyMapperto map cell name.
v 1.7.2¶
Pl Module¶
Optimated the plot effect of
ov.pl.box_plotOptimated the plot effect of
ov.pl.volcanoOptimated the plot effect ofov.pl.violinAdded beautiful dotplot than scanpy (#318)
Added the similar visualization function of CellChat. (#313)
Space Module¶
Added 3D cell-cell interaction analysis in
COMMOT(#315)
Single Module¶
Fixed the error of pathway_enrichment. (#184)
Added SCENIC module with GPU-accerlate. (#331)
utils Module¶
Added scICE to calculate the best cluster (#329)
v 1.7.6¶
LLM Module¶
Added
GeneFromer,scGPT,scFoundation,UCE,CellPLMto call directly in OmicVerse.
Pl Module¶
Optimized the visualization effect of embedding.
Added
ov.pl.umap,ov.pl.pca,ov.pl.mde, andov.pl.tsne
v 1.7.8¶
Implemented lazy loading system that reduces import omicverse time by 40% (from ~7.8s to ~4.7s).
Added GPU-accelerated PCA support for Apple Silicon (MLX) and CUDA (TorchDR) devices.
Introduced Smart Agent System with natural language processing for 50+ AI models from 8 providers.
Added and fixed the anndata-rs to support million size’s datasets (#336)
PP Module¶
Added GPU-accelerated PCA in
ov.pp.pca()with MLX support for Apple Silicon MPS devicesAdded TorchDR-based PCA acceleration in
ov.pp.pca()for NVIDIA CUDA devicesAdded smart device detection and automatic backend selection in
init_pca()andpca()functionsAdded graceful fallback to CPU implementation when GPU acceleration fails
Added enhanced verbose output with device selection information and emoji indicators
Added optimal component determination based on variance contribution thresholds in
init_pca()Added GPU-accelerated SUDE dimensionality reduction in
ov.pp.sude()with MLX/CUDA supportOptimize the
ov.pp.qcand added ribosome and hb-genes to know more information of data quantity.
Datasets Module¶
Complete elimination of scanpy dependencies for faster loading
Added dynamo-style dataset framework with comprehensive collection
Added robust download system with progress tracking and caching
Added enhanced mock data generation with realistic structure
Added support for h5ad, loom, xlsx, and compressed formats
Agent Module¶
Added multi-provider LLM support (OpenAI, Anthropic, Google, DeepSeek, Qwen, Moonshot, Grok, Zhipu AI)
Added natural language processing for both English and Chinese
Added code generation architecture with local execution
Added function registry system with multi-language aliases
Added smart API key management and provider-specific configuration
Bulk Module¶
Added
BayesPrimeandScadento deconvoluted Bulk RNA-seq’s celltype proportion.Added
alignmentto alignment the fastq to counts.
Single Module¶
Added
ov.single.Annotationandov.single.AnnotationRefto annotate the cell type automatically.Added
ov.alignment.singleto alignment the scRNA-seq to counts directly.
v 1.7.9¶
Implemented smart lazy loading system that dramatically reduces import omicverse time by 85.6x (from ~16.57s to ~0.19s).
Enhanced RNA-seq alignment workflow with comprehensive toolkit for FASTQ processing and counting.
Optimized dataset management with nested directory creation for better organization.
Performance Optimization¶
Lazy Loading System:
Implemented module-level lazy loading using
__getattr__mechanism for all major modulesAdded attribute-level lazy loading for frequently-used functions (read, palette, Agent, etc.)
Introduced intelligent caching system to ensure instant access after first load
Reduced initial import time from 16.57 seconds to 0.19 seconds (85.6x speedup)
Maintained full backward compatibility - all existing code works without modification
Preserved complete IDE support with tab completion via
__dir__()implementationFixed circular import issues by delaying settings module initialization
MkDocs API documentation generation fully compatible with lazy loading
Benefits for Users:
⚡ Instant startup for Jupyter notebooks and scripts
🎯 Load only what you use - modules imported on first access
💾 Reduced memory footprint for simple tasks
🔄 Second access is cached and instant (< 0.001s)
Alignment Module¶
New Comprehensive RNA-seq Alignment Toolkit:
Added complete end-to-end workflow for processing raw sequencing data:
ov.alignment.prefetch: Download SRA datasets from NCBI with built-in retry logicov.alignment.fqdump: Convert SRA to FASTQ format with parallel processing supportov.alignment.parallel_fastq_dump: High-performance parallel FASTQ extractionov.alignment.fastp: Quality control and adapter trimming for FASTQ filesov.alignment.STAR: RNA-seq alignment using STAR aligner with customizable parametersov.alignment.featureCount: Gene-level read counting (renamed fromcountto avoid conflicts)ov.alignment.single: One-command scRNA-seq alignment with kb-python (kallisto|bustools)ov.alignment.ref: Build kallisto|bustools reference index for alignmentov.alignment.count: Quantify gene expression from aligned reads
Key Features:
Unified API for both bulk RNA-seq (STAR + featureCount) and scRNA-seq (kb-python) workflows
Built-in support for RNA velocity analysis with kb-python
Parallel processing capabilities for faster data conversion
Automatic handling of paired-end and single-end reads
Technology-specific filtering for bulk vs single-cell data
Integration with SRA toolkit for seamless data download
Example Workflow:
# Download and process bulk RNA-seq
ov.alignment.prefetch('SRR1234567', output_dir='./data')
ov.alignment.fqdump('SRR1234567', output_dir='./fastq')
ov.alignment.fastp('sample_1.fastq.gz', 'sample_2.fastq.gz', output_prefix='clean')
ov.alignment.STAR(fastq1='clean_1.fastq.gz', fastq2='clean_2.fastq.gz',
genome_dir='./genome', output_prefix='aligned')
ov.alignment.featureCount(bam='aligned.bam', annotation='genes.gtf', output='counts.txt')
# Or use one-command scRNA-seq alignment
ov.alignment.single(
fastq=['read1.fastq.gz', 'read2.fastq.gz'],
index='./kb_index',
output_dir='./kb_output',
technology='10xv3'
)
PP Module¶
Fixed an HVG (Highly Variable Genes) selection issue in
ov.pp.preprocessImproved preprocessing pipeline stability and accuracy
Refactored PCA implementation to utilize
torch_pcafor GPU acceleration (replacing TorchDR)Enhanced support for sparse matrices in PCA computation
Updated PCA embedding basis from
X_pcatoPCAfor clarity and consistencyImproved error handling with try-except blocks in PCA computation
Fixed PCA GPU mode support with sparse matrices to avoid memory errors
Single Module¶
Added
CONCORDmethod toov.single.batch_correctionfor single-cell data integrationEnhanced batch correction capabilities with state-of-the-art algorithm
Fixed critical performance issue in pySCENIC: Reverted inefficient correlation calculation optimization that caused memory issues and slowdowns in scRNA-seq data
Removed misleading warnings about dropout genes in SCENIC correlation calculations
Restored memory-efficient pairwise correlation computation (prevents OOM with >20k genes)
SCENIC now uses original approach: calculate correlations only for specific TF-target pairs instead of creating full gene×gene matrices
Added
ov.single.find_markersfor unified marker gene identification supporting five methods:cosg,t-test,t-test_overestim_var,wilcoxon, andlogreg; statistical methods are natively ported from scanpy with no scanpy runtime dependency and numerically consistent results (rtol=1e-4)Added
ov.single.get_markersto extract top marker genes from results as aDataFrameordict, with support for single/multiple cluster filtering and optional filtering bymin_logfoldchange,min_score, andmin_pval_adj; output includespct_groupandpct_restcolumns showing cell expression proportions within and outside each cluster
Space Module¶
Added
FlashDeconvfor fast, GPU-free deconvolution in Visium spatial transcriptomicsAdded
Banksyclustering method for spatial domain identificationUpdated spatial analysis documentation with new clustering approaches
Web Module¶
Launched
Omicverse-Notebookfor browser-based interactive analysis without local installationLaunched
Omicverse-Webfor web-based data analysis without coding requirementsDemocratized bioinformatics analysis for researchers without programming background
Agent Module¶
Enhanced
ov.Agentwith improved natural language processing for data analysisExpanded LLM provider support and model selection
Optimized code generation and execution pipeline
Pl Module¶
Enhanced categorical legend handling for scatterplot embeddings
Added
legend_loc='on data'option for direct annotation on plotsImproved visualization clarity for complex datasets
Added
ov.pl.markers_dotplotas a cleaner drop-in forrank_genes_groups_dotplotwith improved defaults (standard_scale='var',cmap='Spectral_r',dendrogram=False)Fixed
KeyErrorinrank_genes_groups_dfwhen cluster names are numeric strings (e.g., leiden'0','1'); now correctly handles structured arrays, DataFrames, and plain 2D arrays from all marker methods
Datasets Module¶
Added comprehensive dataset URLs for easier data access
Expanded data downloading utilities with progress tracking
Fixed dataset download to create nested target directories automatically
Improved dataset utilities with better error handling
Refreshed download behaviors for more reliable data fetching
Docs¶
Strengthened data handling documentation in dotplot and DEG analysis tutorials
Updated the scTour clustering tutorial with latest best practices
Added comprehensive release notes for v1.7.9
Enhanced alignment module documentation with end-to-end workflows
Bug Fixes¶
Resolved circular import issues between
_settingsandutilsmodulesFixed compatibility issues with latest package versions (zarr, pandas, etc.)
Improved error handling in parallel processing functions
Single Module¶
Enhanced DEG Analysis with Expression Percentages: Added cell expression percentage information to differential expression results
Added
pct_ctrlcolumn showing percentage of cells expressing each gene in control group (0-100%)Added
pct_testcolumn showing percentage of cells expressing each gene in test group (0-100%)Added
pct_diffcolumn showing the difference in expression percentage (pct_test - pct_ctrl)Works with all DEG methods:
wilcoxon,t-test, andmemento-deEnables better marker gene identification by filtering genes based on expression prevalence
Similar to dotplot circle size information, helps identify genes with widespread vs. sparse expression patterns
Example Usage:
deg_obj = ov.single.DEG(adata, condition='condition',
ctrl_group='Control', test_group='Treatment')
deg_obj.run(celltype_key='cell_label', celltype_group=['T_cells'])
results = deg_obj.get_results()
# Now includes pct_ctrl, pct_test, pct_diff columns
Compatibility¶
NumPy 2.0 Compatibility: Fixed all NPY201 compatibility issues to ensure seamless support for both NumPy 1.x and 2.x
Fixed Issues (31 total):
np.in1d→np.isin(9 instances)omicverse/bulk/_dynamicTree.py: 3 instances (lines 697, 741)omicverse/single/_cosg.py: 1 instance (line 77)omicverse/external/GNTD/_preprocessing.py: 2 instancesomicverse/external/scdiffusion/guided_diffusion/cell_datasets_WOT.py: 1 instanceOther external modules: 2 instances
np.row_stack→np.vstack(13 instances)omicverse/external/CAST/CAST_Projection.py: 2 instancesomicverse/external/CAST/visualize.py: 2 instancesomicverse/external/scSLAT/viz/multi_dataset.py: multiple instancesomicverse/single/_mdic3.py: 1 instance
np.product→np.prod(4 instances)omicverse/external/umap_pytorch/model.py: 2 instancesomicverse/external/umap_pytorch/modules.py: 2 instances
np.trapzcompatibility wrapper (2 instances)Added compatibility wrapper in:
omicverse/external/VIA/plotting_via.pyomicverse/external/VIA/plotting_via_ov.py
Uses
numpy.trapezoid(NumPy 2.0+) with fallback tonumpy.trapz(NumPy 1.x)
Backward Compatibility:
✅ All changes maintain full backward compatibility with NumPy 1.x (1.13+)
✅
np.isinavailable since NumPy 1.13✅
np.vstackavailable in all NumPy versions✅
np.prodavailable in all NumPy versions✅ Custom compatibility wrapper handles
trapz/trapezoidtransition
v 1.7.10¶
Scope¶
This release note summarizes changes from commit
cd3d151(version set to1.7.10rc1) to currentHEAD.Total code delta in this window:
252 files changed,+46,992 / -9,752.
Agent & Runtime¶
Upgraded
ov.Agentarchitecture to modern agentic tool-calling workflows with subagent delegation (v4/v5 evolution).Improved GPT-5.2 robustness, response parsing, and backend error handling.
Added harness runtime components for execution contracts, tool catalog, runtime state, tracing, and cleanup policies.
Strengthened sandbox behavior with restricted import controls for internal modules.
Added web bridge and session-level execution improvements for agent workflows.
New Modules¶
Added
omicverse.biocontextfor biomedical knowledge queries via BioContext MCP tooling.Added
omicverse.fm(foundation-model adapters, routing, registry, and API).Added structured
omicverse.ionamespaces for general/single/bulk/spatial I/O paths.Added
omicverse.jarvismulti-channel bot framework (Feishu/QQ/Telegram) with bridge support.
Core OmicVerse Improvements¶
Continued enhancements across
pp,pl,single,space, andutilsmodules.Fixed circular import between preprocessing utility internals (
_utils.pyand_scale.pypath).Added/updated function-level metadata and documentation quality in key analysis modules (preprocessing, annotation, trajectory, spatial, datasets, bulk).
Extended dataset utilities with new signature resources and improved loading pathways.
Registry & Help System¶
Improved registry behavior and module import exposure in package entrypoints.
Enhanced function/class registration metadata coverage for agent discoverability.
Registry help generation now better aligns with class constructor documentation in class-based tools.
Web & UI¶
Single-cell analysis UI received iterative upgrades:
Better code cell management and undo behavior
Improved AnnData slot detail retrieval and display
Better DataFrame rendering and integration
Plot density/point style control refinements
i18n and UX polish for analysis panels
omicverse_webservice layer expanded with session-oriented agent service support.
Developer Experience & Testing¶
Added FM test suite and multiple harness/ovagent test modules.
Removed obsolete legacy-priority and complexity-classifier test paths.
Added workflow and harness documentation pages for runtime contracts and operational guidance.
Documentation¶
Updated and expanded agent architecture and streaming API docs.
Updated
t_preprocess_cpu.ipynbto match latest GPU/version detection behavior.Added bilingual and deployment-oriented guidance for Jarvis and agent-related workflows.