SDL Framework for closed-loop experimental optimization
An open-source Python framework for designing, simulating, and analyzing self-driving laboratory (SDL) workflows. The framework combines Bayesian optimization, Gaussian-process surrogate modeling, acquisition-function-guided experiment selection, campaign orchestration, and experiment tracking to support reproducible closed-loop experimental optimization The current release focuses on SDL workflow simulation, educational demonstrations, and computational prototyping. The included examples illustrate simulated enzyme optimization workflows, reproducible closed-loop optimization campaigns, and campaign-level reporting. Physical laboratory deployment requires validated experiment executors, instrument-control interfaces, safety systems, and independent experimental validation
Traditional pharmaceutical research relies on manual experimentation where scientists design, execute, and analyze experiments sequentially. This approach is time-intensive, resource-heavy, and struggles with high-dimensional parameter spaces. SDL Framework addresses these challenges by providing reusable software components for closed-loop experimental optimization and self-driving laboratory workflow simulation:
- Designs experiments intelligently using Bayesian optimization and active learning
- Supports experiment execution through user-defined experiment executors and integration interfaces
- Analyzes results in real-time with automated data processing pipelines
- Makes decisions about next experiments based on accumulating data
- Supports reproducible closed-loop optimization workflows through user-defined experiment executors and result-analysis pipelines
- Demonstration workflows illustrate adaptive Bayesian optimization strategies in representative simulated parameter spaces
The SDL Framework repository provides a computational framework for closed-loop experimental optimization using self-driving laboratory principles
The current version includes:
- Bayesian optimization workflows
- Gaussian-process surrogate modeling
- Acquisition-function-guided experiment selection
- Campaign orchestration
- Tutorial examples
- Simulated enzyme optimization workflows
- Campaign reporting and visualization
The repository should not be interpreted as a validated autonomous laboratory platform, drug-discovery system, or production laboratory execution environment
Examples included in the repository are primarily simulation-based demonstrations intended for education, workflow prototyping, and reproducibility-focused research
Users deploying the framework in physical laboratory environments are responsible for validation of instrument interfaces, optimization outputs, data integrity procedures, quality-control logic, and safety systems
The bundled enzyme optimization campaigns demonstrate expected behavior of closed-loop optimization workflows using simulated experimental systems
These demonstrations are intended to show:
- Bayesian optimization logic
- Campaign orchestration
- Experiment selection
- Result analysis
- Visualization
- Data export
Physical laboratory adoption requires validated instrument interfaces, independent experimental confirmation of optimized conditions, and documented safety procedures
Repository examples should therefore be interpreted as workflow demonstrations unless otherwise stated
- Bayesian optimization for efficient parameter space exploration
- Active learning strategies (Expected Improvement, UCB, Probability of Improvement)
- Multi-objective optimization support
- Constraint handling for practical experimental limitations
- Adaptive exploration-exploitation balancing
- Unified interface for diverse laboratory instruments
- Interface patterns and examples for connecting liquid handlers, analytical instruments, and laboratory automation systems through user-defined integrations
- Actual instrument support depends on implementation of communication layers by the user
- Automated data processing and quality control
- Statistical validation and confidence intervals
- Response surface visualization
- Parameter importance analysis
- Performance metric tracking
- Comprehensive logging of all experimental decisions
- Full reproducibility with experiment metadata
- Automated report generation
- Publication-ready data export
- Python 3.8 or higher
- pip package manager
- Git
# Clone the repository
git clone https://github.com/Oluwaseun-O-Ajayi/sdl-framework.git
cd sdl-framework
# Install dependencies
pip install -r requirements.txt
# Install the package
pip install -e .
# Run example
python examples/enzyme_optimization_example.pyCore scientific computing:
numpy>=1.21.0
scipy>=1.7.0
pandas>=1.3.0
scikit-learn>=1.0.0
Visualization:
matplotlib>=3.4.0
seaborn>=0.11.0
plotly>=5.0.0
Optional (for full functionality):
jupyter>=1.0.0
pymongo>=4.0.0 # For database integration
redis>=4.0.0 # For distributed computing
from sdl_core.orchestrator import SDLOrchestrator, OptimizationConfig
# Define optimization problem
config = OptimizationConfig(
objective="maximize",
parameter_space={
'temperature': (25.0, 45.0),
'pH': (6.0, 8.5),
'substrate_conc': (10.0, 200.0),
},
n_initial_experiments=10,
max_iterations=30
)
# Define experimental functions
def run_experiment(params):
# Interface with your instruments here
result = plate_reader.measure(params)
return result
def analyze_results(data):
return {'objective_value': calculate_activity(data)}
# Initialize and run SDL
sdl = SDLOrchestrator(
config=config,
experiment_executor=run_experiment,
result_analyzer=analyze_results
)
results = sdl.run_optimization_campaign()
print(f"Optimal conditions: {results['best_result']}")Publication-ready protocols for common SDL workflows:
-
- Closed-loop optimization of enzymatic reactions
- Bayesian optimization implementation
- Example optimization campaigns
-
High-Throughput ADMET Screening
- Reproducible compound assessment workflow
- Multi-parameter compound profiling
- Integration with computational predictions
-
- Michaelis-Menten parameter determination
- Inhibition constant measurements
- High-throughput kinetic characterization
-
- Workflow simulation for sample-processing pipelines
- Automated calibration and quantification
- Quality control and validation
-
- Multi-instrument coordination
- Error recovery and fault tolerance
- Safety systems and monitoring
The current repository includes simulation-based workflows demonstrating:
- Closed-loop experimental optimization
- Bayesian optimization strategies
- Campaign orchestration
- Experiment selection workflows
- Parameter-importance analysis
- Optimization reporting and visualization
Additional validation datasets may be incorporated in future releases
- Orchestrator API - Core SDL coordination engine
- Experiment Designer API - Bayesian optimization implementation
- Integration API - Instrument interface specifications
- Lead compound optimization
- ADMET property screening
- Structure-activity relationship studies
- Formulation development
- Enzyme reaction optimization
- Protein engineering screening
- Biocatalytic process development
- Kinetic parameter determination
- High-throughput screening assay optimization
- Detection method development
- Quality control protocol optimization
- Analytical method validation
- Manufacturing process optimization
- Scale-up parameter studies
- Stability testing protocols
- Quality by design (QbD) workflows
The repository includes simulation-based examples demonstrating optimization workflow behavior, campaign orchestration, adaptive experiment selection, and optimization reporting
Performance characteristics should be evaluated independently for specific experimental systems and deployment environments
No claims of experimental efficiency gains, cost reductions, workflow acceleration, or laboratory performance improvements are made without independent validation
This SDL framework integrates seamlessly with other tools in the automation ecosystem:
From my automation toolkit:
- drugability-toolkit - ADMET prediction integration
- enzymatic-kinetics-analyzer - Automated kinetic analysis
- lcms-data-processor - LC-MS data pipeline
- robot-workcell-simulator - Robot control interface
- sample-tracking-database - LIMS integration
- assay-design-calculator - Assay optimization
from drugability_toolkit import ADMETPredictor
from lcms_data_processor import LCMSAnalyzer
from sdl_core.orchestrator import SDLOrchestrator
# Combine tools in SDL workflow
def integrated_experiment(params):
# Predict ADMET properties
predictions = ADMETPredictor().predict(compound)
# If promising, run physical experiment
if predictions['drugability_score'] > 0.7:
result = lcms.quantify(params)
return result
return {'skip': True}If you use this framework in your research, please cite:
@software{ajayi2026sdlframework,
author = {Ajayi, Oluwaseun O.},
title = {SDL Framework},
version = {1.0.0},
year = {2026},
publisher = {Zenodo},
doi = {10.5281/zenodo.21652612},
url = {https://doi.org/10.5281/zenodo.21652612}
}Ajayi, O. O. (2026). SDL Framework (Version 1.0.0). Zenodo. https://doi.org/10.5281/zenodo.21652612
Associated manuscript:
Ajayi, O. O.
SDL Framework: A Reproducible Python Framework for Closed-Loop Experimental Optimization Using Self-Driving Laboratory Principles
Manuscript in preparation
The primary contribution of this repository is a reusable software framework for closed-loop experimental optimization
Key implemented capabilities include:
- Gaussian-process surrogate modeling
- Expected Improvement acquisition
- Probability of Improvement acquisition
- Upper Confidence Bound acquisition
- Latin Hypercube experimental design
- Constraint-aware parameter spaces
- Campaign orchestration
- Parameter importance estimation
- Optimization visualization
- Reproducible campaign reporting
The framework is intended to help researchers understand, prototype, and extend self-driving laboratory workflows
Contributions are welcome! This project aims to support reproducible research and software development for closed-loop experimental optimization and self-driving laboratory workflows
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes with tests
- Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Additional instrument integrations
- New optimization algorithms
- Constraint handling methods
- Multi-objective optimization
- Distributed SDL coordination
- Documentation improvements
This project is licensed under the MIT License - see the LICENSE file for details.
Oluwaseun O. Ajayi
Chemistry PhD Researcher specializing in:
- Bioanalytical Chemistry
- Structural Biology
- Enzymology
- Laboratory Automation
- Computational Modeling
Research Interests: Self-driving laboratories, laboratory automation, closed-loop experimental optimization, scientific software, machine learning in chemistry
Connect:
- GitHub: @Oluwaseun-O-Ajayi
- Email: seunolanikeajayi@gmail.com | oluwaseun.ajayi@uga.edu
- ORCID: 0000-0003-0040-7217
- LinkedIn: linkedin.com/in/oluwaseun-o-ajayi-b-sc-mrsc
- University of Georgia Chemistry Department for research infrastructure
- Laboratory automation community for best practices
- Open-source scientific computing community (NumPy, SciPy, scikit-learn)
- Core Bayesian optimization engine
- Basic instrument integration framework
- Example workflows and documentation
- Publication-ready protocols
- Multi-objective optimization
- Advanced constraint handling
- Real-time experiment monitoring dashboard
- Cloud deployment support
- Distributed SDL coordination
- Active learning with neural networks
- Automated literature integration
- Transfer learning across campaigns
Advancing reproducible experimental optimization through self-driving laboratory workflows