๐งช EnzymeML-Rust
The official EnzymeML toolkit for Rust - Powerful enzyme kinetics modeling and simulation
โ ๏ธ This library is currently under development and is not yet ready for production use.
โจ Features
- ๐ EnzymeML Document Management - Create, parse, and manipulate EnzymeML documents
- ๐งฎ Simulation - Simulate enzyme kinetics through ODE systems with various solvers
- ๐ Optimization - Parameter estimation and model fitting with multiple algorithms
- โ Validation - Ensure models are consistent and correct
- ๐ Data Handling - Read/write measurement data in various tabular formats
- ๐ Visualization - Beautiful plots for simulation results and experimental data
- ๐ SBML Support - Read and write SBML documents
- ๐ WebAssembly Support - Use in web applications
๐ Installation
Or add to your Cargo.toml:
[]
= "0.1.0"
๐ Usage Examples
๐งช Creating an EnzymeML Document
use *;
let mut enzmldoc = default;
// Create small molecules
let substrate = default
.id
.name
.build?;
let product = default
.id
.name
.build?;
enzmldoc.to_small_molecules;
enzmldoc.to_small_molecules;
// Create a reaction
let reaction = build_reaction!;
enzmldoc.to_reactions;
// Create an equation
let equation = default
.species_id
.equation
.build?;
enzmldoc.to_equations;
// Serialize the document
let enzmldoc = enzmldoc.build?;
let serialized = to_string_pretty?;
println!;
๐ฅ Deserializing an EnzymeML Document
use *;
use Path;
let path = new;
let enzmldoc: EnzymeMLDocument = read_enzmldoc.unwrap;
println!;
๐งฎ Simulating Enzyme Kinetics
use *;
use ;
// Create an EnzymeML document with Michaelis-Menten kinetics
let doc = default
.name
.to_equations
.to_equations
.to_parameters
.to_parameters
.to_measurements
.build?;
// Extract initial conditions from measurements
let measurement = doc.measurements.first.unwrap;
let initial_conditions: InitialCondition = measurement.into;
// Create an ODE system from the EnzymeML document
let system: ODESystem = doc.try_into.unwrap;
// Configure simulation parameters
let setup = default
.dt
.t0
.t1
.build?;
// Run the simulation
let result = system.;
// Visualize the results
if let Ok = result
๐งฉ Available Features
Enable specific features in your Cargo.toml:
= { = "0.1.0", = ["optimization", "simulation"] }
| Feature | Description |
|---|---|
simulation |
๐งฎ ODE simulation capabilities |
optimization |
๐ Parameter estimation and model fitting |
tabular |
๐ Reading/writing tabular data |
llm |
๐ค Large language model integration |
wasm |
๐ WebAssembly support |
๐ Documentation
For complete documentation, check out the API docs.
๐ License
This project is licensed under the MIT License.