[sympycore] r1206 committed - Fix a bug.

1 view
Skip to first unread message

codesite...@google.com

unread,
Apr 14, 2011, 7:43:17 AM4/14/11
to sympycor...@googlegroups.com
Revision: 1206
Author: pearu.peterson
Date: Thu Apr 14 04:42:39 2011
Log: Fix a bug.
http://code.google.com/p/sympycore/source/detail?r=1206

Modified:
/trunk/sympycore/physics/sysbio/io.py

=======================================
--- /trunk/sympycore/physics/sysbio/io.py Wed Apr 13 05:28:07 2011
+++ /trunk/sympycore/physics/sysbio/io.py Thu Apr 14 04:42:39 2011
@@ -288,18 +288,25 @@
else:
reaction_index2 = None

+ def matrix_add (i,j,c):
+ v = matrix.get ((i,j))
+ if v is None:
+ matrix[i, j] = c
+ else:
+ matrix[i, j] = v + c
+
for specie, coeff in left_specie_coeff:
if specie not in species:
species.append (specie)
specie_index = species.index (specie)
if direction=='<':
if reaction_index2 is not None:
- matrix[specie_index, reaction_index2] = -coeff
- matrix[specie_index, reaction_index] = coeff
+ matrix_add(specie_index, reaction_index2, -coeff)
+ matrix_add(specie_index, reaction_index, coeff)
else:
if reaction_index2 is not None:
- matrix[specie_index, reaction_index2] = coeff
- matrix[specie_index, reaction_index] = -coeff
+ matrix_add(specie_index, reaction_index2, coeff)
+ matrix_add(specie_index, reaction_index, -coeff)

for specie, coeff in right_specie_coeff:
if specie not in species:
@@ -307,12 +314,12 @@
specie_index = species.index (specie)
if direction=='<':
if reaction_index2 is not None:
- matrix[specie_index, reaction_index2] = coeff
- matrix[specie_index, reaction_index] = -coeff
+ matrix_add(specie_index, reaction_index2, coeff)
+ matrix_add(specie_index, reaction_index, -coeff)
else:
if reaction_index2 is not None:
- matrix[specie_index, reaction_index2] = -coeff
- matrix[specie_index, reaction_index] = coeff
+ matrix_add(specie_index, reaction_index2, -coeff)
+ matrix_add(specie_index, reaction_index, coeff)

if split_bidirectional_fluxes:
reactions_info[reaction_name]['reversible'] = False
@@ -320,6 +327,7 @@
reactions_info[reaction_name]['products'] = right_specie_names
reactions_info[reaction_name]['forward'] = reaction_name
reactions_info[reaction_name]['reverse'] = None
+
if reversible:
reactions_info[reaction_name2]['reversible'] = False
reactions_info[reaction_name2]['reactants'] =
right_specie_names

Reply all
Reply to author
Forward
0 new messages