Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
718 commits
Select commit Hold shift + click to select a range
d710bb2
Merge ruleworld/main: protocol blocks, quote-aware actions, distutils…
akutuva21 Jun 1, 2026
5317d3d
Optimize dictionary comprehensions in namingDatabase.py
google-labs-jules[bot] Jun 2, 2026
a458827
Fix unsafe ast.literal_eval usage in analyzeTrends
google-labs-jules[bot] Jun 2, 2026
40e2acf
Remove commented-out logging functions and their calls
google-labs-jules[bot] Jun 2, 2026
c8fbaa3
perf: fix N+1 query issue in naming database annotation insertion
google-labs-jules[bot] Jun 2, 2026
7a01839
test: add ValueError and TypeError coverage for ModelObj.line_label s…
google-labs-jules[bot] Jun 2, 2026
2777b56
Fix gather_terms to use sympy native minus sign extraction
google-labs-jules[bot] Jun 2, 2026
9662e76
Fix unsafe ast.literal_eval usage in analyzeTrends and format file
google-labs-jules[bot] Jun 2, 2026
848c35e
test: improve coverage for _extract_function_body in sympy_odes.py
google-labs-jules[bot] Jun 2, 2026
f229715
🧹 Refactor to add warning for renaming reserved keyword 'e' in Atomizer
google-labs-jules[bot] Jun 2, 2026
af04b8b
Add test for action parsing exceptions in BNGParser
google-labs-jules[bot] Jun 2, 2026
ea923fd
test: add test for Pattern.canonicalize ImportError handling
google-labs-jules[bot] Jun 2, 2026
012a7b9
Fix black linting errors for namingDatabase.py optimization
google-labs-jules[bot] Jun 2, 2026
be12bc1
style: run black to fix formatting issues
google-labs-jules[bot] Jun 2, 2026
9cd1933
test: add ValueError and TypeError coverage for ModelObj.line_label s…
google-labs-jules[bot] Jun 2, 2026
0a85e52
Remove commented-out logging functions and their calls
google-labs-jules[bot] Jun 2, 2026
a36562c
fix: Add rate rules to bngModel functions in sbml2bngl
google-labs-jules[bot] Jun 2, 2026
b25ff43
perf: optimize `deleteMolecule` list traversal with early exit
google-labs-jules[bot] Jun 2, 2026
0caafab
Add tests for the `notebook` CLI command.
google-labs-jules[bot] Jun 2, 2026
12613f3
perf: optimize distanceToModification repeated regex evaluation
google-labs-jules[bot] Jun 2, 2026
77fd4cb
Replace unsafe ast.literal_eval with json.loads
google-labs-jules[bot] Jun 2, 2026
849cd7a
feat(sbml2bngl): add logging for assignment rule assumption
google-labs-jules[bot] Jun 2, 2026
d5a479b
Fix insecure deserialization via pickle.load in atomizer/contactMap.py
google-labs-jules[bot] Jun 2, 2026
684b691
perf: cache queryActiveSite locally in resolveSCT loop
google-labs-jules[bot] Jun 2, 2026
6ad7d2d
style: fix formatting via black
google-labs-jules[bot] Jun 2, 2026
a48b28c
Fix: Consider parameter namespace for observables in SBML converter
google-labs-jules[bot] Jun 2, 2026
121a326
fix(sbml2bngl): correctly update observablesDict values when overridd…
google-labs-jules[bot] Jun 2, 2026
aa53fdb
🧪 Add tests for ValueError and TypeError in add_item
google-labs-jules[bot] Jun 2, 2026
81a6ce6
Fix assignment rule renaming breakage
google-labs-jules[bot] Jun 2, 2026
5dc51a3
Add isolated test for runner.run()
google-labs-jules[bot] Jun 2, 2026
9034c5d
Add evaluation of parameters using sympy\n\nThis adds the missing mat…
google-labs-jules[bot] Jun 2, 2026
7f7a363
Fix parsing of constant species names in sbml2bngl
google-labs-jules[bot] Jun 2, 2026
958dc5d
Refactor rawSpeciesName sorting in sbml2bngl.py
google-labs-jules[bot] Jun 2, 2026
43d2e8c
refactor: Remove commented out block functions and lists in network.py
google-labs-jules[bot] Jun 2, 2026
a077f34
Fix detection of mass action kinetics in sbml2bngl
google-labs-jules[bot] Jun 2, 2026
0616f9b
🧹 Refactor bothSides hack in sbml2bngl.py
google-labs-jules[bot] Jun 2, 2026
6d0b9ec
🧹 [code health improvement] Fix broken logic in assignment rule subst…
google-labs-jules[bot] Jun 2, 2026
5017bfe
🔒 Fix ast.literal_eval DoS vulnerability in postAnalysis.py
google-labs-jules[bot] Jun 2, 2026
a7465f5
Fix parameter namespace check in sbml2bngl
google-labs-jules[bot] Jun 2, 2026
070b5f2
fix: properly set nl and nr when reactants/products are in rate expre…
google-labs-jules[bot] Jun 2, 2026
b5364e3
🧪 Add tests for _extract_define_int macro parser
google-labs-jules[bot] Jun 2, 2026
deaecdb
Refactor: Convert TODO to Note in bngModel.py
google-labs-jules[bot] Jun 2, 2026
70f6fb3
fix: correctly update observable dictionary for assignment rules
google-labs-jules[bot] Jun 2, 2026
1189c10
🧪 Test ValueError handling in xmlparsers
google-labs-jules[bot] Jun 2, 2026
38bb19d
refactor: move parameter evaluation to ParameterBlock
google-labs-jules[bot] Jun 2, 2026
acf3667
Fix double modification queueing in SCTSolver
google-labs-jules[bot] Jun 2, 2026
fab2c56
Fix Denial of Service vulnerability caused by ast.literal_eval on ass…
google-labs-jules[bot] Jun 2, 2026
f9d33ce
Optimize repeated set constructions in annotation comparisons
google-labs-jules[bot] Jun 2, 2026
6f5aa7f
Merge pull request #380 from akutuva21/fix-bngmodel-functions-rate-la…
akutuva21 Jun 2, 2026
d4f60f4
Merge pull request #381 from akutuva21/perf-optimize-delete-molecule-…
akutuva21 Jun 2, 2026
65fb7b6
Merge pull request #382 from akutuva21/add-notebook-cli-tests-8123240…
akutuva21 Jun 2, 2026
70d7dcd
Merge pull request #383 from akutuva21/perf-distance-to-modification-…
akutuva21 Jun 2, 2026
7eebd76
Merge pull request #384 from akutuva21/security-ast-literal-eval-1503…
akutuva21 Jun 2, 2026
3fb7588
Merge pull request #385 from akutuva21/jules-assignment-rule-log-9593…
akutuva21 Jun 2, 2026
f9e8df7
Merge pull request #386 from akutuva21/jules-fix-insecure-deserializa…
akutuva21 Jun 2, 2026
db358f2
Merge pull request #387 from akutuva21/optimize-active-site-query-217…
akutuva21 Jun 2, 2026
5c7d3c1
Merge pull request #388 from akutuva21/fix-observable-parameter-names…
akutuva21 Jun 2, 2026
77931c0
Merge pull request #389 from akutuva21/fix/sbml2bngl-assignment-rules…
akutuva21 Jun 2, 2026
7beb383
Consolidate path argument in BNGResult constructor
google-labs-jules[bot] Jun 2, 2026
08fc251
🧹 code health: Convert unverifiable TODO to Note in sbml2bngl
google-labs-jules[bot] Jun 2, 2026
ea09d78
Merge pull request #390 from akutuva21/test-add-item-value-error-6117…
akutuva21 Jun 2, 2026
ef9cce6
Merge pull request #372 from akutuva21/code-health/remove-commented-l…
akutuva21 Jun 2, 2026
878da16
Merge pull request #375 from akutuva21/fix-gather-terms-sympy-8961855…
akutuva21 Jun 2, 2026
1b87b52
Merge pull request #378 from akutuva21/testing-bngparser-exception-16…
akutuva21 Jun 2, 2026
4b2ab8d
Merge pull request #392 from akutuva21/add-runner-tests-1490269944216…
akutuva21 Jun 2, 2026
cd6568a
Merge pull request #402 from akutuva21/fix-sbml-rate-nl-nr-expression…
akutuva21 Jun 2, 2026
0ae5596
Merge pull request #393 from akutuva21/fix-parameter-eval-36689354754…
akutuva21 Jun 2, 2026
138502e
Merge pull request #403 from akutuva21/test-extract-define-int-100153…
akutuva21 Jun 2, 2026
90da67a
Merge pull request #394 from akutuva21/fix-parse-constant-species-nam…
akutuva21 Jun 2, 2026
1423dd6
Merge pull request #404 from akutuva21/fix-todo-comment-compartment-s…
akutuva21 Jun 2, 2026
9148b15
Merge pull request #396 from akutuva21/code-health/remove-commented-o…
akutuva21 Jun 2, 2026
0f62ad7
Merge pull request #406 from akutuva21/test-valueerror-xmlparsers-164…
akutuva21 Jun 2, 2026
09cee1d
Merge pull request #398 from akutuva21/fix-sbml2bngl-hack-75845404696…
akutuva21 Jun 2, 2026
76b3613
Merge pull request #407 from akutuva21/fix/parameter-block-evaluation…
akutuva21 Jun 2, 2026
29967cd
Remove commented out adjust_concentrations method
google-labs-jules[bot] Jun 2, 2026
f8e16aa
Merge pull request #408 from akutuva21/fix-resolveSCT-double-modifica…
akutuva21 Jun 2, 2026
184abbf
Merge pull request #410 from akutuva21/optimize-annotation-comparison…
akutuva21 Jun 2, 2026
3a045c8
Merge pull request #371 from akutuva21/fix-insecure-eval-601159618043…
akutuva21 Jun 2, 2026
d9e8bdd
perf: Optimize regex compilation and substitution in bnglWriter.py
google-labs-jules[bot] Jun 2, 2026
fefabcc
Merge remote-tracking branch 'origin/main' into perf-fix-n-plus-one-q…
akutuva21 Jun 2, 2026
1812948
Merge remote-tracking branch 'origin/main' into fix-sbml2bngl-sorting…
akutuva21 Jun 2, 2026
ec3388d
Merge remote-tracking branch 'origin/main' into fix-sbml-mass-action-…
akutuva21 Jun 2, 2026
4d52be8
Merge remote-tracking branch 'origin/main' into testing-structs-line-…
akutuva21 Jun 2, 2026
e7fe9aa
Merge branch 'main' into jules/tests-sympy-odes-extract-func-body-510…
akutuva21 Jun 2, 2026
2ef4601
Merge remote-tracking branch 'origin/main' into fix/warning-e-paramet…
akutuva21 Jun 2, 2026
a91d57c
Merge remote-tracking branch 'origin/main' into add-pynauty-importerr…
akutuva21 Jun 2, 2026
548fe45
Merge remote-tracking branch 'origin/main' into refactor-bngresult-pa…
akutuva21 Jun 2, 2026
1625cc9
Merge pull request #373 from akutuva21/perf-fix-n-plus-one-query-6421…
akutuva21 Jun 2, 2026
693713c
Merge pull request #374 from akutuva21/testing-structs-line-label-913…
akutuva21 Jun 2, 2026
a02f560
Merge pull request #376 from akutuva21/jules/tests-sympy-odes-extract…
akutuva21 Jun 2, 2026
02494a0
Merge pull request #377 from akutuva21/fix/warning-e-parameter-297527…
akutuva21 Jun 2, 2026
8f500ed
Merge pull request #379 from akutuva21/add-pynauty-importerror-test-1…
akutuva21 Jun 2, 2026
c18b1c9
Merge pull request #395 from akutuva21/fix-sbml2bngl-sorting-57969616…
akutuva21 Jun 2, 2026
b9bc5c5
Merge pull request #397 from akutuva21/fix-sbml-mass-action-check-913…
akutuva21 Jun 2, 2026
7b52362
Merge pull request #411 from akutuva21/refactor-bngresult-path-619640…
akutuva21 Jun 2, 2026
105c407
test: add cli argument tests for graphdiff command
google-labs-jules[bot] Jun 2, 2026
51a2970
🔒 Fix XXE vulnerability by migrating to defusedxml
google-labs-jules[bot] Jun 2, 2026
f669748
Fix reduceComponentSymmetryFactors and integrate it
google-labs-jules[bot] Jun 2, 2026
c3e1ff2
Add tests for `_extract_odes_from_cvode_mex`
google-labs-jules[bot] Jun 2, 2026
7631edd
Merge branch 'main' into fix-assignment-rule-renaming
akutuva21 Jun 2, 2026
d1b20fb
Merge pull request #391 from akutuva21/fix-assignment-rule-renaming-1…
akutuva21 Jun 2, 2026
a1d1785
Merge branch 'main' into fix-sbml2bngl-assignment-rules
akutuva21 Jun 2, 2026
c8eb6ea
Merge branch 'main' into fix-sbml2bngl-assignment-rules
akutuva21 Jun 2, 2026
57368e3
Merge pull request #399 from akutuva21/fix-sbml2bngl-assignment-rules…
akutuva21 Jun 2, 2026
7e3c7f2
Merge pull request #370 from akutuva21/performance-optimize-naming-da…
akutuva21 Jun 2, 2026
baca96b
Merge pull request #413 from akutuva21/remove-dead-code-1127262841901…
akutuva21 Jun 2, 2026
6373b64
Merge pull request #414 from akutuva21/perf/optimize-regex-writer-117…
akutuva21 Jun 2, 2026
45ee188
Merge pull request #415 from akutuva21/test-graphdiff-cli-30498149842…
akutuva21 Jun 2, 2026
abbb01d
Merge pull request #416 from akutuva21/jules/fix-xxe-vulnerability-86…
akutuva21 Jun 2, 2026
e1e4e55
Merge pull request #417 from akutuva21/fix-reduce-symmetry-factors-30…
akutuva21 Jun 2, 2026
85abac1
fix: update comment and warning message for rate rules over non-zero …
google-labs-jules[bot] Jun 2, 2026
b40fd73
Merge branch 'main' into fix-ast-literal-eval-dos
akutuva21 Jun 2, 2026
53c21e8
Merge pull request #400 from akutuva21/fix-ast-literal-eval-dos-91508…
akutuva21 Jun 2, 2026
5d1fe87
Merge branch 'main' into fix/sbml2bngl-parameter-namespace
akutuva21 Jun 2, 2026
a8c6343
Merge pull request #401 from akutuva21/fix/sbml2bngl-parameter-namesp…
akutuva21 Jun 2, 2026
5a96e6f
🔒 fix insecure pickle deserialization in atomizer utils
google-labs-jules[bot] Jun 2, 2026
5108efc
Fix compartment removal in reaction rates for sbml2bngl
google-labs-jules[bot] Jun 2, 2026
41f54b3
Merge branch 'main' into fix-sbml2bngl-misreplacement
akutuva21 Jun 2, 2026
432f0aa
Merge pull request #405 from akutuva21/fix-sbml2bngl-misreplacement-1…
akutuva21 Jun 2, 2026
78cdf32
Merge branch 'main' into jules-security-fix-literal-eval
akutuva21 Jun 2, 2026
569710b
Merge pull request #409 from akutuva21/jules-security-fix-literal-eva…
akutuva21 Jun 2, 2026
d38a3b5
Merge branch 'main' into fix-dynamics-TODO
akutuva21 Jun 2, 2026
064f45b
Replace insecure `pickle.load` with `json.load` in contactMap.py
google-labs-jules[bot] Jun 2, 2026
cea86b9
Merge pull request #412 from akutuva21/fix-dynamics-TODO-163658619625…
akutuva21 Jun 2, 2026
d776a2f
Merge branch 'main' into test-extract-odes-from-cvode-mex
akutuva21 Jun 2, 2026
b800c7c
Merge pull request #418 from akutuva21/test-extract-odes-from-cvode-m…
akutuva21 Jun 2, 2026
ca8885d
Refactor complex dictionary lookup in sbml2bngl.py
google-labs-jules[bot] Jun 2, 2026
c6123fb
Merge pull request #420 from akutuva21/security-fix-pickle-load-16209…
akutuva21 Jun 2, 2026
6612d48
Merge pull request #421 from akutuva21/fix-sbml2bngl-compartment-remo…
akutuva21 Jun 2, 2026
0d95090
Merge branch 'main' into fix-rate-rule-parameter-warning
akutuva21 Jun 2, 2026
ec6c7d6
Merge pull request #419 from akutuva21/fix-rate-rule-parameter-warnin…
akutuva21 Jun 2, 2026
26e843e
Merge branch 'main' into fix-insecure-pickle-deserialization
akutuva21 Jun 2, 2026
8bc75bf
Merge pull request #422 from akutuva21/fix-insecure-pickle-deserializ…
akutuva21 Jun 2, 2026
43192a9
Merge branch 'main' into fix-sbml2bngl-dict-lookup
akutuva21 Jun 2, 2026
c47876c
Merge pull request #423 from akutuva21/fix-sbml2bngl-dict-lookup-1739…
akutuva21 Jun 2, 2026
987e72f
Remove junk files
akutuva21 Jun 2, 2026
78bf222
fix: resolve CI failures - black formatting, test assertions, and dep…
akutuva21 Jun 3, 2026
5e7f083
fix: resolve remaining CI test failures - bad escape, BNGModelError a…
akutuva21 Jun 3, 2026
32afe40
fix: patch _new_ccompiler instead of module-level ccompiler in csimul…
akutuva21 Jun 3, 2026
5c5187c
fix: replace parenthesized with statement for Python 3.8 compatibility
akutuva21 Jun 3, 2026
c3a1cbc
PyBioNetGen: Refactor equivalent items grouping in ContextAnalyzer
akutuva21 Jun 4, 2026
850f1b5
PyBioNetGen: Fix contactMap.py to only process the first cluster usin…
akutuva21 Jun 4, 2026
50f96e5
PyBioNetGen: 🧪 Add unit test for printInfo in core/main.py
akutuva21 Jun 4, 2026
c37f6f7
PyBioNetGen: Fix string copying bug in `analyzeSBML.py`
akutuva21 Jun 4, 2026
4cb397d
PyBioNetGen: Add verbosity option logging during XML parsing
akutuva21 Jun 4, 2026
20d1464
PyBioNetGen: Fix BNGL argument parsing to support 0 as a dictionary key
akutuva21 Jun 4, 2026
59ad8f0
PyBioNetGen: ⚡ Optimize Levenshtein distance calculations via memoiza…
akutuva21 Jun 4, 2026
f3169ba
PyBioNetGen: 🧪 Add error test for shutil.rmtree in CSimulator
akutuva21 Jun 4, 2026
1be33e4
PyBioNetGen: fix: Migrate BNGL function creation into bngModel class
akutuva21 Jun 4, 2026
f663e96
PyBioNetGen: 🔒 Fix Hardcoded BioGRID API Key
akutuva21 Jun 4, 2026
d2a0029
PyBioNetGen: Merge ruleworld/main - Add BNGsim bridge and simulation …
akutuva21 Jun 5, 2026
e991daa
PyBioNetGen: Add missing logger and exception handling in runner to f…
akutuva21 Jun 5, 2026
88810a8
PyBioNetGen: Add PLA support to BNGsim backend bridge
akutuva21 Jun 5, 2026
dfe574a
Revert PLA support for BNGsim - BNGsim does not support PLA
akutuva21 Jun 5, 2026
d7eaedc
🧪 Add test for AssertionError with debug=True in main.py
google-labs-jules[bot] Jun 9, 2026
0e5a4aa
test(cli): add error path test for exception in cli.py getattr fallback
google-labs-jules[bot] Jun 9, 2026
e5c1e9c
fix(atomizer): handle species with multiple identically-named molecul…
google-labs-jules[bot] Jun 9, 2026
b3c3626
Refactor selectBestCandidate to a class method
google-labs-jules[bot] Jun 9, 2026
23e3dc9
refactor: remove unused os and numpy imports from plot.py
google-labs-jules[bot] Jun 9, 2026
40e02be
🔒 Fix insecure XML parsing (XXE) by disabling entities in xmltodict.p…
google-labs-jules[bot] Jun 9, 2026
5d8d0b9
fix: properly propagate suppress and utilize BNGLogger for verbosity
google-labs-jules[bot] Jun 9, 2026
b99b6fa
Refactor `getAssignmentRules` to reduce code duplication\n\nConsolida…
google-labs-jules[bot] Jun 9, 2026
4e0d88d
Refactor ActionList.__init__ into smaller methods\n\nExtracted massiv…
google-labs-jules[bot] Jun 9, 2026
0b37f11
test: add missing BNGError coverage for visualize.py
google-labs-jules[bot] Jun 9, 2026
de0e0c9
Refactor string concatenation to list join for performance improvemen…
google-labs-jules[bot] Jun 9, 2026
9fa9502
Refactor analyzeReactionRate by extracting logic to helper methods
google-labs-jules[bot] Jun 9, 2026
8035619
Added missing error path tests for bionetgen notebook stdout/stderr f…
google-labs-jules[bot] Jun 9, 2026
d883d33
Optimize bngModel.__str__ to use list joining instead of string conca…
google-labs-jules[bot] Jun 9, 2026
40457a3
Optimize viable candidate search in `analyzeSpeciesModification` usin…
google-labs-jules[bot] Jun 9, 2026
fd31c3b
🔒 Fix Insecure Deserialization of pickle
google-labs-jules[bot] Jun 9, 2026
98c9f47
⚡ Optimize list membership check to set membership check
google-labs-jules[bot] Jun 9, 2026
b6724d2
Refactor analyzeHelper to reduce complexity and improve maintainability
google-labs-jules[bot] Jun 9, 2026
5df98e2
Remove deprecated naming convention code in analyzeSBML.py
google-labs-jules[bot] Jun 9, 2026
f9aad1d
Fix unused imports in bionetgen/__init__.py
google-labs-jules[bot] Jun 9, 2026
d235043
Remove unused AtomizeTool import from bionetgen/atomizer/__init__.py
google-labs-jules[bot] Jun 9, 2026
4c1dc36
perf: Hoist regex compilation outside loop in bnglWriter
google-labs-jules[bot] Jun 9, 2026
8ec8677
Add explicit tests for error paths in BNGGdiff._color_node
google-labs-jules[bot] Jun 9, 2026
0547673
Enable support for more than one transformation in analyzeSBML
google-labs-jules[bot] Jun 9, 2026
6120307
Optimize queryActiveSite network requests to run concurrently
google-labs-jules[bot] Jun 9, 2026
2650c68
Add missing error path test for CaughtSignal SIGTERM in main.py
google-labs-jules[bot] Jun 9, 2026
cc1c1ba
Refactor getSpecies to reduce complexity
google-labs-jules[bot] Jun 9, 2026
5bbd7cc
Refactored `adjust_func_def` in bngModel.py by extracting inner logic…
google-labs-jules[bot] Jun 9, 2026
6c6b9e5
perf: use sets for O(1) membership checks in bnglWriter
google-labs-jules[bot] Jun 9, 2026
673f48d
Fix SQL injection vulnerabilities in namingDatabase
google-labs-jules[bot] Jun 9, 2026
35ca14d
style(tests): run black on test_cli.py
google-labs-jules[bot] Jun 9, 2026
fcf3642
style: run black on test_cli.py
google-labs-jules[bot] Jun 9, 2026
9e12029
style: format moleculeCreation.py with black
google-labs-jules[bot] Jun 9, 2026
4d007f3
style: fix formatting in moleculeCreation.py
google-labs-jules[bot] Jun 9, 2026
efae620
🔒 Fix insecure XML parsing (XXE) by disabling entities in xmltodict.p…
google-labs-jules[bot] Jun 9, 2026
8c1eb03
🧪 Add test for AssertionError with debug=True in main.py
google-labs-jules[bot] Jun 9, 2026
a17d409
🔒 Fix insecure XML parsing (XXE) by disabling entities in xmltodict.p…
google-labs-jules[bot] Jun 9, 2026
8846b7d
fix: properly propagate suppress and utilize BNGLogger for verbosity
google-labs-jules[bot] Jun 9, 2026
5365e21
Added missing error path tests for bionetgen notebook stdout/stderr f…
google-labs-jules[bot] Jun 9, 2026
63d368b
Optimize viable candidate search in analyzeSpeciesModification using …
google-labs-jules[bot] Jun 9, 2026
c6bf6b6
🔒 Fix Insecure Deserialization of pickle
google-labs-jules[bot] Jun 9, 2026
5262d1e
Optimize viable candidate search in analyzeSpeciesModification using …
google-labs-jules[bot] Jun 9, 2026
7688fa5
🔒 Fix Insecure Deserialization of pickle
google-labs-jules[bot] Jun 9, 2026
38af27a
perf: Hoist regex compilation outside loop in bnglWriter
google-labs-jules[bot] Jun 9, 2026
94ed63f
perf: Hoist regex compilation outside loop in bnglWriter
google-labs-jules[bot] Jun 9, 2026
12ba8df
Add explicit tests for error paths in BNGGdiff._color_node
google-labs-jules[bot] Jun 9, 2026
ac4415e
Optimize queryActiveSite network requests to run concurrently
google-labs-jules[bot] Jun 9, 2026
e206f67
Enable support for more than one transformation in analyzeSBML
google-labs-jules[bot] Jun 9, 2026
ce9e02a
Refactor getSpecies to reduce complexity
google-labs-jules[bot] Jun 9, 2026
3673649
Refactored adjust_func_def into multiple methods
google-labs-jules[bot] Jun 9, 2026
fd46d9f
Formatting fixes for namingDatabase
google-labs-jules[bot] Jun 9, 2026
093d694
Optimize viable candidate search in analyzeSpeciesModification using …
google-labs-jules[bot] Jun 9, 2026
d501cd4
Added missing error path tests for bionetgen notebook stdout/stderr f…
google-labs-jules[bot] Jun 10, 2026
b1c4284
Remove unused AtomizeTool import from bionetgen/atomizer/__init__.py
google-labs-jules[bot] Jun 10, 2026
37022e3
fix: properly propagate suppress and utilize BNGLogger for verbosity
google-labs-jules[bot] Jun 10, 2026
25ba43c
fix(atomizer): handle species with multiple identically-named molecul…
google-labs-jules[bot] Jun 10, 2026
357fd98
Optimize viable candidate search in analyzeSpeciesModification using …
google-labs-jules[bot] Jun 10, 2026
c2471c3
Merge PR #518: Refactor adjust_func_def in bngModel.py
akutuva21 Jun 10, 2026
c033ae8
Merge PR #501: optimize membership checks with sets and generators (r…
akutuva21 Jun 10, 2026
d179aab
Merge PR #496: Optimize string building in bngModel.__str__
akutuva21 Jun 10, 2026
633b087
Refactor analyzeReactionRate by extracting logic to helper methods
google-labs-jules[bot] Jun 10, 2026
783ce49
⚡ Optimize list membership check to set membership check
google-labs-jules[bot] Jun 10, 2026
ccce0e7
Optimize bngModel.__str__ to use list joining instead of string conca…
google-labs-jules[bot] Jun 10, 2026
86af5e8
Refactor getSpecies to reduce complexity
google-labs-jules[bot] Jun 10, 2026
bdd22f1
Merge PR #501: membership checks + PR #496: str concat
akutuva21 Jun 10, 2026
f0b451e
Merge PR #480
akutuva21 Jun 10, 2026
7eb14af
Merge PR #481
akutuva21 Jun 10, 2026
7432ff3
Merge PR #483
akutuva21 Jun 10, 2026
b850880
Merge PR #484
akutuva21 Jun 10, 2026
4e25b37
Merge PR #487
akutuva21 Jun 10, 2026
73ba6ec
Merge PR #489
akutuva21 Jun 10, 2026
2b40c39
Merge PR #490
akutuva21 Jun 10, 2026
6402e2c
Merge PR #491
akutuva21 Jun 10, 2026
d7957d9
Merge PR #492
akutuva21 Jun 10, 2026
83f673a
Merge PR #494
akutuva21 Jun 10, 2026
3138087
Merge PR #495
akutuva21 Jun 10, 2026
284d82d
Merge PR #496
akutuva21 Jun 10, 2026
9859b7e
Merge PR #497
akutuva21 Jun 10, 2026
e713c2a
Merge PR #498
akutuva21 Jun 10, 2026
3cfaec1
Merge PR #500
akutuva21 Jun 10, 2026
4a3c185
Merge PR #502
akutuva21 Jun 10, 2026
b5ed4fe
Merge PR #503
akutuva21 Jun 10, 2026
e408b2c
Merge PR #504
akutuva21 Jun 10, 2026
f1a95df
Merge PR #506
akutuva21 Jun 10, 2026
1029adc
Merge PR #507
akutuva21 Jun 10, 2026
234b8b3
Merge PR #510
akutuva21 Jun 10, 2026
cc550c1
Merge PR #511
akutuva21 Jun 10, 2026
4b25466
Merge PR #516
akutuva21 Jun 10, 2026
f0e62ab
Merge PR #517
akutuva21 Jun 10, 2026
1e71736
Merge PR #519
akutuva21 Jun 10, 2026
0a784c2
Merge PR #521
akutuva21 Jun 10, 2026
7eb3950
Merge PR #476: Add test for main assertion error debug
akutuva21 Jun 10, 2026
a881b85
Merge PR #477: Add test for CLI exception handling
akutuva21 Jun 10, 2026
b1d028f
Merge PR #515: Optimize pathwaycommons network requests to execute co…
akutuva21 Jun 10, 2026
f915e1b
Remove temp/log/patch files (plan.md, context.log)
akutuva21 Jun 10, 2026
da6ec28
Merge all open PRs with conflict resolution
akutuva21 Jun 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/black_format.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: psf/black@stable
with:
options: "--check --verbose"
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,29 +61,29 @@ jobs:
packages: write

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- name: Set up QEMU
uses: docker/setup-qemu-action@v2
uses: docker/setup-qemu-action@v3

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
uses: docker/setup-buildx-action@v3

- name: Login to GHCR
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}

- name: Build and push Docker image
uses: docker/build-push-action@v4.0.0
uses: docker/build-push-action@v6
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,5 @@ temp_testing/*
build
dist
Issues/rule_keywords/test_DeleteMolecules_changed.bngl
.jules/
__pycache__/
8 changes: 0 additions & 8 deletions MANIFEST.in

This file was deleted.

16 changes: 13 additions & 3 deletions bionetgen/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
from .core.tools.bngsim_bridge import BNGSIM_AVAILABLE, BNGSIM_VERSION
from .modelapi import bngmodel
from .modelapi.runner import run
from .simulator import sim_getter
from .simulator.simulators import sim_getter

# sympy is an expensive dependency to import. We delay importing the
# SympyOdes helpers until they are actually accessed.
Expand All @@ -20,8 +20,18 @@


def __getattr__(name):
if name == "__version__":
import importlib.metadata

try:
return importlib.metadata.version("bionetgen")
except importlib.metadata.PackageNotFoundError:
from .core.version import get_version

return get_version()

if name in {"SympyOdes", "export_sympy_odes"}:
from .modelapi.sympy_odes import SympyOdes, export_sympy_odes
from .modelapi import sympy_odes

return locals()[name]
return getattr(sympy_odes, name)
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
1 change: 0 additions & 1 deletion bionetgen/atomizer/__init__.py
Original file line number Diff line number Diff line change
@@ -1 +0,0 @@
from .atomizeTool import AtomizeTool
26 changes: 20 additions & 6 deletions bionetgen/atomizer/atomizeTool.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,12 @@ def __init__(
)
# we generate our defaults first and override it with
# the dictionary first and then the namespace

bng_path = d.bng_path
if self.app is not None and hasattr(self.app, "config"):
if "bionetgen" in self.app.config:
bng_path = self.app.config.get("bionetgen", "bngpath")

config = {
"input": None, # we need this, check at the end and fail if we don't have it
"annotation": False,
Expand All @@ -29,9 +35,7 @@ def __init__(
"convert_units": False, # currently not supported
"atomize": False, # default is flat translation
"pathwaycommons": True, # requires connection so default is false
"bionetgen_analysis": os.path.join(
d.bng_path, "BNG2.pl"
), # TODO: get it from app config
"bionetgen_analysis": os.path.join(bng_path, "BNG2.pl"),
"isomorphism_check": False, # wtf do we do here?
"ignore": False, # wtf do we do here?
"memoized_resolver": False,
Expand Down Expand Up @@ -77,7 +81,13 @@ def checkConfig(self, config):
"Validating config options", loc=f"{__file__} : AtomizeTool.checkConfig()"
)
options = {}
options["inputFile"] = config["input"] # TODO: ensure this is not None
options["inputFile"] = config["input"]
if options["inputFile"] is None:
self.logger.error(
"Input file is required but was not provided",
loc=f"{__file__} : AtomizeTool.checkConfig()",
)
raise ValueError("Input file is required but was not provided")
conv, useID, naming = ls2b.selectReactionDefinitions(options["inputFile"])
options["outputFile"] = (
config["output"]
Expand Down Expand Up @@ -116,8 +126,12 @@ def checkConfig(self, config):
return options

def run(self):
# TODO: Make atomizer also use cement app logging
# this involves changing a lot of code in atomizer!
# Wire up the atomizer's global logger to the cement app
from bionetgen.atomizer.utils.util import logger as atomizer_logger

atomizer_logger.app = self.app
atomizer_logger.level = self.config["logLevel"]

self.logger.debug("Analyzing SBML file", loc=f"{__file__} : AtomizeTool.run()")
self.returnArray = ls2b.analyzeFile(
self.config["inputFile"],
Expand Down
Loading
Loading