Author Topic: Horizontal gene transfer and viruses  (Read 5510 times)

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Horizontal gene transfer and viruses
« on: November 10, 2005, 04:26:35 PM »
Did a (little) bit of reading and thinking.  Changed my mind about a couple of things in the process.  Here's what I'm thinking:

Seems to me there should be two ways to transfer genes/DNA in general between bots.

1.  Viruses/DNA shots.  Should be nrg expensive but long lasting.
2.  Ties.  Cheap and quick, but you need to physically attach a tie to the other bot.

All gene transfers are implicitly agreed upon by the bots involved.

For instance, each bot can have an ID tag that allows only "viruses" with that tag into their cells.  This ID tag can even be set to disallow all viruses from entering the cell.  Of course, to do so, the cell stops itself from the benefits of horizontal gene transfer.

For tied bots, both bots would need to set their ID tags to the same value and both set a gene transfer tag or something like that.

In such a system, "malicious", self replicating rogue DNA can propogate itself as a consequence of the rules rather than a specifically allowed behavior as the current system is.

Only thing now to figure out is how to specify what DNA to transfer.  shvarz proposed something a while ago in this regard, that at first I wasn't terribly fond of, but I've come to see that it's rather smooth, if possessing some kinks still.

So what I propose would be something like a replication command involving some number.  This number would be a hash function that would remember the following details:

1.  Some length of DNA
2.  A particular hash value for the above length of DNA
3.  Length of DNA to copy.  Copying starts at the instance of the above hashed DNA closest up or downstream to the copying command.

Copied DNA is then stored somewhere and either a virus shell is made for it or it's transfered via ties.

So a self replicating virus might look something like:

*.eye5 & 56 add add 'this DNA strip has hash value 31542
31542 .repDNA store 'command to copy this segment of DNA.  Length to copy etc. is stored in the 31542
1248 .mkvirus store 'ID of the viral coat, only bots with this ID for their "cell walls" can be infected by it.

or something like that.  There are some technical issues I may want to experiment with...

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Horizontal gene transfer and viruses
« Reply #1 on: November 10, 2005, 05:23:25 PM »
Do you really need two systems?  Just shots would do the same as shots and ties.

I don't like the idea of tags.  If you remember, the system I proposed took care of that as well - DNA in the particle has to partially match the DNA in the bot.  No need for tags and special memlocs, everyhting is still controlled from/by DNA.
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Horizontal gene transfer and viruses
« Reply #2 on: November 10, 2005, 05:54:15 PM »
I was imaging tags could be broadened in use to other things as well.  Like immunity against another bots' shots, allowing someone to tie to you when you have alot of slime, etc.

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Horizontal gene transfer and viruses
« Reply #3 on: November 10, 2005, 06:29:09 PM »
It can all be done in DNA, man.  Everything.  A string of DNA commands (hashed in some way if necessary) is a perfect "tag".  It does not have to do anything functional aside from being a tag.  But on the other hand, it may be a tag AND a useful gene.  Then that would create some interesting scenarios where a bot may want to change its tag but does not want to disrupt an important gene.  Just like nature!
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Horizontal gene transfer and viruses
« Reply #4 on: November 10, 2005, 08:59:43 PM »
I agree with that 100%.

When I say tag I mean more things like the nature of the virus coat.  Generally real cells have to admit a virus in more or less.  The virus has a keypass to the cell's door.

Hence why viruses cross species lines more slowly than within them.

So each virus would have an ID tag, and each cell has an ID tag.  The two must match for a virus to infect a cell.

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Horizontal gene transfer and viruses
« Reply #5 on: November 10, 2005, 11:02:57 PM »
Quote
When I say tag I mean more things like the nature of the virus coat. Generally real cells have to admit a virus in more or less. The virus has a keypass to the cell's door.

Hence why viruses cross species lines more slowly than within them.

Cool, I was actually thinking along these lines myself. This would greatly bennefit the sims I've run that allow gene transfer via shots. The main problem was that plants were picking up dna meant only for animals. These mutant plants would then take over and subsequently kill the sim, simply from them not being eaten. (same number of eyes, shoot genes, anti-TF genes, etc.)

I've had decent results with these already, seeing stuff like Cannibotism benneficially cross "asexual" lines and even beautifully realistic parasitic genes occuring.

On a combat note, it wouldn't be too hard to make a randomized keypass be generated :lol:

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Horizontal gene transfer and viruses
« Reply #6 on: November 10, 2005, 11:32:10 PM »
Or even a psuedorandom keypass.  Imagine something that's changing in a predictable way.  Bots that know how it's changing can predict it and so still communicate.  Others would be left largely clueless.

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Horizontal gene transfer and viruses
« Reply #7 on: November 10, 2005, 11:36:10 PM »
Good point, could probably easily rig up something with mod for example. Cycle through a series of multiples and then reset at the largest values.

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Horizontal gene transfer and viruses
« Reply #8 on: November 10, 2005, 11:36:10 PM »
Quote
So each virus would have an ID tag, and each cell has an ID tag. The two must match for a virus to infect a cell.

Just to clarify: those tags would be derived from DNA structure, not a specific "tag" command?
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Horizontal gene transfer and viruses
« Reply #9 on: November 10, 2005, 11:46:21 PM »
Might become costly in speed though, checking through all the dna, especiallly with the structure capable of changing.

Just out of curiosity how do real cells "decide" on which viruses/rna packets to let in? Is it epigenetic or controlled directly via dna? I was thinking it would be a major problem if a virus simply altered this value to make the cell completly penetratable; but I've never heard of such a thing happening in real life.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Horizontal gene transfer and viruses
« Reply #10 on: November 11, 2005, 01:28:25 AM »
Quote
Quote
So each virus would have an ID tag, and each cell has an ID tag. The two must match for a virus to infect a cell.

Just to clarify: those tags would be derived from DNA structure, not a specific "tag" command?
I should be more clear.  Bots have ID tags.  DNA is controlled much the way you were saying, with looking for specific commands that match a specific pattern.

So deciding what bits of DNA to copy would be decided using specific patterns of the DNA.

Once the DNA is formed into a virus, it could only penetrate another bot if it knows the pattern of the "victims" coating.

Thus viruses would spread amongst a species more readily than across species lines.

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Horizontal gene transfer and viruses
« Reply #11 on: November 11, 2005, 01:59:18 AM »
Nums:  Hmm, still not clear to me.  Seems like you are adding another (unnecessary) level of complexity.  In my view "DNA pattern"="tag".  No need for additional non-DNA-related tags.  DNA is specific for a bot, it already has mechanisms for mutating, so it is perfectly suitable for this purpose.

Endy:  Different viruses have different ways.  There are viruses that can "enter" pretty much any known cells, be they from insects or from humans.  Other viruses are very specific - they recognize a specific protein on the surface of cells (the protein's normal function has nothing to do with viruses or transmission of genetic information, most often these are transporting proteins).  And making tags out of DNA should not be CPU-costly, it is done only once, when bot is born.  Well, maybe re-calculated if bot is infected with a virus, but that should not happen too often.
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Horizontal gene transfer and viruses
« Reply #12 on: November 11, 2005, 02:09:30 AM »
Makes sense thanks for the information.

Okay, just looked online, it seems retroviruses use mainly the method you described to take over cells; so it seems fair enough.

If we ever get the chance I'd love to see something similar to rna and rna viruses somehow working in DB. Someday maybe. :)
« Last Edit: November 11, 2005, 02:12:04 AM by Endy »

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Horizontal gene transfer and viruses
« Reply #13 on: November 11, 2005, 02:16:08 AM »
If you ever want to know ANYTHING about retroviruses - you are welcome to ask me :)))
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Horizontal gene transfer and viruses
« Reply #14 on: November 11, 2005, 02:23:41 AM »
How does dna fight them?

Why isn't our dna even longer with continous addition of new viruses? If the germline kept increasing in size you'd think there would be more problems.

We can do many a thing dna can't do naturally and yet we still have problems with these in DB. I'm impressed dna manages to keep going in the face of all the varied threats to it's survival.
« Last Edit: November 11, 2005, 02:26:12 AM by Endy »