Skip to content

Commit fdcbfe8

Browse files
Fix build break
1 parent e36e810 commit fdcbfe8

3 files changed

Lines changed: 32 additions & 30 deletions

File tree

src/pySubnetSB/network.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ class StructuralAnalysisResult(object):
2424
# Auxiliary object returned by isStructurallyIdentical
2525

2626
def __init__(self,
27-
assignment_pairs:list[AssignmentPair],
28-
is_truncated:Optional[bool]=False,
29-
num_species_candidate:int=-1,
30-
num_reaction_candidate:int=-1,
31-
network:Optional['Network']=None,
32-
)->None:
27+
assignment_pairs:list[AssignmentPair],
28+
is_truncated:Optional[bool]=False,
29+
num_species_candidate:int=-1,
30+
num_reaction_candidate:int=-1,
31+
network:Optional['Network']=None,
32+
)->None:
3333
"""
3434
Args:
3535
assignment_pairs (list[AssignmentPair]): List of assignment pairs.

src/pySubnetSB/network_base.py

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def __init__(self, reactant_arr:Matrix,
4949
if not np.all(reactant_arr.shape == product_arr.shape):
5050
raise ValueError("Reactant and product matrices must have the same shape.")
5151
try:
52-
self.num_species, self.num_reaction = np.shape(reactant_arr)
52+
self.num_species, self.num_reaction = np.shape(reactant_arr) # type: ignore
5353
except:
5454
# Empty network
5555
self.num_species = 0
@@ -65,15 +65,15 @@ def __init__(self, reactant_arr:Matrix,
6565
self.current_species_names = species_names
6666
self.current_reaction_names = reaction_names
6767
#
68-
self.reactant_nmat = NamedMatrix(self.reactant_arr,
69-
row_names=self.current_species_names, column_names=self.current_reaction_names,
70-
row_description="species", column_description="reactions")
68+
self.reactant_nmat = NamedMatrix(self.reactant_arr, # type: ignore
69+
row_names=self.current_species_names, column_names=self.current_reaction_names,
70+
row_description="species", column_description="reactions")
7171
self.product_nmat = NamedMatrix(self.product_arr,
72-
row_names=self.current_species_names, column_names=self.current_reaction_names,
73-
row_description="species", column_description="reactions")
72+
row_names=self.current_species_names, column_names=self.current_reaction_names,
73+
row_description="species", column_description="reactions")
7474
self.standard_nmat = NamedMatrix(self.product_arr - self.reactant_arr,
75-
row_names=self.current_species_names,
76-
column_names=self.current_reaction_names, row_description="species", column_description="reactions")
75+
row_names=self.current_species_names,
76+
column_names=self.current_reaction_names, row_description="species", column_description="reactions")
7777
#
7878
self._species_names = self.current_species_names
7979
self._reaction_names = self.current_reaction_names
@@ -940,5 +940,5 @@ def makeInducedNetwork(self, assignment_pair:AssignmentPair)->'NetworkBase':
940940
product_arr = self.product_nmat.values[species_assignment, :]
941941
reactant_arr = reactant_arr[:, reaction_assignment]
942942
product_arr = product_arr[:, reaction_assignment]
943-
return self.__class__(reactant_arr, product_arr, reaction_names=self.reaction_names[reaction_assignment],
943+
return self.__class__(reactant_arr, product_arr, reaction_names=self.reaction_names[reaction_assignment], # type: ignore
944944
species_names=self.species_names[species_assignment])

src/pySubnetSB_tests/test_network_base.py

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@
66
from pySubnetSB.assignment_pair import AssignmentPair # type: ignore
77

88
import os
9-
from pynauty import Graph # type: ignore
9+
#from pynauty import Graph # type: ignore
1010
import matplotlib.pyplot as plt
1111
import numpy as np
1212
import copy
1313
import tellurium as te # type: ignore
1414
import unittest
15+
from typing import cast
1516

1617

1718
IGNORE_TEST = False
@@ -84,7 +85,7 @@
8485
class TestNetwork(unittest.TestCase):
8586

8687
def setUp(self):
87-
self.network = copy.deepcopy(NETWORK)
88+
self.network = cast(NetworkBase, copy.deepcopy(NETWORK))
8889

8990
@util.timeit
9091
def testConstrutor(self):
@@ -107,7 +108,7 @@ def testCopyEqual(self):
107108
def testIsMatrixEqual(self):
108109
if IGNORE_TEST:
109110
return
110-
network = NetworkBase.makeFromAntimonyStr(NETWORK1, network_name=NETWORK_NAME)
111+
network = cast(NetworkBase, NetworkBase.makeFromAntimonyStr(NETWORK1, network_name=NETWORK_NAME))
111112
network3 = NetworkBase.makeFromAntimonyStr(NETWORK3, network_name=NETWORK_NAME)
112113
self.assertTrue(network.isMatrixEqual(network3, identity=cn.ID_WEAK))
113114
self.assertFalse(network.isMatrixEqual(network3, identity=cn.ID_STRONG))
@@ -121,7 +122,7 @@ def testRandomlyPermuteTrue(self):
121122
def test(size, num_iteration=500):
122123
reactant_arr = np.random.randint(0, 3, (size, size))
123124
product_arr = np.random.randint(0, 3, (size, size))
124-
network = NetworkBase(reactant_arr, product_arr)
125+
network = NetworkBase(reactant_arr, product_arr) # type: ignore
125126
for _ in range(num_iteration):
126127
new_network, assignment_pair = network.permute()
127128
if network == new_network:
@@ -157,10 +158,10 @@ def test(size, num_iteration=500):
157158
def testIsStructurallyCompatible(self):
158159
if IGNORE_TEST:
159160
return
160-
network1 = NetworkBase.makeFromAntimonyStr(NETWORK1, network_name=NETWORK_NAME)
161-
network2 = NetworkBase.makeFromAntimonyStr(NETWORK2, network_name=NETWORK_NAME)
162-
network3 = NetworkBase.makeFromAntimonyStr(NETWORK3, network_name=NETWORK_NAME)
163-
network4 = NetworkBase.makeFromAntimonyStr(NETWORK4, network_name=NETWORK_NAME)
161+
network1 = cast(NetworkBase, NetworkBase.makeFromAntimonyStr(NETWORK1, network_name=NETWORK_NAME))
162+
network2 = cast(NetworkBase, NetworkBase.makeFromAntimonyStr(NETWORK2, network_name=NETWORK_NAME))
163+
network3 = cast(NetworkBase, NetworkBase.makeFromAntimonyStr(NETWORK3, network_name=NETWORK_NAME))
164+
network4 = cast(NetworkBase, NetworkBase.makeFromAntimonyStr(NETWORK4, network_name=NETWORK_NAME))
164165
self.assertFalse(network1.isStructurallyCompatible(network4))
165166
self.assertTrue(network1.isStructurallyCompatible(network2))
166167
self.assertTrue(network1.isStructurallyCompatible(network3, identity=cn.ID_WEAK))
@@ -169,7 +170,7 @@ def testIsStructurallyCompatible(self):
169170
def testPrettyPrintReaction(self):
170171
if IGNORE_TEST:
171172
return
172-
network = NetworkBase.makeFromAntimonyStr(NETWORK3, network_name="Network3")
173+
network = cast(NetworkBase, NetworkBase.makeFromAntimonyStr(NETWORK3, network_name="Network3"))
173174
stg = network.prettyPrintReaction(0)
174175
self.assertTrue("2.0 S1 -> 2.0 S1 + S2" in stg)
175176

@@ -193,8 +194,8 @@ def testMakeRandomNetworkFromReactionType2(self):
193194
size = 3
194195
species_names = ["S1", "S5", "S10"]
195196
reaction_names = ['JJ1', 'JJ2', 'JJ3']
196-
network = NetworkBase.makeRandomNetworkByReactionType(size, species_names=species_names,
197-
reaction_names=reaction_names, is_exact=True)
197+
network = NetworkBase.makeRandomNetworkByReactionType(size, species_names=species_names, # type: ignore
198+
reaction_names=reaction_names, is_exact=True) # type: ignore
198199
self.assertEqual(len(species_names), network.num_species)
199200
for species_name in species_names:
200201
self.assertTrue(species_name in network.species_names)
@@ -283,6 +284,7 @@ def testFill(self):
283284
self.assertLessEqual(filled_network.num_species, network.num_species + fill_size)
284285
self.assertEqual(filled_network.num_reaction, network.num_reaction + fill_size)
285286
#
287+
network = NetworkBase.makeRandomNetworkByReactionType(5, 5)
286288
with self.assertRaises(ValueError):
287289
network.fill(num_fill_reaction=0, num_fill_species=0)
288290

@@ -297,7 +299,7 @@ def testIsBoundaryNetwork(self):
297299
k1 = 0.1; k2 = 0.2
298300
A = 0; B = 0
299301
"""
300-
network = NetworkBase.makeFromAntimonyStr(boundary_network)
302+
network = cast(NetworkBase, NetworkBase.makeFromAntimonyStr(boundary_network))
301303
self.assertTrue(network.isBoundaryNetwork())
302304
#
303305
boundary_network = """
@@ -307,21 +309,21 @@ def testIsBoundaryNetwork(self):
307309
k1 = 0.1; k2 = 0.2
308310
A = 0; B = 0
309311
"""
310-
network = NetworkBase.makeFromAntimonyStr(boundary_network)
312+
network = cast(NetworkBase, NetworkBase.makeFromAntimonyStr(boundary_network))
311313
self.assertFalse(network.isBoundaryNetwork())
312314

313315
def testMakeFromAntimonyStrRoadrunner(self):
314316
if IGNORE_TEST:
315317
return
316318
roadrunner = te.loada(BIG_NETWORK)
317-
network = NetworkBase.makeFromAntimonyStr(None, roadrunner=roadrunner)
319+
network = cast(NetworkBase, NetworkBase.makeFromAntimonyStr(None, roadrunner=roadrunner)) # type: ignore
318320
self.assertGreater(network.num_species, 0)
319321

320322
def testMakeFromSBMLFile(self):
321323
if IGNORE_TEST:
322324
return
323325
PATH = os.path.join(cn.TEST_DIR, "xml_files/BIOMD0000000033.xml")
324-
network = NetworkBase.makeFromSBMLFile(PATH)
326+
network = cast(NetworkBase, NetworkBase.makeFromSBMLFile(PATH))
325327
self.assertGreater(network.num_species, 0)
326328

327329
def testMakeInducedNetwork(self):

0 commit comments

Comments
 (0)