Skip to content

Multi-scale agent-based model of competence phenotype in Bacillus subtilis

License

Notifications You must be signed in to change notification settings

drsuuzzz/BSubtilis_ABM

Repository files navigation

BSubtilis_ABM

Multi-scale agent-based model of competence phenotype in Bacillus subtilis. It is dependent upon Repast Simphony v 1.2. This models a B. subtilis colony and the effects of the gene regulatory network responsible for the competence phenotype. It is written in Java.

This is the source code to support the publication:
Stiegelmeyer SM, Giddings M: Agent-based modeling of competence phenotype switching in Bacillus subtilis. Theoretical Biology and Medical Modelling 2013, 10(1):23.

This is a multi-scale agent-based model built with Repast Simphony v 1.2 modeling the gene regulatory network that is responsible for the expression of the competence phenotype in the soil bacteria Bacillus subtilis. The model only displays the agents defined by ExtraCellEnviro. It is not possible to view the internal workings of each ABM created by the BistableSwitch class without modifying the code and how it is displayed.

The project structure was developed using Eclipse IDE. The Repast Simphony 1.2 plugin is required to successfully build the project.

Context Builder files:

BSubtilisColony.java: creates the ExtraCellEnviro context

ExtraCellEnviro.java: Builds the top layer of the ABM consisting of cell agents with the class BistableSwitch. This models the extracellular environment where cell agents interact with eachother--starvation and cell density conditions are simulated at this level. Two value layers are managed here, nutrients and ComX. Agent rules are scheduled on odd system ticks.
Maintenance rules like adding or removing agents are scheduled for even system ticks so that rules can be removed from the scheduler--Repast doesn't allow rules to be removed from the scheduler if initiated from a rule in the same system tick.

BistableSwitch.java: This class also builds an ABM and represents the Bacillus subtilis cell but acts as an agent to ExtraCellEnviro class. The intracellular model is fully built by this class by creating all agents and scheduling the rules. Agent rules are scheduled on odd system ticks.
Maintenance rules like adding or removing agents are scheduled for even system ticks so that rules can be removed from the scheduler--Repast doesn't allow rules to be removed from the scheduler if initiated from a rule in the same system tick.

Agent classes: Agent class files contain the rules that are executed for that particular agent.

ExtendAgent.java: all agents extend this class, generic methods are provided by this class
ClpCClpP.java
ComK.java
ComS.java
ComX.java
DegU.java
MecA.java
MRNA.java
Promoter.java
Repressor.java
Ribosome.java

Agent support classes:

Available.java: general class for finding neighbors and moving to neighboring positions.
BsubtilisParameters.java: All probabilities are defined in here.


General classes to aid Repast Framework:

AgentStyle2D.java: For display of 2-d agents, colors are specified here.
AgentStyle3D.java: For display of 3-d agents, colors are specified here.
MyDiffuser.java: Found a bug in the diffusion implementation in Repast and fixed it here. It's only with 3-D diffusion that there was a problem.

About

Multi-scale agent-based model of competence phenotype in Bacillus subtilis

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published