Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
622 commits
Select commit Hold shift + click to select a range
4827cfd
Auto-merge: recorded merge of main into PR #230 (ours strategy)
akutuva21 May 28, 2026
8f2a76f
Auto-merge: recorded merge of main into PR #228 (ours strategy)
akutuva21 May 28, 2026
17615ea
Auto-merge: recorded merge of main into PR #226 (ours strategy)
akutuva21 May 28, 2026
4835ede
Auto-merge: recorded merge of main into PR #211 (ours strategy)
akutuva21 May 28, 2026
7120dc0
Auto-merge: recorded merge of main into PR #199 (ours strategy)
akutuva21 May 28, 2026
39a798a
Auto-merge after rebase/resolve (#262)
akutuva21 May 28, 2026
5fc23e6
Fix CLI version autoload in bionetgen main.py
google-labs-jules[bot] May 28, 2026
b6c5766
Merge main into fix-multiple-species-vol-adjust branch, resolving con…
akutuva21 May 28, 2026
d30d9f4
fix(atomizer): properly handle volume adjustment for multiple species…
akutuva21 May 28, 2026
02fb8c4
Merge main into fix-create-metarule-grouping branch, resolving conflicts
akutuva21 May 28, 2026
0a97617
Fix equivalent molecule grouping in metarule construction
akutuva21 May 28, 2026
ae56326
Merge main into jules-17470102766816167443 branch, resolving conflicts
akutuva21 May 28, 2026
26089dd
Refactor atomizer dependency sorting to use networkx
akutuva21 May 28, 2026
432cf1e
Merge main into fix-rule-ptr-info branch, resolving conflicts
akutuva21 May 28, 2026
dafb0fa
Fix Rule Pointer Info Pulling
akutuva21 May 28, 2026
ee3bcf6
Merge main into fix-cli-version-autoload branch, resolving conflicts
akutuva21 May 28, 2026
1c79693
Merge remote-tracking branch and main into fix-cli-version, resolving…
akutuva21 May 28, 2026
0e088f7
Auto-load PyBioNetGen version in CLI
akutuva21 May 28, 2026
9f21fd2
Revert "Auto-load PyBioNetGen version in CLI"
akutuva21 May 28, 2026
23f8c07
feat: Auto-load PyBioNetGen CLI version via module metadata
google-labs-jules[bot] May 16, 2026
23f934d
feat: add version flag and replace pytest-mock with unittest.mock
google-labs-jules[bot] May 17, 2026
431a4d0
Fix CLI version autoload in bionetgen main.py
google-labs-jules[bot] May 17, 2026
5d5a127
Auto-load PyBioNetGen version in CLI
akutuva21 May 28, 2026
ac1f5ce
Merge main into fix-namespace-collision branch
akutuva21 May 28, 2026
2a2385d
Fix parameter namespace collision TODO in atomizer
akutuva21 May 28, 2026
6d3b677
Merge main into refactor/bngresult-methods-standalone-116519065354215…
akutuva21 May 28, 2026
0204515
Merge main into perf-optimize-annotationids-cache-11689877580400673886
akutuva21 May 28, 2026
7a5043a
Merge main into fix-bngmodel-multiple-species-todo-9267923595827846518
akutuva21 May 28, 2026
6772594
Refactor BNGResult file loading methods to be standalone
akutuva21 May 28, 2026
b455a2a
Optimize annotationIDs database fetching in Atomizer
akutuva21 May 28, 2026
51c914e
Clarify multiple species substitution logic in atomizer bngModel.py
akutuva21 May 28, 2026
a032c11
Merge main into #226
akutuva21 May 28, 2026
1f5f9bc
Add tests for CSimulator property and simulate method
akutuva21 May 28, 2026
690c829
Merge main into #199
akutuva21 May 28, 2026
7e1f748
Add test_simulator_setter tests from PR #199
akutuva21 May 28, 2026
c96ffa9
Add tests for CSimulator simulator property
akutuva21 May 28, 2026
4695526
Merging PR #340
akutuva21 May 31, 2026
2a4ff15
Merging PR #341
akutuva21 May 31, 2026
4464ee9
Merging PR #343
akutuva21 May 31, 2026
a4045ee
Merging PR #346
akutuva21 May 31, 2026
d8abc43
Merging PR #347
akutuva21 May 31, 2026
3c8c32d
Merging PR #348
akutuva21 May 31, 2026
8a80ad9
Merging PR #354
akutuva21 May 31, 2026
ff76f2e
Merging PR #355
akutuva21 May 31, 2026
59a59a5
Merging PR #356
akutuva21 May 31, 2026
9558c33
Merging PR #358
akutuva21 May 31, 2026
43fab6e
Merging PR #361
akutuva21 May 31, 2026
a12ae0e
Merging PR #363
akutuva21 May 31, 2026
1b29e46
Merging PR #367
akutuva21 May 31, 2026
d267a62
Fix action argument type checking in structs.py
akutuva21 May 31, 2026
9703d19
Fix action parser validation for argument-less actions
akutuva21 May 31, 2026
ca3f11f
Add test suite for BNGCLI execution wrapper
akutuva21 May 31, 2026
a55023d
Use cement app logging in Atomizer
akutuva21 May 31, 2026
1cf57ef
Add exception testing for BNGModel.add_block
akutuva21 May 31, 2026
82061bd
Refactor bngl2xml subprocess execution
akutuva21 May 31, 2026
876d60b
Fix docstrings and remove empty TODOs in bionetgen network structs
akutuva21 May 31, 2026
46a3ad0
Add test for parsing zero molecule pattern
akutuva21 May 31, 2026
1e980e2
Optimize tuple membership checks in atomizer code
akutuva21 May 31, 2026
cc1e439
Add verbosity option to parser
akutuva21 May 31, 2026
eac07ff
⚡ refactor(NamingDatabase): optimize connection handling for 3.7x que…
akutuva21 May 31, 2026
5322298
Fix incomplete string copy in analyzeSBML
akutuva21 May 31, 2026
79f8ffa
🧪 add exception coverage for BNGModel.add_block
akutuva21 May 31, 2026
5b528e4
🧪 [test] Cover exception path in BNGGdiff _get_color_id
akutuva21 May 31, 2026
335c0bd
Validate pattern characters in Molecule names
akutuva21 May 31, 2026
d4594f3
🧹 [code health improvement description]
akutuva21 May 31, 2026
8a8fca4
🧹 Refactor arule parameter handling in bngModel.py
akutuva21 May 31, 2026
af82ecd
🧪 Add unit tests for _extract_nv_assignments in sympy_odes
akutuva21 May 31, 2026
c7aed2f
Remove legacy getReactionPropertiesOld code
akutuva21 May 31, 2026
47544dd
🧹 Code Health: Simplify __setattr__ in network and model API blocks
akutuva21 May 31, 2026
3ed755a
🧪 [testing improvement] Cover NotImplementedError for BNGSimulator.si…
akutuva21 May 31, 2026
c191143
🔒 Security: Replace dangerous eval() with ast.literal_eval() in postA…
akutuva21 May 31, 2026
2a1280a
⚡ Refactor NamingDatabase to use persistent SQLite connection
akutuva21 May 31, 2026
d20e69d
🧪 Add comprehensive test coverage for BNGSimulator properties
akutuva21 May 31, 2026
b536e3a
⚡ Optimize SQLite connection overhead in NamingDatabase
akutuva21 May 31, 2026
38425a9
🧪 tests(Pattern): implement comprehensive unit tests for equality eva…
akutuva21 May 31, 2026
9a5fbf3
🧹 Remove redundant TODO and dead code for parameter replacement in bn…
akutuva21 May 31, 2026
16ac316
🧪 Add comprehensive testing for _get_node_from_keylist
akutuva21 May 31, 2026
01e4925
🧹 [code health improvement] Update misleading TODO comment for SBML f…
akutuva21 May 31, 2026
b8c5cda
🧪 Add zero molecule parsing test for BNGPatternReader
akutuva21 May 31, 2026
b314c3b
🧪 [Testing Improvement] Validate _safe_rmtree handles lower-level OS …
akutuva21 May 31, 2026
8b59172
🧪 Add unit tests for ModelObj item operations
akutuva21 May 31, 2026
db08569
🧹 Refactor adjust_func_def to address TODO and unused variable
akutuva21 May 31, 2026
60c0595
🧹 Code Health: Refactor TODOs to Notes in bngModel.py
akutuva21 May 31, 2026
8abfeb1
🧹 [code health] Remove empty TODO comments from network structs
akutuva21 May 31, 2026
8fface5
🧪 Add unit test for ActionBlock list iteration
akutuva21 May 31, 2026
74d5642
fix(setup.py): prevent duplicate manifest inclusions
akutuva21 May 31, 2026
94079ff
🧪 Add tests for gdiff.py tool
akutuva21 May 31, 2026
9d231da
Fix comment setter in structs.py
akutuva21 May 31, 2026
000cd8d
🧪 Add test for missing ID error handling in BondsXML parser
akutuva21 May 31, 2026
779df24
Merge PR 308
akutuva21 May 31, 2026
9cd4ef6
⚡ Optimize membership check with tuple instead of list
akutuva21 May 31, 2026
07d91c8
🧪 [testing improvement] Add unit tests for _color_node in gdiff.py
akutuva21 May 31, 2026
4594dba
Refactor comment setter to use regex
akutuva21 May 31, 2026
b82fde2
🧪 Add tests for BNGSimulator properties
akutuva21 May 31, 2026
88d232b
Fix CI failures: runner.py SectionProxy attribute error and test_plot…
akutuva21 Jun 1, 2026
a523638
Removed temp files
akutuva21 Jun 1, 2026
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
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.

12 changes: 11 additions & 1 deletion 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,6 +20,16 @@


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

Expand Down
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