Model
Biological Models
Enzyme Kinetics

In biochemistry, Michaelis–Menten kinetics is one of the best-known models of enzyme kinetics. The model takes the form of an equation describing the rate of enzymatic reactions by relating reaction rate.

A key factor affecting the rate of a reaction catalyzed by an enzyme is the concentration of substrate, [S]. However, studying the effects of substrate concentration is complicated by the fact that [S] changes during the course of an in vitro reaction as substrate is converted to product. One simplifying approach in kinetics experiments is to measure the initial rate (or initial velocity), designated v.

model1

The curve expressing the relationship between [S] and v has the same general shape for most enzymes, which can be expressed algebraically by the Michaelis-Menten equation.

model1

All these terms called the Michaelis constant—are readily measured experimentally. Some enzymes require no chemical groups for activity other than their amino acid residues. Others require an additional chemical component called a cofactor—either one or more inorganic ions or a complex organic or metalloorganic molecule called a coenzyme.

Some coenzymes are expensive(Nicotinamide adenine dinucleotide), our team designed an auxiliary reaction.

model1
Computer Models
RxnSim

RxnSim is designed to compute biochemical reaction similarity by comparing molecular signatures of individual molecules involved in the input reactions. The tool can compute similarity between a pair of reactions or list(s) of reactions that are provided as input. It implements fingerprint caching to reduce computation time on large datasets.

RxnSim implements four algorithms to compute reaction similarity, namely msim, msim_max, rsim and rsim2.

msim

msim is based on individual similarities of molecules in two reactions. First, each reactant (product) of a reaction is paired with an equivalent (similar) reactant (product) of the other reaction based on pairwise similarity values using hierarchical grouping. A 0 similarity value is assigned to each unpaired molecule. Reaction similarity is then computed by averaging the similarity values for each pair of equivalent molecule(s) and unpaired molecule(s). Molecule equivalences computed can be reviewed using verbose mode in rs.compute.

msim_max

reaction similarity is computed in the same way as described for msim except that the unpaired molecules are not used for computing average.

rsim

rsim is based on cumulative features of reactant(s) and product(s) of two reactions. Each reaction is represented by two fingerprints, one each for the reactants and another for products. Reaction similarity is computed by averaging similarity values obtained by comparing reactants fingerprint and products fingerprints.

rsim2

rsim2 is based on cumulative features of all molecules in a reaction forming a reaction fingerprint. Reaction similarity is computed based on the reaction fingerprints of two reactions.

Performance of these algorithms was measured based on their ability to identify similar reactions. Distributions of reaction similarities (Fig. a) show a median score of ∼0.2 for msim and rsim algorithms. msim shows a prediction accuracy of more than 95% for a cut-off of 0.55 and the area under ROC curve (AUC) was found to be 0.90 (Fig. b). AUCs for rsim and rsim2 were found to be 0.84 and 0.74, respectively. rsim and rsim2 are more useful for analysis of datasets that are known to have common features, such as, catalysis by same enzyme or having same transformation.

ROC
Comparison of msim, rsim and rsim2 algorithms implemented in RxnSim. (a) Density plots of reaction similarity scores. (b) Receiver operator characteristic (ROC) plot showing effectiveness of three algorithms (AUC order msim>rsim>rsim2) © The Author 2015. Published by Oxford University Press

Our project is implemented based on RxnSim. Through the calculation of these alogrithms, we allow the user to input substrates and products to predict the enzymes required for the reaction and return to the user the most similar results along with the kinetic parameters and other parameters under the input conditions.

Ray

Ray implements a dynamic task graph computation model that supports both the task-parallel and the actor programming models, in which the execution of both remote functions and actor methods is automatically triggered by the system when their inputs become available.

Ray

We use Ray's parallel model to leverage our multiple cores machines, so that we can speed up computation and searching in our web application. After applying Ray, the execution speed of our web application increased by about sixty percents.

Soundex

Soundex is a phonetic algorithm for indexing names by sound, as pronounced in English. The goal is for homophones to be encoded to the same representation so that they can be matched despite minor differences in spelling.

Soundex

In MySQL, Soundex algorithm is the following:

1. Save the first letter. Map all occurrences of a, e, i, o, u, y, h, w. to zero(0)

2. Replace all consonants (include the first letter) with digits as in the Soundex coding guide above.

3. Replace all adjacent same digits with one digit, and then remove all the zero (0) digits

4. If the saved letter's digit is the same as the resulting first digit, remove the digit (keep the letter).

5. Append 3 zeros if result contains less than 3 digits. Remove all except first letter and 3 digits after it

So Soundex is the fuzzy searching model we apply in our web application. We use Soundex to match user input from our database. And we establish Soundex index database to optimize the searching time complexity from O(n) to O(log n). It has been proven effective in practice.

RESTful

RESTful model is an architectural style for an application program interface (API) that uses HTTP requests to access and use data. That data can be used to GET, PUT, POST and DELETE data types, which refers to the reading, updating, creating and deleting of operations concerning resources.

Api-Cycle

RESTful model is exceedingly helpful in our public services for its convenience and lightweight. Adopting RESTful model, which is Django REST framework in our web application, facilitates front-end and back-end interaction and improves work efficiency among we teammates. With Django REST framework, we can connected all of our platforms with the same API. This removes duplicity of code and helps to escalate it easily.