🚀 Features
- Add LOCF imputation
ep.pp.locf_impute()for longitudinal (3D) data with forward fill and configurable fallback strategies (#1020) @agerardy @eroell - Add non-negative CP decomposition
ep.tl.ncp()for 3D tensor factorisation with companion plotsep.pl.ncp()andep.pl.ncp_cluster_trajectories()(#1030, #1038) @eroell - Add
ep.pp.variable_correlations()and plotting functionsep.pl.variable_correlations()/ep.pl.variable_dependencies()(#1010) @sueoglu - Longitudinal explicit impute
ep.pp.explicit_impute()extended to enable different imputation values per timepoint (#1023) @sueoglu - Sankey diagram state-transition colours and hover function for timeseries plots (#1019) @sueoglu
- Add longitudinal data analysis notebook (#1007) @eroell
- Add
ep.tl.cox_ph_adjusted_curves()and plotting functionsep.pl.cox_ph_adjusted_curves()(#1028) @sueoglu - Add 3D support for
ep.pp.knn_impute()(#1041) @sueoglu - Add
ep.pp.missing_data_mask()to compute and apply missing-data masks for sparse, dense, and Dask arrays (#1045) @haoyu-haoyu
🧰 Maintenance
- Fix plotting CI (#1011) @sueoglu @eroell
- Continuous values don't repeat title in CohortTracker's barplot (#1021) @sueoglu
- Remove legacy code deprecated in 0.13.0, fix test warnings & adjust to future scanpy arguments (#1016) @eroell
- Update plotting ci dotplot (#1011) @sueoglu @Zethson @eroell
- Add ehrdata as submodule (#1040) @eroell
- Adapt to updated
ed.infer_feature_type, discard alternative feature type inference in imputation methods (#1039) @eroell - Upgrade tutorials (#1042, #1043, #1046) @agerardy @sueoglu @Zethson
- Remove ML with ehrapy notebook (#1048) @eroell
🐛 Bug Fixes
ep.ppnormalization functions now work when using alayerand.XisNone(#1015) @agerardy @eroellep.tl.rank_features_groupscan use.obsregardless of what is in.Xor.layers(#1015) @agerardy @eroell
⚠️ Modified
- Update
qc_lab_metrics(#1025) @eroell - remove deprecated
ep.ad(moved toehrdata):infer_feature_types,feature_type_overview,replace_feature_types,anndata_to_df,df_to_anndata,move_to_obs,move_to_x(#1016) @eroell - remove deprecated
ep.dt(moved toehrdata) (#1016) @eroell - remove deprecated
ep.io(moved toehrdata):df_to_anndata,read_csv,read_fhir,read_h5ad,write(#1016) @eroell