SlideShare a Scribd company logo
1 of 15
Download to read offline
Introducing E-Cell 3.2
   Moriyoshi Koizumi <mozo@riken.jp>

       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

before                   stop
 3.2.0         restart



3.2.0                    stop

               restart
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 = .3
E.VariableReferences.add('S0', S, -1)
E.VariableReferences.add('P0', P, 1)

sim.run()
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

More Related Content

What's hot

Continuous delivery the nuts and bolts
Continuous delivery the nuts and boltsContinuous delivery the nuts and bolts
Continuous delivery the nuts and bolts
OlympicSoftware
 
BlueHat Seattle 2019 || Kubernetes Practical Attack and Defense
BlueHat Seattle 2019 || Kubernetes Practical Attack and DefenseBlueHat Seattle 2019 || Kubernetes Practical Attack and Defense
BlueHat Seattle 2019 || Kubernetes Practical Attack and Defense
BlueHat Security Conference
 

What's hot (11)

Introduction to GOCD - Amulya Sharma
Introduction to GOCD - Amulya SharmaIntroduction to GOCD - Amulya Sharma
Introduction to GOCD - Amulya Sharma
 
Class.devops.chapter.1.intro
Class.devops.chapter.1.introClass.devops.chapter.1.intro
Class.devops.chapter.1.intro
 
Continuous delivery the nuts and bolts
Continuous delivery the nuts and boltsContinuous delivery the nuts and bolts
Continuous delivery the nuts and bolts
 
CNIT 127: Ch 2: Stack Overflows in Linux
CNIT 127: Ch 2: Stack Overflows in LinuxCNIT 127: Ch 2: Stack Overflows in Linux
CNIT 127: Ch 2: Stack Overflows in Linux
 
Real World Elixir Deployment
Real World Elixir DeploymentReal World Elixir Deployment
Real World Elixir Deployment
 
Herding cats into boxes
Herding cats into boxesHerding cats into boxes
Herding cats into boxes
 
CNIT 127 Ch 3: Shellcode
CNIT 127 Ch 3: ShellcodeCNIT 127 Ch 3: Shellcode
CNIT 127 Ch 3: Shellcode
 
Composer talk by Maxim Romanovsky
Composer talk by Maxim RomanovskyComposer talk by Maxim Romanovsky
Composer talk by Maxim Romanovsky
 
Subversion
SubversionSubversion
Subversion
 
BlueHat Seattle 2019 || Kubernetes Practical Attack and Defense
BlueHat Seattle 2019 || Kubernetes Practical Attack and DefenseBlueHat Seattle 2019 || Kubernetes Practical Attack and Defense
BlueHat Seattle 2019 || Kubernetes Practical Attack and Defense
 
Open Source Load Testing: JMeter, Gatling and Taurus
Open Source Load Testing: JMeter, Gatling and TaurusOpen Source Load Testing: JMeter, Gatling and Taurus
Open Source Load Testing: JMeter, Gatling and Taurus
 

Viewers also liked (8)

LLの虎 semifinal: 殺伐Python
LLの虎 semifinal: 殺伐PythonLLの虎 semifinal: 殺伐Python
LLの虎 semifinal: 殺伐Python
 
PHPのすべらない話
PHPのすべらない話PHPのすべらない話
PHPのすべらない話
 
PHPのすべらない話#3
PHPのすべらない話#3PHPのすべらない話#3
PHPのすべらない話#3
 
Pyramidのrendererをカスタマイズする
PyramidのrendererをカスタマイズするPyramidのrendererをカスタマイズする
Pyramidのrendererをカスタマイズする
 
Authentication, Authorization, OAuth, OpenID Connect and Pyramid
Authentication, Authorization, OAuth, OpenID Connect and PyramidAuthentication, Authorization, OAuth, OpenID Connect and Pyramid
Authentication, Authorization, OAuth, OpenID Connect and Pyramid
 
GoでKVSを書けるのか
GoでKVSを書けるのかGoでKVSを書けるのか
GoでKVSを書けるのか
 
PHP7を魔改造した話
PHP7を魔改造した話PHP7を魔改造した話
PHP7を魔改造した話
 
HLSについて知っていることを話します
HLSについて知っていることを話しますHLSについて知っていることを話します
HLSについて知っていることを話します
 

Similar to Introducing E-Cell 3.2

A Taste of Pharo 7.0
A Taste of Pharo 7.0A Taste of Pharo 7.0
A Taste of Pharo 7.0
ESUG
 

Similar to Introducing E-Cell 3.2 (20)

MODULE 3 process synchronizationnnn.pptx
MODULE 3 process synchronizationnnn.pptxMODULE 3 process synchronizationnnn.pptx
MODULE 3 process synchronizationnnn.pptx
 
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
Common Pitfalls of Functional Programming and How to Avoid Them: A Mobile Gam...
 
【Unite 2017 Tokyo】C#ジョブシステムによるモバイルゲームのパフォーマンス向上テクニック
【Unite 2017 Tokyo】C#ジョブシステムによるモバイルゲームのパフォーマンス向上テクニック【Unite 2017 Tokyo】C#ジョブシステムによるモバイルゲームのパフォーマンス向上テクニック
【Unite 2017 Tokyo】C#ジョブシステムによるモバイルゲームのパフォーマンス向上テクニック
 
Continuous Delivery the Hard Way with Kubernetes
Continuous Delivery the Hard Way with Kubernetes Continuous Delivery the Hard Way with Kubernetes
Continuous Delivery the Hard Way with Kubernetes
 
A Taste of Pharo 7.0
A Taste of Pharo 7.0A Taste of Pharo 7.0
A Taste of Pharo 7.0
 
embedded C.pptx
embedded C.pptxembedded C.pptx
embedded C.pptx
 
CPP06 - Functions
CPP06 - FunctionsCPP06 - Functions
CPP06 - Functions
 
Jolt: Distributed, fault-tolerant test running at scale using Mesos
Jolt: Distributed, fault-tolerant test running at scale using MesosJolt: Distributed, fault-tolerant test running at scale using Mesos
Jolt: Distributed, fault-tolerant test running at scale using Mesos
 
XPDDS17: Intel GVT-g: From Production to Upstream - Zhi Wang, Intel
XPDDS17: Intel GVT-g: From Production to Upstream - Zhi Wang, IntelXPDDS17: Intel GVT-g: From Production to Upstream - Zhi Wang, Intel
XPDDS17: Intel GVT-g: From Production to Upstream - Zhi Wang, Intel
 
Symfony2 for legacy app rejuvenation: the eZ Publish case study
Symfony2 for legacy app rejuvenation: the eZ Publish case studySymfony2 for legacy app rejuvenation: the eZ Publish case study
Symfony2 for legacy app rejuvenation: the eZ Publish case study
 
Meteor Boulder meetup #1
Meteor Boulder meetup #1Meteor Boulder meetup #1
Meteor Boulder meetup #1
 
Continuous Delivery the hard way with Kubernetes
Continuous Delivery the hard way with KubernetesContinuous Delivery the hard way with Kubernetes
Continuous Delivery the hard way with Kubernetes
 
systemd @ Facebook in 2019
systemd @ Facebook in 2019systemd @ Facebook in 2019
systemd @ Facebook in 2019
 
Deploying puppet code at light speed
Deploying puppet code at light speedDeploying puppet code at light speed
Deploying puppet code at light speed
 
Deploying Puppet Code At Light Speed - Puppet Camp Silicon Valley
Deploying Puppet Code At Light Speed - Puppet Camp Silicon ValleyDeploying Puppet Code At Light Speed - Puppet Camp Silicon Valley
Deploying Puppet Code At Light Speed - Puppet Camp Silicon Valley
 
SOA with PHP and Symfony
SOA with PHP and SymfonySOA with PHP and Symfony
SOA with PHP and Symfony
 
A GitOps model for High Availability and Disaster Recovery on EKS
A GitOps model for High Availability and Disaster Recovery on EKSA GitOps model for High Availability and Disaster Recovery on EKS
A GitOps model for High Availability and Disaster Recovery on EKS
 
Pharo 10 and beyond
 Pharo 10 and beyond Pharo 10 and beyond
Pharo 10 and beyond
 
Jenkins Pipelines
Jenkins PipelinesJenkins Pipelines
Jenkins Pipelines
 
"Using Automation Tools To Deploy And Operate Applications In Real World Scen...
"Using Automation Tools To Deploy And Operate Applications In Real World Scen..."Using Automation Tools To Deploy And Operate Applications In Real World Scen...
"Using Automation Tools To Deploy And Operate Applications In Real World Scen...
 

More from Moriyoshi Koizumi

All I know about rsc.io/c2go
All I know about rsc.io/c2goAll I know about rsc.io/c2go
All I know about rsc.io/c2go
Moriyoshi Koizumi
 
Hacking Go Compiler Internals / GoCon 2014 Autumn
Hacking Go Compiler Internals / GoCon 2014 AutumnHacking Go Compiler Internals / GoCon 2014 Autumn
Hacking Go Compiler Internals / GoCon 2014 Autumn
Moriyoshi Koizumi
 
よいことも悪いこともぜんぶPHPが教えてくれた
よいことも悪いこともぜんぶPHPが教えてくれたよいことも悪いこともぜんぶPHPが教えてくれた
よいことも悪いこともぜんぶPHPが教えてくれた
Moriyoshi Koizumi
 
HPHPは約束の地なのか
HPHPは約束の地なのかHPHPは約束の地なのか
HPHPは約束の地なのか
Moriyoshi Koizumi
 
Phjosh(仮)プロジェクト
Phjosh(仮)プロジェクトPhjosh(仮)プロジェクト
Phjosh(仮)プロジェクト
Moriyoshi Koizumi
 
10〜30分で何となく分かるGo
10〜30分で何となく分かるGo10〜30分で何となく分かるGo
10〜30分で何となく分かるGo
Moriyoshi Koizumi
 
Phpをいじり倒す10の方法
Phpをいじり倒す10の方法Phpをいじり倒す10の方法
Phpをいじり倒す10の方法
Moriyoshi Koizumi
 
X / DRM (Direct Rendering Manager) Architectural Overview
X / DRM (Direct Rendering Manager) Architectural OverviewX / DRM (Direct Rendering Manager) Architectural Overview
X / DRM (Direct Rendering Manager) Architectural Overview
Moriyoshi Koizumi
 

More from Moriyoshi Koizumi (20)

Goをカンストさせる話
Goをカンストさせる話Goをカンストさせる話
Goをカンストさせる話
 
All I know about rsc.io/c2go
All I know about rsc.io/c2goAll I know about rsc.io/c2go
All I know about rsc.io/c2go
 
Hacking Go Compiler Internals / GoCon 2014 Autumn
Hacking Go Compiler Internals / GoCon 2014 AutumnHacking Go Compiler Internals / GoCon 2014 Autumn
Hacking Go Compiler Internals / GoCon 2014 Autumn
 
Uguisudani
UguisudaniUguisudani
Uguisudani
 
よいことも悪いこともぜんぶPHPが教えてくれた
よいことも悪いこともぜんぶPHPが教えてくれたよいことも悪いこともぜんぶPHPが教えてくれた
よいことも悪いこともぜんぶPHPが教えてくれた
 
Ik in action
Ik in actionIk in action
Ik in action
 
Nginx lua
Nginx luaNginx lua
Nginx lua
 
Haxeについて
HaxeについてHaxeについて
Haxeについて
 
Gocon2013
Gocon2013Gocon2013
Gocon2013
 
PHP language update 201211
PHP language update 201211PHP language update 201211
PHP language update 201211
 
mod_himoteからはじめよう
mod_himoteからはじめようmod_himoteからはじめよう
mod_himoteからはじめよう
 
HPHPは約束の地なのか
HPHPは約束の地なのかHPHPは約束の地なのか
HPHPは約束の地なのか
 
Pyfes201110
Pyfes201110Pyfes201110
Pyfes201110
 
Phjosh(仮)プロジェクト
Phjosh(仮)プロジェクトPhjosh(仮)プロジェクト
Phjosh(仮)プロジェクト
 
Aaなゲームをjsで
AaなゲームをjsでAaなゲームをjsで
Aaなゲームをjsで
 
Aaなゲームをjsで
AaなゲームをjsでAaなゲームをjsで
Aaなゲームをjsで
 
ctypes拡張モジュール
ctypes拡張モジュールctypes拡張モジュール
ctypes拡張モジュール
 
10〜30分で何となく分かるGo
10〜30分で何となく分かるGo10〜30分で何となく分かるGo
10〜30分で何となく分かるGo
 
Phpをいじり倒す10の方法
Phpをいじり倒す10の方法Phpをいじり倒す10の方法
Phpをいじり倒す10の方法
 
X / DRM (Direct Rendering Manager) Architectural Overview
X / DRM (Direct Rendering Manager) Architectural OverviewX / DRM (Direct Rendering Manager) Architectural Overview
X / DRM (Direct Rendering Manager) Architectural Overview
 

Recently uploaded

Recently uploaded (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

Introducing E-Cell 3.2

  • 1. Introducing E-Cell 3.2 Moriyoshi Koizumi <mozo@riken.jp> Biochemical Simulation Research Team, Advanced Science Institute, RIKEN
  • 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
  • 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. 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. 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. Bugfixes • Reimplementation of session manager • Much more stability • especially used on the local machine • Support for Globus 4 • LSF support (by Giuseppe Aprea)
  • 8. t=0 before stop 3.2.0 restart 3.2.0 stop restart
  • 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. 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. 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. Other changes • Official support for the following platforms: • Mac OS X • 64bit Windows • Removed dependency on glade in favor of GtkBuilder
  • 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. 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. 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