
Changelog
perturbplan 0.3.1
Documentation
- Fixed outdated roxygen docs for pilot-data validators (
validate_custom_baseline_rds,validate_custom_library_rds,validate_combined_pilot_data) to reflect currentbaseline_expression_stats+library_parametersschema - Corrected
extract_fc_expression_infoandextract_expression_infodocs:gene_listuses importance sampling, not “all genes” - Updated
get_pilot_data_from_packagedocs with all 8 biological systems andmapping_efficiencyreturn value - Fixed
reference_data_processingdocs:n_threads = NULLauto-detects threads,h5_only = TRUEreturns NULL forbaseline_expression_stats - Fixed
find_optimal_cost_designdocs:cost_grid_sizedefault is 50, not 200
perturbplan 0.3.0
Breaking Changes
-
New library estimation backend: Replaced
minpack.lmNLS fitting withpreseqRZTNB/RFA saturation curve methods.library_estimation()now returns anrSAC_fn_wrapperlist instead of scalar parameters. -
Dependency changes: Added
preseqRandPoissonBinomial; removedminpack.lm - Internal C++ functions now accept
rSAC_fn_wrapperinstead ofUMI_per_cell/variation - Removed deprecated
downsampling_ratioandD2_rougharguments
New Features
-
power_rangeparameter forcost_power_computation() - Lower/upper caps for cells and reads in grid search
- Saturation threshold increased to 98% for better extrapolation
- Feature type filtering in
obtain_qc_read_umi_table()(Gene Expression only)
perturbplan 0.2.0
Major Changes
Parameter Naming Standardization
-
BREAKING CHANGE: Renamed
reads_per_cellandraw_reads_per_cellparameters tosequenced_reads_per_cellin some functions- This change clarifies that the parameter refers to raw sequencing reads (before mapping), not mapped reads
- Affects:
compute_power_plan(),compute_power_posthoc(),cost_power_computation(),find_optimal_cost_design(), and related functions
- Improved internal handling of mapping efficiency with automatic conversion and rounding
New Vignettes and Documentation
-
New vignette: “Prepare Data For Web App” (
preprocess-reference.Rmd)- Comprehensive guide for preprocessing Cell Ranger outputs
- Documentation for
reference_data_preprocessing_10x()andreference_data_processing() - Examples for both Perturb-seq and TAP-seq workflows
- Mathematical details of negative binomial expression model and read-UMI saturation curve
- Enhanced
prospective-powervignette with updated parameter names - Improved documentation for all pilot data preprocessing functions
Enhanced Pilot Data Preprocessing
- Added
gene_listparameter toreference_data_processing()for TAP-seq targeted gene panel support - Created example TAP-seq pilot data with targeted gene list
- Improved handling of different prior values for variation parameter (
D2_rough) - Enhanced example raw data to reduce numerical singularity issues
perturbplan 0.1.0
New Features
Cost Optimization Functions
-
cost_power_computation(): Comprehensive power analysis with cost minimization across multiple experimental parameters -
find_optimal_cost_design(): Binary search optimization to find experimental designs meeting power targets -
obtain_fixed_variable_constraining_cost(): Helper function for cost-constrained experimental design
Enhanced Parameter Support
- Extended
minimizing_variableparameter validation to support:-
"TPM_threshold"- Expression threshold optimization -
"minimum_fold_change"- Effect size optimization -
"cells_per_target"- Cell count optimization (cost_power_computation only) -
"reads_per_cell"- Sequencing depth optimization (cost_power_computation only) -
"cost"- Total cost optimization
-
- Differentiated validation between
cost_power_computationandfind_optimal_cost_design
Bug Fixes
Performance Improvements
- Optimized switch statement logic for new minimizing variables
- Efficient handling of cost calculations across experimental parameter grids
- Enhanced C++ integration for computationally intensive operations
Package Structure
- Updated
.Rbuildignoreand.gitignorefor pkgdown support - Comprehensive test coverage for all new cost optimization features
- Maintained backward compatibility with existing power analysis functions
Breaking Changes: None - all new features are additive and maintain full backward compatibility.
Dependencies: No new dependencies added for core functionality.