FeatureHeatmap(): Fixed group_palcolor when a named vector is passed: the function previously used only the first color for all groups because group_palcolor[[1]] on a vector returns a single element. Now when group.by has length 1, a vector is automatically wrapped as a list; when within_groups = TRUE, group_palcolor is expanded in line with group_palette.
GroupHeatmap(): Same group_palcolor fix as FeatureHeatmap(): support for named-vector input and correct expansion when within_groups = TRUE.
RunMonocle2(): New function for performing Monocle2 trajectory analysis with support for various dimensionality reduction methods (DDRTree, ICA, tSNE, SimplePPT, L1-graph, SGL-tree). Uses the fixed version of monocle2 from mengxu98/monocle.
RunMonocle3(): New function for performing Monocle3 trajectory analysis with support for cell ordering, trajectory learning, and pseudotime computation.
RunCytoTRACE(): New function for running CytoTRACE 2 analysis to predict cellular potency scores and categories (Differentiated, Unipotent, Oligopotent, Multipotent, Pluripotent, Totipotent) with support for human and mouse species.
RunPalantir(): Fixed unused plot_format parameter error. The parameter is now properly excluded from arguments passed to Python functions. This issue reported in #114.
RunSCVELO(): Fixed PAGA computation error by replacing scv.tl.paga with sc.tl.paga (scanpy implementation) for better stability. The function now uses the same PAGA implementation as RunPAGA() function.
RunCellRank(): Fixed GPCCA Schur decomposition error by adding fallback mechanism. When brandts method fails with “subspace_angles” error, the function automatically tries krylov method. If both methods fail, it automatically switches to CFLARE estimator for more robust computation.
RunCellRank(): Fixed recover_dynamics error by ensuring velocity_graph and velocity_graph_neg are properly set before calling scv.tl.recover_dynamics() for latent time computation.
func:
adata_to_srt(): Removed automatic removal of “X_” prefix from dimensionality reduction names in obsm keys. The function now preserves original reduction names as they are stored in AnnData objects.
data:
Reducing the size of pancreas_sub example dataset.
scop 0.7.7
func:
adata_to_srt(): Enhanced to support multiple AnnData object types including Python AnnData objects (from scanpy/reticulate), R6 AnnData objects from the anndata package (AnnDataR6), and R6 AnnData objects from the anndataR package (InMemoryAnnData). Added internal helper functions get_adata_element() and get_adata_names() for better compatibility. This enhancement addresses the issue reported in #67, #91 and 91#issuecomment.
bugs:
RunDEtest(): Fixed error when comparing one cluster against multiple clusters using group1 and group2 parameters. This issue reported in #111.
AnnotateFeatures(): Fixed bug where the function would fail when processing GTF file annotations due to column name matching issues during data naming. The function now correctly handles column name intersections when merging annotation data.
scop 0.7.6
func:
RunDM(): Added automatic PCA-based dimensionality reduction when using many features (>1000) to speed up diffusion map computation. The npcs parameter can be used to control the number of principal components used for pre-processing.
scop 0.7.5
bugs:
CellScoring(): Fixed bug where the function failed to build results. This issue reported in #98.
RunDM(): Added automatic PCA-based dimensionality reduction when using many features (>1000) to speed up diffusion map computation. The npcs parameter can be used to control the number of principal components used for pre-processing.
scop 0.7.3
func:
RunCellTypist(): New function for cell type annotation using the CellTypist method.
CellTypistModels(): New function for downloading and managing CellTypist pre-trained models.
scop 0.7.2
func:
RunCellRank(): Performance optimizations and code improvements.
scop 0.7.1
bugs:
CellDimPlot(): Fixed issue where NA values appeared in labels. This issue reported in #93.
scop 0.7.0
func:
PrepareEnv(): Integrated uv as the primary Python package installer for improved installation speed.
check_python(): Now uses uv as the primary installation tool with pip as fallback, significantly improving package installation speed.
Added find_uv() and install_uv() internal functions for managing uv package manager installation and detection.
scop 0.6.6
docs:
Unified documentation format across all R functions:
Standardized return value tags: Changed all @returns to @return for consistency.
Unified parameter documentation: Replaced all \code{value} with Markdown backticks `value` format.
Standardized default value descriptions.
Added @md tags: Added @md tags to all functions using Markdown syntax in documentation.
Enhanced cross-references: Added @seealso links to related functions where appropriate.
Added comprehensive environment variable configuration to prevent crashes when calling Python functions, including setting thread limits for OMP, OPENBLAS, MKL, NUMBA, and other libraries. This improves stability on all platforms, especially Apple silicon Macs.
Added accept_conda_tos() function to automatically accept conda Terms of Service for required channels, improving the conda environment setup process.
Fixed conda Terms of Service acceptance issue in PrepareEnv(). The function now automatically accepts conda Terms of Service for required channels, eliminating the need for manual acceptance. This addresses the issue reported in #85.
PrepareSCExplorer(): Fixed package version dependency issues with shiny and bslib compatibility. The function now properly handles bslib theme configuration to work with both shiny 1.6.0 and 1.7.0+, addressing compatibility errors reported in #87.
refactor:
Improved code formatting and consistency across multiple functions.
Enhanced Python functions in inst/python/functions.py with better error handling and message formatting.
docs:
Updated documentation for multiple functions to reflect code improvements.
scop 0.6.2
func:
CellChatPlot(): Adjusted the size of saved figures for better file size optimization.
docs:
Updated README.md to remove references to Monocle2 and Monocle3 (deprecated functions).
scop 0.6.1
func:
PrepareEnv(): Improved message formatting and simplified log output for better user experience.
Added get_conda_envs_dir() helper function to centralize conda environment directory retrieval.
integration_scop(): Enhanced integration_method parameter definition with explicit method list for better code clarity.
refactor:
Moved exist_python_pkgs() function to check_package.R for better code organization.
Replaced direct conda_info()$envs_dirs[1] calls with get_conda_envs_dir() helper function for consistency.
Updated documentation across multiple functions to reflect code refactoring.
Improved code organization and maintainability.
scop 0.5.5
bugs:
Fixed VelocityPlot() function error in plot_type = "grid" mode: replaced vectorized arrow length with fixed-length arrows (using mean length) to resolve vapply() error that occurred when grid::arrow() received a vector instead of a single value, see #72, #74.
Fixed SingleCellExperiment object creation in RunScmap() and RunSingleR() functions: changed from coercing SummarizedExperiment to directly constructing SingleCellExperiment objects.
scop 0.5.3
func:
PrepareDB(): Changed default Ensembl_version parameter from 103 to NULL for more flexible version handling.
Added Python version log_message() for Python-based functions (RunSCVELO(), RunPAGA(), RunPalantir(), RunCellRank(), RunWOT()) and added verbose parameter inheritance and improved message formatting using cli-style formatting.
refactor:
Delete harmonizomeapi.py file.
Move scop_analysis.py into a single functions.py file in inst/python/ for better code organization and maintainability.
docs:
Improved parameter documentation consistency.
scop 0.5.1
docs:
Improved reference formatting and consistency across multiple functions.
Enhanced documentation clarity and readability.
scop 0.5.0
func:
RunCellChat(): New function to perform CellChat analysis for investigating cell-to-cell communication with support for human, mouse, and zebrafish species.
CellChatPlot(): New function to visualize CellChat analysis results with various plot types and customization options.
Multiple integration functions: Improved error messages and message formatting for better user experience.
deps:
Added CellChat package dependency with remote repository jinworks/CellChat.
docs:
Updated README.md with improved code formatting and examples.
Enhanced documentation for cell communication analysis functions.
Improved error messages and user guidance across integration functions.
refactor:
Removed some example figures to optimize package installation size.
scop 0.4.0
func:
RunProportionTest(): New function to perform Monte-carlo permutation test for quantifying cell proportion differences between conditions.
ProportionTestPlot(): New function to generate proportion test plots with customizable significance thresholds and visualization options.
Multiple Python-based functions: add \dontrun{} blocks for Github workfolw checking.
docs:
Added comprehensive documentation for new proportion testing functions.
Enhanced example documentation across multiple functions.
Updated package documentation and examples.
scop 0.3.4
docs:
Updated workflow examples and function documentation.
scop 0.3.3
func:
Multiple functions: Improved parameter documentation formatting and consistency across the package.
scop 0.3.2
func:
GetFeaturesData() and AddFeaturesData(): Enhanced argument clarity, added input validation, and standardized return values for Seurat, Assay, and Assay5 objects.
Improved error message formatting using cli-style formatting.
Simplified variable assignments and improved readability.
docs:
Comprehensive documentation updates across multiple functions including AnnotateFeatures, CellDimPlot, CellStatPlot, FeatureStatPlot, GroupHeatmap, RunCellQC, and others.
Improved parameter descriptions and function clarity.
scop 0.3.1
func:
EnrichmentPlot() and GSEAPlot(): Removed conditional font face styling (face = ifelse() logic) for better text rendering consistency. Set the default value of lineheight from 0.5 to 0.7.
Updated check_r() function for improved package checking functionality.
Updated reexports functionality.
docs:
Updated documentation formatting and consistency.
scop 0.3.0
func:
Fixed segmentation faults and R crashes on M-series MacBook when running Python functions.
RunPAGA(): Enhanced with M-series MacBook detection and automatic environment configuration.
RunSCVELO(): Added ARM64-specific optimizations to prevent crashes and ensure stable execution.
RunCellRank(): Implemented M-series compatibility with proper NUMBA configuration.
RunPalantir(): Added ARM64 support with single-threaded execution mode.
RunWOT(): Enhanced with M-series MacBook environment variable settings.
RunTriMap(): Added M-series MacBook compatibility for dimensionality reduction.
Added remove_python() function for easy remove Python packages.
bugs:
Corrected an issue in py_to_r2() function (intrinsic function), which ensures that Python-dependent functions like RunPAGA() and RunSCVELO() function run correctly.
scop 0.1.9
func:
Update CellScoring() and AddModuleScore2() functions. Now, new parameters cores and verbose have been added.