(Non-)Steady State Kinetics Simulation#
NSKinetics is a fast, flexible Python package for simulating steady- and non-steady-state reaction kinetics — including microbial fermentation and enzyme kinetics — and connecting them to techno-economic analysis (TEA) and life-cycle assessment (LCA) under uncertainty. Watch it run end to end in the interactive Quickstart demo below.
Quickstart#
Kinetic models are declared as SBML — most easily authored as
Antimony text —
and wrapped in a KineticModel, which adds unit-aware value access and
a Python event API (Event, and the higher-level FeedSpike
for fed-batch feeding) over a Tellurium RoadRunner ODE engine. The same model
can then drive a biosteam process unit through the
NSKBatchReactor bridge — with ready-made flowsheet
sections shipping as factories in nskinetics.processes — coupling kinetics
directly to TEA.
One factory call builds a complete, industrially configured process around a
real kinetic model:
create_sugar_prep_and_fermentation_system
assembles the sugar-solution preparation and fed-batch fermentation section of
an actual biorefinery model — a splitter feeding parallel initial-feed and
spike-feed conditioning trains (multi-effect evaporator, pumps, dilution-water
mixer, heat exchanger), a
FermentationSaccharomycesEthanolIsobutanol fermentor
driven by the shipped S. cerevisiae kinetic model, and a compressed-air
aeration loop. The interactive demo below runs it end to end: build, simulate,
change the fed-batch strategy, and inspect the reactor.
Interactive quickstart demo — open in a new tab.
See the full tutorial for the rest of the workflow —
writing and simulating a kinetic model from scratch, the
Event/FeedSpike API used inside the fermentor here, a tour
of the shipped S. cerevisiae kinetic model, and the kinetics-to-biosteam
bridge behind V406.
Installation#
Get the latest version of NSKinetics from PyPI. If you have an installation of Python with pip, simply install it with:
$ pip install nskinetics
To get the git version, use:
$ git clone git://github.com/sarangbhagwat/nskinetics
Or download directly from the GitHub page.
Common Issues#
Cannot install/update NSKinetics:
If you are having trouble installing or updating NSKinetics, it may be due to dependency issues. You can bypass these using:
$ pip install --user --ignore-installed nskinetics
You can make sure you install the right version by including the version number:
$ pip install nskinetics==<version>
E.g., for version 0.1.4:
$ pip install nskinetics==0.1.4