Author Topic: Metabolism  (Read 20813 times)

Offline shvarz

  • Moderator
  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Metabolism
« on: August 02, 2005, 02:40:07 PM »
Look at this article: http://biology.plosjournals.org/perlserv/?...al.pbio.0030228

I did not read it very carefully, but it seems to be a perfect model system for metabolism in DBs.  The article is fairly easy to read, so go and read it!
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline shvarz

  • Moderator
  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Metabolism
« Reply #1 on: August 03, 2005, 11:32:45 AM »
Nums, did you look into this article?
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Metabolism
« Reply #2 on: August 03, 2005, 05:20:58 PM »
Oh yeah, sry, I forgot to post.  The idea of substances being defined as a collection of other substances I found interesting, and perhaps usable.  I couldn't figure out how they implemented the enzymes though.   The language is about 3 inches above my head, if you know what I mean.

Offline shvarz

  • Moderator
  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Metabolism
« Reply #3 on: August 03, 2005, 06:02:13 PM »
Look in Materials and methods in section called "Enzymes".  Can't say I understand everything in there, but here are the basics:

An enzyme is an intermediate between donor of a group and an acceptor of a group.

Say you want to transfer the very first group in a chemical and your donor is: 1000001 and acceptor is 0000010

Edit by Numsgil to improve readability
The enzyme responsible for transfer of this group reacts with donor: 1000001+E=0000001+E(1)  The rate at which this happens depends on several things:
1. how much of enzyme is free E(0)
2. how much of enzyme is bound to this group already E(1)
3. how much donor and acceptor are available
4. efficiency of enzyme (k)
5. the amount of energy released (lost) during transfer (q)

Initially they set enzymes to be very non-speicific, so that all molecules that have this first group serve as donors and those that don't have this group serve as acceptors with some efficiency k.  And they allow these efficiencies to mutate (with zero-sum of total efficiency) so that after a while some molecules cannot be used as donors by an enzyme at all and others are used very well.

let me know if you have other questions.  

I need your opinion on feasbility of a model like this for our purposes - how much memory this baby's going to take up and how fast would it be to process all this data (2^7 molecules with free energies), about the same number of enzymes with each enzyme having 2^7 values for kinetic constants.
« Last Edit: September 20, 2005, 10:55:02 PM by Numsgil »
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Metabolism
« Reply #4 on: September 20, 2005, 06:08:03 PM »
I'm totally going to sit down and spend some time reading this article soon, but I need to print it out to do so...

I'll post my thoughts on it before tomorrow.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Metabolism
« Reply #5 on: September 20, 2005, 11:41:17 PM »
Okay, this is a really neat thing they've done.  Here's what I've gathered from it (wow is this long):

1.  There are some substances called 'metabolites' that cause the cell they're in to grow.  In Darwinbots, this would be nrg and body.  Not all metabolites cause a cell to grow, which means the cell must learn to form as much of these metabolites as possible.

2.  As their cells grew, it diluted the concentration of metabolites in the cell, making the enzymes less effective.  We can totally do this in Darwinbots.  Larger cells will need more enzyme to get the work accomoplished.

3.  Mutations would increase the rate constant of a single reaction of an enzyme at the cost of all others.  The reverse is also true, decreasing the rate constant of a single reaction increased the efficacy of all others.

4.  Enzymes cost metabolic money.  So each enzyme must pull its own weight or be detrimental to the cell.  In our system, we'd have somethig like each enzyme costs 1 nrg per cycle.  (Likely less, but I think you understand my point).

This fits in well with the new idea of expanded cellular upkeep I've been playing with, where cells have to pay nrg per cycle for any body they have.  (which I'll discuss in another thread if you're interested.

5.  They assume that the early cell enzymes were general, one-size-fits-all in real life, that can metabolize anything and everything, and use that as the start of their model.  This makes sense to me as a fine assumption to make.  I can see possible arguments against this, but maybe we can play around and see what we come up with.

6.  Now for the fun part:  They have 7 basic "biochemical groups".  These would be things like the hydroxyl group in real biology (-OH), etc.  Metabloites are formed by combinations of these groups.  Since there are 7 groups, there are a total of 2^7 metabolites, or 128.  (If the reason its 2^7 escapes you, I can post further and explain).

From these 128 possible metabolites (I would assume even 0000000 is assumed as a metabolite (this is called X0 I think)) they picked 23 different metabolites at random and chose them as directly related to cell growth.  In our sim, we'd just have to assign nrg and body, etc, a metabolite.

All reactions are assumed to transport these groups from among metabolites.  Assume we define one metabolite as 0001100 (that is, there's only two groups, the 4th and the 5th).  A reaction might take it plus 0011000 and form 0011100 and 0001000.  One might be a useful metabolite for cell growth.  The other might be a waste product.

This is the core of their system, and is something I can totally see working.  Might be tricky with memory constraints, though.  If we say that all metabolites break apart into their constituent parts outside of biological cells, this becomes less difficult.  The memory goes from 128 integers per Egrid cell to 7 integers per egrid cell.  Or maybe all but the standard metabolites in our system (nrg, for example) break apart.

We can figure that part out pretty easy I think.

7.  They assumed that the environment was full of X0 and X127, that is 0000000 and 1111111, so there were pools and sinks for which groups could be manipulated.  I don't know that we need to do this.  Keeping the amounts of the groups constant could be alot of fun.  Anyway, this part needs examination.

8.  In the end they were able to form realistic looking metabolic hubs, with enzymes specializing over time.  Very encouraging results.

Here's what their thing looked like in the end.  marvelous.  Note that not all metabolites are used:




9.  Technical nitty gritty:
  •  Each metabolite has a random and prespecified free energy.  Moving from one metabolite to another requires or gives the appropriate energy.  Note that the free energy of a metabolite is largely independant of what groups it contains.

    For our purposes, nrg would need to have a fairly large free energy.
  • Enzymes work by accepting a specific group from one metabolite, and then transfering that group to another metabolite.  They call these E(0) if the enzyme is empty, and E(1) if it's full.  E(0) is actually the sum of all the enzymes of that type that are empty.
  •  They assume that any metabolite with a 0 in the corresponding group field is a possible candidate for acceptance of that group.  Some of these reactions would be uphill endothermically speaking (that is, require energy) since free energy of metabolites can, and should, differ.
  • They would have the numer of enzymes (that is duplication of an enzyme) be a mutation.  I don't know how I feel about this.
  • They assume a eponential (I think) tradeoff between specificity and function.  That is, a enzyme that catalyzes 1 reacton is 4 times as effective (that is, 4 times the bandwidth, or is 4 times faster, whichever you like) than one that does 2.
I'm going to have to study their math.  It's not hard, but the type is tiny...


And here's what I'm thinking for DB:

1.  We set up 7 groups, 128 metabolites, and assign random free energy to them all.  We pick one of the metabolites, one with relatively high free energy, as the metabolite to represent nrg.  Likewise for the relatively few things we have in Darwinbots, like Body and maybe venom, waste, etc.  The selection does not need to be a whole lot more than random.

The real problem is that a natural metabolic system will want to develop, and we want our chosen metabolites->existing DB things to be a natural grafting of two very different systems.

2.  Each bot has a stomach with 128 slots, where it can store up to 32000 of each (or maybe we use longs and they can hold 2E9.)  Metabolites take up volume (increase cell size and thus drag) and mass (making the bot heavier decreases the effect of forces).

Bots can expel metabolites one slot at a time, unless waste management drastically changes.  Or maybe you have to expel all at once or none at all.  We can discuss.

3.  Enzymes are defined as 7 bits, just as in their experiment (I think that's how they did it).  The number of enzymes should be dynamic and unbounded (other than 0 of course).  Each enzyme costs nrg every cycle to maintain, or the cell dies/ enzymes die.

Each enzyme could metabolize N metabolites a cycle, where N is constant and fixed in the sim settings perhaps.  Maybe 3 would be a good value.

Cells should have ways, wether voluntary or no, to dynamically change the number of enzymes in relation to environmental conditions.  This is tricky, and I welcome ideas on how best this can be done.

4.  Enzymes will, of course, mutate just as if it were DNA code.  Maybe it'll have a new section in the mutations panel.

Shvarz or PY, would it be proper for me to ask the writer of the article for help on this, or maybe source code?  I don't know the professional ettiquete on something like this.  There is an email listed with the article...
« Last Edit: September 20, 2005, 11:56:03 PM by Numsgil »

Offline Ulciscor

  • Bot Destroyer
  • ***
  • Posts: 401
    • View Profile
Metabolism
« Reply #6 on: September 20, 2005, 11:54:08 PM »
Awesome. A lot to take in and I don't understand it all, and I don't think I really need to, but from what I can get it does seem cool.
:D Ulciscor :D

I used to be indecisive, but now I'm not so sure.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Metabolism
« Reply #7 on: September 20, 2005, 11:57:22 PM »
It took me something like 2 hours to figure it out.  The reading is dense.  We can all but directly cpy their method and expect to see their results.

The hard part is figuring out how to graft our current system ontop of this, and give the bots some way to actively take charge of their metabolic activities (wether controlled throught the DNA or not).

Offline shvarz

  • Moderator
  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Metabolism
« Reply #8 on: September 21, 2005, 01:22:34 AM »
Good summary Nums!

On a large scale I agree with everything, we can iron out details later.  Have you thought about assigning 1111111 as energy all the time?  Also, we can have different "metabolsims" every time by assigning different free energy on each run.  We can specify one as "universal", but in general that part can be left to fiddle with, right?

It would be absolutely OK to contact the person that is specified as "contact" on the first page.  In theory they MUST provide you with all the details necessary to reproduce their result, and even with an official reprint of an article.  In practice they may ignore you or reply so slowly that you give up.  That depends on the person.  Would not hirt to write in any case.
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Metabolism
« Reply #9 on: September 21, 2005, 09:06:17 AM »
Yep, I definately see different mebo systems being constructable.  The hard part will be meshing it with the current system.  Ie: some way for plants to form energy from "nothing", etc.

I'll give the contact guy an email.  I was thinking that it would be just fine, but then I could see the case where research would be considered proprietary, or something along those lines.  Like asking World of Warcraft to see their source code and methods...

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Metabolism
« Reply #10 on: September 21, 2005, 09:24:45 AM »
Quote
some way for plants to form energy from "nothing", etc.
Just use sunlight as a metabolite. Then you can link photosytnthesis processes into it.

That's one heck of a complex system you have come up with. Hope it isn't too complex.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Metabolism
« Reply #11 on: September 21, 2005, 12:56:38 PM »
I was thinking about sunlight as a metabolite, except it has some problems.  Plants don't really use sunlight to form physical "sunlight" molecules.  They use it to drive a reaction that is uphill.

The hardest part is figuring how the heck the bots can control it all.  That'll be the hard part.

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Metabolism
« Reply #12 on: September 21, 2005, 01:51:33 PM »
But you don't need to overcomplicate it with needlessly conforming to reality.

In the universe of DB, bots can litterally have an enzyme that directly converts sunlight to energy. It just doesn't matter.

Personally I think that making DB conform to actual reality will be detrimental. Keep it conceptual.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Metabolism
« Reply #13 on: September 21, 2005, 03:53:46 PM »
What I meant is more that sunlight is used to go in a direction that free energy would not go spontaneously.  So I'm thinking there'd be a way for an enzyme to figure out how to use sunlight to drive its reaction in reverse, or something like that.

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
Metabolism
« Reply #14 on: September 21, 2005, 04:30:46 PM »
What does it matter. We don't need to model real chemistry.

If you do though, just think of it as a catalyst without which a normal forward reaction cannot proceed.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D