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.
PrepareEnv(): Enhanced with environment caching mechanism to avoid redundant environment preparation. Improved message formatting and error handling.
Python-based functions (RunPAGA(), RunSCVELO(), RunPalantir(), RunCellRank(), RunWOT()) now automatically call PrepareEnv() internally, eliminating the need for users to manually prepare the Python environment before using these functions.
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.