An iterative algorithm for metabolic network-based drug target identification Padmavati Sridhar, Tamer Kahveci, Sanjay Ranka Department of Computer and Information Science and Engineering
Drug Discovery Process Disease Target enzyme Potential compounds (drugs) Lead compounds Preclinical testing Phase I – III trials Disease Target enzyme(s) Target compound(s) Metabolic Network Data mining
Why Drugs? Excessive production or lack (or a combination of the two) of certain compounds may lead to disease. Example: Malfunction (Phenylalanine hydroxylase) => accumulation of phenylalanine => Phenylketonuria => mental retardation. Drugs can manipulate enzymes to reduce or increase the production of compounds !
An Example: Targets for Affecting Central Nervous System Drug: Phenylbutazone (Therapeutic category = 1144)
Goal Given a set of target compounds, find the set of enzymes whose inhibition stops the production of the target compounds with minimum side-effects.
Directed Graph Model Enzyme Reaction Compound Edges Vertices Catalyzes Produces Consumes Target compound
Simple Metabolic Network E1 E3 E2 R2 R4 R3 R1 C5 C2 C3 C4 C1
Inhibit E1 E1 E3 E2 R2 R4 R3 R1 C5 C2 C3 C4 C1 Target compound removed Three Non- target compounds removed Damage (E1) = 3
Inhibit E2 or/and E3 E1 E3 E2 R2 R4 R3 R1 C5 C2 C3 C4 C1 Damage (E2) = 0 Damage (E3) = 0 Target compound removed Damage (E2, E3) = 1 Damage (E1) = 3 What is the best enzyme combination? Number of combinations is exponential !
How can we find the right enzyme set? Iterative method Initialization: Remove each node (reaction or compound or enzyme) from graph directly. Iteration: Improve (reduce damage) each node by considering its precursors until no node improves.
Initialization: Enzymes E1 E3 E2 R2 R4 R3 R1 C5 C2 C3 C4 C1 E1 E2 E3 T, 3 F, 0 =
Initialization: Reactions E1 E3 E2 R2 R4 R3 R1 C5 C2 C3 C4 C1 E1 E2 E3 T, 3 F, 0 = R1 R2 R3 R4 = {E1}, T, 3 {E2}, F, 0 {E3}, F, 0
Initialization: Compounds E1 E3 E2 R2 R4 R3 R1 C5 C2 C3 C4 C1 E1 E2 E3 T, 3 F, 0 = R1 R2 R3 R4 = {E1}, T, 3 {E2}, F, 0 {E3}, F, 0 C1 C2 C3 C4 C5 = {E1}, T, 3 {E2, E3}, T, 1
Iterations: Reactions E1 E3 E2 R2 R4 R3 R1 C5 C2 C3 C4 C1 E1 E2 E3 T, 3 F, 0 = C1 C2 C3 C4 C5 = {E1}, T, 3 {E2, E3}, T, 1 R1 = min{R1, C5} = min{3, 1} R1 R2 R3 R4 = {E1}, T, 3 {E2}, F, 0 {E3}, F, 0 R1 R2 R3 R4 = {E2, E3}, T, 1 {E1}, T, 3 {E2}, F, 0 {E3}, F, 0
Iterations: Compounds E1 E3 E2 R2 R4 R3 R1 C5 C2 C3 C4 C1 E1 E2 E3 T, 3 F, 0 = C1 C2 C3 C4 C5 = {E1}, T, 3 {E2, E3}, T, 1 C1 = min{C1, R1} = min{3, 1} R1 R2 R3 R4 = {E2, E3}, T, 1 {E1}, T, 3 {E2}, F, 0 {E3}, F, 0 C1 C2 C3 C4 C5 = {E2, E3}, T, 1 {E1}, T, 3 {E2, E3}, T, 1
How many iterations? Number of iterations is at most the number of reactions on the longest path that traverses each node at most one
Experiments: Datasets
Experiments: Accuracy Average damage for one, two, and four randomly selected target compounds runs for each network
Experiments: Running Time
Experiments: Number of Iterations