# US 8,543,337 B2 · Block diagram explorer in a method and apparatus for integrated modeling, simulation and analysis of chemical and biological systems

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,543,337 B2
- Document ID: US8543337B2
- Status: Granted
- Kind: B2
- Application number: 11/408,723
- Filed: 2006-04-21
- Published: 2007-10-25
- Granted: 2013-09-24
- Earliest claimed: 2006-04-21
- Assignees: The MathWorks, Inc.
- Applicants: Ricardo E. Paxson; Melissa J. Pike; Joseph F. Hicklin; Roy Lurie; Edward Whittington Gulley
- Inventors: Ricardo E. Paxson; Melissa J. Pike; Joseph F. Hicklin; Roy Lurie; Edward Whittington Gulley
- Web page: https://patentgrep.com/patent/US8543337B2

## CPC

- G16C 20/80: Data visualisation
- G16B 5/30: Dynamic-time models
- G16B 45/00: ICT specially adapted for bioinformatics-related data visualisation, e.g. displaying of maps or networks
- G16B 50/30: Data warehousing; Computing architectures
- G16B 5/00: ICT specially adapted for modelling or simulations in systems biology, e.g. gene-regulatory networks, protein interaction networks or metabolic networks
- G16B 50/00: ICT programming tools or database systems specially adapted for bioinformatics
- G16C: COMPUTATIONAL CHEMISTRY; CHEMOINFORMATICS; COMPUTATIONAL MATERIALS SCIENCE
- G16B: BIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY

## Abstract

A system for modeling, simulating and analyzing chemical and biochemical reactions includes a modeling environment for constructing a model of a chemical or biochemical system comprising a plurality of chemical reactions. The system also includes a simulation engine accepting as input said constructed model of the chemical or biochemical system and generating as output an expected result. The modeling environment includes a block diagram explorer for displaying a block diagram in a graphical user interface describing the system as a hierarchical network of interconnected blocks. Each block represents a species participating one of the chemical reactions or one of said chemical reactions in the system. The block diagram explorer allows for a user to manipulate and modify the graphical parameters of the block diagram representation to provide insight into the functionality and operation of the system being modeled.

## Claims

### Claim 1

A method comprising:
providing, using a computing device, a matrix listing a plurality of species participating in one or more chemical reactions;
generating, using the computing device, an executable block diagram based on the matrix, where:
the executable block diagram represents a system including the one or more chemical reactions,
the executable block diagram includes:
a plurality of blocks representing the plurality of species, and
a plurality of lines representing a relationship among the plurality of species,
executing the executable block diagram simulates the one or more chemical reactions,
the generating includes:
processing, using the computing device, the matrix to determine an optimized two-dimensional position for the plurality of blocks on a graphical layout of the executable block diagram based on the relationship among the plurality of species;
dynamically displaying, on a display device, the graphical layout of the executable block diagram in a graphical user interface, where the plurality of blocks are displayed at the determined optimized two-dimensional position;
receiving, using the computing device, an input to modify the graphical layout of the executable block diagram; and
modifying, using the computing device, the graphical layout of the executable block diagram based on the received input.

### Claim 2 (depends on 1)

The method of claim 1, wherein the modifying is in response to a user request.

### Claim 3 (depends on 1)

The method of claim 1, wherein the modifying is performed automatically.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
creating the executable block diagram based on a simulation result for a model of the system, wherein the modifying is based on the simulation result.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
creating the executable block diagram based on an analysis of a model of the system, wherein the modifying is based on the analysis.

### Claim 6 (depends on 1)

The method of claim 1, wherein the modifying comprises:
selecting one or more of the plurality of blocks in the executable block diagram; and
removing non-selected blocks from the executable block diagram.

### Claim 7 (depends on 6)

The method of claim 6, further comprising:
recalculating a position of remaining blocks in the executable block diagram after removing the non-selected blocks.

### Claim 8 (depends on 6)

The method of claim 6, further comprising:
re-adding the non-selected blocks to the executable block diagram, in response to a user request.

### Claim 9 (depends on 1)

The method of claim 1, wherein the modifying comprises:
selecting one or more of the plurality of blocks; and
hiding the selected one or more of the plurality of blocks.

### Claim 10 (depends on 9)

The method of claim 9, further comprising:
recalculating a position of remaining blocks in the executable block diagram after removing the selected one or more of the plurality of blocks.

### Claim 11 (depends on 1)

The method of claim 1, wherein the modifying comprises:
selecting one of the plurality of blocks; and
splitting the selected one of the plurality of blocks into a plurality of cloned blocks.

### Claim 12 (depends on 11)

The method of claim 11, wherein the modifying comprises:
joining a plurality of cloned blocks into a single block.

### Claim 13 (depends on 1)

The method of claim 1, wherein the modifying comprises:
selecting a block and highlighting adjacent blocks in the executable block diagram.

### Claim 14 (depends on 13)

The method of claim 13, wherein the adjacent blocks comprise a parent block for the selected block.

### Claim 15 (depends on 13)

The method of claim 13, wherein the adjacent blocks comprise a child block for the selected block.

### Claim 16 (depends on 2)

The method of claim 2, wherein the user request is input by selecting a button associated with a graphical parameter in the graphical user interface.

### Claim 17 (depends on 2)

The method of claim 2, wherein the user request is input by selecting a checkbox associated with a graphical parameter in the graphical user interface.

### Claim 18 (depends on 1)

The method of claim 1, further comprising modifying a model of the system used to create the executable block diagram based on the modification to the graphical layout.

### Claim 19 (depends on 1)

The method of claim 1, wherein the modifying comprises modifying a rule in a layout/view optimizer used to determine the position of the plurality of blocks in the executable block diagram.

### Claim 20

A non-transitory computer readable medium storing instructions that, when executed by a processor, cause the processor to:
provide a matrix listing a plurality of species participating in one or more chemical reactions;
generate an executable block diagram based on the matrix, where:
the executable block diagram represents a system including the one or more chemical reactions,
the executable block diagram includes:
a plurality of blocks representing the plurality of species, and
a plurality of lines representing a relationship among the plurality of species,
executing the executable block diagram simulates the one or more chemical reactions,
the generating includes:
processing the matrix to determine an optimized two-dimensional position for the plurality blocks on a graphical layout of the executable block diagram based on the relationship among the plurality of species;
dynamically display the graphical layout of the executable block diagram in a graphical user interface, where the plurality of blocks are displayed at the determined optimized two-dimensional position;
receive an input to modify the graphical layout of the executable block diagram; and
modify the graphical layout of the executable block diagram based on the received input.

### Claim 21

A method comprising:
providing, using a computing device, a matrix listing a plurality of species participating in one or more chemical reactions;
generating, using a computing device, an executable block diagram based on the matrix, where:
the executable block diagram represents a system including the one or more chemical reactions,
the executable block diagram includes:
a plurality of blocks representing the plurality of species, and
a plurality of lines representing a relationship among the plurality of species,
executing the executable block diagram simulates the one or more chemical reactions;
the generating includes:
processing, using the computing device, the matrix to determine an optimized two-dimensional position for the plurality of blocks on a graphical layout of the executable block diagram based on the relationship among the plurality of species;
dynamically displaying, on a display device, the graphical layout of the executable block diagram in a graphical user interface, where the plurality of blocks are displayed at the determined optimized two-dimensional position;
receiving, using the computing device, an instruction from a user regarding a graphical parameter of the graphical layout of the executable block diagram; and
modifying, using the computing device, the graphical layout of the executable block diagram according to the instruction.

### Claim 22 (depends on 21)

The method of claim 21, wherein the modifying comprises one of adding, removing, splitting, joining and highlighting a selected block in the executable block diagram.

### Claim 23 (depends on 22)

The method of claim 22, further comprising recalculating a position of remaining blocks in the executable block diagram after the modifying.

### Claim 24 (depends on 21)

The method of claim 21, wherein the instruction from the user is input to the electronic device by selecting one of a button and a checkbox associated with the graphical parameter in the graphical user interface.

### Claim 25

A non-transitory computer readable medium storing instructions that, when executed by a processor, cause the processor to:
provide a matrix listing a plurality of species participating in one or more chemical reactions;
generate an executable block diagram based on the matrix, where:
the executable block diagram represents a system including the one or more chemical reactions,
the executable block diagram includes:
a plurality of blocks representing the plurality of species, and
a plurality of lines representing a relationship among the plurality of species,
executing the executable block diagram simulates the one or more chemical reactions,
the generating includes:
processing the matrix to determine an optimized two-dimensional position for the plurality of blocks on a graphical layout of the executable block diagram based on the relationship among the plurality of species;
dynamically display the graphical layout of the executable block diagram in a graphical user interface, where the plurality of blocks are displayed at the determined optimized two-dimensional position;
receive an instruction from a user regarding a graphical parameter of the graphical layout of the executable block diagram; and
modify the graphical layout of the executable block diagram according to the instruction.

### Claim 26

A system comprising:
a processor for executing instructions to provide:
a block diagram explorer for:
providing a matrix listing a plurality of species participating in one or more chemical reactions,
a modeling component comprising:
a modeling environment for generating an executable block diagram using the matrix, where:
the executable block diagram represents a system including the one or more chemical reactions,
the executable block diagram includes:
a plurality of blocks representing the plurality of species, and
a plurality of lines representing a relationship among the plurality of species,
executing the executable block diagram simulates the one or more chemical reactions,
the generating includes:
processing the matrix to determine an optimized two-dimensional position for the plurality of blocks on a graphical layout of the executable block diagram based on the relationship among the plurality of species,
a display device dynamically displaying the graphical layout in a graphical user interface, where the plurality of blocks are displayed at the determined optimized two-dimensional position; and
a simulation engine accepting as input the executable block diagram and generating as output dynamic behavior of the system represented by the executable block diagram.

### Claim 27 (depends on 1)

The method of claim 1, further comprising:
creating the matrix listing the plurality of species participating in the one or more chemical reactions, wherein each column of the matrix corresponds to one species and each row of the matrix corresponds to one species, such that number of rows of the matrix and number of columns of the matrix is equal to number of species.

### Claim 28 (depends on 1)

The method of claim 1, wherein the executable block diagram includes at least one block representing at least one of the one or more chemical reactions.
