Upload
moriyoshi-koizumi
View
935
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Slides used in my talk at E-Cell Workshop 2010
Citation preview
Introducing E-Cell 3.2Moriyoshi Koizumi <[email protected]>
Biochemical Simulation Research Team,Advanced Science Institute,
RIKEN
Summary
• About E-Cell 3.2
• 3.2.0 just got out of the door
• What's new in 3.2?
• Towards E-Cell 4
E-Cell 3.2.0 released
E-Cell 3.2.0• The very first release of 3.2 series
• Many major and minor bugs have been fixed since 3.1.107
• New features that may draw some attention
• All users are encouraged to upgrade to 3.2.0
Bugfixes
• Through overhaul of DM facility
• There were major design issues that had caused instability.
• Lots of API change involved.
• Binary compatibility has been lost!
• You need to recompile DM's.
Bugfixes• A Long-standing differential stepper
problem
• Velocity was not correctly calculated right after (re)initialization
• DifferentialStepper API has been changed
• StepInterval ➡ NextTime
• updateInternalState()
Bugfixes
• Reimplementation of session manager
• Much more stability
• especially used on the local machine
• Support for Globus 4
• LSF support (by Giuseppe Aprea)
t=0
stopbefore 3.2.0
3.2.0
restart
restart
stop
Other changes• Many API functions are now
deprecated.
• VariableReference::getValue() etc.
• libemc is declared obsolete
• Polymorph class was refactored to be more efficient
• Added Model::deleteEntity() to support dynamically generated reaction rules
Other changes• Python code was updated to use
modern library functions
• Improvements on Python binding
• Optimization of Logger to NumPy interface
• Providing interface to directly manipulate C++ objects
• Now users can implement Processes, Variables and Systems in Python!
from ecell.ecs import Process, Variable
class MyProcess(Process): IsContinuous = True def initialize(self): pass
def fire(self): return 1
class MyVariable(Variable): def initialize(self): pass
def onValueChanging(self, val): return val
theSimulator.addPythonDM(MyProcess)theSimulator.addPythonDM(MyVariable)loadModel('mymodel.eml')run(100)
Other changes
• Official support for the following platforms:
• Mac OS X
• 64bit Windows
• Removed dependency on glade in favor of GtkBuilder
Towards E-Cell 4• E-Cell 4 will be highly rule-based and
also highly scriptable
• Script-based modeling is already covered in 3.2
• migration from EmPy
• Rule-based modeling will be supported in 3.3
rootSystem = sim.getEntity('System::/')S = sim.createVariable('Variable')P = sim.createVariable('Variable')E = sim.createProcess('MassActionFluxProcess')rootSystem.registerEntity(S)rootSystem.registerEntity(P)rootSystem.registerEntity(E)
S.ID = 'S'
P.ID = 'P'
E.ID = 'E'E.k = .3E.VariableReferences.add('S0', S, -1)E.VariableReferences.add('P0', P, 1)
sim.run()
Acknowledgements• JST CREST
• KEIO UniversityMasaru Tomita, Takeshi Sakurada, Kazunari Kaizu, Taiko Nishino, Ayako "Kinoshita" Yachie and many kind students.
• RIKENKoichi Takahashi, Satya Nanda Vel Arjunan
• Mitsubishi Space SoftwareSachio Nohara, Chihiro Okada, Yasuo Ohara, Gen Ishikawa and Takeshi Yuasa