Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can wcEcoli be used to simulate other species? #1368

Open
Rabadash8820 opened this issue May 25, 2023 · 3 comments
Open

Can wcEcoli be used to simulate other species? #1368

Rabadash8820 opened this issue May 25, 2023 · 3 comments

Comments

@Rabadash8820
Copy link

I was wondering if wcEcoli could be used to simulate whole cells with genes other than those found in E coli, or with starting metabolite concentrations very different from those found in natural cells. Essentially, I'm hoping to use this tool as a general biochemistry simulator for arbitrary (known) genes, metabolites and compartment hierarchies. If that is possible, what files would I need to tweak? Your docs give the impression that I would have to manually tweak constructor code in various files like reconstruction/ecoli/initialization.py or models/ecoli/sim/initial_conditions.py to pull this off; I was hoping to be able to tweak simple config files or CLI parameters instead.

On a related note, is vivarium-ecoli replacing this repository, or are they separate projects? Which do you recommend using for a new simulation projects? Thanks in advance!

@ggsun
Copy link
Contributor

ggsun commented May 30, 2023

Hi @Rabadash8820, thank you for your interest in our model!

As for simulating arbitrary cells with wcEcoli, while this is something that we have been keeping in mind throughout our development process (as you may tell from our division of files to the wholecell and models/ecoli directories), I don't think it would be as simple as tweaking a few files at the moment. The main problem is that our codebase is heavily dependent on the raw data files in reconstruction/ecoli/flat which are specific to WT E. coli cells and would not be relevant for arbitrary cells with different components. There is some work being done by @rjuenemann that would support the addition of new genes and plasmids into the model which will support simulating genetically engineered E. coli cells, but I'm getting the impression that you would want to model more arbitrary configurations.

vivarium-ecoli and wcEcoli are separate projects for now, with a plan to merge them together in the near future. Your choice depends on your needs - if you want a more modular modeling framework with support for colony simulations, you should go with vivarium-ecoli, but the repo is a little bit outdated in terms of new model features that were added in the past year, including the aforementioned support for new genes, but also operon structures, growth rate control, and tRNA charging.

Please let us know if you have any more questions!

@Rabadash8820
Copy link
Author

Rabadash8820 commented May 31, 2023 via email

@ggsun
Copy link
Contributor

ggsun commented Jun 8, 2023

Hi Gwanggyu, Thanks for getting back to me! That's great to hear that you're adding support for additional genes and plasmids; is there some roadmap or newsletter that I can follow to know when those features are added? Also thank you for clarifying the difference between Vivarium and wcEcoli; it will be exciting to see these projects merge! To elaborate a bit on my use case, I am building a "gamified" simulation of prebiotic life, where users add chemical "ingredients" to the primordial soup to create functioning cells. They win by creating a system that can reproduce for several generations without any user input. I'm using Ecoli as the "target cell" since there are already so many rich databases upon which to build the simulation (an EcoCyc page is actually what led me to wcEcoli in the first place). I'm hoping to use wcEcoli under the hood, but with non-WT conditions; i.e., with most metabolite, enzyme, and even DNA concentrations starting at zero, then increasing over time due to a mixture of spontaneous (bio)chemical reactions and manual user tweaking during the simulation. Ideally, the these reactions would be realistically affected by temperature, pH, etc. so that I could also add "random events" to the game, like "seasons" making the environment hot or cold. So, as you can see, I don't necessarily need to support "arbitrary" genes/metabolites, just a subset of WT Ecoli genes/metabolites. Does this use case sound more like something that wcEcoli could handle? Thanks again for your help, Dan V.

Hi Dan,

For getting updates on new features, I think the best way would be to follow PRs on this repo - we usually try to provide descriptions of what we're adding when we submit PRs. Obviously as an academic lab our most polished "newsletters" are publications, but these would be much more infrequent.

This certainly seems like a game I would be interested to play! If you'd like my honest opinion though, I would not really use the wcEcoli framework for this kind of simulation - I think you'll find the framework to be too inflexible in many ways. As mentioned in my previous comments, there are many places in our codebase where we assume that the full set of data is available, and a lot of work will be needed for the model to accept subsets of our full dataset. We also can't model changes in temperature or pH, mainly because of the lack of experimental data on how each reaction will respond to changes in these two conditions. Feel free to take a stab at it if you want, but I would probably look for a simpler framework that is designed for fewer reactions but has more flexibility.

Cheers,
Gwanggyu

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants