RELATED APPLICATIONSPriority is claimed to U.S. Provisional Application No. 60/188,168, filed Mar. 10, 2000, and U.S. Provisional Application No. 60/244,694, filed Oct. 31, 2000, both of which are hereby incorporated by reference in their entirety.[0001]
FIELD OF THE INVENTIONThe present invention relates to a system and method for examining pathways. In particular, the present invention provides a system and method for examining pathways that underlie cellular functions, specifically signal transduction pathways.[0002]
BACKGROUND OF THE INVENTIONDNA sequence analysis and recombinant DNA technology are powerful tools in biologic research. With advances in cellular biology, genetics, and computational methods, a deeper understanding of cell function and disease is emerging. A bulk of current research activity involves efforts to understand the molecular basis of cellular biochemical pathways, i.e., the ordered series of biochemical interactions (typically among proteins) that underlie diverse cellular functions. Greater understanding of these processes will foster more rational and effective design of medicinal therapies.[0003]
The recent completion of initial phases of several genome sequencing projects has provided important new resources for understanding cellular biochemical pathways and functions, but more detail is needed to fully understand many cellular functions. For instance, analysis of biochemical pathways, as well as gene and protein functions, are typically performed with complete knowledge of all the players known to be involved in the relevant cellular biochemical pathways. Thus, the ability to simulate cellular biochemical pathways and probable interaction partners for a protein under investigation would be desirable.[0004]
SUMMARY OF THE INVENTIONOne aspect of the invention relates to the prediction of (a) functional properties of a protein, (b) potential interaction partners of the protein, and/or (c) potential target biochemical pathways within which the protein may interact. Thus, according to the invention, the influence of a given stimulus on a biochemical pathway can be assessed.[0005]
Another aspect of the invention relates to a system and method for simulating cellular biochemical pathways. The invention integrates the vast information available on cellular biochemical pathways to evaluate and predict the effect of given stimuli on cellular biochemical pathways. As such, the invention enables investigators working on poorly defined cellular biochemical pathways to simulate the biochemical pathway and predict potential protein interaction partners, in order to gain further insight into possible cellular biochemical pathways in which a target protein may function.[0006]
Another aspect of the invention is a system and method for demonstrating the signal cascades that occur in certain cells when certain stimuli are introduced. In an embodiment of the present invention, an inference engine linked to a database of known cellular components and reactions generates the signal cascades.[0007]
A further aspect is the incorporation into the system and method of the present invention of DNA sequence analysis of domains, motifs, and sites in new proteins of interest to enable a User to predict the most likely types of upstream and downstream proteins (or other biomolecules) with which a new protein might interact and, subsequently, the potential biochemical pathways within which a new protein might act. This aspect provides new advantages of significantly greater efficiency, confidence, and focus for a User in deciding on potential new avenues of research to pursue.[0008]
Another aspect of the system and method of the present invention is the incorporation of data regarding how the primary sequence of functional sites in biomolecules (eg., proteins) effects the specificity and efficacy of physical interactions with binding partners. Further, binding constants, rate equations, and reactant concentrations may be incorporated into the system and method of the present invention, in order to determine reaction events, pathway activities, and cell function outcomes.[0009]
The system and method of the present invention may also be used for molecular examination of the relationship between the structure of functional sites and partner interactions and their relation to the effects of molecular interventions by genetic variation, pharmaceutical compounds or toxic substances on the physical interactions of binding partners. Further, the present invention may be used to examine the functional consequences of such molecular interventions to biochemical pathways and cellular events. Examination, with the present invention, of the relationship between sequence variation (molecular genotype) within domains and functional profile within pathways creates new advantages for the design and selection of appropriate pharmaceutical compounds that are unlikely to produce adverse side effects, predicted by the subject genotypic profile.[0010]
In a preferred embodiment, the system and method of the present invention simulate signal cascades of cellular biochemical pathways that occur when certain stimuli or endpoints are introduced. Instead of using pre-generated biochemical pathways, the system and method of the present invention dynamically generate their results using a simulation module that includes an inference engine linked to at least one dynamic database of definitions relating to cellular concepts, components, and reactions.[0011]
In one embodiment of the present invention, a method for simulating at least one aspect of a cellular biochemical pathway is provided comprising the steps of: providing information regarding a target cellular environment and a stimulus event; simulating at least one aspect of a cellular biochemical pathway based on the stimulus event and target cellular environment information provided; and textually and/or graphically displaying at least one aspect of a cellular biochemical pathway. A method of the invention can further comprise the steps of predicting target protein functions and/or predicting potential target protein interaction partners.[0012]
In an embodiment of the present invention, a method for simulating at least one aspect of a cellular biochemical pathway is provided comprising the steps of: providing information regarding a target cellular environment and an endpoint; simulating at least one aspect of a cellular biochemical pathway based on the endpoint event and the target cellular environment information provided; and textually and/or graphically displaying at least one aspect of a cellular biochemical pathway.[0013]
In another aspect of the invention, a system for simulating at least one aspect of a cellular biochemical pathway is provided, comprising: a data input interface; a simulation module; and a display module. Based on cellular environment and input information provided to the data input interface, the simulation module simulates at least one aspect of a cellular biochemical pathway by determining the order of cellular events which occur within the defined cellular environment, and the display module can display textual and/or graphical representations of the simulated pathway. Input information may comprise information regarding cellular context, stimuli, knockouts and/or endpoints. The system of the present invention may optionally comprise a prediction module for predicting likely biological outcomes (e.g., apoptosis, lymphocyte activation, etc.), as well as protein interaction partners or gene interaction sites (for transcription factors) based on the simulated pathway(s).[0014]
In an embodiment of the present invention, the system and method of the present invention are adapted to be used as an aid in teaching, as educational tools, and/or as a complement to academic textbooks.[0015]
In another embodiment, the system and method of the present invention are adapted to be utilized by persons conducting genomic and proteomics research.[0016]
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1A is a block diagram of a system for simulating cellular biochemical pathways, in accordance with one embodiment of the present invention;[0017]
FIG. 1B is a block diagram of the simulation module of FIG. 1A, in accordance with one embodiment of the present invention;[0018]
FIGS. 2A and 2B are a flow chart of a preferred control routine for a forward pathway generation function of the inference engine of FIG. 1B;[0019]
FIG. 2C is a flow chart of a preferred control routine for a reverse pathway generation function of the inference engine of FIG. 1B; and[0020]
FIGS.[0021]3-43 are examples of various graphical displays that can be generated by the graphical user interface of FIG. 1B.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTSCellular pathways involve molecular physical interactions between elements in series (typically, though not exclusively, proteins) leading to an outcome in a cellular process. Thus, a molecular understanding of these physical interactions, of pathway interconnections, and of pathway architectures would foster a more rational and effective design of pharmaceutical therapies when intervention is needed. Unfortunately, the identity of all the elements and all the interconnections in cellular pathways are not yet established. Gaps exist with respect to many of the elements and their functions. Thus, a major goal of research is to identify all elements of cellular pathways and to understand the molecular functions and interactions of these elements.[0022]
Central to this effort is the determination of the DNA sequence of genes that encode these proteins of interest. Examination and comparison of new DNA sequences with known gene DNA sequences stored in public databases routinely provides powerful predictive ability concerning the likely function of a new protein. Deeper examination of sequence data of new proteins can reveal the presence of various functional sites (e.g., domains, motifs, catalytic sites, and sites of biochemical modification), which typically constitute regions of physical interaction (e.g., protein-protein) between biomolecules. Many protein domains, motifs and sites have now been identified and the character of their involvement in diverse molecular interactions are known.[0023]
As used herein, the term “cellular biochemical pathway” generally refers to an ordered series of physical interactions between successive cellular elements leading to an outcome (e.g., signal transduction) in a cellular biochemical process.[0024]
Cellular environment information and input information can be provided to the data input interface in any manner known in the art, such as by manual data input through a keyboard or automated data importation.[0025]
Protein type information can be derived in any manner known in the art. For instance, a sequence similarity search can be performed, using public or commercial software programs, on a gene or protein sequence of interest. Typical similarity search platforms include the BLAST family of routines available at www.ncbi.nlm.nih.gov/BLAST. Search routines such as BLOCKS, MoST, Pfam, PROSITE, or PROBE that detect conserved protein motifs can then be used if desired. Additional analysis of target protein structure, composition, and function can be done with a variety of web-based platforms.[0026]
As used herein, the term “cellular environment” generally refers to the sum total of all the substances and components within a cell under consideration. The provided cellular environment information, according to the present invention, represents at least a portion of the total cellular environment. Such cellular environment information is generally provided as cellular concepts and attributes, which are defined and described in more detail below. Cellular environment information may comprise, but is not limited to, cell type; protein type information, e.g., cell surface trans-membrane receptor; sub-cellular location; identity of motifs; modification sites; and modification effects, e.g., activation, inhibition, etc. Input information may comprise information regarding stimuli, knockouts and endpoints.[0027]
A cellular “concept”, as used herein, is an abstraction of anything that can be said to exist in space or occur over time with regard to a cellular environment. For instance, all cellular substances, cellular processes, and cellular components are “concepts”. For example, in the statement “adenosine binds to an adenosine receptor in a liver cell, which leads to transcription”, the concepts are “adenosine”, “binds to”, “adenosine receptor”, “liver cell”, “leads to” and “transcription”. In grammatical terms, concepts usually represent nouns and verbs.[0028]
FIGS. 1A and 1B are block diagrams of a[0029]system5 for simulating cellular biochemical pathways, in accordance with one embodiment of the present invention. As shown in FIG. 1A, thesystem5 comprises aSimulation Module10, anOutput Module60, aReport Module70 and aDatabase80. TheSimulation Module10 is in communication with one ormore Users20, anOutput Module60, theReport Module70, and theDatabase80. TheSimulation Module10 contains all the processing logic for thesystem5.
The[0030]system5 of the present invention is preferably implemented on a server, which may be or include, for instance, a work station running the Microsoft Windows™ NT™, Windows™ 2000, UNIX, LINUX, XENIX, IBM, AIX, Hewlett-Packard UX™, Novel™, Sun Micro Systems Solaris™, OS/2™, BeOS™, Mach, Apache Open Step™, or other operating system or platform. However, thesystem5 of the present invention could also be implemented on a programmed general purpose computer, a special purpose computer, a programmed microprocessor or microcontroller and peripheral integrated circuit elements, an ASIC or other integrated circuit, a hardwired electronic or logic circuit such as a discrete element circuit, a programmable logic device such as a FPGA, PLD, PLA, or PAL, or the like. In general, any device on which a finite state machine capable of implementing the modules and control routines discussed herein can be used to implement the present invention.
As shown in FIG. 1B, the[0031]Simulation Module10 preferably comprises aGraphical User Interface12 and anInference Engine14 and, optionally, an Editor orCompiler16. In an embodiment of the present invention, theGraphical User Interface12 of theSimulation Module10 may gather input information from aUser20. AUser20 may provide several types of input to theSimulation Module10 using any data input method known in the art. For example, aUser20 may provide pathway generation parameters to theSimulation Module10. Further, new data requests may be entered by aUser20 through theGraphical User Interface12 to thedatabase80. AUser20 may also input requests for information. Such a request may be entered using a dynamic display. TheSimulation Module10 may also receive input information from theDatabase80.
The[0032]Inference Engine14, working with theDatabase80, evaluates a sequence of logic statements to determine which cellular events should be triggered based on the cellular environment present at the decision making moment.
As discussed above, the[0033]Simulation Module10 may further comprise an Editor orCompiler16. The Editor orCompiler16 may be used by aUser20 to enter new definitions of attributes, concepts and events, to edit existing definitions and/or compile all changes to theDatabase80. In a preferred embodiment, aUser20 may open theDatabase80 for viewing. In a further embodiment, theUser20 may edit and/or compile attributes so that the results of the edited attributes may be used by theInference Engine14 of theSimulation Module10. TheUser20 may also edit and/or compile concepts so that the results of the edited concepts may be used by theInference Engine14 of theSimulation Module10. Additionally, theUser20 may edit and/or compile events so that the results of the edited events may be used by theInference Engine14 of theSimulation Module10. Optionally, aUser20 may be able to save files to theDatabase80 using the Editor orCompiler16 of theSimulation Module10.
Several outputs may be generated by the[0034]Simulation Module10. For example, requests for data by aUser20 may be sent to theDatabase80 by theInference Engine14 of theSimulation Module10. TheSimulation Module10 may generate a static graphical display via theGraphical User Interface12. The static graphical display may be a display which shows the pathways created with the input information. For example, the static graphical display may be a “step down” or a “mass-action” diagram. This static graphical display or map may then be exported to theOutput Module60 and saved as a separate graphics format file. This graphics file format may be used as a visual aid by aUser20 conducting a presentation.
The[0035]Simulation Module10 may also generate a dynamic graphical display of a “virtual cell” with the pathways that are created with the input information. This dynamic graphical display may be for forward pathway generation. The dynamic graphical display may also be a “virtual” three-dimensional cell. AUser20 may utilize the dynamic graphical display to navigate through the virtual three-dimensional cell. In this manner, theUser20 may look at different substances in the virtual three-dimensional cell as reactions occur. TheUser20 may also zoom in and out of the cell and view the cell from different vantage points and perspectives. The dynamic graphical display may also utilize pictures of cells, cell organelles and other pieces of the cell. These pictures may be, for example, from an image created with an electron microscope. In this manner, the dynamic graphical display provides aUser20 with a realistic presentation of the cell.
The[0036]Simulation Module10 may additionally generate a written or textual display of the pathway interactions. Such a display may be generated in a display window. TheSimulation Module10 may also communicate information to theOutput Module60 to be used to generate further types of output or results. In a preferred embodiment of the present invention, theOutput Module60 creates a written display of the pathway interactions in a text file. Further, theSimulation Module10 may communicate information to theReport Module70 to be used to generate output reports.
The[0037]Database80 preferably stores signal transduction information, which may originate from an operator of theSystem5. The information may also originate from the input of aUser20. In a further embodiment, the information may originate from an outside database (not shown) which communicates information to theDatabase80. TheDatabase80 also preferably stores the definitions of specific attributes, concepts, and events. Alternatively, the definitions of specific attributes, concepts, and events may be stored in a separate dynamic definitions database (not shown) that is either a stand-alone database or that is an integrated component of theSimulation Module10. As an additional alternative, a base definitions database (nor shown) may be incorporated into theSimulation Module10, and an extended definitions database (not shown) may be compiled and stored externally from theSimulation Module10.
A[0038]User20 may add new attributes to theDatabase80. TheDatabase80 may also contain information regarding pathologies. This information may comprise signal transduction pathways, as well as different patterns of expression of all the components of the pathways (e.g., protein and DNA level information). For example, aUser20 of theSimulation Module10 makes a query with a protein differentially expressed. In response, information, not only of the possible associated diseases, but also of the stage of a certain disease is preferably provided by theSimulation Module10. Conversely, a search for a pathology or drug will preferably result in molecular information about that pathology or drug.
The[0039]Database80 may also be coded with information specific to chemical areas which focus on signal transduction within plant or animal cellular environments. For example, theDatabase80 may be coded with information specific to pesticides, herbicides, or fertilizers.
As discussed above, a concept is an abstraction of anything that can be said to exist in space or occur over time with regard to a cellular environment. A concept can “inherit” from other concepts, and they can contain other concepts. For example, a[0040]User20 may create a concept of a “protein” and assign certain properties to a “protein” concept. If theUser20 wishes to create an instance of a protein (e.g., “TNF”), theUser20 may define the instance of the protein as a specific type of “protein” and that instance of the protein can inherit all the special properties of a “protein” without having to redefine all these properties a second time. In another example, aUser20 may define all the substances normally contained within mitochondria, and define a “mitochondria” concept that contains all these substance concepts. TheUser20 may similarly define other cellular structures with their attending substances and then define a “cell” type to contain all these structures. In this manner, both a hierarchy of types and a hierarchy of structures may be established.
A[0041]User20 may add new concepts to theDatabase80. These concepts may be associated with various attributes. In an embodiment of the present invention, these attributes are necessary for efficient processing. For example, the attributes may provide information regarding the shape, color, size or location of a graphic. In a further embodiment, the attributes may be informational in nature. For example, the attributes may provide information regarding reference and species. These references may also be tracked by theSimulation Module10 and exported to theOutput Module60 to facilitate the creation of footnotes, endnotes, articles or reports.
Concepts of the present invention are capable of being inherited from other concepts (e.g., a breast cancer cell inheriting from a generic cell). Concepts may also be capable of containing other concepts (e.g., generic cells containing a nucleus, mitochondria, etc.). Concepts may additionally be capable of excluding other concepts. Further, concepts may be capable of joining other concepts. In a preferred embodiment of the present invention, user input and editing of concept functions is facilitated through a concept wizard. A concept may also be selected by a[0042]User20 to provide details as to the properties of the concept. For example, aUser20 may select a protein to provide the protein sequence with active sites, motifs, signal peptides, etc.
An event is a formal specification of a chemical reaction or process, in terms of (a) the reactants (i.e., what is required for the reaction to occur), (b) the products (i.e., what is produced by the reaction), (c) the inhibitors (i.e., what cannot be present for the reaction to occur), and (d) the context within which the reaction may or may not occur. In this manner, a process defined as a concept (e.g., “gene transcription”) is distinguished from one defined as an event, as the event definition requires the pre-conditions and post-conditions of the process to be defined. For example, in the statement, “adenosine binds to an adenosine receptor in a liver cell which leads to transcription”, the event is the entire statement, “adenosine” and “adenosine receptor” are the reactants, “gene transcription” is the product and “liver cell” is the context.[0043]
A[0044]User20 may add new events to theDatabase80 with specific concepts. Events may be associated with various attributes. These various attributes may be necessary for efficient processing (e.g., mobility) or may be informational in nature (e.g., reference and experimental conditions). Events may be capable of requiring the presence of certain concepts in the cellular environment before the event proceeds. Events may also be capable of applying certain concepts to events (e.g., binds, trimerizes, activates, etc.). Further, events may be capable of producing previously defined concepts. Events may additionally be capable of being inhibited by user-defined concepts. Events may also be able to specify within which mediums (e.g., cell types) the event may occur and may not occur. For example, the event could specify that the event occurs when contained in a breast cancer cell but not when contained in a liver cell. In a preferred embodiment of the present invention, user input and editing of event functions is facilitated through an event wizard, as will be explained in more detail below.
An attribute is a property of a concept or event. For example, an attribute of a concept may determine what color the[0045]Simulation Module10 should draw the concept if it is represented on a computer screen. In another example, an attribute of an event may provide theSimulation Module10 with information regarding the length of time the event requires to proceed. In an embodiment of the present invention, aUser20 may add new attributes to theDatabase80. The attributes may comprise a decimal, enumeration (e.g., list), integer or text. Further, an attribute comprising a decimal or integer may further comprise upper and lower bounds. An attribute comprising an enumeration may further comprise user entered values.
The system may be used by one or[0046]more Users20. In one embodiment of the present invention, the system is of a client-server nature capable of havingmultiple Users20 simultaneously. In a further embodiment,Users20 may enter data or input information into theDatabase80 and allow theSimulation Module10 to use that data or input information when generating simulations of various pathways.
In another embodiment of the present invention, a[0047]User20 must supply a predefined user identification code and a corresponding password in order to access the system. The predefined user identification code may be used by the system during the interaction with the database by theUser20. In this embodiment, theUser20 may only be provided access to certain predefined areas of theDatabase80 which correspond to the access level assigned to theUser20. The predefined user identification code may also be assigned to a group identification code that corresponds to another predefined access level. In addition, to access to certain predefined areas of theDatabase80, the user or group identification code may also provide access to a second database (not shown). In this manner, theUser20 may have access to at least one database of information with the amount of access corresponding to a user or group identification code.
The[0048]Simulation Module10 may generate a forward cell pathway. The forward cell pathway may be generated by prompting aUser20 to specify (a) the cell type where the simulation will be conducted and/or (b) the stimulus/stimuli (i.e., initiating event) for the event. TheUser20 may also exclude certain events from or designate reaction endpoints for the forward cell pathway. These user inputs may be facilitated by an input interface. For example, the system may utilize a graphics user interface from which aUser20 may select from highlighted cell types, stimuli, reaction endpoints, or events for exclusion. TheInference Engine14 of theSimulation Module10 may process events to compare certain concepts of two or more different concepts to determine if an event should proceed.
As illustrated in FIG. 1A, the[0049]Simulation Module10 utilizes information provided by theDatabase80 and byUsers20. TheInference Engine14 of theSimulation Module10 then processes the information to predict pathways. In one embodiment of the present invention, theInference Engine14 may predict a biochemical signal transduction pathway, a small molecule metabolic pathway, a detoxification enzyme pathway (e.g., a P450 enzyme-mediated biotransformation to various metabolites), toxicology, acute phase reactions, or complement cascades (e.g., classical, alternate, and MBL). In another preferred embodiment of the present invention, the system of the present invention may generate diagrams, assist in interpreting the outcome of gene expression (i.e., functional genomics), and/or facilitate drug target identification or validation.
In another preferred embodiment, the system and method of the present invention may interface with microarrays to predict changes in the activity of biochemical pathways in response to diverse conditions. In this embodiment, the activities of biochemical pathways vary in response to altered conditions. For example, a common response to variation in the activity of biochemical pathways is a change in the expression of many target genes. In another example, variation in the amount of mRNA and the resultant effect on proteins made from the target genes contribute to changes in cell function.[0050]
In a further preferred embodiment, microarray chips provide an efficient means to rapidly survey quantitative changes in the expression of a large set of genes that result in response to changes in the activity of biochemical pathways. For example, the top proteins translated from the mRNAs expressed by the target genes in a given cell type under differing conditions could be rapidly detected on a chip. Further, a change in the amount of protein made by a gene would likely change the activity of the biochemical pathway in which the protein product functioned. In this manner, the information obtained from microarray chips may be imported to the[0051]Simulation Module10 to evaluate how changes in the expression of large gene sets might change the activity of diverse biochemical pathways in response to varied conditions. Further, theSimulation Module10 may be used to examine responses to many conditions such as response to presentation of pharmaceutical or toxic substances or the character of cell function under pathologic versus normal conditions (e.g., in a B lymphoma cell line verses a normal B cell).
Transcriptional (microarray) and translational (protein chip) data may be directly uploaded into the[0052]Database80. TheInference Engine14 of theSimulation Module10 may infer potential signal transduction pathways at the global level and model the pathways. In a further embodiment of the present invention, theSimulation Module10 contains sufficient data to not only reconstruct normal cellular pathways but also pathways associated with disease states. Expression data on gene products in biochemical pathways may also be input into the pathways generated by theSimulation Module10. The pathways and interactions of drugs may be subsequently modeled and additional simulations may be generated regarding drug action on normal and diseased cells and/or organs. TheSimulation Module10 may also simulate signal transduction pathways at the cell level to provide output information regarding the role and physiological importance of new gene products or gene products with altered expression. Further, the present invention may identify intermediate signal transduction components as potential drug targets. In this embodiment, the list of possible or potential drug targets may also be expanded and reprocessed by theSimulation Module10. In another preferred embodiment, the present invention simulates signal transduction pathways which are subsequently used to examine the therapeutic value and possible toxicities of drug candidates.
The system and method of the present invention may further comprise a high throughput screening system (not shown) or other automated assay testing device (not shown). This automated assay testing device would provide a[0053]User20 with an automated method to perform simulated pathways in a laboratory.
The system and method of the present invention may also incorporate the co-joining of multiple cell types to form multi-functional tissues, the co-joining of tissues to form organs, and the co-joining of multiple organs to form organ systems. In this manner, the[0054]Inference Engine14 of theSimulation Module10 may predict whole body responses, via signal transduction modeling, to individual and multiple stimuli.
The system and method of the present invention may be used as an aid in teaching or educational tools, or as complement to academic text books. Academic institutions offering course work in the life sciences could benefit from using the system and method of the present invention as a powerful teaching and research tool. Students often comprehend difficult concepts better when they are presented in an interactive and visual manner. The system and method of the present invention provides static and dynamic pathway displays that can be used by educators to teach students about the complexities of the intracellular environment, including the interrelationships of multiple components and pathways. In addition, the present inventions' ability to incorporate new concepts and events can facilitate learning about the maturation of cells to fully differentiated states, the progression of disease processes like cancer in cells, and the interaction of pharmaceutical products with each other and cellular components.[0055]
In addition, the system and method of the present invention can easily be adapted to incorporate the specific concepts and events associated with other types of cellular-based organisms. Thus, for example, the system and method of the present invention can be used in the agricultural industry. The U.S. Department of Agricultural has initiated several national programs related to plant and animal production, product value, and safety through its Agricultural Research Service (ARS). ARS researchers in many of these national programs could benefit from using the system and method of the present invention, because their work also focuses on achieving a better understanding of intracellular interactions.[0056]
In an embodiment of the present invention, a[0057]User20 may simulate assays using the systems and methods of the present invention. In a further embodiment of the present invention, theDatabase80 andInference Engine14 may be accessed via an internet website. AUser20 may generate forward and reverse pathways through the internet website. Should aUser20 wish to physically run the simulated assays, theUser20 may obtain the necessary tools via hyperlinks corresponding to materials utilized in the simulation. For example, aUser20 may select a hyperlink corresponding to a concept or event and information may be presented regarding purchase information for assay kits or reagents. In a further embodiment, aUser20 may select a hyperlink corresponding to materials utilized in the simulation and theUser20 would be presented with a method of directly ordering the materials. For example, aUser20 may select a hyperlink corresponding to a concept or event and theUser20 may be presented with a transaction window from which theUser20 may purchase the assay kit or reagent.
FIG. 2A is a flowchart of a preferred control routine for a forward pathway generation function of the[0058]Inference Engine14 of FIG. 1B. The control routine begins atstep18, where theInference Engine14 accesses theDatabase80 to create the cellular environment and pathway data structures. For example, theInference Engine14 may retrieve values and indicia corresponding to data implicated by the environment and pathway.
Control then continues to step[0059]21, where those substances present in the cellular context are added to the environment. These substances may be determined based upon information stored in theDatabase80. Then, atstep22, the substances selected by aUser20 as stimuli are added to the cellular environment and pathway data structures. Control then continues to step24.
At[0060]step24, any concepts that aUser20 has specified as “knockouts” are removed from the cellular environment and pathway data structures. Control then continues to step26, where all substances in the cellular environment that are determined to be currently available to the pathway are marked.
Next, at[0061]step28, the first reaction defined in the database is designated as the current reaction. Control then continues to step30, where it is determined whether there is a substance present in the cellular environment that would inhibit the current reaction. If there is, control jumps to step42, where the reaction is discarded and control continues to step46. Otherwise, control continues to step32.
At[0062]step32, it is determined whether all the reactants of the current reaction are available in the cellular environment. If not all the reactants are available, control jumps to step42. Otherwise, control continues to step34.
At[0063]step34, it is determined whether any additional user-defined tests of the reaction fail. If so, control jumps to step42. Otherwise, control continues to step36, where theInference Engine14 adds the reaction to the sequence of events that make up one, or more, of each cellular pathway.
Next, at[0064]step38, theInference Engine14 adds the products of the reaction to the environment and uses the reaction duration to show relative process time of the products. Control then continues to step46, where theInference Engine14 determines if all the reactions have been tested. If not, control jumps to step44. Otherwise, control continues to step50.
At[0065]step50, theInference Engine14 identifies whether any endpoints defined by theUser20 have been reached. If so, the control routine ends. Otherwise, control continues to step52.
At[0066]step52, theInference Engine14 determines whether all the substances in the cellular environment have been activated. If so, the control routine ends. Otherwise, control jumps to step26.
At[0067]step44, the next reaction defined in theDatabase80 is designated as the current reaction. Control then jumps to step28.
FIG. 2B is a flowchart of a preferred control routine for a reverse pathway generation function of the[0068]Inference Engine14 of FIG. 1B. The method begins atstep54, where theInference Engine14 accesses theDatabase80 to add to the environment those substances selected by the user as endpoints. Control then continues to step56, where theInference Engine14 identifies each underived product in the products.
Next, at[0069]step58, for each underived product identified instep56, theInference Engine14 determines whether the product is a stimulus. If so, control returns to step56. Otherwise, control continues to step62.
At[0070]step62, all events in the particular cellular environment which may produce the identified stimulus product are added to the product's list of producers. Control then continues to step64, where, for each producer, a new product is generated for each of the corresponding reactants. Each of the current product's producers is subsequently added to the new product's list of consumers. Control then continues to step66.
At[0071]step66, it is determined whether there are any remaining underived products. If so, control jumps back to step56. Otherwise, control continues to step68.
At[0072]step68, a link between each producer and each consumer is established for each product. Control then continues to step69, where all events are added to the pathway. The control routine then ends.
In one embodiment of the invention, the definitions are stored in the[0073]Database80 in a binary format, an editable textual format, or a combination of both. The editable textual format preferably comprises a descriptive computer language called Signal Transduction Language (“STL”), which is one aspect of the present invention. The definitions may be generated using STL, and/or compiled into a binary format in any manner known in the art. In a preferred embodiment of the invention, definitions of attributes, concepts, and events are created, and cellular biochemical pathways are simulated using a set of graphics-based forms (i.e., instructive, step-by-step screens) generated by theSimulation Module10. In an alternate preferred embodiment, a set of graphics-based forms are generated by theOutput Module60. Alternatively, definitions and simulations may be created through a direct, text-based interface using an STL shell.
As described above, in one embodiment of the present invention, the[0074]Graphical User Interface12 may be implemented with graphics-based forms. In this embodiment, upon initiating theSimulation Module10, aUser20 may be presented with amain menu100, an example of which is shown in FIG. 3. To perform an action, theUser20 may select one of a plurality of user action buttons110a-112g.Each of the user action buttons110a-110gmay be associated with one of a plurality of Simulation Module functions. In themain menu100 shown in FIG. 3, user action buttons110a-112gmay be associated with the Simulation Module functions Define an Attribute; Define a Substance or Process; Define a Reaction; Use STL Editor/Compiler; Generate Pathway; Generate Reverse Pathway; and Exit Program, respectively.
Selecting the Define an[0075]Attribute button110ainitiates an Attribute Forms series, which is a series of screens that allows theUser20 to define a new attribute. Selecting the Define a Substance orProcess button110binitiates a Concept Forms series, which is a series of screens that allows theUser20 to define a new concept. Selecting the Define aReaction button110cinitiates an Event Forms series, which is a series of screens that allows theUser20 to define a new event. Selecting the Use STL Editor/Compiler button110dinitiates an STL shell, which allows theUser20 to directly edit and compile the textual definitions. Selecting the GeneratePathway button110eor GenerateReverse Pathway button110finitiates a Pathway Forms series, which is a series of screens that allows theUser20 to initiate theInference Engine14 and simulate at least one aspect of a cellular biochemical pathway. Finally, selecting the Exit thisProgram button110gshuts down the Simulation Module.
Attribute Forms Series[0076]
When a[0077]User20 initiates the Attribute Forms series from themain menu100 by selecting the Define anAttribute button110a,anAttribute Name screen200, an example of which is shown in FIG. 4A, may be displayed. As shown in FIG. 4A, aUser20 may have the option of entering an attribute name infield201 and then selecting theNext button205 to proceed to the next step in the Attribute Forms series. Alternatively, aUser20 may select the Cancelbutton215 to exit the Attribute Forms series. It should be noted that user input infield201 may determine the step that comes “next” in the Attribute Forms series.
Entering an attribute name in[0078]field201 and clicking theNext button205 may initiate a SelectAttribute Type screen220, an example of which is shown in FIG. 4B. As shown in FIG. 4B, the SelectAttribute Type screen220 may allow aUser20 to select one of four types of attributes:Decimal221a;Integer221b;Text221c;orEnumerated221d.AUser20 may select one of the attribute types and then select theNext button225 to proceed to the next step of the Attribute Forms series. Alternatively, aUser20 may select theBack button230 to return to the previous screen or the Cancelbutton235 to exit the Attribute Forms series.
If a[0079]User20 selectsDecimal221aorInteger221b,followed by theNext button225, the Enter Attribute Limits screen240, an example of which is shown in FIG. 4C, may be displayed. As shown in FIG. 4C, aUser20 may enter numeric attribute values, through the Enter Attribute Limits screen240, that represent anupper limit241band alower limit241afor this attribute. Each of the numeric attribute limits may be made inclusive by selecting a respectiveInclusive indicator242aand242b.AUser20 may select theNext button245 to proceed to the next step of the Attribute Forms series, theBack button250 to return to the previous screen, or the Cancelbutton255 to exit the Attribute Forms series.
Referring back to FIG. 4B, if a[0080]User20 selects Enumerated221dfrom the SelectAttribute Type screen220, followed by theNext button225, the Enumerated Enter Attribute Limits screen260, an example of which is shown in FIG. 4D, may be displayed. As shown in FIG. 4D, aUser20 may enter all possible values of an enumerated list. For example, the values represented by a “cellular location” type of attribute may be entered by typing the text “membrane bound” into theValue field261, clicking theAdd Value button262, then repeating the process for any other values represented by the attribute, e.g., “extracellular”, “nuclear”, etc. Values that have been added may appear in the AllowedValues list264. From the Enumerated Enter Attribute Limits screen260, aUser20 may also remove a value from the AllowedValues list264 by selecting the value from the AllowedValues list264 and then selecting theRemove Value button263. AUser20 may select theNext button265 to proceed to the next step of the Attribute Forms series, theBack button270 to return to the previous screen, or the Cancelbutton275 to exit the Attribute Forms series.
Upon selecting the[0081]Next button265 from the Enumerated Enter Attribute Limits screen260 (FIG. 4D), theNext button245 from the Numeric Enter Attribute Limits screen240 (FIG. 4C), orText221cfrom the Select Attribute Type screen220 (FIG. 4B), the Attribute DefinitionComplete screen280, an example of which is shown in FIG. 4E, may be displayed. As shown in FIG. 4E, the Attribute DefinitionComplete screen280 may show, infield281, the STL code that was produced from user selections within the Attribute Forms series. In the example shown in FIG. 4E, “Sample Attribute” was entered as an attribute name in field201 (FIG. 4A), the type selected was Decimal221a(FIG. 4B), a value “1” was entered as thelower limit241a,and a value of “2” was entered as theupper limit241b(with theinclusive indicators241aand242bchecked). As shown in FIG. 4E, from the Attribute DefinitionComplete screen280, aUser20 may select theFinish button285 to enter the attribute definition into at least one dynamic database of definitions. AUser20 may optionally select theBack button290 to return to the previous screen, or may select the Cancelbutton295 to exit the Attribute Forms series.
Concept Forms Series[0082]
When a[0083]User20 initiates the Concept Forms series from themain menu100 by selecting the Define a Substance orProcess button110b(FIG. 3), aConcept Name screen300, an example of which is shown in FIG. 5A, may be displayed. As shown in FIG. 5A, aUser20 has the option of entering a concept name infield301, and then selecting theNext button305 to proceed to the next step of the Concept Forms series. Alternatively, aUser20 may select the Cancelbutton315 to exit the Concept Forms series. It should be noted that user input infield301 may determine the subsequent step in the Concept Forms series.
Entering a concept name in[0084]field301 and clicking theNext button305 may initiate the Select aBase Concept screen320, an example of which is shown in FIG. 5A. The Select aBase Concept screen320 may allow aUser20 to select a base concept from which a newly named concept will inherit attributes. This is especially useful in defining reactants and products of reactions. For example, in the reaction “A phosphorylates B”, theUser20 may define “A” and “B” using “protein” as the base concept. The concept “phosphorylated B” can then be defined using “B” as the base concept. A concept does not require a base concept. However, aUser20 may select one or more base concepts and then select theNext button325 to proceed to the next step of the Concept Forms series. Alternatively, aUser20 may select theBack button330 to return to the previous screen or the Cancelbutton335 to exit the Concept Forms series.
Upon selecting the[0085]Next button325, the Select Any ContainedConcepts screen340 may be displayed, an example of which is shown in FIG. 5C. The Select Any ContainedConcepts screen340 allows aUser20 to select one or more concepts which the concept named in the Select a Base Concept screen320 (FIG. 5B) is to contain. This feature may be used to create a “cell” or some other general cellular environment. As defined and described in more detail below, the concepts that are contained in a given cellular environment are assumed to be “available” to any biochemical pathway that involves the contained concepts.
Referring to FIG. 5C, if more than one of a selected contained concept is present within a given cellular environment, upon selecting the concept, the number present may be entered in[0086]Quantity field341. For example, a cell which includes a TNFR receptor complex may be defined as containing three TNFR concepts. AUser20 may select one or more contained concepts, enter the number of individual concepts contained inQuantity field341, and then select theNext button345 to proceed to the next step of the Concept Forms series. Alternatively, aUser20 may select theBack button350 to return to the previous screen or the Cancelbutton355 to exit the Concept Forms series.
Upon selecting the Next button[0087]345 (FIG. 5C), the Select any Excluded Concepts screen360 may be displayed, an example of which is shown in FIG. 5D. The Select any Excluded Concepts screen360 displays all concepts contained by the base concept, and thus is only utilized when a newly named concept inherits features from existing concepts. This Select anyExtended Concept screen360 is used to exclude specific concepts from the overall cellular environment. Again, aUser20 may select theNext button365 to proceed to the next step of the Concept Forms series, theBack button370 to return to the previous screen, or the Cancelbutton375 to exit the Concept Forms series.
Upon selecting the[0088]Next button365, if the newly named concept includes the “substance” attribute (which is true for the “substance” concept or any of its inherited concepts, like “protein”), the CustomizeConcept Appearance screen380 may be displayed, an example of which is shown in FIG. 5E. The appearance of the concept's graphical presentation may be customized in the CustomizeConcept Appearance screen380. The shape of the concept graphic may be selected from theShape Box382. The relative size of the concept graphic can be selected in theRelative Size Box383, or the up and downbuttons383aand383bmay be used to increase or decrease the relative size incrementally. The color of the concept graphic may be selected by selecting theColor button384.View Box381 may show the concept as it will appear, and may be updated after every change. AUser20 may select theNext button385 to proceed to the next step of the Concept Forms series, theBack button390 to return to the previous screen, or the Cancelbutton395 to exit the Concept Forms series.
When the[0089]Color button384 is selected, a standard Windows®color palette screen384amay be displayed, an example of which is shown in FIG. 5F. A basic color may be selected from theBasic Colors palette384b,or a custom color may be defined in theCustom Colors palette384cby manipulating parameters of Color Diagram384dand selecting theAdd button384e.Once the color is selected, theOK button384fmay be selected to return to the CustomizeConcept Appearance screen380 of the Concept Forms series. Alternatively, the Cancelbutton384gmay be selected to return to the CustomizeConcepts Appearance screen380 without defining a color.
Upon selecting the[0090]Next button385, the Assign Concept Attributes screen3000 may be displayed, an example of which is shown in FIG. 5G. Attributes associated with the newly named concept can be selected from the Assign Concept Attributes screen3000. If the newly named concept inherits concepts from a base concept, the inherited attributes may already be selected. Again, aUser20 may select theNext button3025 to proceed to the next step of the Concept Forms series, the Back,button3050 to return to the previous screen, or the Cancelbutton3075 to exit the Concept Forms series.
Upon selecting the[0091]Next button3025, the Assign Attribute Values screen3100 may be displayed, an example of which is shown in FIG. 5H. An attribute value may be defined by selecting an attribute from theAttribute Box3110, and entering a desired value in theValue Box3120. For example, selecting “comments” in theAttribute Box3110 may allow textual comments to be entered in theValue Box3120. If the attribute is an enumerated list, a list of allowed values for that attribute may be displayed in theValue Box3120 for selection. AUser20 may select theNext button3125 to proceed to the next step of the Concept Forms series, theBack button3150 to return to the previous screen, or the Cancelbutton3175 to exit the Concept Forms series.
Upon selecting the[0092]Next button3125, the Concept DefinitionComplete screen3200 may be displayed, an example of which is shown in FIG. 5I. The Concept DefinitionComplete screen3200 may show the STL code that may be produced from theUser20 selections. In the example shown in FIG. 5I, the following selections were made: “Sample Concept” was entered as the name (using the screen shown in FIG. 5A); “protein” was selected as the base concept (using the screen shown in FIG. 5B); “activators”, “comments”, “inhibitors”, “location”, “other databases” and “references” were selected as attributes (using the screen shown in FIG. 5G); values were assigned to “graphiccolor”, “graphicshape”, and “graphicsize” (using the screen shown in FIG. 5E); and the text string “this is a sample concept” was assigned to “comments” (using the screen shown in FIG. 5H). Once the concept definition is complete, the STL code may be compiled into the definitions database by selecting theFinish button3225. Alternatively, theBack button3250 may be selected to return to the previous screen, or the Cancelbutton3275 can be selected to exit the Concept Forms series without compiling the concept definition into the definitions database.
Event Forms Series[0093]
When a[0094]User20 selects Define aReaction110cfrom the main menu100 (FIG. 3), the Event Forms series may initiate to display an EnterEvent Description screen400, an example of which is shown in FIG. 6A. The Event Forms series may be used to define a new chemical reaction or relationship. As shown in FIG. 6A, aUser20 may have the option of entering an event description infield401, and then selecting theNext button405 to proceed to the next step of the Event Forms series. The event description is used for display only and is not parsed or translated by the Event Forms series. Alternatively, aUser20 may select the Cancelbutton415 to exit the Event Forms series. It should be noted that user input infield401 may determine the next step in the Event Forms series.
Upon selecting the[0095]Next button405, theSelect Reactants screen420 may be displayed, an example of which is shown in FIG. 6B. One or more reactants for the event may be selected from theSelection Box421. According to the present invention, reactants may be any concept required for a cellular reaction or biochemical pathway to proceed. In the case of a molecule binding to a receptor, for example, both the stimulus molecule and the receptor molecule are reactants and must be selected. If more than one of a given concept must be present for a reaction to proceed, that number may be entered in theQuantity Box422 after the concept is selected from theSelection Box421. AUser20 may select theNext button425 to proceed to the next step of the Event Forms series, theBack button430 to return to the previous screen, or the Cancelbutton435 to exit the Event Forms series.
Upon selecting the required reactants in[0096]Selected Box421, optionally entering a reactant quantity inQuantity Box422, and selecting theNext button425, theSelect Products screen440 may be displayed, an example of which is shown in FIG. 6C. One or more products from the reaction may be selected from theSelection Box441. The products are concepts produced by the process of the reaction. According to the present invention, processes (e.g., apoptosis and gene transcription) may be products. For example, when the process of the reaction is a molecule binding to a receptor, the product might be a bound or activated receptor. If the reaction produces more than one instance of a concept, that number can be entered into theQuantity Box442 after the product is selected. AUser20 may select theNext button445 to proceed to the next step of the Event Forms series, theBack button450 to return to the previous screen, or the Cancelbutton455 to exit the Event Forms series.
Selecting the[0097]Next button445 may initiate the Select Inhibitors screen460, an example of which is shown in FIG. 6D. One or more inhibitors for the reaction may optionally be selected from theSelection Box461. Inhibitors may be concepts whose presence in the cellular environment means that the reaction cannot proceed. If the reaction is inhibited by more than one instance of a concept, the quantity of concepts may be entered into theQuantity Box462 after the inhibitor is selected in theSelection Box461. AUser20 may select theNext button465 to proceed to the next step of the Event Forms series, theBack button470 to return to the previous screen, or the Cancelbutton475 to exit the Event Forms series.
Upon selecting the[0098]Next button465, the EnterReaction Structure screen480 may be displayed, an example of which is shown in FIG. 6E. The structure of the reaction, i.e., how the reaction components should interact, may optionally be defined from this screen. Reaction structure definitions are not required for the simulation of the reaction or cellular biochemical pathways in general, but instead may be utilized, for example, to define how the reactions will be textually and/or graphically displayed. To define a reaction structure, a process may be selected from theProcess Box481, the concept from which the process is applied may be selected from the Applied FromBox482, and the concept to which the process applies may be selected from theApplied To Box483. For example, when the process of the reaction is a molecule “A” binding to a receptor “B”, aUser20 may define the relationship “A binds to B” by selecting “A” in the Applied FromBox482, “binds to” in theProcess Box481, and “B” in the Applies ToBox483. TheAdd button484amay then be selected to add the reaction structure to theDescriptions List Box480a.Alternatively, a reaction structure definition may be removed from theDescriptions List Box480aby selecting the definition from theDescriptions List Box480aand clicking the Remove button484b.AUser20 may select theNext button485 to proceed to the next step of the Event Forms series, theBack button490 to return to the previous screen, or the Cancelbutton495 to exit the Event Forms series.
Upon selecting the[0099]Next button485 from the Enter Reaction Structure screen480 (FIG. 6E), the Enter Event Attributes screen4000 may be displayed, an example of which is shown in FIG. 6F. Certain event attributes may optionally be assigned from this screen if relevant. For example, the event duration (i.e., the amount of time required for the event to proceed) may be entered in theEvent Duration Box4010. Reactant mobility characteristics and post-reaction presence may also be assigned by selecting the reactant from theReactants List Box4020 and checkingMobility Box4030 and/orPost-Reaction Presence Box4040. Preferably, checking theMobility Box4030 communicates that the corresponding reactant will move toward another reactant or reactants when the reaction is simulated. Likewise, checking thePost-Reaction Presence Box4040 communicates that the corresponding reactant will be present after the reaction has occurred. AUser20 may select theNext button4050 to proceed to the next step of the Event Forms series, theBack button4060 to return to the previous screen, or the Cancelbutton4070 to exit the Event Forms series.
Selecting the[0100]Next button4050 from the Enter Event Attributes screen4000 (FIG. 6F) may initiate the Enter Event Contexts screen4100, an example of which is shown in FIG. 6G. Cellular environments may be specified from the Enter Event Contexts screen4100. Applicable cellular environments may comprise: (1) selecting, inPresent Box4110, cell types in which the reaction is present; or (2) selecting, in theAbsent Box4120, cell types in which the reaction is not present. If no cell types are selected inPresent Box4110 orAbsent Box4120, the reaction will be applied to all cellular environments. AUser20 may select theNext button4130 to proceed to the next step of the Event Forms series, theBack button4140 to return to the previous screen, or the Cancelbutton4150 to exit the Event Forms series.
Upon selecting the[0101]Next button4130, the Event DefinitionComplete screen4200 may be displayed, an example of which is shown in FIG. 6H. Preferably, the Event DefinitionComplete screen4200 shows the STL code that is produced from the user selections throughout the Event Forms series. Referring to FIG. 6H, for example, “adenosine binds to adenosine receptor” was entered as the description (using the screen shown in FIG. 6A), “adenosine” and “A2aR” were selected as reactants (using the screen shown in FIG. 6B), and “bound A2aR” was selected as the product (using the screen shown in FIG. 6C). A reaction description was entered with process “binds to” being applied from “adenosine” to “A2aR” (using the screen shown in FIG. 6E), “generic cell” was selected as the event context (using the screen shown in FIG. 6G) and theMobility Box4030 andPost-Reaction Presence Box4040 were checked (using the screen shown in FIG. 6F). When aUser20 selects theFinish Button4210, the STL code is preferably compiled into the definitions database. TheBack button4220 may be selected to return to the previous screen or the Cancelbutton4230 may be selected to exit the Event Forms series without compiling the concept definition into the definitions database.
STL Editor/Compiler[0102]
When Use STL Editor/[0103]Compiler110dis selected from the main menu100 (FIG. 3), the STL Editor/Compiler screen500 may be displayed, an example of which is shown in FIG. 7. The STL Editor/Compiler screen500 may be used to enter new definitions of attributes, concepts and events, to edit existing definitions, and compile changes to the definitions database. The STL Editor/Compiler may also be used to open a script file, enter new definitions or edit existing ones, compile the script to place the changes into the definitions database, and save the script changes. The script files represent an editable, user-readable representation of the definitions contained in the definitions database.
As shown in FIG. 7, in one embodiment of the invention, the menu options available from the STL Editor/Compiler may include[0104]File menu510,Edit menu520, andTools menu530. Action options within theFile menu510 may include New, Open, Save, Save As, and Exit using standard Windows dialogs or any other mechanism known in the art. Action options within theEdit menu520 may include Cut, Copy, and Paste functions.Such Edit menu520 options may be accomplished using any mechanism known in the art. Action options within theTools menu530 include Compile Script and Compile Incrementally functions.
The Compile Script function may compile the current script into the definitions database and replaces the previous entries in the definitions database. The Compile Incrementally function may compile the current script into the definitions database without replacing the previous entries in the definitions database. In a preferred embodiment, if script errors are detected, an error message may be displayed specifying the error that was found, and highlighting the area in the script where the error occurred. In this embodiment, a[0105]User20 may rebuild the complete definitions database by executing the Compile Script function to destroy the old database and add in basic definitions. Alternatively, aUser20 may execute the Compile Incrementally function to add user-defined definitions. A more detailed description of STL is printed below.
Pathway Forms Series[0106]
The Pathway Forms series may be used to specify the stimulus and context of a potential pathway. This process may start the[0107]Inference Engine14 and generate all possible pathways, applying all known reactions, until no new intermediate products are produced. The program may then display three views of the pathway: textual, static and dynamic. When aUser20 initiates the Pathway Forms series from themain menu100 by selecting the Generatepathway button110e(FIG. 3), a Choose a Context for thePathway screen600 may be displayed, an example of which is shown in FIG. 8A. As shown in FIG. 8A, theNext button605 will take you to the next step of the Pathway Forms series, theBack button610 will take you to the previous step, and the Cancelbutton615 will exit the Pathway Forms series.
As shown in FIG. 8A, the[0108]User20 may select a cellular context for a pathway. This may be a type of cell. Selecting aNext button605 may bring theUser20 to a Choose aPathway Stimulus screen700, an example of which is shown in FIG. 8B. The Choose aPathway Stimulus screen700 may allow theUser20 to choose one or more stimulus concepts. Stimulus concepts may be concepts that may be introduced to the cellular context selected in the Choose a Context for thePathway screen600 shown in FIG. 8A. TheUser20 may select concepts from theList Box701 to serve as stimuli. If more than one instance of a concept is required to generate a desired result, that number may be entered in theQuantity Box702.
Clicking the[0109]Next button705 may bring theUser20 to the Choose Pathway Intermediate(s) to Knock Outscreen800, an example of which is shown in FIG. 8C. If aUser20 wishes to test how a pathway is influenced by the absence of certain concepts, these concepts may be selected from in theList Box801. The selected concepts will be removed from the cellular context. Preferably, however, the selected concepts are only removed from the immediate corresponding pathway generation. Preferably, the selected concepts are not permanently removed from the pathway generation.
Clicking the[0110]Next button805 brings theUser20 to the Choose any Pathway Endpoints screen900, an example of which is shown in FIG. 8D. If theUser20 wishes the pathway to stop when a certain concept has been generated, such pathway endpoints may be selected inSelection Box901. This is useful in determining if a pathway intermediate is produced in complex pathways.
Clicking the[0111]Next button905 brings theUser20 to the Pathway DefinitionComplete screen1000, an example of which is shown in FIG. 8E. TheUser20 may click theFinish button1005 to initiate the display module, which will be explained in more detail below.
Display Module[0112]
A pathway may be displayed in a textual form, as shown in FIG. 9. FIG. 9 illustrates an example of a[0113]Textual Pathway window1100, which shows each reaction/event in the order that it was triggered. If there are more events than will fit on theTextual Pathway window1100, a scroll bar may appear to the right to scroll the output. The event(s) that is currently being displayed in the dynamic pathway may be highlighted. TheTextual Pathway window1100 may be sized independently, and may be closed without affecting program operation. In a further embodiment, theTextual Pathway window1100 may be ordered by pathway with a line between each pathway. In this embodiment, theUser20 has an option to order the events based upon paths or to order the events based upon a time stamp assigned to the path. Preferably, the displayed pathway may be highlighted as it occurs.
The pathway may also be displayed in a static, graphical form, as shown in FIG. 10A. FIG. 10A illustrates an example of a[0114]Static Pathway window1200, which shows a schematic diagram of the concepts involved and the reactions that occur. If the diagram extends beyond the confines of theStatic Pathway window1200, scroll bars may appear on the bottom and right. TheStatic Pathway window1200 may be sized independently, and may be closed without affecting program operation.
In one embodiment of the present invention, a pop-up menu of attributes may appear when the user clicks on a left mouse button on a concept. From the menu of attributes the[0115]User20 may choose from attributes such as “references” or “comments”. Choosing an attribute may activate a read-only version of the concept editor. The event editor may also be activated by clicking on the event arrow corresponding to an event.
In one embodiment of the present invention, if the[0116]User20 clicks a left mouse button outside of a concept, a pop-up menu may appear allowing theUser20 to “Cancel” the menu or “Print” the diagram. If theUser20 chooses to print, aPrint window1300 may appear, an example of which is shown in FIG. 10B. TheUser20 may make any changes desired, then click theOK button1305 to print the diagram.
The pathway may also be displayed as a dynamic animation, an example of which is shown in FIG. 11. FIG. 11 illustrates a[0117]Dynamic Pathway window1400, which shows an animation of the pathway against the backdrop of a “standard” cell. A shape represents each concept. The names of each concept are preferably displayed on the sides, with lines preferably drawn from the names to the concept shapes. The current elapsed time of the pathway may be displayed on the bottom right. TheDynamic Pathway window1400 may be sized independently, and may be closed Without affecting program operation.
If the pathway proceeds towards proliferation, apoptosis, differentiation, or other pre-determined events, the display may display the event name on the static display. Gene transcriptions may be represented by a standard symbol to the left of the nucleus, displaying the name of the gene or “gene” id, if it is not known.[0118]
As each event is reached in the animation, it may be highlighted in the Textual Pathway window[0119]1100 (FIG. 9).
In one embodiment of the present invention, if the[0120]User20 clicks the left mouse button on a concept, a pop-up menu of attributes may appear (such as “references”, “comments”) that theUser20 can choose from. Choosing an attribute may brings up a hyperlink window (FIG. 12). Choosing an attribute may also activate a read-only version of the concept editor. The event editor may also be activated by clicking on the event arrow corresponding to an event.
In one embodiment of the present invention, if the[0121]User20 clicks the left mouse button outside of a concept, a pop-up menu may appear that allows theUser20 to “Cancel” the menu, “Run” the animation, “Stop” the animation, “Restart” the animation from the beginning, or change the “Speed” of the animation. The animation may be stopped and started using “Run” and “Stop”, and choosing “Speed” preferably brings up another menu of speeds from 1 (slowest) to 10 (fastest). TheUser20 may also choose the views desired from a pathway generator menu. For example, theUser20 may choose to display only the static and textual displays and those displays may be maximized upon activation of the system of the present invention.
Choosing an attribute may activate a read-only version of the concept editor. The event editor may also be activated by clicking on the event arrow corresponding to an event. Any text marked as a hyperlink (e.g., blue and underlined) will preferably bring up a Web browser to display information from the Internet when chosen by the user.[0122]
As illustrated in FIG. 13, Enter User Name and[0123]Password window5100 is an example of a user login screen which may be used in the present invention. In this embodiment, aUser20 may be required to enter a user login ID and password. The user login ID and password may be maintained by a client. AUser20 may press theOK button5102 to communicate the entered user login ID and password to the client. The user login ID and password may be authenticated against security information stored in a database of the client..
In an embodiment of the present invention, a preferred static display of pathways is as shown in[0124]window5110 in FIG. 14.Window5110 may show feedback loops. Feedback loops may be points in pathways in which the pathway regulates itself by feeding back to an original point in the pathway. AUser20 may print the display to a file or directly to a printer. AUser20 may select concepts or events and view all of the data associated with the selected concept or event.
In an embodiment of the present invention, a preferred dynamic display of pathways is as shown in[0125]window5120 in FIG. 15.
In an embodiment of the present invention, a preferred textual display is as shown in[0126]window5140 andWindow5130 in FIG. 16 and FIG. 17, respectively. As shown inwindows5130 and5140, the textual display may display the user entered initial conditions including user name, pathway type, context, stimulus, exclusions and endpoints. The textual display may be outputted to a file and/or printed. The textual display may be organized in several different ways. For example,window5130 shows the textual display ordered by the pathway that occurs in the static display. In contrast,window5140 shows the textual display ordered as they occur in time steps.
FIG. 18 illustrates a[0127]Pathway Generator window5150 of the present invention. ThePathway Generator window5150 may be the main window after the Enter User Name andPassword window5100. The user login ID entered in the Enter User Name andPassword window5100 may be displayed may be displayed inbox5151 of thePathway Generator window5150. In thePathway Generator window5150, aUser20 may choose from at least two pathway types. For example, aUser20 may select ForwardPathway radio button5152 to execute a forward pathway. Alternatively, aUser20 may select ReversePathway radio button5153 to execute a reverse pathway. AUser20 may select a cell from the CellType list box5154 by highlighting a cell and selecting theEnable button5155. This may load the cell into theCell Type window5156. In an embodiment of the present invention, a cell must be chosen and only one cell may be chosen.
A[0128]User20 may choose a stimulus or stimuli when running the forward pathway generation and may choose a stimulus/stimuli when running the reverse pathway generation. AUser20 may choose a stimulus or stimuli by selecting theStimuli Search button5158. Upon selecting theStimuli Search button5158, aUser20 may be presented with the Search forStimulus window5180 shown in FIG. 19. If aUser20 selects a stimulus/stimuli, the corresponding information may be displayed in theStimulus window5157. AUser20 may choose to delete a given stimulus by selecting a stimulus in theStimulus window5157 and subsequently selecting theDelete button5159.
A[0129]User20 may choose a concept knockout when running the forward pathway generation or reverse pathway generation. AUser20 may choose to search all available concept knockouts by selecting theKnockout Search button5161. Upon selecting theKnockout Search button5161, aUser20 may be presented with the Search forConcepts window5190 shown in FIG. 20. If aUser20 selects a knockout concept, the corresponding information may be displayed in theConcept Knockout window5160. AUser20 may choose to delete a given concept knockout by selecting a concept knockout in theConcept Knockout window5160 and subsequently selecting theDelete button5162.
A[0130]User20 may choose a pathway endpoint when running the forward pathway generation or reverse pathway generation. AUser20 may choose to search all available pathway endpoints by selecting theEndpoint Search button5164. Upon selecting theKnockout Search button5164, aUser20 may be presented with the Search forPathway Endpoints window5200 shown in FIG. 21. If aUser20 selects a pathway endpoint, the corresponding information may be displayed in the Pathway Endpoints window5163. AUser20 may choose to delete a given pathway endpoint by selecting a pathway endpoint in the Pathway Endpoints window5163 and subsequently selecting theDelete button5165.
A[0131]User20 may choose to exclude certain information from the pathway generation by selecting the EventExclusion Criteria button5166. If aUser20 selects the EventExclusion Criteria button5166, an EventExclusion Criteria window5210 may be presented as shown in FIG. 22. Any criteria entered by aUser20 in the EventExclusion Criteria window5210 may be displayed in the EventExclusion Criteria box5167. AUser20 may clear the EventExclusion Criteria box5167 by selecting the Clear button5168. AUser20 may execute the pathway based on the selected information by selecting theRun CellTek button5169. AUser20 may clear all information in thePathway Generator window5150 by selecting theClear All button5170. AUser20 may exit thePathway Generator window5150 by selecting theExit CellTek button5171. In a preferred embodiment, aUser20 may save the pathway conditions from a given pathway to a file. AUser20 may also open information previously saved in thePathway Generator window5150.
As shown in FIG. 19, a[0132]User20 may enter a full text search for information by entering the full text into theQuery String field5181, selecting the Full StringSearch check box5182, and subsequently selecting theSearch button5183. AUser20 may also enter partial string searches by deselecting the Full StringSearch check box5182, entering the partial search information into theQuery String field5181, and subsequently selecting theSearch button5183. Upon selection of theSearch button5183, the results of the search are displayed in theResult box5184. AUser20 may choose to use the searched information by selecting the given information in theResult box5184 and subsequently selecting theOK button5185. The selected information will then be moved to a corresponding location in thePathway Generator window5150. AUser20 may also select the Cancelbutton5186 to return to thePathway Generator window5150. When aUser20 is finished using the Search forStimulus window5180, aUser20 may select theExit button5187 to return to thePathway Generator window5150.
FIG. 22 illustrates an Event[0133]Exclusion Criteria window5210. AUser20 may expand the EventExclusion Criteria window5210 by selecting theMore button5211. Expansion of the EventExclusion Criteria window5210 allows theUser20 to enter more information. AUser20 may select a pre-defined field to exclude data by selecting from a list in theField fist5212. The pre-defined fields may include references, experiment temperature, assays and species. AUser20 may also choose a selection in theQualifier list5213. TheQualifier list5213 may include equal to, not equal to, less than, greater than, less than or equal to, or greater than or equal to. The options presented in theValues box5214 may be dependent upon the selection made in theField list5212. AUser20 may search for values in theDatabase80 using theSearch button5215. TheOperator button5216 may be a link between multiple rows of event exclusion criteria and may include AND or OR. AUser20 may enter information by selecting theOK button5217. Upon selecting theOK button5217, the EventExclusion Criteria window5210 may close and entered information may be transferred to thePathway Generator window5150. Alternatively, aUser20 may close the EventExclusion Criteria window5210 without transferring the information by selecting the Cancelbutton5218.
FIG. 23 illustrates a[0134]Concept Editor window5220. TheConcept Editor window5220 may be displayed when aUser20 edits concept information or view information from a static display as a read-only display. AUser20 may search for a reference by selecting aSearch button5221. TheSearch button5221 may open a Search forReference window5260. Upon selection of a reference, the reference information may be displayed in anActive Reference box5222. If a reference is active (e.g., the refernce is relevant to all entered information), the reference may be indicated with a check mark in theActive check box5223. In an embodiment of the present invention,User20 must have an active reference to enter information into theDatabase80. AUser20 may search for concepts by selecting theSearch button5270. TheSearch button5270 may present the Search for Concepts window5190 (FIG. 20). Alternatively, aUser20 may enter a new concept by selecting aNew button5225. Upon selection of theNew button5225, the NewConcept Name window5280 may be presented. AUser20 may delete a concept by selecting aDelete button5226. AUser20 may indicate if the concept is transportable by enabling theTransportable check box5256. AUser20 may select a class for a given concept by entering the class from a list of classes presented inClass box5227.
A[0135]User20 may accept the selected class by selecting the Acceptbutton5228. AUser20 may also view a detailed listing of all class information by selecting aClass button5229. Upon selection of theClass button5229, a ClassConcepts Hierarchies window5290 may be presented. As shown in FIG. 27, the ClassConcepts Hierarchies window5290 may show all of the class information. AUser20 may refresh theConcept Editor window5220 by selecting theRefresh button5230. AUser20 may also Add, Edit, or Delete names by selectingbutton5231,5232, or5233, respectively, subsequent to selecting a given name in theNames window5235. Upon selection of a name in theNames window5235, the selected name may be displayed in theName Text box5234 and a drop down list may be displayed with the name type below theName Text box5234.
A[0136]User20 may cancel the active name by selecting the Cancelbutton5255. AUser20 may choose to associate a concept with an organism by selecting the Add/Change button5236, if an active relationship exists. Corresponding organism information may be displayed in theOrganism window5238. AUser20 may delete information by selecting the information in theOrganism window5238 and subsequently selecting theDelete button5237. AUser20 may expand the concept from another concept by selecting the Add/Change button5239, if an active relationship exists. The expanded information may be displayed in the ExpandsConcept window5241. AUser20 may delete information by selecting given information in the ExpandsConcept window5241 and subsequently selecting theDelete button5241. AUser20 may join a concept with another concept by selecting the Add/Change button5242, if an active relationship exists. The joined information may be displayed in the JoinsConcept window5244. AUser20 may delete information by selecting the given information in the JoinsConcept window5244 and subsequently selecting theDelete button5243.
A[0137]User20 may add primitive attributes to a concept by selecting thePrimitive button5245. Upon selection of thePrimitive button5245, aPrimitive Attributes window5300 may be presented, as shown in FIG. 28. AUser20 may choose to search references by selecting theReferences button5246. Upon selection of theReferences button5246, aReferences window5360 may be presented, as shown in FIG. 34. AUser20 may choose to add contains information to a concept (e.g., a container) by selecting the Containsbutton5247. Upon selection of the Containsbutton5247, the Containswindow5310 may be presented, as shown in FIG. 29. AUser20 may choose to add database information to a concept by selecting the DB/UI button5248. Upon selection of the DB/UI button5248, theExternal Databases window5370 may be presented, as shown in FIG. 35. AUser20 may choose to add anatomic attributes to a concept by selecting theAnatomic button5249. Upon selection of theAnatomic button5249, an Anatomic Attributeswindow5330 may be presented, as shown in FIG. 31. AUser20 may choose to add scope notes to a concept by selecting theScope button5250. Upon selection of theScope button5250, aScope Notes window5380 may be presented, as shown in FIG. 36. AUser20 may choose to add molecular attributes to a concept by selecting theMolecular button5251. Upon selection of theMolecular button5251, a Molecular Attributeswindow5340 may be presented, as shown in FIG. 32. AUser20, may choose to add editorial notes to a concept by selecting theEditorial button5252. Upon selection of theEditorial button5252, anEditorial Comments window5390 may be presented, as shown in FIG. 37. AUser20 may choose to add reagents to a concept by selecting theReagents button5253. Upon selection of theReagents button5253, aReagents window5350 may be presented, as shown in FIG. 33. AUser20 may choose to associate the active concept with an event by selecting theEvents button5254. Upon selection of theEvents button5254, anEvents Editor window5400 may be presented, as shown in FIG. 38.
FIG. 24 illustrates a Search for[0138]Reference window5260. The Search forReference window5260 may allow aUser20 to perform partial searches on reference information. AUser20 may enter author information in theAuthor text box5262. AUser20 may enter reference titles in theTitle text box5263. AUser20 may enter publication year in theYear text box5264. AUser20 may enter the distinct reference PMID in thePMID text box5265. AUser20 may select theSearch button5266 to search based on the entered information. All information queried from theDatabase80 corresponding to the given criteria may be displayed in theResults window5268. AUser20 may select a reference in theResults window5268. Upon selection of a reference in theResults window5268, the full reference information may appear in the FullReference Information window5269. AUser20 may choose to make a reference active by selecting the MakeActive button5267.
FIG. 25 illustrates a Search for[0139]Concept Name window5270. The Search forConcept Name window5270 may operate in a manner similar to the Search for Stimulus window5180 (FIG. 19), the Search for Concepts window5190 (FIG. 20), or the Search for Pathway Endpoints window5200 (FIG. 21).
FIG. 26 illustrates a New[0140]Concept Name window5280. The NewConcept Name window5280 may be used to enter a new concept. An active concept may be displayed in theConcept window5281. AUser20 may enter a new concept name in theConcept box5282. AUser20 may search for duplicate names by pressing the Validatebutton5283. If a name is not a duplicate, the Validatebutton5283 may not be selected by aUser20. If a name is a duplicate, an error message may be displayed to theUser20. AUser20 may accept the new name by selecting the Acceptbutton5284. AUser20 may exit the NewConcept Name window5280 by selecting theExit button5285.
FIG. 27 illustrates a Class[0141]Concepts Hierarchies window5290. The ClassConcepts Hierarchies window5290 may be used to establish a class relationship to a concept. AUser20 may view the various class by browsing through the hierarchies in theHierarchies window5294. AUser20 may choose a relation by selecting theRelations button5291. AUser20 may make the relationship active by selecting theActive button5292. AUser20 may refresh theHierarchies window5294 by selecting theRefresh button5293.
FIG. 28 illustrates a[0142]Primitive Attributes window5300. ThePrimitive Attributes window5300 may be used to assign primitive attributes to a concept. For example, aUser20 may assign values for display to a concept. AUser20 may also indicate whether a concept is a stimulus. AUser20 may add the entered primitive attributes to the concept by selecting the Add button5301. AUser20 may refresh the Primitive Display box5305 by selecting the Refresh button5303.
FIG. 29 illustrates a Contains[0143]window5310. The Containswindows5310 may be used for showing containment of concepts in cellular context (e.g., cells, cell structures, etc.). AUser20 may search for concepts to add to a cellular context. AUser20 may initiate a search by selecting the Search button5311. Upon selecting the Search button5311, aUser20 may be presented with a search dialog and/or search results. Concept search results may be selected by aUser20 for containment in the cellular context. Such selected concepts may be displayed in the Contains Concept box5316. Similarly, aUser20 may select concepts to exclude from the cellular context. Such concepts may be displayed in the Excludes Concepts box5319. AUser20 may also locate concepts to contain in or exclude from the cellular contexts by utilizing a batch query as discussed in reference to FIG. 30.
FIG. 30 illustrates a[0144]Query window5320. AUser20 may utilize theQuery window5320 to execute a batch import of concepts in the Contains Concept box5316 or the Excludes Concepts box5319. AUser20 may choose to include or exclude an organism by selecting Include button5321 or Exclude button5322, respectively. AUser20 may choose to include or exclude an anatomic by selecting Include button5323 or Exclude button5324, respectively. After selecting the appropriate include or exclude radio button, aUser20 may choose organism specific information by selecting the Query button5325, selecting the desired concepts, and selecting the Add button5326. Similarly, aUser20 may choose anatomic information by setting up a search by selecting the desired contextual limitations (e.g., developmental stage, organ, tissue, cell type, etc.) and search term connectors (e.g., AND, OR, etc.). AUser20 may execute the search by selecting the Query button5327. AUser20 may select class information by selecting the Query button5328 to find concepts, selecting the desired concepts and then selecting the Add button5329. If aUser20 wishes a class to be displayed with all sub-classes or inherited classes, aUser20 may select the Expand check box5321a.AUser20 may execute individual queries for an organism, anatomic or class by selecting the corresponding query button. AUser20 user may execute a combination query for an organism, anatomic and/or class by selecting the Combination Query button5321b.The Display box5321cmay display all information resulting from any searches or queries. AUser20 may send information displayed in the Display box5321cto the Contains Concept box5316 or the Excludes Concepts box5319 by selecting the information and selecting the To Contains button5321e.AUser20 may search for general concepts by selecting the Search button5321d.
FIG. 31 illustrates an Anatomic Attributes[0145]window5330. AUser20 may use the Anatomic Attributeswindow5330 to associate anatomic information (e.g., organ, tissue, cell line, etc.) with a concept. The Top Display window5331 displays information regarding an active reference. An active reference is a reference associated with a given concept. When new information is added to a concept, a new reference may be added. New reference information may be displayed in an Active ID Reference box5333. Line item information for a new reference may be displayed in the Line Item Display box5332. The Add/Change buttons5334,5336,5338 and5335 may be used to add and/or change information regarding developmental stage, organ, tissue and/or cell type. When aUser20 selects the Accept button5339, information entered through the Anatomic Attributeswindow5330 is validated and entered into theDatabase80.
FIG. 32 illustrates a Molecular Attributes[0146]window5340. AUser20 may use the Molecular Attributeswindow5340 to associate molecular information with a concept. The Top Display window5341 may display information regarding an active reference. The Member of Gene/Protein Family window5342 displays information regarding membership of a reference or concept in a gene or protein family. The Has a Prototype Homolog window5343 displays information regarding prototype homologs a reference or concept may have. AUser20 may select Domains radio button5344, Motifs radio button5345, Post-Translational Modifications radio button5346, Activated By radio button5347 or Inhibited By radio button5348 to display corresponding Active ID information in Active ID Display box5349. The References box5349emay display more detailed reference information regarding the Active ID information corresponding to select Domains radio button5344, Motifs radio button5345, Post-Translational Modifications radio button5346, Activated By radio button5347 or Inhibited By radio button5348.
FIG. 33 illustrates a[0147]Reagents window5350. Top Display window5351 may display information regarding an active reference. When aUser20 selects the Add button5355, theUser20 may be prompted to enter a reagent name. Upon entering a reagent name, the reagent name may be displayed in Middle Display window5352. AUser20 may add references associated with each reagent in Bottom Display window5353 by selecting a given reference displayed in Bottom Display window5353 and subsequently selecting the Add button5355.
FIG. 34 illustrates a[0148]References window5360. TheReferences window5360 may display references associated with a given concept. AUser20 may choose to activate a reference by selecting a reference from a list of references and subsequently selecting an Add Active button5364. In the embodiment illustrated in FIG. 34, aUser20 may select a To ‘Search’ button5363 to jump to the Search for Reference window260 (FIG. 24).
FIG. 35 illustrates an[0149]External Databases window5370. AUser20 may utilize theExternal Databases window5370 to identify external databases for use by theInference Engine14. These external databases may be utilized by theInference Engine14 in conjunction with theDatabase80. AUser20 may also utilize theExternal Databases window5370 to identify unique identifiers associated with a concept.
FIG. 36 illustrates a[0150]Scope Notes window5380. AUser20 may associate scope notes with a concept by entering the scope notes and selecting the Add button5386. When aUser20 enters scope notes, selects the Add button5386 and selects the Exit button5382, the entered scope notes may be displayed in the Upper Display window5387. Line item information may be displayed in Lower Display window5381. AUser20 may select a line item in Lower Display window5381. Subsequently, aUser20 may select an Edit button5385 to edit the selected line item. AUser20 may also select a Delete button5384 to delete the selected line item.
FIG. 37 illustrates an[0151]Editorial Comments window5390. AUser20 may associate editorial comments with a concept by entering the editorial comments and selecting the Add button5396. When aUser20 enters editorial comments, selects the Add button5396 and selects the Exit button5392, the entered editorial comments may be displayed in the Upper Display window5397. Line item information may be displayed in Lower Display window5391. AUser20 may select a line item in Lower Display window5391. Subsequently, aUser20 may select an Edit button5395 to edit the selected line item. AUser20 may also select a Delete button5394 to delete the selected line item.
FIG. 38 illustrates an[0152]Event Editor window5400. AUser20 may utilize theEvent Editor window5400 to enter information associated with events. Active Reference window5401 may display an active reference. Event window5402 may display the list of events associated with the active reference. AUser20 may add an event by selecting the New Event button5400a.AUser20 may search for an event by selecting Search Event button5408. Upon selection of the Search Event button5408, the Search forEvent Name window5405 may be presented. Names window5403 may display names and types of events. AUser20 may add or edit the names in Names window5403 by entering information into Text window5404. In an embodiment of the present invention, aUser20 must enter relevant information into the Requireswindow5405 and the Produces window5406. AUser20 may associate an event with a controversy flag by selecting the Controversy Flag check box5407. AUser20 may select concepts by which the event is inhibited by selecting the Add button5400b.AUser20 may also select where an event occurs by adding location information to a Cellular Location window5400c.AUser20 may select a variety of different attributes to be associated with the event by selecting Constants button5400d,Attributes button5400e,References button5400f,Editorial button5400g,Experimental button5400h,Containers button5400i,DB/UI button5400j,or Scope button5400k.
Upon selecting Constants button[0153]5400d,aUser20 may be presented with Biochemical Constants window5410 (FIG. 40). Upon selecting Attributes button5400e,aUser20 may be presented with Event Attributes window5420 (FIG. 41). Upon selecting Experimental button5400h,aUser20 may be presented with Experimental Conditions window5430 (FIG. 42). Upon selecting References button5400f,aUser20 may be presented with References window5360 (FIG. 34). Upon selecting Editorial button5400g,aUser20 may be presented with Editorial Comments window5390 (FIG. 37). Upon selecting DB/UI button5400j,aUser20 may be presented with External Databases window5370 (FIG. 35). Upon selecting Scope button5400k,aUser20 may be presented with Scope Notes window5380 (FIG. 36). Upon selecting Search Concepts button5400l,aUser20 may be presented with Search for Concept Name window270 (FIG. 25).
FIG. 39 illustrates a Search for[0154]Event Name window5405. The Search forConcept Name window5405 may operate and be utilized in a manner similar to the Search for Stimulus window5180 (FIG. 19), the Search for Concepts window5190 (FIG. 20), or the Search for Pathway Endpoints window5200 (FIG. 21).
FIG. 40 illustrates a[0155]Biochemical Constants window5410. Active Reference window5411 may display an active reference. AUser20 may enter a maximum velocity in Vmax window5412. AUser20 may enter a Michaelis constant in Km window5413. AUser20 may enter an equilibrium constant in Keq window5414. AUser20 may enter a dissociation constant in Kd window5415. AUser20 may indicate that all constants are known by selecting Completed Constants check box5416. Kinetic Display check box5417 may be selected to indicate that the forward and reverse kinetic constants are known. AUser20 may enter a reverse kinetic constant in Reverse Rate window5418. AUser20 may enter a forward kinetic constant in Forward Rate window5419. Upon selection of Accept button5410a,information entered inBiochemical Constants window5410 may be validated and entered inDatabase80.
FIG. 41 illustrates an[0156]Event Attribute window5420. An event name may be displayed in Event Name window5421. AUser20 may add attributes to the event in the Has Attributes window5422. AUser20 may add test attribute conditions to the event by selecting Add button5420a.AUser20 may add information that modifies an attribute of an event by selecting the Add button5420b.AUser20 may add information that applies to an event by selecting the Add button5420cassociated with the Applies Process window5420d.
FIG. 42 illustrates an[0157]Experimental Conditions window5430. Active Reference window5431 may display an active reference. Line items for all of the experimental condition information and associated reference IDs may be displayed in Experimental Conditions Display window5432. When aUser20 selects a line item in Experimental Conditions Display window5432, appropriate reference information may be displayed in Reference window5433. When aUser20 searches for an assay using Add/Change button5430b,a corresponding assay name may be displayed in Assay Name window5434. When aUser20 searches for a preparation type using Add/Change button5430c,a corresponding event preparation type may be displayed in Sample Preparation Type window5435. Assay Description window5436 may display an assay description. Assay Buffer window5437 may display assay buffer information. Temperature window5438 may display the experimental temperature. The information entered into theExperimental Conditions window5430 may be verified and entered into theDatabase80 by selecting the Accept button5430a.
FIG. 43 illustrates an Excluded[0158]window5440. The Excludedwindow5440 may be displayed upon selection of the Containers button5400i(FIG. 38). AUser20 may utilize the Excludedwindow5440 to select containers from which the event is excluded. AUser20 may search for a given container upon selecting Search button5440a.AUser20 may add a given container by selecting the Add button5440b.
STL Shell[0159]
Examples are now presented for demonstration of grammar and representation only. Statements may have no basis in scientific fact.[0160]
Attributes: Attributes are used to annotate concepts and events. They are placeholders that represent information that can be assigned to a concept or an event. The mass of an object, the color of a protein on the screen, and all of the parameters that define how an object will move are all described by attributes.[0161]
The formal specification for defining an attribute is as follows:[0162]
ATTRIBUTE <attribute name> IS [ANY] [INTEGER|REAL|TEXT|OF] [<value list>] [FROM [EXACTLY] <number> TO [EXACTLY] <number>] [INCLUSIVE].[0163]
The grammar in square brackets [ ] is optional.[0164]
Some specific examples of definitions (with explanations):[0165]
Attribute “mass” is any real.[0166]
This statement defines an attribute called “mass” that can equal any real (decimal) number.[0167]
Attribute “abstract” is any text.[0168]
This statement defines an attribute called “abstract” that can equal any text.[0169]
Attribute “location” is any of “membrane-bound”, “extracellular”, “cytoplasmic”.[0170]
This statement defines an attribute called “location” that can have any one of the values “membrane-bound”, “extracellular” or “cytoplasmic”.[0171]
Attribute “color” is any integer from 1 to 10 inclusive.[0172]
This statement defines an attribute called “color” that can have any integral value greater then or equal to 1, and less than or equal to 10. The “inclusive” keyword means that both the from-value and the to-value can be equal to their limits—a shorthand way of stating from exactly 1 to exactly 10.[0173]
Attribute “weight” is any real from 0.3.[0174]
This statement defines an attribute called “weight” that can have any real value greater than 0.3.[0175]
Attribute “height” is any real to exactly 14.3.[0176]
This statement defines an attribute called “height” that can have any real value less than or equal to 14.3.[0177]
Some of the attributes will be used by the[0178]Simulation Module10 to determine whether or not a reaction will proceed. Most attributes will be used by the dynamic graphic display of theSimulation Module10 to determine how the events will be represented on the screen. Attributes can also be used to store information about the concepts for hyperlinks and other data displays:
The following is a list of attributes that may be directly used by the system and method of the present invention.[0179]
Attribute Name, Purpose[0180]
Substance: Any concept that has this attribute will be listed as a substance in certain lists in the Concept, Event and Pathway wizards. Does not require any particular value to be assigned.[0181]
Process: Any concept that has this attribute will be listed as a process in the Process list in the Event wizard. Does not require any particular value to be assigned.[0182]
Structure: Any concept that has this attribute will be listed as a “structure” (cell or cellular component) in certain lists in the Concept, Event and Pathway wizards. Does not require any particular value to be assigned.[0183]
Duration: Assigned to an event, determines the length of time in seconds the event requires to proceed. May be a decimal number.[0184]
Graphicshape: Assigned to a concept, determines the shape of the concept in graphical presentation. Enumerated list with the following elements: none, triangle, square, circle.[0185]
Graphicsize: Assigned to a concept, determines the relative size of the concept in graphical presentation. Number from 1 to 100.[0186]
Graphiccolor: Assigned to a concept, determines the color of the concept in graphical presentation. Long integer in RGB format.[0187]
Location: Assigned to a concept, determines the starting cellular location of the concept in the dynamic graphical presentation. Enumerated list with the following elements: MB (membrane bound), Cyt (cytoplasmic), Comp (complexed), Nuc (nuclear), EC (extracellular) and ER (endoplasmic recticulum).[0188]
Mobile: Assigned to an event, determines which reactant(s) in the event will move in the dynamic graphical presentation. Consists of a string of ‘Y’ or ‘N’ characters, ‘Y’ means will move and ‘N’ means won't move. The characters are given in the order that the reactants are listed.[0189]
Postevent: Assigned to an event, determines which reactant(s) in the event will remain visible after the event is over in the dynamic graphical presentation. Consists of a string of ‘Y’ or ‘N’ characters, ‘Y’ means will be visible and ‘N’ means won't be visible. The characters are given in the order that the reactants are listed.[0190]
Stimulus: Any concept that has this attribute will be listed as a stimulus in the Stimulus list in the Pathway wizard. Does not require any particular value to be assigned.[0191]
Every substance or process is represented by a concept. Concepts can be defined as special types of other concepts, and can contain other concepts. Concepts can be assigned attributes, and may assign values to their attributes.[0192]
Concepts: The formal specification for defining a concept is as follows:[0193]
CONCEPT <concept name> [EXPANDS <base concept>[;]] [CONTAINS <concept list>[;]] [EXCLUDES <concept list>[;]] [JOINS <concept list>[;]] [HAS <attribute list>[;]] [SETS <attribute assignment list>].[0194]
The grammar in square brackets [ ] is optional.[0195]
Some specific examples of definitions (with explanations):[0196]
Concept “object” has “mass”, “size”.[0197]
This statement defines a concept called “object” to which the attributes “mass” and “size” have been assigned.[0198]
Concept “protein” expands “object”.[0199]
This statement defines a concept called “protein” as a specific type of “object”. The “protein” concept inherits the attributes of “object”, therefore it has attributes “mass” and “size” associated with it automatically.[0200]
Concept “TNFR” expands “protein”; has “abstract”; sets “mass”=30, “abstract”=“abstract of TNFR”.[0201]
This statement defines a concept called “TNFR” as a specific type of “protein”. It inherits the attributes of a “protein”, and therefore automatically has “mass” and “size” attributes. It gives itself an “abstract” attribute (documentation of the protein). It sets its “mass” attribute to 30 (for the time being, we will use normalized values for physical attributes), and its “abstract” to the text “abstract of TNFR”.[0202]
Concept “generic cell” expands “object”; contains “nucleus”, “mitochondria”, “cell membrane”; excludes “RAF”; sets “size”=40.[0203]
This statement defines a concept called “generic cell” as a specific type of “object”. It inherits “mass” and “size” attributes from “object”. It defines itself as a wrapper around the concepts “nucleus”, “mitochondria”, and “cell membrane”, and sets its “size” to 40. It prevents the inheritance of the “RAF” concept from any of its child concepts. Concepts that contain other concepts do not inherit attributes from the concepts they contain.[0204]
Concept “Active FADD” expands “protein”; joins “active”, FADD”.[0205]
This statement defines a concept called “Active FADD” as a specific type of protein. It inherits the attributes of a protein, and joins together the concepts “active” and “FADD”. Concepts that represent conjoined concepts inherit attributes from the concepts they contain. Conjoined concepts currently have little utility, in the present invention; activated proteins are represented as inheriting from the inactivated forms:[0206]
Concept “active FADD” expands “FADD”.[0207]
The events determine which concepts react, what concepts are produced as a result, the processes that occur within the reaction, and what determines whether or not the reaction will proceed.[0208]
Events: The formal specification for an event is as follows:[0209]
EVENT <event name> REQUIRES <concept list>[;] [TESTS <attribute> OF <concept> {EQUAL TO|LESS THAN|GREATER THAN} <attribute> OF <concept>[;]] [APPLIES <concept> FROM <concept> TO <concept>[;] ] [PRODUCES <concept list>[;]] [INHIBITED BY <concept list>[;]] [PRESENT IN <concept list>[;]] [ABSENT IN <concept list>[;]] [HAS <attribute list>[;]] [SETS <attribute assignment list>].[0210]
The grammar in square brackets [ ] is optional.[0211]
Some examples of definitions (with explanations):[0212]
Event “Three molecules of TNF binds to and trimerizes TNFR”[0213]
Requires “TNF”, “TNF”, TNF”, “TNFR”, “TNFR”, “TNFR”;[0214]
Applies “binds to” from “TNF” to “TNFR”;[0215]
Applies “trimerizes” from “TNF” to “TNFR”;[0216]
Produces “Trimer of TNFR”;[0217]
Has “duration”;[0218]
Sets “duration”=10.[0219]
This statement defines an event that requires three instances of the “TNFR” concept and three instances of the “TNF” concept to proceed. It produces the concept “Trimer of TNFR”, and requires a “duration” of 10 to do so. It performs the reaction by applying the “binds to” and “trimerizes” concepts from “TNF” to “TNFR”. (The purpose of the ‘applies’ clause is to break the reaction into pieces to describe the process to the static presentation engine.)[0220]
Event “GTP displaces GDP and activates heterotrimeric Gs protein”[0221]
Requires “GTP”, “GDP-bound heterotrimeric Gs protein”;[0222]
Tests “concentration” of “GTP” greater than “concentration” of “GDP”;[0223]
Produces “active heterotrimeric Gs protein”, “GDP”.[0224]
This statement defines an event that requires “GTP” and “GDP-bound heterotrimeric Gs protein” to proceed. It produces the concepts “GDP” and “active heterotrimeric Gs protein”. It tests that the attribute “concentration” of concept “GTP” is numerically greater than the attribute “concentration” of concept “GDP”, and if so, permits the reaction to take place. No processes are specified, so if this event occurs it will not be fully animated. No duration is specified, so the animation engine will assign it a default reaction time of 5 seconds.[0225]
Event “Adenylyl cyclase converts ATP to cAMP and Pi”[0226]
Requires “Adenylyl cyclase”, “ATP”;[0227]
Applies “converts ATP to” from “adenylyl cyclase” to “ATP”;[0228]
Present In “generic cell”;[0229]
Produces “cAMP”, “Pi”.[0230]
This statement defines an event that requires “adenylyl cyclase” and “ATP” to proceed. It produces the concepts “cAMP” and “Pi”. It will only occur in a “generic cell” context. It performs the reaction by applying the “converts ATP to” concept from “adenylyl cyclase” to “ATP”. (This may be an area of some contention as to which concept “performs” the action and which concept it is “performed on”. Naturally, the most scientifically appropriate definition of the process should be used if it is known.)[0231]
Event “TRADD binds to and activates TRAF2”[0232]
Requires “active TRADD”, “TRAF2”;[0233]
Inhibited by “FADD”;[0234]
Absent In “liver cell”;[0235]
Applies “binds to” from “TRADD” to “TRAF2”;[0236]
Applies “activates” from “TRADD” to “TRAF2”;[0237]
Produces “active TRAF2”.[0238]
This statement defines an event that requires “active TRADD” and “TRAF2” to proceed. It produces that concept “active TRAF2”. It performs the reaction by applying “binds to” and “activates” from “TRADD” to “TRAF2”. The reaction will not occur if the concept “FADD” is present. The reaction will not occur in a liver cell (but will occur in every other type of cell).[0239]
The following tables may be used by the system and method of the present invention. They are preferably stored in structure form in memory. They are preferably read from and written to a structured storage document.[0240]
Data Tables:[0241]
The ANYVALUE structure is a VARIANT-like type that provides a transparent means of storing information of different types.
[0242] |
|
| Name | Type | Description |
|
| Lnum | long | Part of an anonymous union, stores a long |
| | integer value. |
| Fnum | double | Part of an anonymous union, stores a double |
| | floating point value. |
| Index | long | Part of an anonymous union, stores an index |
| | into a string table or enumerated value table. |
| Error | long | Part of an anonymous union, stores an error |
| | code. |
| Hasvalue | bool | Indicates whether the union contains a valid |
| | value. |
| Type | char | Indicates the type of the data contained within |
| | the union. |
|
The ANATOMIC table holds the anatomical information.
[0243] | |
| |
| Name | Type | Description |
| |
| Anatomic_Id | long | Primary key for this table. |
| | | Anatomic identifier. |
| Tissue | long | Identifies the tissue |
| | | associated with the concept. |
| Reference_Id | long | Identifies the reference. |
| CellType | long | Identifies the cell type. |
| MoleculesPerCell | double | Identifies the molecules |
| | | per cell. |
| CellLine | text | Identifies the cell line |
| DevelopmentalStage | long | Identifies the developmental |
| | | stage. |
| Organ | long | Identifies the organ |
| AnatExpression_Id | long | Identifies the anatomical |
| | | expression. |
| |
The ANATOMICEXPRESSION table holds the types of anatomical expression information.
[0244] |
|
| Name | Type | Description |
|
| AnatExpression_ID | long | Primary key for this table. Anatomic |
| | identifier. |
| Tissue | text | Identifies the anatomical expression |
| | type (e.g. Protein, RNA, etc.) |
|
The APPLIES table holds the applies process information.
[0245] |
|
| Name | Type | Description |
|
| Apply_Id | long | Primary key for this table. Identifier for the |
| | table. |
| Apply_Concept | long | Identifies the concept that is applied. |
| From_Concept | long | Identifies the concept that the relationship |
| | comes from. |
| To_Concept | long | Identifies the concept the relationship points to. |
|
The ASSAYNAME table holds the names of the assays used in the generation of the events.
[0246] |
|
| Name | Type | Description |
|
| Assay_Id | long | Primary key for this table. Applies identifier. |
| Name | Text | Identifies the name of the assay. |
|
The ATTRIBUTEENUMVALUE table holds all possible enumerated values for all enumerated list attributes. The offset within this table identifies which element of the enumerated list an enumerated list attribute represents.
[0247] |
|
| Name | Type | Description |
|
| AttributeENum_Id | long | Composite key for this table with Name. |
| | Attribute type identifier. |
| Name | text | Composite key for this table with |
| | AttributeENum_Id. Name of the attribute |
| | (e.g. shape, cellular location, etc.) |
|
The ATTRIBUTES table holds the attribute definitions.
[0248] |
|
| Name | Type | Description |
|
| Attribute_Id | long | Primary key for this table. Attribute identifier. |
| Name | text | Name of the attribute. |
| Type | long | Identifies the type of the attribute. (e.g. integer, |
| | real, enumerated list, etc.) |
| Bounds | char | Identifies the boundary limits of the attribute, if |
| | it is a number. |
| Upperbound | long | Stores the upper bound of the attribute if it is |
| | numerical. |
| Lowerbound | long | Stores the lower bound of the attribute if it is |
| | numerical. |
| Upperexact | long | Indicates whether the upper bound is inclusive |
| | if the attribute is numerical. |
| Lowerexact | long | Indicates whether the lower bound is inclusive |
| | if the attribute is numerical. |
|
The AUTHORLINK table holds the links between authors and references.
[0249] |
|
| Name | Type | Description |
|
| AuthorLink_Id | long | Primary key for this table. Author link |
| | identifier. |
| Author_Id | long | Identifies the author. |
| Reference_Id | long | Identifies the reference. |
|
The AUTHORS table holds the author information.
[0250] |
|
| Name | Type | Description |
|
| Author_Id | long | Primary key for this table. Author identifier. |
| Name | Text | Identifies the name of the author. |
|
The CLASSES table holds the hierarchical relationships between concepts.
[0251] |
|
| Name | Type | Description |
|
| Concept_Id | long | Primary key for this table. Concept identifier. |
| Parent | long | Parent of the concept. |
| ClassType_Id | long | Class type identifier. |
|
The CLASSTYPE table holds the hierarchical relationship types.
[0252]| ClassType_Id | long | Primary key for this table. Class type identifier. |
| Description | long | Describes the class type. |
|
The COMMENT table holds the comment information provided by the editors.
[0253] |
|
| Name | Type | Description |
|
| Comment_Id | long | Primary key for this table. Comment |
| | identifier. |
| CommentType_Id | long | Identifies the type of comment. |
| | (e.g. editor comments, scope notes, |
| | user notes, etc..) |
| CommentRefType_Id | long | Identifies the comment reference |
| | type as “concept” or “event”. |
| Id | long | Identifies the concept or event |
| | Id that is associated with the given |
| | comment. |
| Comment | text | Editor comments. |
|
The COMMENTREFTYPE table holds the comment reference type information.
[0254] |
|
| Name | Type | Description |
|
| CommentRefType_Id | long | Primary key for this table. |
| | Comment reference type identifier. |
| Name | text | Name of the comment reference |
| | type. (Concept or Event) |
|
The COMMENTTYPE table holds the comment type information.
[0255] |
|
| Name | Type | Description |
|
| CommentType_Id | long | Primary key for this table. Comment |
| | reference type identifier. (e.g. editor |
| | comments, scope notes, user notes, |
| | etc..) |
| Name | text | Name of the comment type. |
|
The COMPAREENUM table holds the enumerated list values for attribute comparison.
[0256] |
|
| Name | Type | Description |
|
| Compare_Id | Long | Primary key for this table. Comparison |
| | identifier. (e.g. equal to, less than, not greater than, |
| | etc..) |
| Name | Text | Name of the comparison type. |
|
The CONCEPTATTRIBUTE table holds the concept attribute information.
[0257] |
|
| Name | Type | Description |
|
| Concept_Id | long | Composite key for this table with Attribute_Id. |
| | Concept identifier. |
| Attribute_Id | long | Composite key for this table with Concept_Id. |
| | Attribute identifier. |
| StoredValue | text | Identifies the value of the concept's attribute. |
| HasValue | bool | Concept attribute indicator. |
| Type | long | Identifies the attribute type. |
|
The CONCEPTS table holds the concept definitions.
[0258] |
|
| Name | Type | Description |
|
| Concept_Id | long | Composite key for this table. Concept |
| | identifier. |
| User_Id | long | Composite key for this table. User |
| | identifier. |
| Expands | long | Indicates another concept that the |
| | concept is based on. |
| Version_Id | long | Indicates the version of the concept |
| | for documentation purposes. |
| Organism | long | Indicates the organism the concept |
| | was present in. |
| Transportable | bool | Indicates whether the concept has |
| | the transportable feature. |
| Homolog_Of | long | Indicates what homolog(s) the |
| | concept may have. |
| GeneProteinFamily | long | Indicates concept membership in a |
| | gene or protein family. |
| Homolog_Flag | long | Indicates whether the concept is a |
| | homolog of another concept. |
|
The DBUI table holds the reference information for outside databases and unique identifiers.
[0259] |
|
| Name | Type | Description |
|
| DBUI_Id | long | Primary key for this table. DBUI identifier. |
| DBUIType | long | Identifies the type of DBUI. |
| DB | long | Identifies the database type |
| UI | text | Identifies the UI type. |
|
The DBUITYPE table holds the enumerated type values for the DBUI.
[0260] |
|
| Name | Type | Description |
|
| DBUIType_Id | Long | Primary key for this table. DBUI type identifier. |
| Name | Text | Name of the DBUI type. (e.g. string, numeric) |
|
The EVENTATTRIBUTE table holds the relationships between the events and the event attributes.
[0261] |
|
| Name | Type | Description |
|
| Event_Id | long | Composite key for this table with Apply_Id. |
| | Event identifier. |
| Attribute_Id | long | Composite key for this table with Event_Id. |
| | Attribute identifier. |
| StoredValue | text | Actual value of the event attribute. |
| HasValue | bool | Event attribute indicator. |
| Type | long | Identifies attribute type. |
|
The EVENTS table holds the event definitions.
[0262] |
|
| Name | Type | Description |
|
| Event_Id | long | Composite key for this table. |
| | Event identifier. |
| User_Id | Long | Composite key for this table. |
| | User identifier. |
| Controversy | long | Name or description of the |
| | event. |
| CellularLocation | long | Indicates whether this event has |
| | one or more Applies clauses |
| | (that define the processes in the |
| | event). |
| Version_Id | long | Indicates whether this event has |
| | one or more Tests clauses. |
| TransportLocation | long | Indicates whether this event has |
| | one or more attributes. |
| EquilibriumConstantEQ | long | Equilibrium constant. |
| DissociationConstantKD | long | Dissociation constant. |
| ForwardKineticRateConstantK1 | long | Forward kinetic rate constant. |
| ReverseKineticRateConstantK1 | long | Reverse kinetic rate constant. |
| MichaelKM | long | Michaelis-Menten constant |
| EnzymaticVMax | long | Enzymatic maximum velocity. |
| KineticDisplay | bool | Kinetic display indicator. |
| CompletedConstants | bool | Completed constant indicator. |
|
The EVENTSPECIES table holds the event identifiers and the reference identifiers.
[0263] |
|
| Name | Type | Description |
|
| Event_Id | long | Primary key for this table. Event identifier. |
| Organism | long | Organism identifier. |
|
The EXPCONDITIONS table holds the experimental conditions in which the event was described.
[0264] |
|
| Name | Type | Description |
|
| ExpCondition_Id | long | Primary key for this table. Experimental |
| | condition identifier. |
| Reference_Id | long | Identifier for references. |
| Assay | long | Identifier for assay. |
| Preparation_type | long | Identifier for preparation type. |
| AssayProcess | text | Assay process description. |
| AssayBuffer | text | Assay buffer description. |
| TemperatureC | long | Temperature in degrees celcius. |
|
The EXTERNALDB table holds the DB identifier and the associated database name.
[0265] |
|
| Name | Type | Description |
|
| DB_Id | long | Primary key for this table. Database identifier. |
| Name | long | Name of the database. |
|
The GENCONCEPT table holds the generic concept details.
[0266] |
|
| Name | Type | Description |
|
| GenConcept_Id | long | Primary key for this table. Generic concept |
| | identifier. |
| GenConcept | long | Identifier for generic concepts. |
| Concept_Id | long | Identifier for concepts. |
| Type_Id | long | Identifier for type. |
| Value | text | Generic concept value |
|
The GENCONCEPTTYPES table holds the generic concept types.
[0267] |
|
| Name | Type | Description |
|
| Type_Id | long | Primary key for this table. Generic concept type |
| | identifier. |
| Name | text | Name of the generic concept types (e.g. |
| | inhibitors, activators, motifs, domains, modifications |
| | etc.) |
|
The JOURNAL_SOURCE_REF table holds the journal source information.
[0268] |
|
| Name | Type | Description |
|
| Journal_Id | long | Primary key for this table. Journal identifier. |
| Name | Text | Name of the journal. |
| Tier | Long | Journal quality tier as classified by New World. |
| | (e.g. Tier One, Tier Twos, etc.) |
|
The MODIFIESATTRIBUTE table holds the attribute modification information.
[0269] |
|
| Name | Type | Description |
|
| Modification_Id | long | Primary key for this table. Attribute |
| | modification identifier. |
| Concept_Id | long | Identifier for concepts. |
| Operator_Id | long | Identifier for operator. |
| Attribute_Id | long | Identifier for attribute. |
| StoredValue | text | Value of attribute modification. |
| Type | text | Attribute type |
|
The NAMES table holds the name information.
[0270] | |
| |
| Name | Type | Description |
| |
| Name_Id | long | Primary key or this table. Name identifier. |
| Name | text | Value of the name. |
| Type_Id | long | Name type |
| |
The NAMETYPE table holds the name type definitions.
[0271] |
|
| Name | Type | Description |
|
| Type_Id | long | Primary key for this table. Name type identifier. |
| Name | text | Value of the name type (e.g preferred name, |
| | synonym, official name, etc.) |
|
The OPERATOR table holds the operator definitions.
[0272] |
|
| Name | Type | Description |
|
| Operator_Id | long | Primary key for this table. Operator identifier. |
| Name | text | Value of the operator name (e.g. multiply, set, |
| | increment, etc.) |
|
The PACKAGES table holds the client package information.
[0273] |
|
| Name | Type | Description |
|
| Package_Id | long | Primary key for this table. Package identifier. |
| User_Id | long | Identifier for the user. |
| Name | text | Package name. |
| Description | text | Package description |
|
The PREPARATIONNAME table holds the information preparations.
[0274] |
|
| Name | Type | Description |
|
| Preparation_Id | long | Primary key for this table. Preparation |
| | identifier. |
| Name | text | The name of the preparation. |
|
The REACTIONS table holds the reaction relationship information.
[0275] |
|
| Name | Type | Description |
|
| Reaction_Id | long | Primary key for this table. Reaction |
| | identifier. |
| Event_Id | long | Identifier for events. |
| Concept_Id | long | Identifier for concepts. |
| Type_Id | long | Identifier for reaction type. |
| Stoichiometry_Data | long | Reaction stoichiometry. |
|
The REACTIONTYPE table holds the reaction types.
[0276] |
|
| Name | Type | Description |
|
| Type_Id | long | Primary key for this table. Reaction identifier. |
| Name | text | The name of the reaction. (e.g. requires, |
| | inhibited by, produces, excluded from, present |
| | in, etc.) |
|
The REAGENTS table holds the event reagent information.
[0277] |
|
| Name | Type | Description |
|
| Concept_Id | long | Primary key for this table. Concept identifier. |
| Reference_Id | long | Identifier for references. |
| Name | long | Reagent name. |
|
The REFERENCE table holds the reference information.
[0278] |
|
| Name | Type | Description |
|
| Reference_Id | long | Primary key for this table. Reaction identifier. |
| Journal | long | Identifier for journal. |
| Title | text | Reference title. |
| Year | long | Reference year. |
| Volume | text | Referene volume. |
| Issue | text | Reference issue. |
| Page_Start | text | Reference start page. |
| Page_End | text | Reference end page. |
| PMID | long | Reference PMID. |
| Review | bool | Reference review indicator. |
|
The RELATIONSHIPTYPE table holds the relationship type definitions.
[0279] |
|
| Name | Type | Description |
|
| Type_Id | long | Primary key for this table. Relationship type |
| | identifier. |
| Name | long | Relationship type name. |
|
The SECURITY table holds the concept and event security relationships.
[0280] |
|
| Name | Type | Description |
|
| Type | long | Composite key for this table with Event_Id and |
| | Concept_Id. Security type. |
| Event_Id | long | Composite key for this table with Type and |
| | Concept_Id. Event identifier. |
| Concept_Id | long | Composite key for this table with Type and |
| | Event_Id. Concept identifier. |
| Package_Id | long | Security package identifier. |
|
The TESTSATTRIBUTE table holds the attribute information for the tests functionality.
[0281] |
|
| Name | Type | Description |
|
| Test_Id | long | Primary key for this table. Test identifier. |
| Concept1 | long | First concept identifier for the test |
| | functionality. |
| Compare | long | Comparison identifier. |
| Attribute1 | long | First attribute identifier for the test |
| | functionality. |
| Attribute2 | long | Second attribute identifier for the test |
| | functionality. |
| Concept2 | long | Second concept identifier for the test |
| | functionality. |
|
The TIER table holds the reference tier definitions.
[0282] |
|
| Name | Type | Description |
|
| Tier_Id | long | Primary key for this table. Tier identifier. |
| Description | text | The description of the tier. (e.g. Tier One, Tier |
| | Two, etc.) |
|
The USERS table holds the user security information information.
[0283] |
|
| Name | Type | Description |
|
| User_Id | long | Primary key for this table. User identifier. |
| Password | text | User password. |
| Login | text | Login information for the user. |
| Full_Name | text | User full name. |
|
The VERSION table holds the user edit trail for data edited in the database.
[0284] |
|
| Name | Type | Description |
|
| Version_Id | long | Primary key for this table. User identifier. |
| Name | text | User password. |
| VersionDate | text | Login information for the user. |
| ActionType | text | Edit action type. (e.g Creation, Editing, Deletion, |
| | etc.) |
|
The VERSIONJUNCTION table holds the version information for concepts and events.
[0285] |
|
| Name | Type | Description |
|
| Version_Id | long | Primary key for this table. Version identifier. |
| Concept_Id | long | Concept identifier. |
| Event_Id | long | Event identifier. |
|
In another embodiment of the present invention, the aforementioned information may be enhanced to model the three dimensional confirmation of identified regions (in a protein under study) that might mediate protein-protein interactions. In a further embodiment of the present invention, reference links at key program sites provide the[0286]User20 rapid access to more detailed published information. Hyperlinks are also provided at suitable locations pointing to organism-specific databases.
In another embodiment of the present invention, a[0287]User20 may examine more closely the molecular details of any component in the proposed pathway. This ability has the advantage of allowing theUser20 to effectively zoom in and out on any pathway element for a closer (molecular) or broader (sub-cellular or cellular) look. For example,a a User20 may take a closer look at the three dimensional confirmation of a binding site and its interaction with the target site. The effect of sequence alterations or covalent modification of binding site subunits (e.g., by phosphorylation) may also be examined more closely. This information is advantageous in drug design studies; prediction of toxicity and side effects, and susceptibility issues due to genetic variation among diverse populations.
Although the present invention has been described in terms of particularly preferred embodiments, it is not limited to these embodiments. Alternative embodiments and modifications which would still be encompassed by the invention may be made by those skilled in the art, particularly in light of the foregoing teachings. For example, although the present invention has been described in connection with the simulation of biochemical pathways, it could be used for other applications. For example, the[0288]Inference Engine14 of theSimulation Module10 may be adapted to process information to predict automotive or computer network traffic. For this type of application, theDatabase80 may contain known traffic concepts (e.g., cars, trucks, different types of weather, accidents, etc.) and known traffic events. These concepts and events may then be processed by theInference Engine14 of theSimulation Module10 to predict traffic effects given a traffic stimulus.
Accordingly, this invention is intended to cover any alternative embodiments, modifications or equivalents which may be within the spirit and scope of the invention.[0289]