Release notes
Dynamo Ver 1.3.0
Feature Changes
The preprocessing module has been refactored:
Class Preprocessor is recommended for most preprocessing methods and recipes.
pp.recipe_monocle,
pp.recipe_velocyto
has been deprecated (PR 497 PR 500). Check the tutorials here for more instructions.Normalization has been refactored (PR 474 PR 475):
pp.normalize_cell_expr_by_size_factors
has been deprecated, and new APIs are:pp.normalize_cell_expr_by_size_factors
->pp.calc_sz_factor, pp.normalize
.
Gene selection has been refactored (PR 474). Now support genes selected by fano factors. APIs are
pp.select_genes_monocle
andpp.select_genes_by_seurat_recipe
.PCA has been refactored (PR 469).
dyn.pp.pca_monocle
has been deprecated. The new API is:pp.pca_monocle
->pp.pca
.
sctransform and pearson residuals recipe has been refactored (PR 510 PR 512). Now those advanced methods will only be performed on X layer. Other layers will get normalized by size factors.
Calculation of ntr rate and
pp.cell_cycle_scores
has been added to the Preprocessor (PR 513). To enable cell cycle scores, set parametercell_cycle_score_enable
toTrue
when initializing thepp.Preprocessor
.Now the size factors normalization will normalize all layers with its own size factors by default (PR 521). To normalize the labeled data with total size factors, we need to set the
total_szfactor
tototal_Size_Factor
explicitly.Multiple new features added, includes genes selection by fano factors (PR 474), external data integration methods (PR 473) and
pp.regress_out
(PR 470 PR 483 PR 484).Created more tests for preprocessing module (PR 485).
Replaced
adata.obsm["X"]
withadata.obsm["X_pca"]
(PR 514).Removed some console output. They can still be displayed with
DEBUG
logging mode.Other deprecated APIs include:
pp.calc_sz_factor_legacy, pp.filter_cells_legacy
,pp.filter_genes_by_outliers_legacy, pp.select_genes_monocle_legacy, pp.select_genes_by_dispersion_general
,pp.cook_dist, pp.normalize_cell_expr_by_size_factors
. More information can be found on our preprocessing tutorials.
DEBUG
Fixed the bug that save_show_or_return flags not working (PR 414).
Enabled the leiden algorithm to accept the resolution parameters (PR 441).
Fixed the wrong attribute name of anndata object in utils_dimensionReduction.py (PR 458)`
Fixed the dimensionality issue in moments.py (PR 461).
Fixed part of the bug that h5ad file cannot be saved correctly (PR 467).
Fixed the bug that pca_mean will be None under some circumstances (PR 482).
Removing warning message for nxviz (PR 489).
Corrected the norm log-likelihood function (PR 495).
Removed deprecated parameters in gseapy functions (PR 496).
Fixed the bugs that functions will raise error when no fixed points are found in vector field by sampling (PR 501).
Removed unwanted operations in dimension reduction (PR 502).
Tutorial Updates on Readthedocs
Other Changes
Docstring and type hints update:
Dynamo Ver 1.1.0
Feature Changes
Following new function are added, exported or documented in API / class page:
Preprocessing:
pp.convert2symbol, pp.filter_cells, pp.filter_gene,
pp.filter_genes_by_pattern, pp.normalize_cells, pp.scale, pp.log1p, pp.pca
Kinetic parameters and RNA/protein velocity:
tl.recipe_deg_data, tl.recipe_kin_data,
tl.recipe_mix_kin_deg_data, tl.recipe_one_shot_data, tl.velocity_N
Labeling Velocity recipes:
tl.infomap, tl.leiden, tl.louvain, tl.scc
Clustering:
tl.run_scvelo, tl.run_velocyto, tl.vlm_to_adata
Converter and helper:
vf.graphize_vecfld, vf.vector_field_function
Vector field reconstruction:
vf.FixedPoints, vf.VectorField2D, vf.assign_fixedpoints
Beyond RNA velocity:
vf.jacobian, vf.sensitivity
Vector field ranking:
vf.rank_cells, vf.rank_genes, vf.rank_expression_genes,
vf.rank_jacobian_genes, vf.rank_s_divergence_genes, vf.rank_sensitivity_genes
Vector field clustering and graph:
vf.cluster_field, vf.streamline_clusters
Prediction
pd.andecestor, pd.get_init_path, pd.least_action, pd.perturbation,
pd.rank_perturbation_cell_clusters, pd.rank_perturbation_cells, pd.rank_perturbation_genes,
pd.state_graph, pd.tree_model
Preprocessing plot:
pl.biplot, pl.loading, pl.highest_frac_genes, pl.bubble
Space plot:
pl.space
Kinetics plot:
pl.sensitivity_kinetics
Vector field plots:
pl.cell_wise_vectors_3d, pl.plot_fixed_points_2d
differential geometry plots:
pl.acceleration
Regulatory network plots
pl.arcPlot, pl.circosPlot, pl.circosPlotDeprecated, pl.hivePlot
fate plots
pl.fate
heatmap plots
pl.causality, pl.comb_logic, pl.plot_hill_function, pl.response
Predictions plots
pl.lap_min_time
External functionality
ext.normalize_layers_pearson_residuals,
ext.select_genes_by_pearson_residuals, ext.sctransform
More differential geometry analyses
include the switch mode in rank_jacobian_genes
added calculation of sensitivity matrix and relevant ranking
most probable path and in silico perturbation prediction
implemented least action path optimization (can be done in high dimensional space) with analytical Jacobian
include genetic perturbation prediction by either changing the vector field function or simulate genetic perturbation via analytical Jacobian
preprocessor class implementation
extensible modular preprocess steps
support following recipes: monocle (dynamo), seurat (seurat V3 flavor), sctransform (seurat), pearson residuals and pearson residuals for feature selection, combined with monocle recipe (ensure no negative values)
following recipes tested on zebrafish dataset to make implemetation results consistent:
monocle, seurat, pearson residuals
CDlib integration
leiden, louvain, infomap community detection for cell clustering
wrappers in
dyn.tl.*
for computing clusterswrappers in
dyn.pl.*
for plotting
Tutorial Updates on Readthedocs
human HSC hematopoiesis RNA velocity analysis tutorials
in silico perturbation and least action path (LAP) predictions tutorials on HSC dataset
differential geometry analysis on HSC dataset
Molecular mechanism of megakaryocytes
Minimal network for basophil lineage commitment
Cell-wise analyses: dominant interactions
gallery: Pancreatic endocrinogenesis differential geometry
Sample Dataset Updates
CI/CD Updates
update dynamo testing and pytest structure
test building workflow on 3.7, 3.8, 3.9 (3.6 no longer tested on github building CI)
Performance Improvements
API Changes
preprocess
pp.pca
->pca.pca_monocle
Native implementation of various graphical calculus using Numpy without using igraph.
Other Changes
general code refactor and bug fixing
pl.scatters refactor