Introducing E-Cell 3.2

1,237 views

Published on

Slides used in my talk at E-Cell Workshop 2010

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,237
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Introducing E-Cell 3.2

  1. 1. Introducing E-Cell 3.2 Moriyoshi Koizumi <mozo@riken.jp> Biochemical Simulation Research Team, Advanced Science Institute, RIKEN
  2. 2. 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
  3. 3. E-Cell 3.2.0 released
  4. 4. 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
  5. 5. 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.
  6. 6. Bugfixes • A Long-standing differential stepper problem • Velocity was not correctly calculated right after (re)initialization • DifferentialStepper API has been changed • StepInterval ➡ NextTime • updateInternalState()
  7. 7. Bugfixes • Reimplementation of session manager • Much more stability • especially used on the local machine • Support for Globus 4 • LSF support (by Giuseppe Aprea)
  8. 8. t=0 before stop 3.2.0 restart 3.2.0 stop restart
  9. 9. 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
  10. 10. 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!
  11. 11. 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)
  12. 12. Other changes • Official support for the following platforms: • Mac OS X • 64bit Windows • Removed dependency on glade in favor of GtkBuilder
  13. 13. 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
  14. 14. 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 = .3 E.VariableReferences.add('S0', S, -1) E.VariableReferences.add('P0', P, 1) sim.run()
  15. 15. Acknowledgements • JST CREST • KEIO University Masaru Tomita, Takeshi Sakurada, Kazunari Kaizu, Taiko Nishino, Ayako "Kinoshita" Yachie and many kind students. • RIKEN Koichi Takahashi, Satya Nanda Vel Arjunan • Mitsubishi Space Software Sachio Nohara, Chihiro Okada, Yasuo Ohara, Gen Ishikawa and Takeshi Yuasa

×