A whole-body scale platform, which enables us to identify the spread of drug effect to cells or organs, is necessary for whole-body simulation. We have implemented the platform based on rule-based modelling.
Components and rules
The description of a biological system in this work consists of a collection of components and rules. A component in a biological system represents an organ, a cell, or a drug and so on (Figure 4). A rule is composed of left and right side to describe the action of rule:
The left-hand-side of rules is a trigger, which determines the change of the right-hand-side of rules, and the right-hand-side of rules is an expected perturbed status by the left-hand-side. Each side of rule has five features: four features describe the component itself and one feature describes the dynamic status. Component type stands for the kind of components such as organs, cells, or drugs. It makes us to discriminate the hierarchy of components. Component name indicates the specification of corresponding component type. A component can have multiple attributes. Attributes have hierarchical relationship to the component (Figure 4). For example, when component type is a cell, attribute type can be things in a cell such genes, hormones, metabolites and so on. Each attribute has different state values. For example:
The left-hand-side of rules can trigger the right-side of rules when they satisfy the condition, which is fifth feature at the left-hand-side of rules. Each attribute has different condition value by its attribute type. For example:
The condition of a rule signifies the change of state value of an attribute.
The description of condition 'up' is:
S
i
(t) = state of i attribute gene at t step.
The description of condition 'down' is:
S
i
(t) = state of i attribute gene at t step.
When the condition is satisfied, the state of an attribute is changed by 'Action' in the right-hand-side of a rule. Each attribute has different action value by its attribute type. For example:
The description of action 'up' is:
S
i
(t) = state of i attribute gene at t step.
The description of action 'down' is:
S
i
(t) = state of i attribute gene at t step.
So, the description of this rule is that:
Gene AGRP, which is in hepatocyte cell, change state from 'normal', 'high' to 'high', or from 'low' to 'high' when gene PPKAB1, which is in hepatocyte cell, has changed state from 'normal', 'high' to 'high', or from 'low' to 'normal'.
Rule extraction strategy
One of the main issues of system development is collecting rules of the system in a whole-body scale for the simulation. For this purpose, we have extracted rules from disparate information sources to increase coverage: pathway database, ordinary differential equation (ODE) model and Petri-net.
A rule curated from experts was described based on dynamic status rather than the static. It is based on the assumption that the body system changes its status through perturbation. If a certain component of cellular system does not alter, other components connected to it cannot be affected permanently. Thus, curators have extracted the rules from the context of the data that describes perturbed status of a certain component. A well-curated signalling pathway database, pathway interaction database (PID) provides valuable information of diverse signalling protein interactions. Regulations of proteins in each pathway were annotated explicitly, so it could be converted to our rule formulae straightforwardly. For the analysis of Type 2 diabetes (T2D), related pathways like insulin pathway and insulin-mediated glucose transport pathway in PID were considered to be extracted as a rule for the simulation. This database also provides integrated resources from external databases, such as BIOCARTA, REACTOME. Therefore, we could also collect other insulin pathway-related rules of external databases through these databases.
Rule conversion from different modelling formalisms
An ODE model is composed of several differential equations describing relationship between variables in the model. Some of the variables have clear relationship (i.e., activation or inhibition) in, for instance, first-order linear differential equations. However, some of equations of nonlinear form make the relationship of variables difficult to determine.
We have examined whether the effect of a certain variable to others shows a monotonic changes. Taking an advantage of rule-based simulation, we have only focused on the direction rather than the quantity. We were able to extract rules of variables if they affect each other monotonically. We also identified the nonmonotonical relationship of variables if the range of changing pattern of effect could be determined.
Conventional Petri-net has the graphical structure containing a transition and a place as an element of the graph. A transition element means the changing action, not the actual component, that mediates the interconversion of place elements of the Petri-net through its action, and a place element is a component of the body system that takes the change of its status. Therefore, based on the context of transition elements, we were able to extract rules from places elements (i.e., place elements will be located in the left- and right-hand-side of a rule with its perturbed status determined by the context of transition elements.)
The overview of simulation
This system has three kinds of inputs, such as a component, a rule, and a disease file. The component file contains information about components such as component types, component names, attribute types and attribute names. The system constructs components according to the component file (Figure 5). The disease file contains disease states of components. The system initiates the state of components by a disease file to make the system as a patient model. After all components in the system are initiated, the system simulate according to the rules in the rule file. The result file will be produced after simulation is over. The result file has all state changes of every component during the simulation. Each component has the threshold for changing its state. Each threshold of the components is different depending on the component types.
Simulation algorithm
This system uses an asynchronous updating simulation method to observe drug responses and drug effect pathways to implement stochastic rule firing. Before running simulation, the system is initialized by T2D patient model and T2D related drugs. Using T2D patient model, the states of components, which are related to T2D, in the system are changed to abnormal. Then, drugs are injected to the simulation system. The action of drug injection means the start of the simulation.
Algorithm.1 and 2 show the simulation running process. R means all rules in the system. C means all components in the system. AR(t) is a set that has all executable rules in the specific time t. AC(t) is a set which has all active components at time t. And RFS(c) is the rule firing score of a component c. After a rule execution, the RFS of a component, which is affected by the rule effect score, which is RS(r), will be changed. TH(c) is the rule execution threshold of a component. If RFS(c) is greater than TH(c), the state of component c is updated by the rule.
To model differences in the speed of signal propagation in the body, we used a random-order asynchronous updating algorithm. Executable rules are selected through Algorithm 1. Next, one rule is randomly selected from executable rules and executed. Then, the states of components are updated if condition of the randomly selected rule is satisfied. Then, all rules activated by the randomly selected rule are added to AR for the next iteration step. We repeated the above simulation 100 times as a Monte Carlo approach for finding drug effect pathways.
R = {x|x is a rule}
C = {x|x is a component}
AR(t) = {x|x is an active rule at time t}
AC(t) = {x|x is a component at time t}
RFS(c) = (rule firing score of a component)
TH(c) = (rule execution threshold of a component)
RS(r) = (rule effect score)
Algorithm.1: RunSimulation( )
Algorithm.2: UpdateComponentSet(AC(t),R
i
)
Algorithm.2 shows how to update the states of the components in AC when is executed at time t. First, save all components affected by at . Then, repeat update of RFS of and check RFS is greater than threshold of the component , which is TH, until AC has not any element. If the RFS is greater than the threshold, the state of the component is updated.
Algorithm.2 shows how to update the states of the components in AC when is executed at time t. First, save all components affected by at . Then, repeat update of RFS of and check RFS is greater than threshold of the component , which is TH, until AC has not any element. If the RFS is greater than the threshold, the state of the component is updated.
Rule execution threshold
Real human body parts (i.e. organs, cellular components, enzymes) have biological functions which have various timescale to complete the function. Therefore, for more accurate simulation, each component has its own threshold that represents the state change. Each rule execution threshold of the components differs depending on the component type and attributes type.
We determined threshold of the components based on Bitting, et al [25] and assumed that molecules or cells have smaller threshold (1.0) than tissue or organ threshold (60.0).