Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
346 commits
Select commit Hold shift + click to select a range
d3d6113
update macOS intel-based runner hosts to use macOS 13
adelhpour Dec 4, 2024
39e9982
revert macOS intel-based runner hosts to use macOS 12
adelhpour Dec 4, 2024
f80bfa7
Merge pull request #19 from sys-bio/add-features-fix-bugs
adelhpour Dec 4, 2024
e6bfc3c
fix the bug with the newly added c api functions.
adelhpour Dec 5, 2024
1f40e87
version is updated to 0.4.3
adelhpour Dec 5, 2024
414f134
Merge pull request #20 from sys-bio/add-features-fix-bugs
adelhpour Dec 5, 2024
8e5455b
fix the bug with some other c api functions.
adelhpour Dec 5, 2024
483e5e5
version is updated to 0.4.4
adelhpour Dec 5, 2024
1ea4f86
Merge pull request #21 from sys-bio/add-features-fix-bugs
adelhpour Dec 5, 2024
6e79533
fix another minor bug
adelhpour Dec 5, 2024
8852f24
version is updated to 0.4.5
adelhpour Dec 5, 2024
bd850e4
Merge pull request #22 from sys-bio/add-features-fix-bugs
adelhpour Dec 6, 2024
86445f7
Modify CMakeLists.txt to make it possible to link to 'libsbml' and 'l…
adelhpour Dec 6, 2024
2d7e9e2
the workflow to build libsbmlnetworkjs is added.
adelhpour Dec 6, 2024
d670f11
Merge pull request #23 from sys-bio/add-the-workflow-to-build-libsbml…
adelhpour Dec 6, 2024
979d940
fix the bug with the variable SBMLNETWORK_VERS
adelhpour Dec 6, 2024
ddac650
change the new workflow name
adelhpour Dec 6, 2024
e24dd5a
Merge pull request #24 from sys-bio/add-the-workflow-to-build-libsbml…
adelhpour Dec 6, 2024
25d61f0
fix minor bugs in libsbmlnetworkjs workflow
adelhpour Dec 6, 2024
2148520
fix minor bugs in libsbmlnetworkjs workflow
adelhpour Dec 6, 2024
92195a5
fix minor bugs in libsbmlnetworkjs workflow
adelhpour Dec 6, 2024
f8e4efe
fix minor bugs in libsbmlnetworkjs workflow
adelhpour Dec 6, 2024
a95d494
fix minor bugs in libsbmlnetworkjs workflow
adelhpour Dec 6, 2024
797e2d3
fix minor bugs in libsbmlnetworkjs workflow
adelhpour Dec 7, 2024
bfaf209
fix minor bugs in libsbmlnetworkjs workflow
adelhpour Dec 7, 2024
05becbe
fix minor bugs in libsbmlnetworkjs workflow
adelhpour Dec 7, 2024
769619f
fix minor bugs in libsbmlnetworkjs workflow
adelhpour Dec 7, 2024
27fbba2
fix minor bugs in libsbmlnetworkjs workflow
adelhpour Dec 7, 2024
c9dd62c
- test directory is renamed to 'test_with_generic_models'
adelhpour Dec 11, 2024
3d4e134
- fix the issue with CI/CD to install test dependency
adelhpour Dec 11, 2024
3bcb2fb
add missing function declarations in the c api
adelhpour Dec 11, 2024
a575faa
'isVisible' function that checks if a graphical object is visible on …
adelhpour Dec 11, 2024
58e87d2
new tests are added to check for the newly added features
adelhpour Dec 11, 2024
8201971
minor bug fix for a c api function name
adelhpour Dec 11, 2024
a9e6ef5
Merge pull request #26 from sys-bio/add-more-tests
adelhpour Dec 11, 2024
6c4aa1c
Allow various 'get' functions to work with const input.
luciansmith Dec 12, 2024
4f40ede
Update fixes.
luciansmith Dec 12, 2024
2cfd718
Merge pull request #27 from sys-bio/allow-get-on-const
adelhpour Dec 13, 2024
f5b90cc
- The bug with user-set canvas dimensions vanishing after calling aut…
adelhpour Dec 16, 2024
e461c42
- minor fix
adelhpour Dec 16, 2024
e472b88
the bug with 'getNumSpeciesReferenceAssociatedWithSpecies' function n…
adelhpour Dec 17, 2024
fd2855d
The test for 'getNumSpeciesReferenceAssociatedWithSpecies' function i…
adelhpour Dec 17, 2024
3d94841
- the option to set whether to disable the autolayout while loading o…
adelhpour Dec 17, 2024
8e9f818
fix the issue with the test syntax
adelhpour Dec 17, 2024
829805d
API function to give the user access to update curve feature is added…
adelhpour Dec 17, 2024
98ac731
- Fix the bug with setting the color features of a group of graphica…
adelhpour Dec 17, 2024
5017b5e
- Fix the issue with 'test_layout_size' test
adelhpour Dec 17, 2024
6ffefba
_ fix the issue with retrieving 'use_name_as_text_label' and 'stoichi…
adelhpour Dec 17, 2024
4228ba3
minor syntax fix
adelhpour Dec 17, 2024
b3087cf
Merge branch 'develop' into add-features-fix-bugs
adelhpour Dec 17, 2024
690297d
minor syntax fix
adelhpour Dec 17, 2024
d4fbd21
the check on the value of the 'useNameAsTextLabel' and 'Stoichiometri…
adelhpour Dec 17, 2024
c7b9c95
Merge pull request #32 from sys-bio/add-features-fix-bugs
adelhpour Dec 17, 2024
8233169
update version to 0.4.6
adelhpour Dec 17, 2024
91b8fc8
- The algorithm to keep the fixed dimensions of the layout canvas no …
adelhpour Dec 18, 2024
94194a5
required header file is added (required on linux)
adelhpour Dec 18, 2024
a2dd8f8
Merge pull request #33 from sys-bio/replace-fix-layout-dimensions-alg…
adelhpour Dec 18, 2024
309105f
python user-interface is added along with its test suite
adelhpour Feb 4, 2025
ce7c94e
CI/CD workflow is updated
adelhpour Feb 4, 2025
fc676d4
include 'stdbool.h' to take care of boolean values.
adelhpour Feb 4, 2025
94060d2
booleans are handled in ctypes
adelhpour Feb 4, 2025
ff128c0
make changes to see if the alias reaction test passes on windows
adelhpour Feb 4, 2025
f4c904e
remove load_save test
adelhpour Feb 4, 2025
e5b20e2
make changes to see if the alias reaction test passes on windows
adelhpour Feb 4, 2025
58874da
make changes to see if the alias reaction test passes on windows
adelhpour Feb 4, 2025
68f3c8d
make changes to see if the alias reaction test passes on windows
adelhpour Feb 4, 2025
cc674a2
make changes to see if the alias reaction test passes on windows
adelhpour Feb 4, 2025
514c508
make changes to see if the alias reaction test passes on windows
adelhpour Feb 4, 2025
edac736
make changes to see if the alias reaction test passes on windows
adelhpour Feb 4, 2025
9771690
make changes to see if the alias reaction test passes on windows
adelhpour Feb 4, 2025
356e559
make changes to see if the alias reaction test passes on windows
adelhpour Feb 4, 2025
b92b285
make changes to see if the alias reaction test passes on windows
adelhpour Feb 5, 2025
4ccdf92
make changes to see if the alias reaction test passes on windows
adelhpour Feb 5, 2025
a4f9c72
make changes to see if the alias reaction test passes on windows
adelhpour Feb 5, 2025
4eef9bd
make changes to see if the alias reaction test passes on windows
adelhpour Feb 5, 2025
bb1260f
make changes to see if the alias reaction test passes on windows
adelhpour Feb 5, 2025
a59cc7c
make changes to see if the alias reaction test passes on windows
adelhpour Feb 5, 2025
4f92e43
make changes to see if the alias reaction test passes on windows
adelhpour Feb 5, 2025
6df44ba
make changes to see if the alias reaction test passes on windows
adelhpour Feb 5, 2025
3cfac08
make changes to see if the alias reaction test passes on windows
adelhpour Feb 5, 2025
c04798a
make changes to see if the alias reaction test passes on windows
adelhpour Feb 5, 2025
43e5267
The feature to add a color bar is added
adelhpour Feb 7, 2025
f631241
'NetworkSettings' is renamed to 'Settings'
adelhpour Feb 7, 2025
7b1a696
Test for the added color bar feature is added
adelhpour Feb 7, 2025
f2944e0
Minor bug fixes
adelhpour Feb 7, 2025
ff292da
make changes to see if the alias reaction test passes on windows
adelhpour Feb 7, 2025
974af7d
make changes to see if the alias reaction test passes on windows
adelhpour Feb 7, 2025
e976f44
make changes to see if the alias reaction test passes on windows
adelhpour Feb 7, 2025
5e83164
make changes to see if the alias reaction test passes on windows
adelhpour Feb 7, 2025
cbe3dbd
make changes to see if the alias reaction test passes on windows
adelhpour Feb 8, 2025
03d25ef
make changes to see if the alias reaction test passes on windows
adelhpour Feb 8, 2025
1a19ba7
make changes to see if the alias reaction test passes on windows
adelhpour Feb 8, 2025
b485696
make changes to see if the alias reaction test passes on windows
adelhpour Feb 8, 2025
bae5912
make changes to see if the alias reaction test passes on windows
adelhpour Feb 8, 2025
ee13e39
make changes to see if the alias reaction test passes on windows
adelhpour Feb 8, 2025
45c6157
make changes to see if the alias reaction test passes on windows
adelhpour Feb 8, 2025
c5f1a23
make changes to see if the alias reaction test passes on windows
adelhpour Feb 8, 2025
5b329a0
make changes to see if the alias reaction test passes on windows
adelhpour Feb 8, 2025
7386812
Version is updated to 0.5.0
adelhpour Feb 8, 2025
d880c7d
Merge pull request #36 from sys-bio/add-python-user-interface-layer
adelhpour Feb 8, 2025
020c9af
The feature to hide/show species references is added.
adelhpour Feb 12, 2025
39a756a
Version is updated to 0.5.1
adelhpour Feb 12, 2025
3b17394
Add the access to visual-element features to the network elements
adelhpour Feb 19, 2025
cc42a32
- The feature to show fluxes is added
adelhpour Feb 28, 2025
4e286f9
- modify the show fluxes feature and not exposing it to the user yet
adelhpour Mar 5, 2025
05e6498
version is updated to 0.5.2
adelhpour Mar 5, 2025
d51795d
remove align tests related to SpeciesList since align functions are n…
adelhpour Mar 5, 2025
955abf2
remove align tests related to SpeciesList since align functions are n…
adelhpour Mar 5, 2025
f8c3d01
- ColorBar is associated with the integrated data. The users can now …
adelhpour Mar 14, 2025
d302914
- minor bug fix
adelhpour Mar 14, 2025
106a0b1
- set escher style is more accurate and fine-grained now
adelhpour Mar 24, 2025
58eb800
refactor: enhance reaction reversibility handling and import style ma…
adelhpour Mar 25, 2025
5a1102b
Merge pull request #40 from sys-bio/add-new-features
adelhpour Mar 26, 2025
112eee1
- fix the issue with autolayout overwriting reaction position and dim…
adelhpour Mar 25, 2025
3a6bda9
refactor: remove unused functions from layout helpers
adelhpour Mar 26, 2025
29557c2
refactor: remove unused function for setting reaction bounding boxes
adelhpour Mar 26, 2025
1d1e5e6
Fix the issue with autolayout not keeping the info of the empty speci…
adelhpour Mar 26, 2025
8e48328
refactor: fix the issue with set style features function, like setFil…
adelhpour Mar 27, 2025
c615b7d
feat: functions to pull the default values for empty speices glyph si…
adelhpour Mar 29, 2025
249d32f
refactor: remove debug output for curve segment coordinates in setDim…
adelhpour Mar 29, 2025
2828a17
feat: add tests for bug fixes and newly added features
adelhpour Mar 29, 2025
8acb67b
feat: enhance alignment functions to support clockwise direction and …
adelhpour Mar 29, 2025
c923489
Merge pull request #44 from sys-bio/add-features-fix-bugs-reported-by…
adelhpour Mar 29, 2025
8a142fc
- add the feature to size-code the species based on their concentrati…
adelhpour Apr 4, 2025
85d9568
fix: fix the bug with autolayout removing user-created alias nodes
adelhpour Apr 5, 2025
6522c95
fix: update setSpeciesGlyphIndexInReactionGlyph function to make it r…
adelhpour Apr 5, 2025
5f42d7e
fix: update bounding box dimensions for reaction glyphs to ensure min…
adelhpour Apr 5, 2025
d75dcbf
- Add test to check if the alias species are are kept after calling a…
adelhpour Apr 5, 2025
373a456
fix: make minor changes to make tests pass
adelhpour Apr 5, 2025
60a4d18
fix: make minor changes to make tests pass
adelhpour Apr 5, 2025
6608ff3
chore: bump version to 0.5.5
adelhpour Apr 5, 2025
2fb4d80
Merge pull request #48 from sys-bio/add-features-fix-bugs-reported-by…
adelhpour Apr 5, 2025
6e31012
add 'getConnectedReactionsFor', which is the function to get the reac…
adelhpour Apr 8, 2025
530fba7
the test for newly added 'getConnectedReactionsFor' function is added.
adelhpour Apr 8, 2025
acb9c0f
Merge pull request #49 from sys-bio/add-features-fix-bugs-reported-by…
adelhpour Apr 8, 2025
276a104
refactor: update color bar implementation to support linear and log s…
adelhpour Apr 21, 2025
1c77ecb
- autolayout now sets the default form of reactions to shapes
adelhpour Apr 21, 2025
9b19601
refactor: update GitHub Actions workflow for libsbmlnetwork with WebA…
adelhpour Apr 21, 2025
9e5e8b3
Merge pull request #50 from sys-bio/add-features-fix-bugs-reported-by…
adelhpour Apr 22, 2025
f2e7024
Merge pull request #51 from sys-bio/update-webassembly-workflow
adelhpour Apr 22, 2025
1685506
refactor: update GitHub Actions workflow for libsbmlnetwork with WebA…
adelhpour Apr 22, 2025
851ac0f
Merge pull request #52 from sys-bio/update-webassembly-workflow
adelhpour Apr 22, 2025
d2b20c2
setDimensionHeight/Width was not always 'sticky', nor consistent. No…
luciansmith Apr 22, 2025
3b54f8f
Don't return NAN when asked for an unsigned int.
luciansmith Apr 22, 2025
9dd6eb5
chore: update libroadrunner dependencies to version 2.2.15
adelhpour Apr 23, 2025
5e8940b
Merge pull request #53 from sys-bio/fix-set-reaction-size
adelhpour Apr 23, 2025
f1b3a86
chore: bump version to 0.5.6
adelhpour Apr 23, 2025
a2746be
feat: add skip_hidden_elements option to color coding classes and upd…
adelhpour Apr 23, 2025
04aacb1
Return 0 for getNumGeometricShapes of zero, instead of 4.3 billion.
luciansmith Apr 28, 2025
c12a9a9
Merge pull request #55 from sys-bio/fix-getNumGeometricShapes
adelhpour Apr 28, 2025
639e85e
docs: update installation instructions and add build from source sect…
adelhpour Apr 29, 2025
b3594e7
refactor: update getStyleType and getTextGlyphStyleType functions to …
adelhpour Apr 29, 2025
03b4aeb
fix: fix the issue counting graphical objects more than once
adelhpour Apr 29, 2025
aa22bbd
fix: update minimum gradient colors requirement for log color bar to 5
adelhpour Apr 29, 2025
8f5e442
feat: add min_size and max_size parameters to SizeCodingConcentration…
adelhpour Apr 29, 2025
9c86ab5
Add the code used to create paper figures and the generated SBML models
adelhpour Apr 29, 2025
a84aa9e
Allow the create Alias node functions to not re-run autolayout.
luciansmith Apr 29, 2025
a2d9278
Fix leaks.
luciansmith Apr 29, 2025
e95abb9
Version is updated to 0.5.7
adelhpour Apr 30, 2025
e89b4b8
fix the bug introduced with the latest changes
adelhpour Apr 30, 2025
4834ef8
fix the syntax issue
adelhpour Apr 30, 2025
9405720
Merge pull request #54 from sys-bio/update-version
adelhpour Apr 30, 2025
cda3896
Merge pull request #56 from sys-bio/allow-alias-creation-without-auto…
adelhpour Apr 30, 2025
a50612b
- fix the remaining issue with updating font sizes with species size …
adelhpour May 6, 2025
673f8cc
- Update extents is not longer activated by default
adelhpour May 6, 2025
30226b7
Paper examples are updated
adelhpour May 6, 2025
30091c2
update the tests with the latest changes
adelhpour May 6, 2025
1ac9d45
bump version to 0.5.8
adelhpour May 6, 2025
8c228ba
Merge pull request #59 from sys-bio/fix-issues-add-new-features
adelhpour May 6, 2025
cb124ea
add DOI badge to README.md
adelhpour May 7, 2025
c048091
Merge pull request #60 from sys-bio/update-readme
adelhpour May 7, 2025
4f30bfd
disable Ubuntu build configurations in build.yml
adelhpour May 7, 2025
825d2cd
Merge pull request #62 from sys-bio/develop
luciansmith May 7, 2025
94031ee
enable Ubuntu build configurations in build.yml and update dependenci…
adelhpour May 7, 2025
ca9e25c
disable building the dynamic version of the library in CMakeLists.txt
adelhpour May 8, 2025
42d034b
Actually delete all removed elements.
luciansmith May 9, 2025
86a89d9
Merge pull request #61 from sys-bio/update-readme
adelhpour May 10, 2025
005582a
Revert "fix the issue with GitHub Actions"
adelhpour May 10, 2025
078f567
Merge pull request #57 from sys-bio/fix-leaks
adelhpour May 10, 2025
c42d13e
LIBEXPAT_LIBRARY -> EXPAT_LIBRARY
luciansmith May 12, 2025
2f98d28
Merge pull request #64 from sys-bio/revert-61-update-readme
adelhpour May 12, 2025
a0de2c9
Merge pull request #65 from sys-bio/rename-expat
luciansmith May 13, 2025
59815fd
update build.yml to disable Ubuntu configurations and bump dependenci…
adelhpour May 14, 2025
a222835
Merge pull request #66 from sys-bio/disable-github-actions-ubuntu-run…
adelhpour May 14, 2025
d6431da
orphan species glyphs (species glyphs associated with species which a…
adelhpour May 14, 2025
5e54f38
refactor grouping now checks all the aliases of the reactions whose i…
adelhpour May 14, 2025
d258806
fix test assertions to check for equality of species positions
adelhpour May 15, 2025
1768820
Merge pull request #67 from sys-bio/fix-issues
adelhpour May 15, 2025
d66516a
add independent text glyph functionality to SBML network
adelhpour Jun 13, 2025
f2d2731
bump version to 0.5.9
adelhpour Jun 13, 2025
4de6b1b
add iterations parameter to autolayout functions for enhanced control…
adelhpour Jun 24, 2025
205bf47
fix the reported issue with the script of 'Figure 4' in the examples
adelhpour Jun 25, 2025
4a9ad0b
Merge pull request #68 from sys-bio/add-indepednent-text-funcionality
adelhpour Jun 25, 2025
8175dc0
Merge remote-tracking branch 'origin/develop' into develop
adelhpour Jun 25, 2025
b014d12
add enable rotational mapping functionality for LineEnding and Specie…
adelhpour Jun 26, 2025
c0e50de
add getTextGlyphId and setTextGlyphId functions for managing TextGlyp…
adelhpour Jun 27, 2025
d18a946
add hide and show methods for label visibility management
adelhpour Jun 27, 2025
e459ebc
add geometric shape handling and label visibility for process nodes i…
adelhpour Jun 27, 2025
e8736dd
update the docs for c and c++ APIs
adelhpour Jul 3, 2025
566bb03
fix the issues with some api functions and their docs
adelhpour Jul 3, 2025
3a4d50b
add documentation for Python API
adelhpour Jul 4, 2025
d0a1871
minor bug fixes
adelhpour Jul 4, 2025
f0412ae
refactor documentation
adelhpour Jul 4, 2025
1da69bf
add graphviz extension for documentation and update requirements
adelhpour Jul 4, 2025
23dcb2e
add graphviz package to Read the Docs configuration
adelhpour Jul 4, 2025
1d1fe98
- add border and fill color parameters to SBGN classes and implement …
adelhpour Jul 7, 2025
d3647a6
add Tellurium as an optional dependency for SBMLNetwork and update do…
adelhpour Jul 16, 2025
f2cde31
update documentation: enhance building instructions, add gallery sect…
adelhpour Jul 21, 2025
90cbab9
update documentation: clarify data argument usage for show_fluxes and…
adelhpour Jul 22, 2025
1c24cdb
update SBGN classes: adjust border width and add font size setting
adelhpour Jul 23, 2025
ebcac18
update SBGN classes: adjust border width and add font size setting
adelhpour Jul 23, 2025
b9cfa69
bump version to 0.5.10
adelhpour Jul 23, 2025
b99f09a
update dependency handling: import tellurium only if it is explicitly…
adelhpour Jul 31, 2025
afa7601
Merge pull request #70 from sys-bio/address-reveiwer-comments
adelhpour Jul 31, 2025
9689ec2
bump version to 0.5.11
adelhpour Jul 31, 2025
719a9dc
add benchmark script
adelhpour Aug 4, 2025
d020009
Replace the .pdf figures with .svg for docs
adelhpour Aug 7, 2025
ef05bbe
Merge pull request #71 from sys-bio/fix-the-issue-with-docuementation…
adelhpour Aug 7, 2025
6818d89
update the doc of ths save function.
adelhpour Aug 9, 2025
c5f16f2
Merge pull request #72 from sys-bio/fix-the-issue-with-docuementation…
adelhpour Aug 9, 2025
2416fbc
Fix the issue with the links in the docs
adelhpour Aug 28, 2025
58caeac
Merge pull request #75 from sys-bio/fix-the-issue-with-the-links-in-t…
adelhpour Aug 28, 2025
36e7e0b
update local style creation: clear geometric shapes before returning …
adelhpour Sep 12, 2025
69ade23
update documentation: modify set_size method to accept a tuple for di…
adelhpour Sep 12, 2025
975f8e1
Merge branch 'develop' into add-minor-fixes
adelhpour Sep 12, 2025
eacf0c0
Merge pull request #77 from sys-bio/add-minor-fixes
adelhpour Sep 12, 2025
67896ef
The code to set escher style custom features is moved to C++
adelhpour Sep 16, 2025
47a23dc
Add methods for curve segment conversion between Bezier and straight …
adelhpour Sep 16, 2025
8470f7c
Update macOS build configuration to use macOS 14
adelhpour Sep 17, 2025
7fd502b
Define M_PI if not already defined in libsbmlnetwork_styles.cpp
adelhpour Sep 17, 2025
a94b947
Merge pull request #78 from sys-bio/add-features
adelhpour Sep 17, 2025
687d285
update docs
adelhpour Sep 19, 2025
d096fa6
bump version to 0.5.12
adelhpour Sep 19, 2025
9c87d09
Merge pull request #79 from sys-bio/add-features
adelhpour Sep 19, 2025
a27b5c0
fix the issue with the build pipeline.
adelhpour Sep 19, 2025
27bd58c
fix the issue with the docs of api functions
adelhpour Sep 19, 2025
13dd22e
fix the issue with the docs of api functions
adelhpour Sep 19, 2025
a00bf6e
Fix #include so it works if included elsewhere.
luciansmith Sep 24, 2025
cb4b7c8
Fix to set stroke width for the entire reaction.
luciansmith Oct 16, 2025
18ebf3b
Merge pull request #81 from sys-bio/fix-include
luciansmith Oct 17, 2025
46f10e9
fix: autolayout now respects multi-segmented curves.
adelhpour Dec 24, 2025
510500b
fix: build macOS Intel target on macOS 15
adelhpour Dec 24, 2025
c32d827
fix: update actions workflow to use libroadrunner-deps v2.2.22
adelhpour Dec 24, 2025
3f46a06
fix: conditionally include libz library in CMake configuration
adelhpour Dec 25, 2025
dba91d0
fix: update CMake configuration to always include libz library
adelhpour Dec 25, 2025
7df9c4f
fix: enhance CMake configuration for better dependency management and…
adelhpour Dec 25, 2025
edc4f66
fix: update CMake configuration to link libraries correctly for share…
adelhpour Dec 25, 2025
2417802
fix: update CMake minimum version and enhance zlib configuration
adelhpour Dec 25, 2025
762bf1c
Merge pull request #82 from sys-bio/fix-autolayout-respect-to-multi-s…
adelhpour Dec 25, 2025
8aa3fd4
Set the stroke color of reaction arcs when setting the stroke color o…
luciansmith Mar 13, 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
110 changes: 110 additions & 0 deletions .github/workflows/build-libsbmlnetworkjs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
name: build-libsbmlnetwork-webassembly-github-actions
run-name: Building libsbmlnetwork-webassembly
on:
workflow_dispatch:
inputs:
sbmlnetwork_version:
description: 'SBMLNetwork version number'
required: true
default: '0.4.5'
libsbml_version:
description: 'LibSBML version number'
required: true
default: '5.20.0'
jobs:
build-new-version-libsbmlnetwork-webassembly:
runs-on: ubuntu-latest
env:
EMSDK: emsdk
EMSCRIPTEN_VERS: '3.1.20'
EMSDK_NODE: emsdk/node/16.20.0_64bit/bin/node
SBML_VERS: ${{ inputs.libsbml_version }}
SBMLNETWORK_VERS: ${{ inputs.SBMLNETWORK_VERSion }}
steps:
- uses: actions/checkout@v4
- name: get emscripten
run: git clone https://github.com/emscripten-core/emsdk.git
- name: change emsdk script permissions
run: chmod +x emsdk
working-directory: emsdk
- name: install emscripten sdk
run: ./emsdk install $EMSCRIPTEN_VERS
working-directory: emsdk
- name: activate emscripten
run: ./emsdk activate $EMSCRIPTEN_VERS
working-directory: emsdk
- run: echo "$GITHUB_WORKSPACE/emsdk/upstream/emscripten" >> $GITHUB_PATH
- run: echo "$GITHUB_WORKSPACE/emsdk" >> $GITHUB_PATH
- name: confirm emscripten works
run: emcc -v
- run: echo $PATH
- run: echo $EMSDK_NODE
- run: mkdir install
- run: wget https://github.com/libexpat/libexpat/releases/download/R_2_2_10/expat-2.2.10.tar.bz2
- run: tar -xf expat-2.2.10.tar.bz2
- run: mv expat-2.2.10 expat
- name: make expat build dir
run: mkdir build
working-directory: expat
- name: build expat lib
run: emcmake cmake .. -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/install/expat
working-directory: expat/build
- name: Compile expat lib
run: emmake make
working-directory: expat/build
- name: install expat lib
run: emmake make install
working-directory: expat/build
- name: Get libSBML
run: wget https://github.com/sbmlteam/libsbml/archive/refs/tags/v$SBML_VERS.zip
- run: unzip v$SBML_VERS.zip
- run: mv libsbml-$SBML_VERS libsbml
- name: make libsbml build dir
run: mkdir build
working-directory: libsbml
- name: build libsbml library
run: emcmake cmake .. -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/install/sbml -DCMAKE_BUILD_TYPE=Release -DWITH_CPP_NAMESPACE=ON -DWITH_EXPAT=ON -DWITH_LIBXML=OFF -DLIBSBML_SKIP_SHARED_LIBRARY=ON -DENABLE_LAYOUT=ON -DENABLE_RENDER=ON -DWITH_STABLE_PACKAGES=ON -DWITH_SWIG=OFF -DEXPAT_INCLUDE_DIR=$GITHUB_WORKSPACE/install/expat/include -DEXPAT_LIBRARY=$GITHUB_WORKSPACE/install/expat/lib/libexpat.a
working-directory: libsbml/build
- name: compile libsbml lib
run: emmake make
working-directory: libsbml/build
- name: install libsbml
run: emmake make install
working-directory: libsbml/build
- name: Get SBMLNetwork
run: wget https://github.com/sys-bio/SBMLNetwork/archive/refs/tags/v$SBMLNETWORK_VERS.zip
- run: unzip v$SBMLNETWORK_VERS.zip
- run: mv SBMLNetwork-$SBMLNETWORK_VERS/ SBMLNetwork
- name: make SBMLNetwork build dir
run: mkdir build
working-directory: SBMLNetwork
- name: Build SBMLNetwork library
run: emcmake cmake .. -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/install/SBMLNetwork -DCMAKE_BUILD_TYPE=Release -DEXPAT_INSTALL_PREFIX=$GITHUB_WORKSPACE/install/expat -DLIBEXPAT_LIBRARY=$GITHUB_WORKSPACE/install/expat/lib/libexpat.a -DLIBSBML_INSTALL_PREFIX=$GITHUB_WORKSPACE/install/sbml -DLIBSBML_LIBRARY=$GITHUB_WORKSPACE/install/sbml/lib/libsbml-static.a -DWITH_PYTHON=OFF
working-directory: SBMLNetwork/build
- name: Compile SBMLNetwork lib
run: emmake make
working-directory: SBMLNetwork/build
- name: Install SBMLNetwork lib
run: emmake make install
working-directory: SBMLNetwork/build
- name: Generate SBMLNetwork javascript and wasm files
run: em++ -I$GITHUB_WORKSPACE/install/SBMLNetwork/include -I$GITHUB_WORKSPACE/install/sbml/include -I$GITHUB_WORKSPACE/install/expat/include $GITHUB_WORKSPACE/install/SBMLNetwork/lib/libsbmlnetwork.a $GITHUB_WORKSPACE/install/sbml/lib/libsbml-static.a $GITHUB_WORKSPACE/install/expat/lib/libexpat.a -o libsbmlnetwork.js -s WASM=1 -s LINKABLE=1 -s EXPORT_ALL=1 -s MODULARIZE=1 -s EXPORT_ES6=1 -s EXPORTED_RUNTIME_METHODS='["ccall", "cwrap", "allocateUTF8", "UTF8ToString"]'
working-directory: install
- name: List build libsbmlnetwork-webassembly files
run: ls -l
working-directory: install
- name: Build output directory
run: |
mkdir -p $GITHUB_WORKSPACE/libsbmlnetwork-webassembly
echo "artifacts_path=$GITHUB_WORKSPACE/libsbmlnetwork-webassembly" >> "${GITHUB_ENV}"
- name: Copy libsbmlnetwork-webassembly files to the workspace
run: |
cp install/libsbmlnetwork.js $GITHUB_WORKSPACE/libsbmlnetwork-webassembly/
cp install/libsbmlnetwork.wasm $GITHUB_WORKSPACE/libsbmlnetwork-webassembly/
- name: Verify copied files
run: ls -l $GITHUB_WORKSPACE/libsbmlnetwork-webassembly
- name: Upload libsbmlnetwork-webassembly files
uses: actions/upload-artifact@v4
with:
name: libsbmlnetwork-webassembly
path: ${{env.artifacts_path}}
43 changes: 23 additions & 20 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,41 +10,41 @@ on:

jobs:
build_on_OSs:
name: Build RoadRunner on ${{ matrix.platform.name }}-python${{ matrix.python_version }}
name: Build SBMLNetwork on ${{ matrix.platform.name }}-python${{ matrix.python_version }}
strategy:
fail-fast: false
matrix:
platform:
- name: macos-12-release
- name: macos-15-intel-release
os_type: macos
os_name: macos-12
os_name: macos-15-intel
build_type: Release
build_python: ON
- name: macos-12-debug
- name: macos-15-intel-debug
os_type: macos
os_name: macos-12
os_name: macos-15-intel
build_type: Debug
build_python: ON
- name: macos-latest-release
os_type: macos
os_name: macos-latest
os_name: macos-14
build_type: Release
build_python: ON
- name: macos-latest-debug
os_type: macos
os_name: macos-latest
build_type: Debug
build_python: ON
- name: ubuntu-latest-release
os_type: ubuntu
os_name: ubuntu-latest
build_type: Release
build_python: ON
- name: ubuntu-latest-debug
os_type: ubuntu
os_name: ubuntu-latest
os_name: macos-14
build_type: Debug
build_python: ON
# - name: ubuntu-latest-release
# os_type: ubuntu
# os_name: ubuntu-latest
# build_type: Release
# build_python: ON
# - name: ubuntu-latest-debug
# os_type: ubuntu
# os_name: ubuntu-latest
# build_type: Debug
# build_python: ON
- name: windows-latest-release
os_type: windows
os_name: windows-latest
Expand All @@ -70,7 +70,7 @@ jobs:
libroadrunner_deps_owner: [ "sys-bio" ]
libroadrunner_deps_repo: [ "libroadrunner-deps" ]
libroadrunner_deps_name: [ "libroadrunner-deps" ]
libroadrunner_deps_release_version: [ "v2.1.2" ]
libroadrunner_deps_release_version: [ "v2.2.22" ]
python_version: [ "3.11" ]
runs-on: ${{ matrix.platform.os_name }}
container:
Expand Down Expand Up @@ -241,14 +241,17 @@ jobs:
python -m pip install pytest ipython setuptools wheel
python -m pip install ${RUNNER_WORKSPACE}/install-libsbmlnetwork/lib/python/site-packages/libsbmlnetwork
python -m pip install ${RUNNER_WORKSPACE}/install-libsbmlnetwork/lib/python/site-packages/sbmlnetwork
python -m pip install tellurium
elif [ "${{ matrix.platform.os_type }}" == 'manylinux' ]; then
python${{ matrix.python_version }} -m pip install --trusted-host pypi.org --trusted-host pypi.python.org --trusted-host files.pythonhosted.org pytest ipython setuptools wheel
python${{ matrix.python_version }} -m pip install ${RUNNER_WORKSPACE}/install-libsbmlnetwork/lib/python/site-packages/libsbmlnetwork
python${{ matrix.python_version }} -m pip install ${RUNNER_WORKSPACE}/install-libsbmlnetwork/lib/python/site-packages/sbmlnetwork
python${{ matrix.python_version }} -m pip install tellurium
else
python${{ matrix.python_version }} -m pip install pytest ipython setuptools wheel
python${{ matrix.python_version }} -m pip install ${RUNNER_WORKSPACE}/install-libsbmlnetwork/lib/python/site-packages/libsbmlnetwork
python${{ matrix.python_version }} -m pip install ${RUNNER_WORKSPACE}/install-libsbmlnetwork/lib/python/site-packages/sbmlnetwork
python${{ matrix.python_version }} -m pip install tellurium
fi

- name: Run libSBMLNetwork tests
Expand All @@ -259,7 +262,7 @@ jobs:
if [ "${{ matrix.platform.os_type }}" == 'windows' ]; then
python -m pytest -p no:cacheprovider
else
python${{ matrix.python_version }} -m pytest -p no:cacheprovider
python${{ matrix.python_version }} -m pytest -v -p no:cacheprovider
fi

- name: Set artifacts path and name
Expand Down Expand Up @@ -345,7 +348,7 @@ jobs:
path: ${{env.libsbmlnetwork_python_wheel_artifacts_file}}

- name: Upload SBMLNetwork Python wheel artifacts
if: matrix.platform.build_type == 'Release' && matrix.platform.build_python == 'ON' && matrix.platform.os_name == 'macos-latest'
if: matrix.platform.build_type == 'Release' && matrix.platform.build_python == 'ON' && matrix.platform.os_name == 'macos-14'
uses: actions/upload-artifact@v4
with:
name: ${{env.sbmlnetwork_python_wheel_artifacts_name}}
Expand Down
2 changes: 2 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ build:
os: ubuntu-22.04
tools:
python: "3.12"
apt_packages:
- graphviz
jobs:
pre_build:
- pip install -r docs/requirements.txt
Expand Down
68 changes: 42 additions & 26 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.6 FATAL_ERROR)
cmake_minimum_required(VERSION 3.10 FATAL_ERROR)

project(libsbmlnetwork)
add_definitions(-DLIBSBMLNETWORK_EXPORTS=true)
Expand Down Expand Up @@ -26,35 +26,51 @@ endif()

add_definitions(-DLIBSBMLNETWORK_VERSION="${LIBSBMLNETWORK_DOTTED_VERSION}")

## find dependency libraries
## Dependency configuration
set(DEPENDENCIES_INSTALL_PREFIX "" CACHE PATH "Path to the libsbml, libexpat, and libz installation directory")
if(WIN32)
find_library(LIBSBML_LIBRARY NAMES libsbml-staticmd.lib libsbml-staticmdd.lib PATHS ${DEPENDENCIES_INSTALL_PREFIX}/lib REQUIRED)
if (NOT TARGET EXPAT::EXPAT)
find_library(LIBEXPAT_LIBRARY NAMES libexpatMD.lib libexpatdMD.lib PATHS ${DEPENDENCIES_INSTALL_PREFIX}/lib REQUIRED)
else ()
find_package(EXPAT REQUIRED)
set(LIBEXPAT_LIBRARY EXPAT::EXPAT)
endif ()
find_library(LIBZ_LIBRARY NAMES zlibstatic.lib zlibstaticd.lib PATHS ${DEPENDENCIES_INSTALL_PREFIX}/lib REQUIRED)
elseif (APPLE)
find_library(LIBSBML_LIBRARY NAMES libsbml-static.a libsbml-staticd.a PATHS ${DEPENDENCIES_INSTALL_PREFIX}/lib REQUIRED)
find_library(LIBEXPAT_LIBRARY NAMES libexpat.a expat PATHS ${DEPENDENCIES_INSTALL_PREFIX}/lib REQUIRED)
find_library(LIBZ_LIBRARY NAMES libz.a PATHS ${DEPENDENCIES_INSTALL_PREFIX}/lib REQUIRED)
elseif(UNIX)
find_library(LIBSBML_LIBRARY NAMES libsbml-static.a libsbml-staticd.a
PATHS ${DEPENDENCIES_INSTALL_PREFIX}/lib ${DEPENDENCIES_INSTALL_PREFIX}/lib64 REQUIRED)
find_library(LIBEXPAT_LIBRARY NAMES libexpat.a expat
PATHS ${DEPENDENCIES_INSTALL_PREFIX}/lib ${DEPENDENCIES_INSTALL_PREFIX}/lib64 REQUIRED)
find_library(LIBZ_LIBRARY NAMES libz.so
PATHS ${DEPENDENCIES_INSTALL_PREFIX}/lib ${DEPENDENCIES_INSTALL_PREFIX}/lib64 REQUIRED)
endif()

## set dependencies include directory if it is not set by a parent project
if (NOT DEFINED DEPENDENCIES_INCLUDE_DIR)
set(DEPENDENCIES_INCLUDE_DIR ${DEPENDENCIES_INSTALL_PREFIX}/include)
set(DEPENDENCY_CMAKE_CONFIG_PATHS
"${DEPENDENCIES_INSTALL_PREFIX}/cmake"
"${DEPENDENCIES_INSTALL_PREFIX}/lib/cmake"
"${DEPENDENCIES_INSTALL_PREFIX}/lib64/cmake"
)
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} "${DEPENDENCY_CMAKE_CONFIG_PATHS}")
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${DEPENDENCY_CMAKE_CONFIG_PATHS}")

message(STATUS "CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}")

## Set platform-specific libSBML target name
if (WIN32)
set(SBML_TARGET_NAME "libsbml-static")
else ()
set(SBML_TARGET_NAME "sbml-static")
endif ()

## Find ZLIB
find_package(ZLIB CONFIG REQUIRED)
set(LIBZ_LIBRARY ZLIB::ZLIBSTATIC)
get_target_property(LIBZ_LIBRARY_LOCATION ZLIB::ZLIBSTATIC LOCATION)
message(STATUS "ZLIB Library: ${LIBZ_LIBRARY_LOCATION}")
set(ZLIB_LIBRARY "${LIBZ_LIBRARY_LOCATION}" CACHE FILEPATH "Path to zlib library" FORCE)
set(ZLIB_INCLUDE_DIR "${DEPENDENCIES_INSTALL_PREFIX}/include" CACHE PATH "Path to zlib include directory" FORCE)
set(ZLIB_FOUND TRUE CACHE BOOL "ZLIB found" FORCE)

## Find expat
find_package(expat CONFIG REQUIRED)
set(EXPAT_LIBRARY expat::expat)
get_target_property(EXPAT_LIBRARY_LOCATION expat::expat LOCATION)
get_target_property(EXPAT_INCLUDE_DIR expat::expat INTERFACE_INCLUDE_DIRECTORIES)
message(STATUS "Expat Library: ${EXPAT_LIBRARY_LOCATION}")
message(STATUS "Expat Include: ${EXPAT_INCLUDE_DIR}")

## Find libSBML
find_package(${SBML_TARGET_NAME} CONFIG REQUIRED)
set(LIBSBML_LIBRARY ${SBML_TARGET_NAME})
message(STATUS "libSBML Target: ${LIBSBML_LIBRARY}")

## Set dependencies include directory
set(DEPENDENCIES_INCLUDE_DIR "${DEPENDENCIES_INSTALL_PREFIX}/include")

## whether to build the dynamic version of the library
set(BUILD_SHARED_LIBS ON CACHE BOOL "Build the dynamic version of the library")

Expand Down
Loading
Loading