Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v1.7.0 #789

Merged
merged 309 commits into from
Aug 10, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
309 commits
Select commit Hold shift + click to select a range
c438b37
Merge branch 'develop' of https://github.com/StochSS/GillesPy2 into h…
BryanRumsey May 16, 2022
789f459
Merge pull request #794 from StochSS/hotfix-test-all-solvers
briandrawert May 16, 2022
8ee3cf2
Merge pull request #773 from StochSS/NegativeTimeSpanExample
briandrawert May 16, 2022
8a39f56
Resolved merge conflicts.
BryanRumsey May 16, 2022
52b999d
Merge branch 'develop' of github.com:StochSS/GillesPy2 into fix/compi…
briandrawert May 16, 2022
3ac3c6d
Examples update part 3.
BryanRumsey May 19, 2022
49a2e4b
Final build update for test models.
BryanRumsey May 19, 2022
c5b735e
Final build updates for example models.
BryanRumsey May 19, 2022
bb8eabc
Consistency updates.
BryanRumsey May 19, 2022
2d72d2a
Added a default value for compartments if the size property not set t…
BryanRumsey May 19, 2022
90a22fd
Unit tests should be run before integration tests.
BryanRumsey May 20, 2022
7f5f155
Updated unittests for timespan module.
BryanRumsey May 20, 2022
e26fd91
Updated to the species unittests.
BryanRumsey May 22, 2022
768dfb9
Updates to the unittests for the parameter module.
BryanRumsey May 23, 2022
d82ff8b
Resolved review comments in the examples directory.
BryanRumsey May 23, 2022
f85e5b4
Updated path to the start here example.
BryanRumsey May 23, 2022
7058f75
Update model.py
JoshuaFisherC May 23, 2022
dbd87c6
Update README.md
JoshuaFisherC May 23, 2022
46408c7
Merge pull request #805 from StochSS/Tau-Leaping-Text-Fix-in-Model-class
briandrawert May 23, 2022
e55b6d8
Fixed the hybrid c events tests.
BryanRumsey May 24, 2022
8ef222c
Merge branch 'build-model' of https://github.com/StochSS/GillesPy2 in…
BryanRumsey May 24, 2022
08130d5
Fixed failing python solver pref test.
BryanRumsey May 24, 2022
c098b33
Fixed C Decode tests and added them to integration testing.
BryanRumsey May 24, 2022
2d73d9d
Fixed tau leaping solver test and added it to integration testing.
BryanRumsey May 24, 2022
59f8e38
Fixed issue with missing class attribute.
BryanRumsey May 25, 2022
90a8f60
Fixed StochML test and added it to integration testing.
BryanRumsey May 25, 2022
9c8223c
Added StochML test to integration testing.
BryanRumsey May 25, 2022
52d3faf
Updated the names for the unit and integration testing github actions…
BryanRumsey May 25, 2022
4e6cd6b
Merge pull request #799 from StochSS/hotfix-sbml-csize-nan
briandrawert May 25, 2022
e0eed6f
changed build_ to create_.
BryanRumsey May 25, 2022
43be52b
Refactored the example in the README to use the new timespan module.
BryanRumsey May 25, 2022
9f481b4
Removed pdf for time comparison of solvers.
BryanRumsey May 25, 2022
2350b90
Merge pull request #797 from StochSS/build-model
briandrawert May 25, 2022
ff3eb55
Merge pull request #801 from StochSS/update-timespan-unittests
briandrawert May 25, 2022
11d9b2f
Merge pull request #802 from StochSS/update-species-unittests
briandrawert May 25, 2022
19a7aa0
Merge pull request #803 from StochSS/update-parameter-unittests
briandrawert May 25, 2022
a3c40e0
Merge branch 'develop' of https://github.com/StochSS/GillesPy2 into h…
BryanRumsey May 25, 2022
b2d471d
Merge branch 'develop' of https://github.com/StochSS/GillesPy2 into h…
BryanRumsey May 25, 2022
9ce54a5
Merge pull request #810 from StochSS/hotfix-pysolver-pref-test
seanebum May 25, 2022
0161cf4
Merge branch 'develop' of https://github.com/StochSS/GillesPy2 into h…
BryanRumsey May 25, 2022
e2f4de9
Merge pull request #811 from StochSS/hotfix-test-cdecode
seanebum May 25, 2022
689d2ca
Merge pull request #812 from StochSS/hotfix-tauleaping-solver
briandrawert May 25, 2022
cf4bf1d
Merge pull request #813 from StochSS/hotfix-test-stochml
briandrawert May 25, 2022
dbf19d8
Switched 'build_' to 'create_' and ensured the each create functions …
BryanRumsey May 25, 2022
a776e45
Removed the testing battery notebook from the tests directory.
BryanRumsey May 25, 2022
2237895
Switched 'build_' to 'create_' and ensured the each create functions …
BryanRumsey May 25, 2022
238d449
Switched 'build_' to 'create_' and ensured the each create functions …
BryanRumsey May 25, 2022
1b54448
Removed the __all__ block from the cpp example models.
BryanRumsey May 25, 2022
a0ab2ed
merge with develop
briandrawert May 26, 2022
b532f7b
Fleshed out numpy solver documentation
JoshuaFisherC May 29, 2022
c33f838
Mispellings and rearranging documentation
JoshuaFisherC May 29, 2022
b31930d
Add unit test for C++ solver integrator options
jtcooper10 May 30, 2022
0720e34
Add `integrator_options` to `ODECSolver`
jtcooper10 May 30, 2022
6371157
Fixed errors in documentation.
JoshuaFisherC May 31, 2022
7e62853
Refactored and re-organized the component functions. Added an __geti…
BryanRumsey May 31, 2022
2dc80ee
Added error classes for rate rule, assignment rule, event, and functi…
BryanRumsey May 31, 2022
cf78930
fixed variable name refs for rate rules and assignment rules.
BryanRumsey May 31, 2022
4a08aaf
Fixed name refs in tests.
BryanRumsey May 31, 2022
9dc7fc5
Fixed error ref in assertRaises calls in tests.
BryanRumsey May 31, 2022
1fb9601
fixed variable name ref for rules in stochss export.
BryanRumsey May 31, 2022
3dc5d44
adding 2nd makefile for windows
briandrawert May 31, 2022
e546fc1
typo
briandrawert May 31, 2022
7141993
more error messages
briandrawert May 31, 2022
cfa1e47
more debugging
briandrawert May 31, 2022
a39509a
more debugging
briandrawert May 31, 2022
54bc4c3
more debugging
briandrawert May 31, 2022
a5f44f0
more debugging
briandrawert May 31, 2022
3929c9e
Added a compile prep function to prepare a model for export/simulatio…
BryanRumsey Jun 1, 2022
d707812
Fixed __str__ functions for rate rules and assignment rules.
BryanRumsey Jun 1, 2022
80a4b63
Added __str__ to the TimeSpan class.
BryanRumsey Jun 1, 2022
db763e0
Added model.compile_prep calls to SBMLexport and StochSSexport modules.
BryanRumsey Jun 1, 2022
8debb75
Moved the timespan validation to Model.compile_prep and replaced the …
BryanRumsey Jun 1, 2022
0222881
Replaced the resolve calls in the numpy solvers with compile prep cal…
BryanRumsey Jun 1, 2022
b8db8b7
Replaced the resove calls in the cpp solvers with compile prep calls.
BryanRumsey Jun 1, 2022
fed59a6
Fixed issue with plotting mean stdev using matplotlib were the upperb…
BryanRumsey Jun 1, 2022
78ca3d1
Hotfix
JoshuaFisherC Jun 1, 2022
ca86648
still not working
briandrawert Jun 1, 2022
a9ccf57
Merge pull request #820 from StochSS/hotfix-plot-mean-stdev
briandrawert Jun 1, 2022
a8cde13
Merge pull request #786 from StochSS/cpp-integrator-options
briandrawert Jun 1, 2022
2cf5356
Merge pull request #816 from StochSS/build-to-create
briandrawert Jun 1, 2022
c17439f
Makefile.win32 is now the old Makefile
briandrawert Jun 1, 2022
3545fa2
Merge pull request #819 from StochSS/update-model-module
briandrawert Jun 1, 2022
bf569f2
Merge branch 'develop' of github.com:StochSS/GillesPy2 into fix/compi…
briandrawert Jun 2, 2022
7246f3b
using example model
briandrawert Jun 2, 2022
93dfeb2
this test needs to be split into a seperate testing module
briandrawert Jun 3, 2022
4b26529
Moved the compile with spaces test to the system tests directory.
BryanRumsey Jun 5, 2022
2519074
Uncommented the integration tests and removed the test with spaces.
BryanRumsey Jun 5, 2022
bb1fb59
Fixed indentation error.
BryanRumsey Jun 5, 2022
98d68e3
Refactored the compile with spaces test to ensure an error is raised …
BryanRumsey Jun 5, 2022
ed330d6
Set up system testing.
BryanRumsey Jun 5, 2022
d06ca2a
fixed reference errors.
BryanRumsey Jun 5, 2022
8e2a506
Fixed type error.
BryanRumsey Jun 5, 2022
df15c15
Fixed path issue.
BryanRumsey Jun 5, 2022
808442f
Fixed path issue take 2.
BryanRumsey Jun 5, 2022
453a25b
Fixed path issue take 3.
BryanRumsey Jun 5, 2022
5c7d806
Fixed path issue take 4.
BryanRumsey Jun 5, 2022
0319650
Fixed import error.
BryanRumsey Jun 5, 2022
3e0898f
Fixed the model in test compile with spaces.
BryanRumsey Jun 5, 2022
6c82dfa
Replaced model with michaelis menten model.
BryanRumsey Jun 5, 2022
0f282a7
Fixed the model in test compile with spaces take 2.
BryanRumsey Jun 5, 2022
9d53358
Fixed the model in test compile with spaces take 3.
BryanRumsey Jun 5, 2022
1df9dfe
Debugging.
BryanRumsey Jun 5, 2022
3ea49c5
Added check to catch spaces in the gillespy2 path on windows systems.
BryanRumsey Jun 5, 2022
3f927ff
Moved the windows check to c solver init.
BryanRumsey Jun 5, 2022
105e013
C++ solver are no longer valid returns in Model.get_best_solver and M…
BryanRumsey Jun 5, 2022
e0b06cd
Restricted the system tests to main and develop.
BryanRumsey Jun 5, 2022
45a01b0
Solver doc updates
JoshuaFisherC Jun 6, 2022
c237330
Merge pull request #756 from StochSS/fix/compile_w_spaces
seanebum Jun 7, 2022
da75a62
Added variables parameter to C++ solver docs
JoshuaFisherC Jun 8, 2022
090d1d9
Changing the loop over the ODE integrate to a check with single SSA step
briandrawert Jun 13, 2022
614a27b
Closes #830
briandrawert Jun 13, 2022
bd59d5d
Bug fix for python TauHybrid
briandrawert Jun 13, 2022
fa1ba1e
improving some error messages
briandrawert Jun 14, 2022
30439a7
added save_index to replace np.where call
seanebum Jun 14, 2022
245cb07
Added an SBML error class to report SBML import errors.
BryanRumsey Jun 15, 2022
3d7ebd2
Add an error block to SBML import to raise an exception if the model …
BryanRumsey Jun 15, 2022
f01f338
Added an arg to allow for silent failure/reporting.
BryanRumsey Jun 15, 2022
ba84990
Fixed syntax error.
BryanRumsey Jun 16, 2022
610f71f
Converted tab indents to spaces.
BryanRumsey Jun 16, 2022
941e4aa
Fixed missing docs / fixed inconsistencies
JoshuaFisherC Jun 16, 2022
7104134
Delete .idea directory
JoshuaFisherC Jun 16, 2022
c63e594
Update .gitignore
JoshuaFisherC Jun 16, 2022
22bce10
Got rid of extra example models file and ref
JoshuaFisherC Jun 16, 2022
1a37711
for single SSA step: r must be set, not decrimented, relaxed non-neg …
briandrawert Jun 16, 2022
3ed5ebd
Changing the TauHybrid algorithm, no loop over integrate instead take…
briandrawert Jun 17, 2022
c8ffeac
get_reaction_state() helper method
jtcooper10 Jun 17, 2022
5a91a27
Code complete, compile errors
briandrawert Jun 17, 2022
a614371
Fixed docs for init and number_of_trajectoeis
JoshuaFisherC Jun 20, 2022
376571f
fixed compile errors
briandrawert Jun 20, 2022
8a8aa12
saving debug output
briandrawert Jun 21, 2022
d66bf10
removing debugging
briandrawert Jun 21, 2022
b06f784
fixing the post-step assignment for discrete/continious
briandrawert Jun 21, 2022
8230a2f
merged
briandrawert Jun 21, 2022
1366d6a
removed dead code
briandrawert Jun 21, 2022
78a0b5a
Merge pull request #838 from StochSS/improved_tau_hybrid_ssa_step--no…
briandrawert Jun 21, 2022
58fe95f
New adendum to algorithm: if estimated single ssa tau is less thatn 1…
briandrawert Jun 21, 2022
614365e
Merged
briandrawert Jun 21, 2022
22622f7
fixed stoch-det reactions
briandrawert Jun 21, 2022
c5131a0
merge
briandrawert Jun 21, 2022
89918e1
Merge pull request #839 from StochSS/improved_tau_hybrid_ssa_step--no…
briandrawert Jun 21, 2022
fce00ea
restoring defaults
briandrawert Jun 21, 2022
b1c61fa
Experiment to show that Poisson approximation to the Erwin-Hall disti…
briandrawert Jun 21, 2022
9a18d9d
The Poisson approximation to the sum of N URN (Irwin-Hall)
briandrawert Jun 21, 2022
99fb7b4
adding count back
briandrawert Jun 21, 2022
dd569b0
fixed typo
briandrawert Jun 22, 2022
b4970fb
fix for an edge case
briandrawert Jun 22, 2022
18b90ed
merge
briandrawert Jun 22, 2022
f24c215
Just using poisson without correction
briandrawert Jun 22, 2022
aa06dc1
Fixes #837
briandrawert Jun 22, 2022
b7b9ad3
fixing bug
briandrawert Jun 22, 2022
52304c8
unsaved code
briandrawert Jun 22, 2022
4f3b529
fixed bug
briandrawert Jun 22, 2022
1323a5c
merged
briandrawert Jun 22, 2022
348e913
Merge branch 'improved_tau_hybrid_ssa_step' of github.com:StochSS/Gil…
briandrawert Jun 22, 2022
acf0a77
Merge pull request #841 from StochSS/improved_tau_hybrid_ssa_step--fi…
briandrawert Jun 24, 2022
de873ee
Merge pull request #840 from StochSS/improved_tau_hybrid_ssa_step--po…
briandrawert Jun 24, 2022
0eb655c
Error codes propagage correctly to the python layer
briandrawert Jun 24, 2022
b72d3f8
Python layer correctly accepts error codes
briandrawert Jun 24, 2022
5b1711b
Restoring the fix for #837
briandrawert Jun 24, 2022
f252074
Merge pull request #831 from StochSS/fix/remove_np_where
briandrawert Jun 24, 2022
cc8ce8c
merge
briandrawert Jun 24, 2022
6c1e1c9
Should address the issue reported in the comment: https://github.com/…
briandrawert Jun 24, 2022
3085089
Hopefully fixes windows unit tests
briandrawert Jun 27, 2022
cd5f019
Fixing the problems with trajectories 1 and higher
briandrawert Jun 27, 2022
7052963
Fixed another bug, multi-trajectory runs should work now
briandrawert Jun 28, 2022
0302ebe
forgotten changes, fixes Vilar Oscillator model
briandrawert Jun 29, 2022
39cfabe
Merge branch 'develop' into cpp-tab-to-space
briandrawert Jun 29, 2022
0b000b3
Merge pull request #834 from StochSS/cpp-tab-to-space
briandrawert Jun 29, 2022
e234c56
Merge pull request #832 from StochSS/hotfix-sbml-errors
seanebum Jun 29, 2022
cd055f0
fixed tabs->spaces
briandrawert Jun 29, 2022
aff036d
removing y0 from integrator
briandrawert Jun 29, 2022
686c043
Fixing memory leak with reinitialization()
briandrawert Jun 29, 2022
1a214b2
Merge pull request #836 from StochSS/RemoveCPPexample
briandrawert Jun 29, 2022
3c4e43f
Fixes #843
briandrawert Jul 6, 2022
e466505
Fixes a reversion related to #843
briandrawert Jul 6, 2022
b20a480
We must 'round' not 'floor' species that were CONTINUOUS and are now …
briandrawert Jul 6, 2022
13f07c9
removed commented code
briandrawert Jul 6, 2022
1cd5d12
Merged from develop, with tabs-2-spaces
briandrawert Jul 6, 2022
288a2b9
removing debugging
briandrawert Jul 6, 2022
38cc8b9
Merge pull request #845 from StochSS/improved_tau_hybrid_ssa_step-mer…
briandrawert Jul 6, 2022
cad824f
fixed typos
briandrawert Jul 6, 2022
d33cad7
commenting out pause-resume tests
briandrawert Jul 6, 2022
a48650d
Formating fix
JoshuaFisherC Jul 6, 2022
b01234f
uncommenting tests
briandrawert Jul 6, 2022
9ef3d9a
Changed variable parameter
JoshuaFisherC Jul 10, 2022
32310e0
Remove run args
JoshuaFisherC Jul 10, 2022
30d364e
Fixed buug causing TCE modeling to fail
briandrawert Jul 11, 2022
45e36e4
using floor()'ed propensities for single SSA step calculations, edge …
briandrawert Jul 11, 2022
2bc540c
fixing bug
briandrawert Jul 12, 2022
4997101
Removed profile from init
JoshuaFisherC Jul 13, 2022
f635314
Merge branch 'develop' into SolverDocFix
briandrawert Jul 13, 2022
91da8b9
Updates to simple example section in README.
BryanRumsey Jul 16, 2022
8ea7ddd
fixed issues where python solver would not work with deterministic re…
briandrawert Jul 19, 2022
3be327b
Merge pull request #829 from StochSS/improved_tau_hybrid_ssa_step
briandrawert Jul 20, 2022
0a6c37d
Merge pull request #847 from StochSS/readme-update
briandrawert Jul 20, 2022
e7c1dca
Delete workspace.xml
briandrawert Jul 20, 2022
53d810c
Changed git ignore
JoshuaFisherC Jul 20, 2022
3cb568a
Merge branch 'Cleanup-run-args' of https://github.com/StochSS/GillesP…
JoshuaFisherC Jul 20, 2022
60e5a1e
fixed missing import
briandrawert Jul 20, 2022
70b14a4
Adding Timespan to printed model
briandrawert Jul 20, 2022
7b6bb98
Now uses timespan from model. Closes #848
briandrawert Jul 20, 2022
305da6c
Merge pull request #850 from StochSS/fix_848
BryanRumsey Jul 21, 2022
d1fd3a9
Downgrade MinGW in all GHA workflows
jtcooper10 Jul 24, 2022
8900ef3
Changed how CV is calculated, now using time-averaged. Corrected CV c…
briandrawert Jul 25, 2022
6b5e59f
clean up
briandrawert Jul 26, 2022
91a6105
Fixing the tau step size selection code, needed reactants and product…
briandrawert Jul 26, 2022
8637d1e
Using time-averaged CV for TauHybridCSolver, and swtich_tol is now pa…
briandrawert Jul 26, 2022
59e0c61
for switch_tol=0.005, the C and python solvers differ
briandrawert Jul 26, 2022
9b5c135
removing the tau step size from hybrid switching calculation
briandrawert Jul 27, 2022
c071d16
Fixed random text
JoshuaFisherC Jul 27, 2022
cf25319
Merge pull request #852 from StochSS/fix/mingw-gha-patch
briandrawert Jul 27, 2022
a2420c6
Merge branch 'develop' into Cleanup-run-args
JoshuaFisherC Jul 27, 2022
2db2140
going back to CV_a
briandrawert Jul 27, 2022
0daa2d1
Merge branch 'develop' of github.com:StochSS/GillesPy2 into no_tau_in…
briandrawert Jul 27, 2022
1d18841
Fixed bugs in Tau-Hybrid solvers
briandrawert Jul 28, 2022
f73678c
recucing test runtimr
briandrawert Jul 29, 2022
7467d5e
checking tests
briandrawert Aug 1, 2022
90c8f72
fixed bug in dependency graph
briandrawert Aug 1, 2022
c94ccdc
re-enabling all integration tests
briandrawert Aug 1, 2022
c7360b1
Merge pull request #854 from StochSS/no_tau_in_switching_calc
briandrawert Aug 1, 2022
383af1f
removing commented code
briandrawert Aug 2, 2022
886f2cf
addressing review comments
briandrawert Aug 3, 2022
38fa0b4
Adding 'profile_reactions' to tau-hybrid solver for easy visualizatio…
briandrawert Aug 5, 2022
4644c63
Merge pull request #846 from StochSS/Cleanup-run-args
briandrawert Aug 9, 2022
227cb3d
Merge branch 'develop' of github.com:StochSS/GillesPy2 into fix_hybri…
briandrawert Aug 9, 2022
c43a230
Merge branch 'develop' into SolverDocFix
briandrawert Aug 9, 2022
ffb7f98
Merge pull request #817 from StochSS/SolverDocFix
briandrawert Aug 9, 2022
3cb1422
Merge branch 'develop' of github.com:StochSS/GillesPy2 into fix_hybri…
briandrawert Aug 9, 2022
0cc5104
fixing problem generated by merge
briandrawert Aug 9, 2022
f132b22
fixed issues created by merge
briandrawert Aug 9, 2022
076fa18
Merge pull request #853 from StochSS/fix_hybrid_switching
BryanRumsey Aug 9, 2022
3da3e01
Removed the deprecated cython solver.
BryanRumsey Aug 9, 2022
cb29833
Removed the deprecated variable ssa c solver.
BryanRumsey Aug 9, 2022
524a083
Removed the deprecated Parameter.set_expression function.
BryanRumsey Aug 9, 2022
4b5e3f1
Removed the deprecated show_labels argument from runs.
BryanRumsey Aug 9, 2022
9987e41
Updated docs for v1.7.0 release.
BryanRumsey Aug 9, 2022
c64485f
Updated version to v1.7.0
BryanRumsey Aug 9, 2022
4c8fc93
Merge pull request #857 from StochSS/deprecation-cleanup
briandrawert Aug 10, 2022
a258970
Merge branch 'develop' of https://github.com/StochSS/GillesPy2 into d…
BryanRumsey Aug 10, 2022
80c7efa
Updated the basic usage rst file.
BryanRumsey Aug 10, 2022
04a636c
updated docs take 2.
BryanRumsey Aug 10, 2022
cf202ac
Updated the toggle switch tutorial.
BryanRumsey Aug 10, 2022
750b5cb
Updated docs take 3.
BryanRumsey Aug 10, 2022
4d4cf6b
Updated the toggle switch tutorial again.....
BryanRumsey Aug 10, 2022
b55123e
Updated docs take 4.
BryanRumsey Aug 10, 2022
d8eab02
adding TauHybrid algorityhm diagram model
briandrawert Aug 10, 2022
11de646
updated notebook
briandrawert Aug 10, 2022
cc73388
updated notebook
briandrawert Aug 10, 2022
bf83989
updated notebook
briandrawert Aug 10, 2022
8f88dda
Merge pull request #858 from StochSS/docs-update
briandrawert Aug 10, 2022
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
12 changes: 11 additions & 1 deletion .github/workflows/run-full-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,16 @@ jobs:
with:
python-version: ${{ matrix.python-versions }}

# see: https://github.com/actions/virtual-environments/pull/5729
# GHA recently upgrading MinGW to v11.20, which seems to break things in that environment.
# Until this issue can be addressed, downgrade to the previous known working version, v8.1.0.
- name: Initialize MinGW dependencies
run: |
choco install make
choco uninstall mingw
choco install mingw --version 8.1.0 --force
if: matrix.os == 'windows-latest'

- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
Expand All @@ -32,4 +42,4 @@ jobs:
pip install nbformat

- name: Run tests
run: coverage run --source=gillespy2 --omit=gillespy2/solvers/stochkit/* test/run_tests.py -m develop
run: coverage run --source=gillespy2 --omit=gillespy2/solvers/stochkit/* test/run_integration_tests.py -m develop
42 changes: 42 additions & 0 deletions .github/workflows/run-integration-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Run GillesPy2 Integration Tests

on: [push]

jobs:
run-tests:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]

steps:
- name: Initialize environment
uses: actions/checkout@v2

- name: Install Python
uses: actions/setup-python@v2
with:
python-version: '3.7'

# see: https://github.com/actions/virtual-environments/pull/5729
# GHA recently upgrading MinGW to v11.20, which seems to break things in that environment.
# Until this issue can be addressed, downgrade to the previous known working version, v8.1.0.
- name: Initialize MinGW dependencies
run: |
choco install make
choco uninstall mingw
choco install mingw --version 8.1.0 --force
if: matrix.os == 'windows-latest'

- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install python-libsbml
pip install cython
pip install coverage
pip install nbformat
pip install nbconvert

- name: Run tests
run: coverage run --source=gillespy2 --omit=gillespy2/solvers/stochkit/* test/run_integration_tests.py -m develop
44 changes: 44 additions & 0 deletions .github/workflows/run-system-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Run GillesPy2 System Tests

on:
push:
branches: [main, develop]

jobs:
run-tests:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ ubuntu-latest, macos-latest, windows-latest ]

steps:
- name: Initialize environment
uses: actions/checkout@v2

- name: Install Python
uses: actions/setup-python@v2
with:
python-version: '3.7'

# see: https://github.com/actions/virtual-environments/pull/5729
# GHA recently upgrading MinGW to v11.20, which seems to break things in that environment.
# Until this issue can be addressed, downgrade to the previous known working version, v8.1.0.
- name: Initialize MinGW dependencies
run: |
choco install make
choco uninstall mingw
choco install mingw --version 8.1.0 --force
if: matrix.os == 'windows-latest'

- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install python-libsbml
pip install cython
pip install coverage
pip install nbformat
pip install nbconvert

- name: Run tests
run: coverage run --source=gillespy2 --omit=gillespy2/solvers/stochkit/* test/run_system_tests.py -m develop
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Run GillesPy2 Tests
name: Run GillesPy2 Unit Tests

on: [push]

Expand All @@ -18,6 +18,16 @@ jobs:
with:
python-version: '3.7'

# see: https://github.com/actions/virtual-environments/pull/5729
# GHA recently upgrading MinGW to v11.20, which seems to break things in that environment.
# Until this issue can be addressed, downgrade to the previous known working version, v8.1.0.
- name: Initialize MinGW dependencies
run: |
choco install make
choco uninstall mingw
choco install mingw --version 8.1.0 --force
if: matrix.os == 'windows-latest'

- name: Install Python dependencies
run: |
python -m pip install --upgrade pip
Expand All @@ -29,4 +39,4 @@ jobs:
pip install nbconvert

- name: Run tests
run: coverage run --source=gillespy2 --omit=gillespy2/solvers/stochkit/* test/run_tests.py -m develop
run: coverage run --source=gillespy2 --omit=gillespy2/solvers/stochkit/* test/run_unit_tests.py -m develop
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -69,3 +69,5 @@ __pycache__
.coverage
htmlcov
/build
.idea

3 changes: 2 additions & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@ install:
- pip3 install cython
- pip3 install coverage
script:
- "coverage run --source=gillespy2 --omit=gillespy2/solvers/stochkit/* test/run_tests.py -m develop"
- "coverage run --source=gillespy2 --omit=gillespy2/solvers/stochkit/* test/run_unit_tests.py -m develop"
- "coverage run --source=gillespy2 --omit=gillespy2/solvers/stochkit/* test/run_integration_tests.py -m develop"
deploy:
# API token stored in env var PYPI_PASSWORD on Travis CI
provider: pypi
Expand Down
61 changes: 31 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<img src="https://raw.githubusercontent.com/StochSS/GillesPy2/develop/.graphics/gillespy2-logo.png">
</p>

GillesPy2 is a Python 3 package for stochastic simulation of biochemical systems. It offers an object-oriented approach for creating mathematical models of biological systems, as well as a variety of methods for performing time simulation of those models. The methods include the [Gillespie direct method (SSA)](https://en.wikipedia.org/wiki/Gillespie_algorithm), several variant stochastic simulation methods including [tau-leaping](https://en.wikipedia.org/wiki/Tau-leaping), and numerical integration of ODEs. The solvers support a variety of user environments, with optimized code for C++, [Cython](https://cython.org), and [NumPy](https://numpy.org). GillesPy2 also supports [SBML](https://en.wikipedia.org/wiki/SBML).
GillesPy2 is a Python 3 package for stochastic simulation of biochemical systems. It offers an object-oriented approach for creating mathematical models of biological systems, as well as a variety of methods for performing time simulation of those models. The methods include the [Gillespie direct method (SSA)](https://en.wikipedia.org/wiki/Gillespie_algorithm), several variant stochastic simulation methods including [tau-Leaping](https://en.wikipedia.org/wiki/Tau-leaping), and numerical integration of ODEs. The solvers support a variety of user environments, with optimized code for C++, [Cython](https://cython.org), and [NumPy](https://numpy.org). GillesPy2 also supports [SBML](https://en.wikipedia.org/wiki/SBML).

<table><tr><td><b>
<img width="20%" align="right" src="https://raw.githubusercontent.com/StochSS/GillesPy2/develop/.graphics/stochss-logo.png">
Expand Down Expand Up @@ -70,7 +70,7 @@ GillesPy2 provides simple object-oriented abstractions for defining a model of a
1. Create a `GillesPy2.Model` containing molecular species, parameters, and reactions (or import it from an [SBML](http://sbml.org) file)
2. Invoke the model's `.run()` method.

The `run()` method can be customized using keyword arguments to select different solvers, random seed, data return type and more. For more detailed examples on how to use GillesPy2, please see the [Getting Started](https://github.com/StochSS/GillesPy2/tree/main/examples/StartHere.ipynb) Jupyter notebook contained in the [examples](https://github.com/StochSS/GillesPy2/tree/main/examples) subdirectory.
The `run()` method can be customized using keyword arguments to select different solvers, random seed, data return type and more. For more detailed examples on how to use GillesPy2, please see the [Getting Started](https://github.com/StochSS/GillesPy2/tree/main/examples/Start_Here.ipynb) Jupyter notebook contained in the [examples](https://github.com/StochSS/GillesPy2/tree/main/examples) subdirectory.

### _Simple example to illustrate the use of GillesPy2_

Expand All @@ -82,43 +82,44 @@ The `run()` method can be customized using keyword arguments to select different
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<i>k<sub>d</sub></i><br>
</p>

In GillesPy2, a model is expressed as an object having the parent class `Model`. Components of the model, such as the reactions, molecular species, and characteristics such as the time span for simulation, are all defined within the subclass definition. The following Python code represents our dimerization model using GillesPy2's facility:
In GillesPy2, a model is expressed as an object. Components, such as the reactions, molecular species, and characteristics such as the time span for simulation, are all defined within the model. The following Python code represents our dimerization model using GillesPy2's facility:

```python
class Dimerization(gillespy2.Model):
def __init__(self, parameter_values=None):
# First call the gillespy2.Model initializer.
gillespy2.Model.__init__(self, name='Dimerization')

# Define parameters for the rates of creation and dissociation.
k_c = gillespy2.Parameter(name='k_c', expression=0.005)
k_d = gillespy2.Parameter(name='k_d', expression=0.08)
self.add_parameter([k_c, k_d])

# Define variables for the molecular species representing M and D.
m = gillespy2.Species(name='monomer', initial_value=30)
d = gillespy2.Species(name='dimer', initial_value=0)
self.add_species([m, d])

# The list of reactants and products for a Reaction object are each a
# Python dictionary in which the dictionary keys are Species objects
# and the values are stoichiometries of the species in the reaction.
r_c = gillespy2.Reaction(name="r_creation", rate=k_c, reactants={m:2}, products={d:1})
r_d = gillespy2.Reaction(name="r_dissociation", rate=k_d, reactants={d:1}, products={m:2})
self.add_reaction([r_c, r_d])

# Set the timespan for the simulation.
self.timespan(numpy.linspace(0, 100, 101))
def create_dimerization(parameter_values=None):
# First call the gillespy2.Model initializer.
model = gillespy2.model(name='Dimerization')

# Define parameters for the rates of creation and dissociation.
k_c = gillespy2.Parameter(name='k_c', expression=0.005)
k_d = gillespy2.Parameter(name='k_d', expression=0.08)
model.add_parameter([k_c, k_d])

# Define variables for the molecular species representing M and D.
m = gillespy2.Species(name='monomer', initial_value=30)
d = gillespy2.Species(name='dimer', initial_value=0)
model.add_species([m, d])

# The list of reactants and products for a Reaction object are each a
# Python dictionary in which the dictionary keys are Species objects
# and the values are stoichiometries of the species in the reaction.
r_c = gillespy2.Reaction(name="r_creation", rate=k_c, reactants={m:2}, products={d:1})
r_d = gillespy2.Reaction(name="r_dissociation", rate=k_d, reactants={d:1}, products={m:2})
model.add_reaction([r_c, r_d])

# Set the timespan for the simulation.
tspan = gillespy2.TimeSpan.linspace(t=100, num_points=101)
model.timespan(tspan)
return model
```

Given the class definition above, the model can be simulated by first instantiating the class object, and then invoking the `run()` method on the object. The following code will run the model 10 times to produce 10 sample trajectories:
Given the model creation function above, the model can be simulated by first instantiating the model object, and then invoking the run() method on the object. The following code will run the model 10 times to produce 10 sample trajectories:

```python
model = Dimerization()
model = create_dimerization()
results = model.run(number_of_trajectories=10)
```

The results are then stored in a class `Results` object for single trajectories, or a class `Ensemble` object for multiple trajectories. Results/Ensembles can be plotted with matplotlib using `plot()` or in plotly (offline) using `plotplotly()`. For additional plotting options such as plotting from a selection of species, or statistical plotting, please see the documentation.:
The results are then stored in a class `Results` object for single trajectory or for multiple trajectories. Results can be plotted with matplotlib using `plot()` or in plotly (offline) using `plotplotly()`. For additional plotting options such as plotting from a selection of species, or statistical plotting, please see the documentation.:

```python
results.plot()
Expand Down
2 changes: 1 addition & 1 deletion docs/build/html/.buildinfo
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 3660d62a689826af0ef6e8b2cfa373ce
config: b55ff5dc6e7452417ea83baca6ee686c
tags: 645f666f9bcd5a90fca523b33c5a78b7
Binary file modified docs/build/html/.doctrees/classes/gillespy2.core.doctree
Binary file not shown.
Binary file modified docs/build/html/.doctrees/classes/gillespy2.doctree
Binary file not shown.
Binary file modified docs/build/html/.doctrees/classes/gillespy2.sbml.doctree
Binary file not shown.
Binary file modified docs/build/html/.doctrees/classes/gillespy2.solvers.auto.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified docs/build/html/.doctrees/classes/gillespy2.solvers.cython.doctree
Binary file not shown.
Binary file modified docs/build/html/.doctrees/classes/gillespy2.solvers.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified docs/build/html/.doctrees/classes/gillespy2.stochss.doctree
Binary file not shown.
Binary file modified docs/build/html/.doctrees/environment.pickle
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified docs/build/html/.doctrees/index.doctree
Binary file not shown.
Binary file not shown.
Binary file modified docs/build/html/.doctrees/tutorials/tut_sbml/tut_sbml.doctree
Binary file not shown.
Binary file not shown.
5 changes: 3 additions & 2 deletions docs/build/html/_modules/gillespy2/core/assignmentrule.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>gillespy2.core.assignmentrule &#8212; GillesPy2 1.6.9 documentation</title>
<title>gillespy2.core.assignmentrule &#8212; GillesPy2 1.6.10 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../../../_static/alabaster.css" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/gillespy2_alabaster_customizations.css" />
Expand Down Expand Up @@ -146,7 +146,8 @@ <h1>Source code for gillespy2.core.assignmentrule</h1><div class="highlight"><pr
<span class="bp">self</span><span class="o">.</span><span class="n">formula</span> <span class="o">=</span> <span class="n">formula</span>

<span class="k">def</span> <span class="fm">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">self</span><span class="o">.</span><span class="n">variable</span> <span class="o">+</span> <span class="s1">&#39;: &#39;</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">formula</span>
<span class="n">var_name</span> <span class="o">=</span> <span class="bp">self</span><span class="o">.</span><span class="n">variable</span> <span class="k">if</span> <span class="nb">isinstance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">variable</span><span class="p">,</span> <span class="nb">str</span><span class="p">)</span> <span class="k">else</span> <span class="bp">self</span><span class="o">.</span><span class="n">variable</span><span class="o">.</span><span class="n">name</span>
<span class="k">return</span> <span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">name</span><span class="si">}</span><span class="s2">: Var: </span><span class="si">{</span><span class="n">var_name</span><span class="si">}</span><span class="s2">: </span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">formula</span><span class="si">}</span><span class="s2">&quot;</span>

<div class="viewcode-block" id="AssignmentRule.sanitized_formula"><a class="viewcode-back" href="../../../classes/gillespy2.core.html#gillespy2.core.assignmentrule.AssignmentRule.sanitized_formula">[docs]</a> <span class="k">def</span> <span class="nf">sanitized_formula</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">species_mappings</span><span class="p">,</span> <span class="n">parameter_mappings</span><span class="p">):</span>
<span class="n">names</span> <span class="o">=</span> <span class="nb">sorted</span><span class="p">(</span><span class="nb">list</span><span class="p">(</span><span class="n">species_mappings</span><span class="o">.</span><span class="n">keys</span><span class="p">())</span> <span class="o">+</span> <span class="nb">list</span><span class="p">(</span><span class="n">parameter_mappings</span><span class="o">.</span><span class="n">keys</span><span class="p">()),</span> <span class="n">key</span><span class="o">=</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="nb">len</span><span class="p">(</span><span class="n">x</span><span class="p">),</span>
Expand Down
2 changes: 1 addition & 1 deletion docs/build/html/_modules/gillespy2/core/cleanup.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>gillespy2.core.cleanup &#8212; GillesPy2 1.6.9 documentation</title>
<title>gillespy2.core.cleanup &#8212; GillesPy2 1.6.10 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../../../_static/alabaster.css" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/gillespy2_alabaster_customizations.css" />
Expand Down
2 changes: 1 addition & 1 deletion docs/build/html/_modules/gillespy2/core/events.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>gillespy2.core.events &#8212; GillesPy2 1.6.9 documentation</title>
<title>gillespy2.core.events &#8212; GillesPy2 1.6.10 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../../../_static/alabaster.css" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/gillespy2_alabaster_customizations.css" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>gillespy2.core.functiondefinition &#8212; GillesPy2 1.6.9 documentation</title>
<title>gillespy2.core.functiondefinition &#8212; GillesPy2 1.6.10 documentation</title>
<link rel="stylesheet" type="text/css" href="../../../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../../../_static/alabaster.css" />
<link rel="stylesheet" type="text/css" href="../../../_static/css/gillespy2_alabaster_customizations.css" />
Expand Down
Loading