CyCell Logo
HOME >> LEARN>>FIELDS

FIELDS

The Problem...

How do bunches of identical cells end up differentiating and growing into a fish, or an apple, or... you? Regretably, nobody quite knows. To be sure, science has made great progress in describing the steps involved in the process. For instance, the little nematode Caenorhabditis elegans has but 959 cells, and the lineage of every cell has been tracked and described. But, while we can describe how a C. elegans egg grows into a worm, we don't entirely know how it does it.

To make matters more frustrating, most non-specialists sort of assume we do know. That is, if you ask someone how an egg turns into a chicken, you'll usually get a pat answer: "It's all controlled by the DNA."

Well, that's no answer at all. To illustrate this, imagine going to some haunted building site and observing a bunch of bricks, girders, nails, bolts, and pieces of lumber mysteriously moving about and assembling themselves into a skyscraper. "How the hell is this possible?" you mutter to yourself. And, a passerby casually answers, "It's simple... all the pieces are just following the blueprint." Not only is that answer unsatisfying, you might suspect the passerby fails to appreciate what he is observing.

Without question, something is guiding the cells, inducing them to grow into a particular form.

There are two possibilities that come to mind:

Rule-Based Emergence

The first idea is that the desired form sort of emerges from a well-defined set of rules that all the cells are following. This certainly seems plausible. And, it is very attractive to those inclined towards computer programming; coming up with sets of simple rules that result in cool behaviours is a programmer's stock and trade. Alan Turing, the grandaddy of computer science, took a shot at this, showing how a collection of identical cells all following a simple set of rules could create large-scale patterns reminiecent of zebra stripes, cheeta spots, and other organic-looking designs. Indeed, with just a smattering of iteratively followed rules, one can procedurally generate computer models of trees, landscapes, and entire cities!

Alas, one eventually realizes such rule-based approaches have some limitations. They are good at modeling repetitive, fractal-like patterns. But, they stink at making well-defined forms. In short, one can throw together a few rules to 'grow' a tree-like shape on a computer. But, it's an entirely different matter to come up with some simple rules to grow a squirrel-like shape.

Not convinced? Do you think you can come up with some simple rules to make a single cell grow into something vaguely squirrel-looking? Well, you're in luck, for CYCELL was developed for just this purpose. We suggest you begin with something simpler than a squirrel, though. Instead, use the Rules to make a single cell divide and grow into the shape of the letter W. Sounds simple, right? Give it a try.

You might suceed in cobbling together a very rickety and brittle set of Rules to make your W. Its not inherently impossible, of course. But, you'll find that whatever system you come up with is neither robust nor fool-proof. If a particular cell zigs when it should have zagged, your W might end up deformed. And, we'd bet that even if you could grow a W, if you chopped off one of its 'limbs' it wouldn't reliably regenerate. In short, your system for growing a W will be ad-hoc and fragile... And, after hours of work, and tiny little adjustments, and hoping the floating point rounding errors don't muck everything up, you may begin thinking more and more of that second possibility mentioned above... the fields.

The Mysterious Fields

This second idea is that the cells are controled by some mystical external force; some kind of field. That sounds a bit mediaval and superstitious... But, after giving up on making a reliable W, and after watching clips like the following:

you may begin considering that there must be something else going on besides simple rules and local communication between cells. Somehow, the cells know where they are at any given time.

Well, you won't be the first to think such thoughts. Biolgist Rubert Sheldrake began entertaining such ideas.

This is a core question: How do things take their forms? Whether we’re talking about a plant, an animal, an atom, or a galaxy, they all seem to organize themselves spontaneously. Unlike machines, which are assembled by humans, they have no external “manufacturer” putting them together piece by piece; they just grow. That’s where the concept of “morphogenetic fields” comes in. The word morphic is from the Greek word for “form,” and a morphic field is a field of pattern, order, and structure that not only organizes living matter but also what we call “inanimate” matter. I thought there must be these invisible fields, like gravitational or magnetic fields, that shaped and formed the different parts of the plants. Obviously the shapes were inherited, but I didn’t see how genes could be responsible.
Rubpert Sheldrake

The magical mystical field idea does not go over well with most scientists. (Neither does Sheldrake.) The general consensus of conventional biolgists towards such ideas can be summed up by the quote from King Lear: O, that way madness lies; let me shun that.

While the idea of a field can be taken to extremes (including mysticism, ESP, etc.), its still a tantalizing concept. What if cells had some way of knowing where they were in relation to the organism itself? Oh, it would explainn so much. For, if they know where they are, they would know how to behave. In short, if your cells knew where they were in relation to the W they were to form, inducing them to form the W would be a snap.

But, there are no magical angel-like fields that tell cells where they are. Right? Well, maybe there are...

The CYCELL Field

Let us summarize to this point. It seems that coming up with sets of rules to reliably cause a particular form to emerge is hopeless. It works great for some things, like trees, circulatory systems, and other fractal-like structures. But, one can't get a nose or a foot to emerge from mere interactions of rules. On the other hand, relying on the existence of some mystical field seems like teleological nonsense. (And, if you go too far down that road, you'll end up posting psychedelic videos on youtube and muttering about universal harmonics, meditation, and shakras. Google "morphic fields" and enjoy your trip down the rabbit-hole.)

But, perhaps a mixture of the two concepts can get us to where we need to go.

The CYCELL Field is just such a hybrid. It has many of the advantages of a spooky metaphysical field without all the embarrassing baggage.

Once again, let's remember the underlying problem. How does a cell know where it is? The cell's position is the underpinning of morphogenesis. If a cell knows where it is, it can then resort to a rule-based system to figure out how to behave.

Determing its position in relation to the organism is the linchpin of it all.

And, like all profound ideas, it is best explained with poorly-drawn cartoons...

Let's start with a fish.

This fish is composed of many different types of cells.

Each cell, in order to know how to behave, must know where it is in the fish.

This is a cell in the fish.

Our little cell doesn't know where he is in the fish.

In fact, our little cell knows next to nothing of the outside world.

But, our cell has a very peculiar ability...

... he can imagine where he is.

Now, our cell doesn't have a brain, so perhaps imagine isn't quite the right word. Nevertheless, our cell can come up with an idea of its position. Remember, though, its just an idea of his position... it may be entirely incorrect. It appears our little cell believes he's on the left side of the fish, near the gills. But, in reality, he may be at an entirely different position. He doesn't know for sure one way or the other... all he can do is rely on his imagined idea of where he is.

We'll call our cell's rough idea his Presumed Position. PP for short.

Once our cell has a PP in mind, he can do something very special having to do with his membrane.

His membrane, in case you didn't know, is a fantastically complicated structure that has all sorts of proteins, and chemicals, and electrical charges embedded in it. And our cell has control of his membrane, and he can alter it at will.

In fact, once our cell has a PP in mind, he will cause all those bits and pieces of information in and on his membrane to manifest themselves in a configuration one would expect if the cell really was on the left side of the fish.

In short, with a little effort....

... our cell transforms his membrane to correlate with where he thinks he is!

Now, as this is a poorly-drawn cartoon, you will have noticed that the fish is either very very small, or the cell is very very big. Nothing here is to scale.

What's important, though, is that his PP correlates to his membrane. And, his membrane correlates with his PP! Where he thinks he is on the fish, he would assume the left side of his membrane should be pinkish, and the right side blueish.

So, that's how he sets up his membrane.

And, everything is right with the world, until...

... our cell bumps into a neighbor.

This neighbor cell has a membrane of its own. And, our cell can sense the information embedded on it. (Likewise, his neighbor can sense his.)

Our cell immediately notices his neighbor's membrane doesn't appear consistent with a cell on the left side of the fish.

More specifically, his neighbor's membrane doesn't seem like the kind of membrane you'd expect from an immediate neighbor at all! The left side of neighbor's membrane should be quite similar to the right side of our cell's membrane. But, it isn't.

This is bad.

Very bad.

It worries our cell a lot.

Could his neighbor be in the wrong place? Well, our cell is far too polite to suggest such a thing. Instead, he assumes the mistake must be his own. His own PP, he concludes, must be wrong. He must have incorrectly imagined where he is!

Our cell is desparate to fix the situation. It is terribly embarassing to have an incorrect PP.

So, with much concentration our cell slowly begins to adjust his PP.

And, as he adjusts his imagined location, his cell membrane changes as well, until eventually... .

...his membrane is consistent with that of its neighbor!

The end result is that our cell's imagined position conincides with his actual position: he imagines he is a bit to the left of his neighbor, near the middle of the fish. Likewise, the neighbor imagines that he is a bit to the right of our cell near the middle of the fish.

Both cells now have PP's that correlate to their actual positions -- in the real world -- in the fish.

The Morale

This story was told from the point of view of one particular cell. Yet all the cells in the fish -- even the grumpy-looking neighbor cell -- are constantly making the same adjustments to their own PPs. The system as a whole gravitates towards a state where each cell's PP correspnds to its actual location in the organism.

Now, at all times, our cells never moved. The only thing that moved were their imagined locations, their PPs. But, now that these two cells have their PPs in synch, they both know where they are in the fish. And, knowing where they are is the key to it all, for our little cell may now begin to turn into a fin instead of a gill.

In our story, we were only concerned with the cell's location on the X-axis. In reality, the PP is a vector that contains information about the presumed location on both axises, orientation, and scale.

To summarize:

So how does a cell encode and manipulate its PP?

How is the imagined picture of the fish encoded into the cell?

Is there evidence that a cell's membrane contains this hypothesized information?

We at CYCELL have no frigging clue. But, it certainly seems like something that could explain a lot of morphogenic mysteries. We'll leave the details to the biologists.

The Implementation In CYCELL

As discussed elsewhere, CYCELL allows you to create your own fields for your cell. Each cell will come into being having a default Presumed Position. As the simulation runs, the cells will constantly adjust their Presumed Positions, and alter their membranes, as they 'read' their neighbor's membranes. Check out the tutorials to learn more.

Let us give you an example...

In the video below, we will create a field. We'll draw a fish. And, we'll set the Presumed Position up near the gills. (We're just setting the Location... the Orientation and Scale will remain as defaults.)

We'll then create a cell. Our cell, like the cartoon cell, has this Field in its imagination. Regardless of where we move the cell, he will think he is at the default Presumed Position.

We'll then create another cell with a different Presumed Position.

When the two cells touch, they will slowly adjust their Presumed Positions until they are in synch. (Well, when we say slowly we mean gradually... as the simulation is running at several hundred iterations a second, the two fields appear to snap together very quickly.)

We can then place any number of cells. They each think they are at the default Presumed Position. But, upon touching and responding to one another's membranes, all the fields will get in synch and their Presumed Positions will correspond to where they really are in relation to each other and the fish.

Technical Details

A Presumed Position (PP) may be thought of as a vector with three components:

The Orientation, as implemented, is a float measuring degrees (mod 360), with 12:00 being 0 degrees and the value increasing in the clockwise direction.

Location is stored as as a two-dimensional vector using x and reversed-y coordinates. It is measured at the cell's centroid. (In the real-world, of course, the Field and this Location component would be three-dimensional.)

Scale is stored as a two-dimensional vector containing the width and height of the Field. The default 'width' and 'height' is 1.0. Setting both values, for instance, to 3.0 would mean the cell percieves the Field is 3 times as big (or, alternatively, the cell is three times as small.) A cell's percieved movement of 10 units along the X-axis of his Field with the Scale component set to (3.0, 3.0) would result in actual movement of 3.333.

When a cell desires to determine the Field value at a particular node (Ne), it utilizes the following formula:

Field Value = Field(j), where Field is the two-dimensional representation of the field, and j is a specific cartesian coordinate therein.

j is derived as follows:

j = PPlocation + { Mscale(PPscale) × [ (Ne - Ncentroid) × Mrot(PPorientation) ] }, where
PPscale is the Scale component of the Cell's Presumed Position, and Mscale(PPscale) is a scaling matrix with said value as its paramter,
PPorientation is the Orientation component of the Cell's Presumed Position, and Mrot(PPorientation) is a rotation matrix with said value as its parameter,
PPlocation is the Location component of the Cell's Presumed Position,
Ne is the 'real-world' cartesian location of the node in question,
Ncentroid is the 'real-world' cartesian location of the cell's centroid.

At each stage of a simulation using Fields, all cells will calculate j for each of their perimeter nodes, storing said value in the respective perimeter node.

Each cell in turn will then calculate the j for each node adjacent to its perimeter nodes belonging to a different cell (Nneighbor), summing the squared mean of the differences between the stored j and the j derived using its own PP.

The cell will then slightly alter -- in a random fashion -- its own PPscale, PPorientation, and PPlocation, and calculate a j value for each Nodeneighbor using this modified PP, once again summing the squared mean differences.

After a set number of random variations, the cell will set its PP components to those values that resulted in the smallest squared mean difference between the stored j of Nneighbor and the j value calculated using the modified PP.

In short, the components of the cell's Presumed Position are constantly fluctuating, with values being kept or discarded depending on how closely the values will result in a match to its neighbors' membranes.

(There's undoubtedly a more elegant way of causing the system to drift towards the minimum, but the shotgun approach of just rapidly trying random values within a tight range seems sufficient in light of the relatively small number of nodes in a given simulation. In any case, even if we made a derivative-based gradient-descent-kinda thing, we at CYCELL lack the requisite HTML skills to utilize the funky math symbols needed to describe such a process.)