Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Active transport through cells

58 views
Skip to first unread message

Roger Hill

unread,
Oct 12, 2017, 10:31:43 AM10/12/17
to Morpheus users
Hi,

I am trying to create a model which has a well mixed substance on one side of a cell barrier, and empty space on the other.

The cells will then actively transport this substance through it to the other side of the barrier.

Is this something that is possible with Morpheus?

Best,
Roger

Walter de Back

unread,
Oct 12, 2017, 4:20:01 PM10/12/17
to Roger Hill, Morpheus users
Hi Roger,

I am trying to create a model which has a well mixed substance on one side of a cell barrier, and empty space on the other.
The cells will then actively transport this substance through it to the other side of the barrier.
​ ​
Is this something that is possible with Morpheus?

​Yes, depending ​on what you mean with barrier. 

In principle, you can make cells uptake a substance from a Field (decrease the Field locally, add it to a local intracellular 'storage') and release substance from a cell to a Field. 

The attached model (and video) ca serve as inspiration. 

Basically, you do the following:

1. Define a Global Field (here 's') and a Global System with a DiffEqn that updates the Field

2. In CellType, you get the current concentration of 's' under/around a cell using a CellReporter (called Mapper in Morpheus2 RC2) and you make Functions that determine the uptake and release kinetics. You'll also need to keep track of the concentration of 's' stored in the cell, e.g. using an Equation. 

In the attached example, there is no real barrier, but the concentration field is just initialized as 1 in the left part and 0 in the right part. The cell moves from the left to the right as a result of the DirectionMotion plugin.  

Hope this helps!

Best,
Walter



uptake_release_Roger_Hill.xml
uptake_release.mp4

Roger Hill

unread,
Oct 13, 2017, 10:22:33 AM10/13/17
to Morpheus users
Hi Walter,

this example want run for me I get a Simulation error:

TimeScheduler detected loop dependencies in Reporter / Instantaneous Processes :
Function
Function
Equation

Walter de Back

unread,
Oct 13, 2017, 10:33:39 AM10/13/17
to Roger Hill, Morpheus users
Oops. The new Morpheus version seems to be more picky. Try the attached one (moved Equation to System/DiffEqn).

Best,
Walter

PS: Upon re-reading your original question, I realize I may have misinterpreted it -- are you looking to model cells that make up a barrier themselves, such as an epithelium or endothelium?



--
You received this message because you are subscribed to the Google Groups "Morpheus users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to morpheus-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/morpheus-users/f143bd74-dad4-46ef-9ec1-d8c979dd84dd%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

uptake_release_Roger_Hill.xml

Roger Hill

unread,
Oct 13, 2017, 11:10:10 AM10/13/17
to Morpheus users
Thank you, that no works.

Yes that is the kind of thing I am thinking of modelling. The cells will make barrier and transport substance across.

Best,
Roger

Walter de Back

unread,
Oct 13, 2017, 11:47:02 AM10/13/17
to Roger Hill, Morpheus users
Yes that is the kind of thing I am thinking of modelling. The cells will make barrier and transport substance across.

​This is a little more difficult since it requires a no-flux boundary that moves with the cells. And to do this correctly, there should also be local advection (i.e. local concentration of substance should be higher where cells expand).

I've implemented something like this (see attachment) and I can put it in a branch, but it is highly experimental. 

Best,
Walter


cell_barrier_Roger_Hill.mp4

Walter de Back

unread,
Oct 13, 2017, 12:29:16 PM10/13/17
to Roger Hill, Morpheus users
I've pushed this to a new branch: noflux-cell-boundary


If you build from this branch, you can reproduce the above video with the attached xml model. 
If the new option Global / Field / Diffusion / noflux-cellboundary is true, the cell boundaries will act as no-flux boundaries for that substance.  Note that you can also have multiple substances in one simulation, one that can and one that cannot permeate the cell membrane, as shown in the attached video.

Best,
Walter
  
cellular_barrier_simple_Roger_Hill.xml
noflux-cellboundary.mp4

Roger Hill

unread,
Oct 16, 2017, 5:00:57 AM10/16/17
to morpheu...@googlegroups.com
Hi Walter,

Thank you for this. I really appreciate it. I am new to git how do I build from this branch exactly?

Best,
Roger

Walter de Back

unread,
Oct 16, 2017, 5:27:35 AM10/16/17
to Roger Hill, Morpheus users
Thank you for this. I really appreciate it.

​You're welcome. It is something I'd like to see in Morpheus as well. Note that the current implementation is far from ideal -- but it is a start.

how to build from this branch exactly?

#
​ 1.​
pull/update source files
​git pull origin master  
# 2. switch to specific branch
git checkout noflux-cell-boundary

​# then, rebuild morpheus, e.g.
cd build
cmake .
make -j4

​Best,
Walter​

Roger Hill

unread,
Oct 16, 2017, 11:22:36 AM10/16/17
to Morpheus users
Hi Walter, 

I have this new branch working and I am getting close to what I need. 

I have now set up the barrier, I can uptake into the cell and release from the cell.

Is there anyway to release from the cell in a particular direction rather than directly below (2D)?

Best,
Roger.

ps should I ask this as new question?

Walter de Back

unread,
Oct 16, 2017, 4:59:24 PM10/16/17
to Roger Hill, Morpheus users
Hi Roger,

I have this new branch working and I am getting close to what I need. 
I have now set up the barrier, I can uptake into the cell and release from the cell.

​Good job!
Is there anyway to release from the cell in a particular direction rather than directly below (2D)?

​In principle, yes. You should be able to use a MembraneProperty instead of a normal Property. These are Properties with a spatial resolution (an array of size, say, 100) that are mapped to the cells membrane in polar coordinates. You can use this to represent cell polarity​, i.e. give directionality to processes. 

You first specify a Space / MembraneLattice and than define your CellType / MembraneProperty. And you can use this as if it were a normal Property, but one that is spatially heterogeneous along the cell membrane. Please see the attached model for an example.  (The CPM / ConvergentExtension.xml example model for a nice example how to use this for anisotropic adhesion.) 

The left panel below shows a single cell with a MembraneProperty "m" that is initialized to be heterogeneous along the cell membrane (here in a sine wave manner).

Inline image 1

​Unfortunately, though, there seems to be an open issue when trying to use MembraneProperties to model the release. Instead of being non-zero only at the cell membrane as they should, they are currently nonzero through the cell -- as shown in the right panel. This currently prevents you from using it in the way you suggest. 

I have opened an issue for this here: https://gitlab.com/morpheus.lab/morpheus/issues/102

Best,
Walter

 

--
You received this message because you are subscribed to the Google Groups "Morpheus users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to morpheus-users+unsubscribe@googlegroups.com.
MembraneProperty_Bug.xml

Roger Hill

unread,
Jan 3, 2018, 10:41:58 AM1/3/18
to Morpheus users
Hi Walter,

I have only just come back to this and looked at the open issue. I don't quite understand how to implement the suggested easiest work around could you provide an example?

Will this mean I can have a substance released out of a certain side of the cell?

Thank you,
Roger Hill


On Monday, 16 October 2017 21:59:24 UTC+1, Walter de Back wrote:
Hi Roger,

I have this new branch working and I am getting close to what I need. 
I have now set up the barrier, I can uptake into the cell and release from the cell.

​Good job!
Is there anyway to release from the cell in a particular direction rather than directly below (2D)?

​In principle, yes. You should be able to use a MembraneProperty instead of a normal Property. These are Properties with a spatial resolution (an array of size, say, 100) that are mapped to the cells membrane in polar coordinates. You can use this to represent cell polarity​, i.e. give directionality to processes. 

You first specify a Space / MembraneLattice and than define your CellType / MembraneProperty. And you can use this as if it were a normal Property, but one that is spatially heterogeneous along the cell membrane. Please see the attached model for an example.  (The CPM / ConvergentExtension.xml example model for a nice example how to use this for anisotropic adhesion.) 

The left panel below shows a single cell with a MembraneProperty "m" that is initialized to be heterogeneous along the cell membrane (here in a sine wave manner).

Inline image 1

​Unfortunately, though, there seems to be an open issue when trying to use MembraneProperties to model the release. Instead of being non-zero only at the cell membrane as they should, they are currently nonzero through the cell -- as shown in the right panel. This currently prevents you from using it in the way you suggest. 

I have opened an issue for this here: https://gitlab.com/morpheus.lab/morpheus/issues/102

Best,
Walter

 

--
You received this message because you are subscribed to the Google Groups "Morpheus users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to morpheus-user...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages