Statistics | We have 1675 registered users The newest registered user is dejo123
Our users have posted a total of 30851 messages in 1411 subjects
|
Who is online? | In total there are 8 users online :: 0 Registered, 0 Hidden and 8 Guests None Most users ever online was 443 on Sun Mar 17, 2013 5:41 pm |
Latest topics | » THIS FORUM IS NOW OBSOLETE by NickTheNick Sat Sep 26, 2015 10:26 pm
» To all the people who come here looking for thrive. by NickTheNick Sat Sep 26, 2015 10:22 pm
» Build Error Code::Blocks / CMake by crovea Tue Jul 28, 2015 5:28 pm
» Hello! I can translate in japanese by tjwhale Thu Jul 02, 2015 7:23 pm
» On Leave (Offline thread) by NickTheNick Wed Jul 01, 2015 12:20 am
» Devblog #14: A Brave New Forum by NickTheNick Mon Jun 29, 2015 4:49 am
» Application for Programmer by crovea Fri Jun 26, 2015 11:14 am
» Re-Reapplication by The Creator Thu Jun 25, 2015 10:57 pm
» Application (programming) by crovea Tue Jun 23, 2015 8:00 am
» Achieving Sapience by MitochondriaBox Sun Jun 21, 2015 7:03 pm
» Microbe Stage GDD by tjwhale Sat Jun 20, 2015 3:44 pm
» Application for Programmer/ Theorist by tjwhale Wed Jun 17, 2015 9:56 am
» Application for a 3D Modeler. by Kaiju4u Wed Jun 10, 2015 11:16 am
» Presentation by Othithu Tue Jun 02, 2015 10:38 am
» Application of Sorts by crovea Sun May 31, 2015 5:06 pm
» want to contribute by Renzope Sun May 31, 2015 12:58 pm
» Music List Thread (Post New Themes Here) by Oliveriver Thu May 28, 2015 1:06 pm
» Application: English-Spanish translator by Renzope Tue May 26, 2015 1:53 pm
» Want to be promoter or project manager by TheBudderBros Sun May 24, 2015 9:00 pm
» A new round of Forum Revamps! by Oliveriver Wed May 20, 2015 11:32 am
|
|
| Compound system | |
|
+6jaws2blood Carnifex ido66667 The Uteen NickTheNick Seregon 10 posters | |
Author | Message |
---|
jaws2blood Newcomer
Posts : 62 Reputation : 3 Join date : 2011-12-18 Location : USA
| Subject: Re: Compound system Fri Aug 24, 2012 5:40 pm | |
| can you make and post more of these charts, it may come in handy when the creation of cells and their organelles may come about. With the numbers being there and all. | |
| | | Seregon Regular
Posts : 263 Reputation : 37 Join date : 2011-08-10 Location : UK
| Subject: Re: Compound system Fri Aug 24, 2012 5:54 pm | |
| If you don't mind, could I provide them as XML's instead (see above post)? I'm happy to create any more charts like that to make explaining stuff easier, but they're a little too labour intensive to make one for each compound we'll need. | |
| | | NickTheNick Overall Team Co-Lead
Posts : 2312 Reputation : 175 Join date : 2012-07-22 Age : 28 Location : Canada
| Subject: Re: Compound system Fri Aug 24, 2012 7:12 pm | |
| - Seregon wrote:
- If you don't mind, could I provide them as XML's instead (see above post)? I'm happy to create any more charts like that to make explaining stuff easier, but they're a little too labour intensive to make one for each compound we'll need.
Seregon, I would love to help! Do you think you could PM me the numbers for the different compounds and then I just compose them into a chart? Please PM me. | |
| | | jaws2blood Newcomer
Posts : 62 Reputation : 3 Join date : 2011-12-18 Location : USA
| Subject: Re: Compound system Fri Aug 24, 2012 7:21 pm | |
| - Seregon wrote:
- If you don't mind, could I provide them as XML's instead (see above post)? I'm happy to create any more charts like that to make explaining stuff easier, but they're a little too labour intensive to make one for each compound we'll need.
that is fine, xml isn't too hard to read. | |
| | | Carnifex Newcomer
Posts : 37 Reputation : 8 Join date : 2012-08-13
| Subject: Re: Compound system Sat Aug 25, 2012 3:59 am | |
| So far these charts look like they're spot on (don't quote me on that). Great work!
If you prefer XML than I'd suggest doing that because it's a lot quicker and easier indeed. | |
| | | ido66667 Regular
Posts : 366 Reputation : 5 Join date : 2011-05-14 Age : 110 Location : Space - Time
| Subject: Re: Compound system Sat Aug 25, 2012 9:07 am | |
| I myself don't know how to work with XML, Sorry. | |
| | | gdt1320 Newcomer
Posts : 24 Reputation : 3 Join date : 2012-09-23
| Subject: Re: Compound system Wed Oct 10, 2012 8:44 pm | |
| Hey this looks great and I really like all the detail that went into it, but I'm a little worried about the amount of calculations it takes, especially if you were going to be doing this for large numbers of cells So I'd like to propose an alternative system that can be used. Equation: (A modification of the monod equation to account for temperature changes, and cell death) u_net= (u_m*S/(K_s+S)*e^(-Ea/T)-kd Variable Descriptions - Spoiler:
u_net is the net growth of a cell with units of inverse time. (game variable) u_m is the maximum growth rate achievable by the cell. (arbitrary) S is the concentration or amount of a specific type of food source. (game variable) K_s is the saturation constant (arbitrary) E_a activation energy for thermal growth (arbitrary) T is the temperature (game variable) kd is the death rate of cells due to toxins, temperature, and other stuff. (vector, see below)
The doubling rate of the cell is defined as t=ln(2)/u_net (can be how fast the cell grows) If the u_net is negative, then the cell is dying. The energy available to the cell can be u_net/u_mm (might need to change this) where u_mm is the maximum growth for the "best" substrate or food source. How to account for multiple food sources and substrate selectivity. - Spoiler:
So obviously this only accounts for one type of food source at a time, S. And cells sometimes need more than one type of nutrient source to survive. (sugars, amino acids, etc. ) Or the cell might be able to consume multiple nutrient subsets I.E. glucose, lactose, fructose for simple sugars. I'm still working on how to account for multiple foods for growth. (it may just end up being something like S1/(k_s1+S1)*S2/(k_s2+S2) but I'm not sure if that is scientifically accurate. But since cells tend to favor one type of food source over another almost completely, (they will consume it until it is gone) we can use this to get a pretty decent model. By having the method just move down a list of preferred substrates and pick the one that has the greatest k_m and the amount of S is not zero, or a critical minimum.
Cell death rate , kd - Spoiler:
So kd is not a single term but rather a collection, and it would be collectively: kd=sum(k_di) where k_di is a death rate associated with a particular cause (temperature, toxins, maintenance etc) Examples:
Temperature: kd=A*e^(-kdt/T) where Ed is activation energy for thermal death
Toxins: kd = kd_toxin*C_toxin.
Cell maintenance (the amount of nutrients required to sustain a cell) can also be accounted for here as
kd = kd_m (this is a necessary value otherwise the cells would be able to live with no food, which is not realistic)
But what about oxygen? - Spoiler:
So oxygen is actually pretty easy to model, each cell species has a critical oxygen level, DO_crit, where if the oxygen falls below this point it inhibits cell growth.
This effect is actually linear and can be modeled as u_m=u_m*min(1 , DO/DO_crit)
How this equation can be used for auto evo at the cellular level - Spoiler:
Class structure for each cellular 'species' would need a u_m and K_s or kd for every compound it can interact with at the cellular level, as well as Ea, Ed, kd_m, and DO_crit.
An auto_evolution function can take a copy of a species profile, and modify it in a random but restricted way. (there must be both a benefit, and a cost. ) I.E. maybe increasing the u_m of one substrate or food source, but decreasing another, or increasing maintenance costs.
The temperature energies must be linked in some way, so that each species has a small preferred range of temperatures.
This will change how the cell is conditioned to live in each specific environment, and eventually cells with a better fit will outgrow the competition.
There would definitely have to be restrictions on what mutations are possible, (a food source should not also be a toxin).
The other thing is that this relies on diverging, and converging limitations. I.E. if there is always enough food, the system will keep generating mutations. In order to put a survival of the fittest situation there needs to be some type of stress on the biome. I.E. sudden loss of a substrate, dramatic temperature change, increase in toxins)
How to keep calculations simple but realistic - Spoiler:
Biome splitting. By assuming the conditions (T,S,Toxins) in each biome are relatively constant per update, the u_net calculation only needs to be done once per cell species, per biome per update. A major improvement over doing it with each and every cell.
Species Extinction: If the amount of cells of a species falls below a certain minimum threshold, it should be declared extinct, instances of it should be removed, and it should be cleared from further updates.
Exceptions: The player's cells should always go through the u_net so that it provides a more realistic experience for local environment.
Other issues to look into - Spoiler:
First and foremost, this equation does not account for how much substrate, S is being consumed. I'm looking into that, and there is a solution, but it requires experimental data which won't be available for theoretical mutations. I'll keep looking or hash together a reasonable model.
What happens on cell death? I'd imagine it would increase certain substrate concentrations locally, but how would the breakdown of complex molecules, back to simple substrates take place?
Oh definitions: I defined each 'species' as being separate by a single mutation, which isn't realistic, but I wanted to keep the terminology simple. I realize you guys have probably already put a ton of work into the cell stage, and that this probably doesn't fit, but I'd just like to mention it in case it might be useful. | |
| | | ~sciocont Overall Team Lead
Posts : 3406 Reputation : 138 Join date : 2010-07-06
| Subject: Re: Compound system Wed Oct 10, 2012 11:54 pm | |
| Nice ideas there. Remember though, that only the cell you control is affected precisely by these variables. All other cells are run as populations through auto evo and a simpler population dynamics system. | |
| | | Seregon Regular
Posts : 263 Reputation : 37 Join date : 2011-08-10 Location : UK
| Subject: Re: Compound system Thu Oct 11, 2012 7:29 am | |
| Your idea (gdt) comes close to my initial thoughts on that problem, something I've now started developing in the population dynamics thread. I'm not actually familiar with the monod equation, but it looks like details from this (and other equations) could be very useful. As Scio said, for most populations we'll be modelling the population, not the individual cells. The exception to this will be your own cell, and possibly (if computation allows) the other cells visible to you in your immediate surroundings. My approach to this is to represent each species as a collection of all the compounds it requires/uses/produces/etc, as well as the average size/energy/etc of its constituent individuals, we then simulate the interactions of these compounds, and their effect on the individual states, at the species level. In the simplest, crudest possible example, if the species has an excess supply of fat, some of this will be stored in its cells, and some will go towards producing larger cell membranes; if there is a deficit of oxygen, aerobic respiration becomes slow/impossible, anaerobic respiration takes place instead, lactic acid (or ethanol, or similiar) is produced and the cell suddenly requires a lot more sugar (or similair) to do what it was doing before. The major advantage of this system over yours is this (and I only came to this realisation by first attempting what you just did): by representing a species as a collection of compounds, all those compounds are represented equally, we don't need a special variable for oxygen, or energy (atp), they're all simply compounds. What makes each one different is its interactions with other compounds: 6o2 + c6o6h12 -> 6co2 + 6h2o + 38atp. Simply (and I mean that in the most sarcastic way possible) by determining these interactions between compounds we can control how the system behaves, it will effectively attempt to ballance itself (within the constraints of these interactions, as most aren't reversible), and in the process use the available compounds in the available interactions in order to grow its cell/population. Another advantage (solving the problem I think you ran into when trying to account for substrate consumption) is that the system ballances, there should be no loss of compounds between interactions, in effect the system is closed. This is a very crude explanation, and I'll be posting much more detail in the thread linked above at some point (hopefully in the next week or two). Where things become a lot more complicated is interactions between species, i.e.: what happens when one species predates another? Assuming that x individuals of species A (with total population X) just consumed y individuals of species B (with total population Y), we could simply say that y/Y of each compound in species B is evenly distributed among x individuals of species A (although, within the limits of our representation, they are effectively distributed among the entirety of species A). More than likely it won't be that simple, some of the compounds will be wasted and leak back into the environment, others won't be digestible by A and will be excreted back into the environment (this is already handled by the above system). This is only part of the system which is far from done, and will need a lot more work. Hopefully that answers your questions. Your ideas are very much appreciated, but your just a little way behind where we are (which is impressive enough, I've been working on this on and off for about 6 months). Where I think you could really help out is determining all the above interactions, as it seems you may already know of some specific equations which I don't. | |
| | | gdt1320 Newcomer
Posts : 24 Reputation : 3 Join date : 2012-09-23
| Subject: Re: Compound system Fri Mar 22, 2013 3:52 pm | |
| In the ideal of keeping the simulations as simple as possible (but still keeping to the realistic aspect) A general form for these reactions is: Substrates-->(Growth)+Products. This should simplify the need for keeping track of intracellular compounds that wouldn't be seen by the player in the course of normal game-play. I.E. 36*Food+12*O2-->0.2*X+CO2+[bio-waste]. If we can use this type of reaction for the main simulation and game play it would be great. To get the amount of detail required in the sense you were talking about (I'm not sure where we are exactly on this at the moment) you'd have to have the metabolic flux maps for each species (or simplified versions) The disadvantage of this method is I can't think of a way at the moment for regulatory constraints (like aerobic vs anaerobic) without writing multiple equations. (unless we relate the coefficients in front of the substrates to the products) (which might work!) I.E. instead of a*Food+b*O2 --> c*X+d*CO2 it would be a*Food+b*O2-->(b-Z)*X+(RQ)*CO2 where z is the oxygen starvation limit below which the organism X can't survive and starts to die, and RQ is a simply b/N where N is a number to specify the ratio between O2 uptake and CO2 excretion. Obviously we can add more things to the reaction. I also think these same equations can be used later in the game for cities/planets where X would be population, substrates would be food, material, tech, etc and the products can be things like units, more tech, etc. This could be done in the flux maps simply be adding or removing "reactions" or regulating them. Additionally, these all turn out to be linear equations. So you can use something like the simplex algorithm (or any linear optimization method) to say hey, "I want to optimize this city for research, growth, product of ___ etc. " and fluxes would be bound by what buildings were in the city/planet. This could also be useful for evolving species by adding/removing reactions, or modifying limits of fluxes. As I said before, using these simple equations should cut down on the computations the computer needs to run during game play. However for modifying and "evolving" the species having flux maps for them would give you as much detail as you want, help keep everything balanced, and give some insight to the user about how all of this stuff works biologically(I think it would also work nicely later in the game as well for city and planet production) Where I'm getting this from: - Spoiler:
I'm taking a metabolic engineering course where we do things like look at the effects of adding/removing reactions in metabolic pathways and mathematically predicting the outcome as well as using optimization tools to find optimal fluxes. I also know how to analyze "simple" flux maps and generate net equations (but I'd need to think of a way to do this with variables so that the computer doesn't have to load the flux map and recalculate every time the environment changes)
| |
| | | Koeng Newcomer
Posts : 8 Reputation : 0 Join date : 2013-02-24
| Subject: Re: Compound system Fri Mar 22, 2013 7:35 pm | |
| Hey I kind of lurk here sometimes and I just wanted to give my 2 cents on an actual project to simulate a cell (Since synthetic bio is what I do) Since it is an actual cell being simulated, it might get toooooooooo complex, but anyway here is the link
http://wholecell.stanford.edu
I can't gather anything from the stuff in the downloads except the virtual machine, but you coders are a lot better then me at that stuff
-Koeng | |
| | | gdt1320 Newcomer
Posts : 24 Reputation : 3 Join date : 2012-09-23
| Subject: Re: Compound system Fri Mar 22, 2013 8:09 pm | |
| - Koeng wrote:
- Hey I kind of lurk here sometimes and I just wanted to give my 2 cents on an actual project to simulate a cell (Since synthetic bio is what I do)
Since it is an actual cell being simulated, it might get toooooooooo complex, but anyway here is the link
http://wholecell.stanford.edu
I can't gather anything from the stuff in the downloads except the virtual machine, but you coders are a lot better then me at that stuff
-Koeng Thanks for the link, it was pretty interesting to watch. I've also found this E-Coli reaction map showing all the reactions and physical locations/groupings in a typical E-Coli cell. We probably won't do an entire cell simulation as that would take up way to many resources for an average person to play. | |
| | | ~sciocont Overall Team Lead
Posts : 3406 Reputation : 138 Join date : 2010-07-06
| Subject: Re: Compound system Sat Jul 06, 2013 9:55 pm | |
| Seregon had me write a few compound processes. I've now written the pathways for Fatty Acid metabolism and synthesis. Also done (though still up for changes) are Agent and RpAse synthesis pathways. Here they are, in the .xml format needed. For reference: Fat=C 12H 26Oxygen=O 2Carbon Dioxide=CO 2Sugar=C 6H 12O 6Water=H 2O Protein=Amino Acid chain of length n (n=tbd) - Fat Respiration:
- Code:
-
<Process Name="Fat Respiration" TimeTaken="1"> <Inputs> <Input CompoundID="Fat" Amount="1"/> <Input CompoundID="Oxygen" Amount="37"/> </Inputs> <Outputs> <Output CompoundID="ATP" Amount="162"/> <Output CompoundID="Carbon Dioxide" Amount="12"/> <Output CompoundID="Water" Amount="13"/> </Outputs> <Organelles> <Organelle OrganelleID="Mitochondrion"/> </Organelles> </Process>
- Fat Synthesis:
- Code:
-
<Process Name="Fat Synthesis" TimeTaken="1"> <Inputs> <Input CompoundID="Sugar" Amount="6"/> <Input CompoundID="ATP" Amount="18"/> </Inputs> <Outputs> <Output CompoundID="Fat" Amount="2"/> <Output CompoundID="Carbon Dioxide" Amount="12"/> <Output CompoundID="Water" Amount="10"/> <Output CompoundID="Oxygen" Amount="2"/> </Outputs> <Organelles> <Organelle OrganelleID="Mitochondrion"/> </Organelles> </Process>
- Agent Synthesis:
- Code:
-
<Process Name="Agent Synthesis" TimeTaken="1"> <Inputs> <Input CompoundID="Sugar" Amount="2"/> <Input CompoundID="Fat" Amount="1"/> <Input CompoundID="Protein" Amount="3"/> <input CompoundID="ATP" Amount="12"/> </Inputs> <Outputs> <Output CompoundID="Agent" Amount="1"/> </Outputs> <Organelles> <Organelle OrganelleID="Agent Vacuole"/> </Organelles> </Process>
- RpAse Synthesis:
- Code:
-
<Process Name="RpAse Synthesis" TimeTaken="1"> <Inputs> <Input CompoundID="Sugar" Amount="6"/> <Input CompoundID="Fat" Amount="6"/> <Input CompoundID="Protein" Amount="6"/> <Input CompoundID="Oxygen" Amount="6"/> <Input CompoundID="ATP" Amount="6"/> </Inputs> <Outputs> <Output CompoundID="RpAse" Amount="1"/> </Outputs> <Organelles> <Organelle OrganelleID="Endoplasmic Reticulum" /> </Organelles> </Process> [edit by Seregon] minor fixes to xml code
Last edited by ~sciocont on Sun Jul 07, 2013 9:51 am; edited 1 time in total | |
| | | NickTheNick Overall Team Co-Lead
Posts : 2312 Reputation : 175 Join date : 2012-07-22 Age : 28 Location : Canada
| Subject: Re: Compound system Sun Jul 07, 2013 12:11 am | |
| That looks great. What's more, it actually makes a lot of sense. The format it follows is very similar to the forum format, except with the angular brackets instead of the square ones. Also, it seems really easy to just copy and paste each process, and then just alter the names and quantities.
Using this, I could actually probably get started on writing up some of the processes for the Strategy Mode. Is XML just for the prototype? How easily is it translated into C++ or Lua?
| |
| | | Koeng Newcomer
Posts : 8 Reputation : 0 Join date : 2013-02-24
| Subject: Re: Compound system Sun Jul 07, 2013 1:21 am | |
| I saw "proteins" in the code and wanted to comment on a few things:D
I know a lot about systems biology, and seeing that you have the proteins for the code would you like me to dig up some files somewhere and give you EXACT amino acid numbers needed to create the biosynthetic pathway, for lets say, a cell wall? Also the the energy needed ect.
(Also, sorry for asking, but do you guys know anywhere I can learn to put it into the format for XML? If I ever get anymore ideas, I would like to put it into code that you guys can easily use)
EDIT: was looking at website (http://thrivegame.wikidot.com/microbe-stage) and saw reproductase. Would this kinda be like a bunch of enzymes necessary for division? To accumulate enough "reproductase" I really thought of this enzyme in real life. http://en.wikipedia.org/wiki/FtsZ
-Koeng PS: tryna catch up on everything in microbe stage!
Last edited by Koeng on Sun Jul 07, 2013 1:33 am; edited 1 time in total (Reason for editing : Added somethin bout reproductase) | |
| | | Daniferrito Experienced
Posts : 726 Reputation : 70 Join date : 2012-10-10 Age : 30 Location : Spain
| Subject: Re: Compound system Sun Jul 07, 2013 5:29 am | |
| @Nick: Actually, that is xml, and it is the format we had planed to store all the processes in. If we keep with that plan, That would be all there is needed to describe a process. | |
| | | Seregon Regular
Posts : 263 Reputation : 37 Join date : 2011-08-10 Location : UK
| Subject: Re: Compound system Sun Jul 07, 2013 9:30 am | |
| @Scio - those look great, thank you! The only possible change is that all the syntheses (plural of synthesis?!) should probably require some amount of ATP.
@Koeng - we're simplifying somewhat, and not actually modelling amino acids, as n amino acids are easily interchangable with a protein of length n. That said, if you could get us some accurate numbers for the lengths of some relevant proteins, and better yet, the ATP needed for synthesis, that would be very useful indeed. You should be able to figure out the format by looking at what scio posted, and changing the process name, and the list of input/output compounds and their relative amounts. The organelles needed for most protein syntheses will be the ER, and possibly the golgi.
A quick note on organelles - processes are allowed to require more than one organelle. If they don't require any organelles, then list them as requiring the cytoplasm. | |
| | | ~sciocont Overall Team Lead
Posts : 3406 Reputation : 138 Join date : 2010-07-06
| Subject: Re: Compound system Sun Jul 07, 2013 9:54 am | |
| @Seregon- That was stupid of me to forget ATP inputs- they've now been added. @Koeng- Nice link, this could be helpful, and I'll read through it to see if there's anything we can pick up from it. | |
| | | Koeng Newcomer
Posts : 8 Reputation : 0 Join date : 2013-02-24
| Subject: Re: Compound system Sun Jul 07, 2013 11:50 am | |
| Here are a few links I found useful when designing/ thinking about creating a minimal organism
http://subtiwiki.uni-goettingen.de/wiki/index.php/SubtiPathways (Probably most helpful, you can find all the cycles and colorful easy to use pathways with ATP and everything)
http://www.genome.jp/kegg-bin/show_organism?menu_type=pathway_maps&org=sce (This is the model eukaryote, since I think you guys are thinking of them. This one is a little harder to understand)
Also is there going to be a transition from prokaryotic to eukaryotic? That would be fun because you can go along and handpick all your organelles. Such as to increase photosynthetic capacity, you get infected with a virus (very rare) and you get some of these http://en.wikipedia.org/wiki/Carboxysome Although it only works when you are a prokaryote. Or if you're staying with eukaryotes, you may want to make it so some organelles are better then others.
EDIT: Working on all the ATP stuff for reproduction
-Koeng | |
| | | Seregon Regular
Posts : 263 Reputation : 37 Join date : 2011-08-10 Location : UK
| Subject: Re: Compound system Tue Jul 09, 2013 6:58 am | |
| @Scio - I made a few more quick corrections to your xml code, RpAse synthesis now requires an organelle, the ER, and I fixed a quick syntax error - the "<Process ..." line for RpAse synthesis ended in "/>" when it should just be ">". (edited your post). | |
| | | ~sciocont Overall Team Lead
Posts : 3406 Reputation : 138 Join date : 2010-07-06
| Subject: Re: Compound system Tue Jul 09, 2013 12:25 pm | |
| - Seregon wrote:
- @Scio - I made a few more quick corrections to your xml code, RpAse synthesis now requires an organelle, the ER, and I fixed a quick syntax error - the "<Process ..." line for RpAse synthesis ended in "/>" when it should just be ">". (edited your post).
Thanks. Also, it seems forummotion fixed the problem with quotes in the rich editor. /OT | |
| | | Sponsored content
| Subject: Re: Compound system | |
| |
| | | | Compound system | |
|
Similar topics | |
|
| Permissions in this forum: | You cannot reply to topics in this forum
| |
| |
| |