Releases: theislab/ehrapy
Releases Β· theislab/ehrapy
0.13.1 π
0.13.0 π
π Features
- Transitioning from AnnData to EHRData
EHRDatareplacesAnnDataas ehrapy's core data structure to better support time-series electronic health record data.
The key enhancement is native support for 3D tensors (observations Γ variables Γ timesteps) alongside the existing 2D matrices, enabling efficient storage of longitudinal patient data.
A new.temDataFrame provides time-point annotations, complementing the existing.obsand.varannotations for comprehensive temporal data description.
WhileEHRDatamaintains full backward compatibility with AnnData's API, users can now seamlessly work with time-series data and leverage specialized methods for temporal analysis.
Existing code usingAnnDataobjects will continue to work, but migration toEHRDatais strongly recommended to access enhanced time-series functionality. - The preferred central data object is now
EHRData(#908) @eroell - The
layersargument is now available for all functions operating on X or layers (#908) @eroell - Update expected behaviour of
io.read_fhir(#922) @eroell - Move
mimic_2,mimic_2_preprocessed,diabetes_130_raw,diabetes_130_fairlearntoehrdata.dt(#908) - Deprecate all
ep.dt.*, refer to datasets inehrdata(#908) @eroell - Support Python 3.14 (#996) @Zethson
- Move kaplan_meier & cox_ph plots to holoviews (#995) @Zethson
- Longitudinal normalization (#958) @agerardy
- Add interactive
olsplot (#992) @Zethson - Longitudinal and new qc_metrics (#967) @sueoglu
- Simple Impute for timeseries (#975) @eroell
- Simple implementation of balanced sampling (#937) @sueoglu
- Add Sankey diagram visualization functions (#989) @sueoglu
- Add
ep.pl.timeseries()to visualize variables over time (#994) @sueoglu - Add GPU CI & skeleton (#998) @Zethson
- Add FAMD (#976) @Zethson
- 3D enabled implementation of ep.pp.filter_observations, ep.pp.filter_features (#953) @sueoglu
- Add time series distances (#954) @Zethson
π Bug Fixes
- All green if GPU skipped (#1000) @Zethson
- Fix neighbors with timeseries (#973) @eroell
- Fix use_rep when X none (#969) @eroell
- Fix missing_values_barplot errors (#963) @sueoglu
- Fix CR notebook (#939) @Zethson
π§° Maintenance
- Update actions (#977) @Zethson
- Cleanup simple_impute tests (#974) @eroell
- Move to ehrdata 0.0.10 (#971) @eroell
- Improved notebook CI (#959) @Zethson
- Switch to template (#960) @Zethson
- Tests for more plots (#919) @sueoglu
- Lowerbound cvxpy (#935) @Zethson
- Optimize var_metrics (#927) @Zethson
- Refactor Dask usage pattern (#926) @Zethson
- Add cover to README & remove some tokens (#923) @Zethson
- Update test coverage reporting (#918) @eroell
- Fix changelog links (#915) @Zethson
- Fixed structure of Returns in _rank_features_groups.py documentation (#911) @agerardy
- Add EHRData transition code (#897) @Zethson @eroell
- Make test that downloads dermatology dataset more robust (#906) @Zethson
- Update image source in README.md (#986) @eroell
- Fix plot docs formatting (#952) @Zethson
- Typo in the documentation of ehrapy.data.mimic_2_preprocessed (#917) @sueoglu
0.12.1 π
0.12.0 π
Changes
π Features
- Improved KM plot data depth and functionality (#853) @aGuyLearning
- New Feature: Forestplot for CoxPH model (#838) @aGuyLearning
- Datatype Support in Quality Control and Impute (#865) @aGuyLearning
- Revamp survival analysis interface (#842) @aGuyLearning
- Improve submodule documentation (#859) @Zethson
- Update Kaplan Meier plots in survival analysis notebook (#864) @aGuyLearning
π Bug Fixes
- Pass all non-nan features along desired var_names to impute (KNN) (#867) @nicolassidoux
- Remove Syntax warnings (#869) @Zethson
- Fix test_norm_power_group (#862) @Zethson
π§° Maintenance
- Fix a typo in
pl.paga_compare:pos->pos,(#846) @VladimirShitov
0.11.0 π
0.10.0 π
π Features
- Make all imputation methods consistent in regard to encoding requirements (#827) @nicolassidoux
- Add approximate KNN backend (#791) @nicolassidoux
- Improve survival analysis interface (#825) @aGuyLearning
- Python 3.12 support (#794) @Lilly-May
- Python 3.10+ & use uv for docs & fix RTD & support numpy 2 (#830) @Zethson
π Bug Fixes
- move_to_x: Fix name of non-implemented argument "copy" to "copy_x", implement & test (#832) @eroell
- Contributing typo fix (#821) @aGuyLearning
- Fix miceforest (#800) @Zethson
- style: == to is for type comparison (#774) @eroell
π¦ Dependencies
0.8.0 π
Changes
π Features
- remove pyyaml & explicit scikit-learn (#729) @Zethson
- Remove fancyimpute (#728) @Zethson
- Unify feature type detection (#724) @Lilly-May
- catplot (#721) @eroell
- Simplify ehrapy (#719) @Zethson
- Use all (#715) @Zethson
- Add bias detection to preprocessing (#690) @Lilly-May
- Use lamin logger (#707) @Zethson
- Add faiss backend for KNN imputation (#704) @Zethson
- Build RTD docs with uv (#700) @Zethson
- Refactor feature importance ranking (#698) @Zethson
- Simplify CI (#694) @Zethson
- Refactor outliers and IQR (#692) @Zethson
- Calculation of feature importances in a supervised setting (#677) @Lilly-May
- Speed up winsorize (#681) @Zethson
- Remove notebook prefix in tutorial URLs (#679) @Zethson
- Add cohort tracking notebook (#678) @Zethson
- Switch to uv (#674) @Zethson
- Style: typing of _scale_func_group (#727) @eroell
- Improved support of encoded features in detect_bias (#725) @Lilly-May
- Enable Synchronous dataloader write (#722) @wxicu
- Feature scaling on training set when computing feature importances (#716) @Lilly-May
- add batch-wise normalization argument (#711) @eroell
- add functools.wraps to type check (#705) @eroell
- add bias notebook to list of notebooks (#696) @eroell
- basic sampling (#686) @eroell
- add options for subitles in legend of cohorttrackers barplot (#688) @eroell
- doc fix imputation: 70 instead of 30 (#683) @eroell
π Bug Fixes
- Encoded dtype to float32 instead of np.number (#714) @Zethson
- Fix feature importance warnings (#708) @Zethson
- Remove notebook prefix in tutorial URLs (#679) @Zethson
- fix name of log_rogistic_aft to log_logistic_aft (#676) @eroell
π§° Maintenance
0.7.0 π
Changes
π Features
- Cohort Tracker (#658) @eroell
- change diabetes-130 datasets which are provided (#672) @eroell
- More sa functions (#664) @fatisati
- Coxphfitter (#643) @fatisati
- Implement little's test (#667) @Zethson
- Improve test design (#651) @Zethson
- Improve QC docstring (#639) @Zethson
- Refactor _missing_values calculation (#638) @Zethson
π Bug Fixes
0.6.0 π
Changes
π Features
Breaking changes
Make older AnnData objects compatible using
def move_type_info_from_uns_to_var(adata, copy=False):
"""
Move type information from adata.uns to adata.var['ehrapy_column_type'].
The latter is the current, updated flavor used by ehrapy.
"""
if copy:
adata = adata.copy()
adata.var['ehrapy_column_type'] = 'unknown'
if 'numerical_columns' in adata.uns.keys():
for key in adata.uns['numerical_columns']:
adata.var.loc[key, 'ehrapy_column_type'] = 'numeric'
if 'non_numerical_columns' in adata.uns.keys():
for key in adata.uns['non_numerical_columns']:
adata.var.loc[key, 'ehrapy_column_type'] = 'non_numeric'
if 'encoded_non_numerical_columns' in adata.uns.keys():
for key in adata.uns['encoded_non_numerical_columns']:
adata.var.loc[key, 'ehrapy_column_type'] = 'non_numeric_encoded'
if copy:
return adataNew features
- Medcat refresh (#623) @eroell
- Rank features groups obs (#622) @eroell
- Add FHIR tutorial and simplify code (#626) @Zethson
- Add input checks for imputers (#625) @Zethson
- Removed unused dependencies (#615) @Zethson
- Refactor encoding (#588) @Zethson
π Bug Fixes
π§° Maintenance
0.5.0 π
Changes
π Features
- Add g-tests for rank features group (#546) @VladimirShitov
- Causal Inference with dowhy (#502) @timtreis
- Remove MuData support (#545) @Zethson
π Bug Fixes
- Fixed reading format warnings (#569) @namsaraeva
- Fixed inability to normalize AnnData that does not require encoding (#568) @namsaraeva
- Fixed adata.uns["non_numericlal_columns"] being empty in mimic_2 dataset (#567) @namsaraeva