| Literature DB >> 15731211 |
Daniel Shegogue1, W Jim Zheng.
Abstract
MOTIVATION: The importance of studying biology at the system level has been well recognized, yet there is no well-defined process or consistent methodology to integrate and represent biological information at this level. To overcome this hurdle, a blending of disciplines such as computer science and biology is necessary.Entities:
Mesh:
Substances:
Year: 2005 PMID: 15731211 PMCID: PMC7197705 DOI: 10.1093/bioinformatics/bti344
Source DB: PubMed Journal: Bioinformatics ISSN: 1367-4803 Impact factor: 6.937
Correspondence between biological system and object-oriented software concepts
| Category | Concepts in object-oriented software system ( | Concepts in biological system | Commonalities |
|---|---|---|---|
| Basic component | Objects | Cellular components (proteins, genes, etc.) | Both can be modeled as having intrinsic attributes and external functionalities or behavior |
| Component organization | Aggregation, composition | Protein complex formation/protein–protein interaction | Relationships among individual components |
| High-order components | Subsystems (also in the form of objects) | Organelles, individual pathways, cell, etc. | Both are complex modules built from basic components |
| Protocol for component interactions | Message passing | Interaction, signaling, modification | Information passing in both situations |
| Hierarchical relationship | Inheritance | is-a relationship (most enzymes are one kind of a protein) | Specialized components share common features |
| Multifunctionality | Polymorphism | Enzymes catalyze different substrates, etc. | One component can operate on different types of other components of the system with different processes and outcomes |
| Observed behavior without knowing underlining mechanism | Encapsulation/information hiding | Experimental observations without known mechanism | Both situations define the observed behavior without exposing the underlying mechanism |
| Controls | Call-back functions, observer/visitor patterns ( | Feedback controls | One part of the system originates a signal that affects the behavior of the other components of the system and this interaction in return affects the behavior of the subsystem where the signal originated |
| Component dynamics | Life cycle of individual objects | Life cycle of individual proteins | The birth and death of individual components |
aSee also Discussion section.
The concepts of biological system and object-oriented software systems are compared and the commonalities among these concepts are listed. We only used the cell system to represent a typical biological system in this table. This comparison focuses on the system organization and functionality. We provide correlations between the main object-oriented concepts (i.e. object, composition, inheritance, polymorphism and encapsulation). However, biological and object-oriented system concepts are not necessarily a one-to-one mapping. Modeling of some of the biological system components and a further explanation of object-oriented concepts can be found in the main text.
Fig. 1A linear, sequential software process used for reverse engineering the SARS viral infection. Processes (at the top) are ordered in a time-dependent manner. Vertical lines extending from the processes indicate the process stage in which a model (at the bottom) is generated, and do not imply a time dependence. Major dependences among models are indicated.
Fig. 2A high-level sequence diagram for major SARS viral infection events. Bioentities (cell, virus, translation machinery and viral replicase) are modeled as objects. These objects are shown at the top of the diagrams with vertical lifelines (), representing extensions of the objects below. Functions and events associated with these bioentities are modeled as messages sent to the corresponding objects. These message calls, indicated by solid arrows, are made between objects via connection of their lifelines. Messages contain a message name followed by parameters, which must be passed into the object and/or outputted from the object, e.g. translation machinery executes its function of translating viral mRNA by receiving a translate message ‘translate (in: Positive_Genomic_RNA)’ from the cell. This message accepts a Positive_Genomic_RNA as a template, indicated by ‘in: Positive_Genomic_RNA’, then a ‘Viral_Replicase’ is created and returned. These return values are displayed below the message call as a named dotted arrow extending in the opposite direction as the original message call. Where return values are not explicitly indicated, as in an object calling itself (), an ‘out’ followed by a return value is substituted. Events in gray boxes are shown in more detail in Supplemental Figures 7–9.
Fig. 3Activity Diagram for SARS viral infection emphasizing the infection process. The infection process consists of three major events; bind cellular ACE2 receptor, fuse with the cell membrane and release its genomic RNA by uncoating. The process of RNA replication, assembly and viral release are detailed in Supplemental Figures 10–13. All activity diagrams have a pseudo-start () and pseudo-end () states. Action states, represented by rounded rectangles () are captured during different time periods. This diagram can represent sequential as well as concurrent events. Concurrent events are represented by forks () and merges (). This architecture signifies that multiple events are possible simultaneously and the occurrence of at least one of these events is enough to continue the flow of control. In contrast, the flow of control may also be conditional, e.g. decision diamonds (⋄) represent a point at which alternative events can occur. At these decision diamonds, guard conditions must be satisfied for the flow of control to continue, or else the flow of control follows an alternative route.
Fig. 4High-level class diagram of SARS virus and viral infection. Major components of SARS virus and viral infection and their associations are modeled as objects. These objects are represented by rectangles within the diagram. Rectangles are divided into three parts. The first part contains the object name; the second part contains the attributes of the object; and the final part contains the functions an object can perform. Lines with solid diamonds () at the end indicate composition. These are read from the diamond end, e.g. as Virus contains Structural_Proteins. Lines with open triangles () represent generalizations. These are read from the triangle end, as Viral_Protein is a general type of Structural_Protein. Other interactions are represented as named, binary associations (). Interactions may contain cardinalities at their ends indicating the number of objects that interact with another object. As an example from above, one virus can infect one cell and one cell can be infected by one to many viruses. Grayed objects and interactions are shown in more detail in Supplemental Figures 14–16. Viral components (orange); cellular components (blue).