Package: darwin 1.0.0

darwin: Multi-Objective Gene Selection Using Evolutionary Algorithms

Automatic gene selection for bulk RNA-seq deconvolution using multi-objective optimization. Implements the NSGA-II algorithm to simultaneously minimize correlation and maximize distance between cell type expression profiles, yielding Pareto-optimal gene subsets. Supports Seurat objects (V4 and V5), SingleCellExperiment, and standard matrix inputs. Includes built-in deconvolution methods and parallel computing support.

Authors:Zaoqu Liu [aut, cre]

darwin_1.0.0.tar.gz
darwin_1.0.0.zip(r-4.7-x86_64)darwin_1.0.0.zip(r-4.7-arm64)darwin_1.0.0.zip(r-4.6-x86_64)darwin_1.0.0.zip(r-4.6-arm64)darwin_1.0.0.zip(r-4.5-x86_64)
darwin_1.0.0.tgz(r-4.6-x86_64)darwin_1.0.0.tgz(r-4.6-arm64)darwin_1.0.0.tgz(r-4.5-x86_64)darwin_1.0.0.tgz(r-4.5-arm64)
darwin_1.0.0.tar.gz(r-4.7-arm64)darwin_1.0.0.tar.gz(r-4.7-x86_64)darwin_1.0.0.tar.gz(r-4.6-arm64)darwin_1.0.0.tar.gz(r-4.6-x86_64)
darwin_1.0.0.tgz(r-4.6-emscripten)
manual.pdf |manual.html✨
DESCRIPTION |NEWS
card.svg |card.png
darwin/json (API)

# Install 'darwin' in R:
install.packages('darwin', repos = c('https://zaoqu-liu.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/zaoqu-liu/darwin/issues

Pkgdown/docs site:https://zaoqu-liu.github.io

Uses libs:
  • openblas– Optimized BLAS
  • c++– GNU Standard C++ Library v3

On CRAN:

Conda:

openblascpp

3.52 score 11 scripts 7 exports 28 dependencies

Last updated from:a6d9027d59 (on main). Checks:15 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-arm64OK160
linux-devel-x86_64OK219
source / vignettesOK336
linux-release-arm64OK164
linux-release-x86_64OK172
macos-release-arm64OK180
macos-release-x86_64OK239
macos-oldrel-arm64OK165
macos-oldrel-x86_64OK351
windows-devel-arm64OK290
windows-devel-x86_64OK227
windows-release-arm64OK280
windows-release-x86_64OK160
windows-oldrel-x86_64OK173
wasm-releaseOK129

Exports:compute_conditioncompute_correlationcompute_distancecrowding_distancedarwinDarwinnsga2_select

Dependencies:clicodetoolscpp11digestfarverfuturefuture.applyggplot2globalsgluegtableisobandlabelinglatticelifecyclelistenvMatrixparallellyR6RColorBrewerRcppRcppArmadillorlangS7scalesvctrsviridisLitewithr

Advanced Usage
Introduction | Prepare Data | Custom Objective Functions | Requirements | Example: Variance Objective | Example: Marker Score Objective | Using Custom Objectives | Three Objectives | Fixed Gene Count Mode | Selection Strategies | 1. Weighted Selection | 2. Index-Based Selection | 3. Target Value Selection | Parallel Computing | Performance Comparison | Parameter Tuning | Population Size | Mutation Probability | Save and Load | Integration Examples | With Seurat | Export to Other Deconvolution Tools | Troubleshooting | Common Issues | Diagnostic Checks | Session Info

Last update: 2026-01-25
Started: 2026-01-25

Algorithm Theory: NSGA-II for Gene Selection
Introduction | The Multi-Objective Optimization Problem | Problem Formulation | Pareto Dominance | Pareto Front | NSGA-II Algorithm | Algorithm Overview | Key Components | 1. Non-dominated Sorting | 2. Crowding Distance | 3. Selection | 4. Genetic Operators | Objective Functions | Correlation Objective (Minimize) | Distance Objective (Maximize) | Condition Number (Minimize) | Parameter Guidelines | References | Session Info

Last update: 2026-01-25
Started: 2026-01-25

Bulk RNA-seq Deconvolution
Introduction | The Deconvolution Problem | Mathematical Formulation | Why Gene Selection Matters | Complete Workflow | Step 1: Load Package and Data | Step 2: Create Reference Matrix | Step 3: Create Simulated Bulk Data | Step 4: Optimize Gene Selection | Step 5: Select Optimal Genes | Step 6: Perform Deconvolution | Non-Negative Least Squares (NNLS) | Linear Regression | Step 7: Evaluate Accuracy | Comparing Gene Selection Strategies | Best Practices | 1. Reference Matrix Quality | 2. Gene Selection | 3. Method Selection | 4. Validation | Session Info

Last update: 2026-01-25
Started: 2026-01-25

Getting Started with darwin
Introduction | Why darwin? | Installation | Quick Start | Load the Package | Prepare Reference Data | Initialize darwin | Run Optimization | Visualize Pareto Front | Select Optimal Solution | View Fitness Values | Working with Seurat Objects | Basic Deconvolution | Summary | Session Info

Last update: 2026-01-25
Started: 2026-01-25

Performance Benchmarks
Introduction | Performance Architecture | C++ vs R Performance | Scaling with Problem Size | Number of Genes | Number of Cell Types | Optimization Benchmarks | Complete Workflow Timing | Scaling with Generations | Scaling with Population Size | Objective Function Comparison | Memory Usage | Recommendations | Performance Tips | Session Info

Last update: 2026-01-25
Started: 2026-01-25

Visualization Guide
Introduction | Setup | Prepare Example Data | Pareto Front Visualization | Basic Pareto Plot | Customized Pareto Plot | Manual Pareto Plot with ggplot2 | Gene Selection Analysis | Gene Count Distribution | Fitness vs Gene Count | Expression Profile Visualization | Heatmap of Selected Genes | Cell Type Similarity | Solution Comparison | Compare Different Selection Methods | Advanced: 3D Pareto Front | Summary | Session Info

Last update: 2026-01-25
Started: 2026-01-25