Skip to content

Commit

Permalink
Update from main branch (#249)
Browse files Browse the repository at this point in the history
* Added get_name on the mira parameter keys for safety (#218)

* Added get_name on the mira parameter keys for safety

* Removed test for SIDARTHE which fails due to gyorilab/mira#195

* checked out scenario1 from main so that it doesn't clobber Vignesh's changes

* Added test that confirms gyorilab/mira#196 solves gyorilab/mira#195

* Added pin to latest mira commit

* bump mira (#227)

* bump mira

* bumped AMR file

* Provisional support for time_unit in TA4 interface dataframe (#221)

* Provisional support for time_unit in TA4 interface dataframe

* Missed format identifier

* Default time-unit

* Testing time_unit behaviors

* Updating tests for new TA4 itnerface behavior

* To preserve context in failure messages, changed  to

* Decorator logging function (#232)

* Logging function name where error occurs

* updated text

* Optimize interface for TA4 integration (#204)

* Optimize TA4 interface

* Update interfaces.py

* Change setup to fix MIRA name error (#205) (#206)

* changed mira version before bug

* fix error

Co-authored-by: Sam Witty <samawitty@gmail.com>

* Update demo notebook

* Update demo.ipynb

* Update MIRA loading (#209)

* Change setup to fix MIRA name error (#205)

* changed mira version before bug

* fix error

* Add utilities for loading distributions from AMR (#200)

* added mira distribution loading

* added normal distribution

* fixed Normal2 and Normal3

* nit

* added minimal mira_distribution_to_pyro test

---------

Co-authored-by: Sam Witty <samawitty@gmail.com>

* Updated interface with string inputs for QOI

* Interface to optimize after calibrating

* Update demo.ipynb

* Update sample csv file to avoid merge conflicts

* Updating file to avoid merge conflict with main

* Updating from main to fix model loading errors (#211)

* Change setup to fix MIRA name error (#205)

* changed mira version before bug

* fix error

* Add utilities for loading distributions from AMR (#200)

* added mira distribution loading

* added normal distribution

* fixed Normal2 and Normal3

* nit

* added minimal mira_distribution_to_pyro test

* Symbolic Rate law to Pytorch Rate law (#201)

* I believe I wrote the correct code, based on experiments in the notebook. Will test next.

* FAILED test/test_mira/test_rate_law.py::TestRateLaw::test_rate_law_compilation - AttributeError: 'ScaledBetaNoisePetriNetODESystem' object has no attribute 'beta'

* Added Symbolic_Deriv_Experiments notebook

* Something weird is happening. I can confirm that 'beta' is an attribute of ScaledBetaNoisePetriNetODESystem after setting up the model, but then it can't be found at sample time

* Clarified the bug in the Symbolic derivatives notebook

* Expected and actual derivative match

* Time varying parameter rate law correctly read

* Thought we added this already

* Added kwargs to from_askenet and from_mira and compile_rate_law_p to load_petri_net

* Blocked on gyorilab/mira#189 but tests pass by making compile_rate_law_p False by default

* Removed unnecessary pygraphviz dependency

* Unit test to fail when concept name does not equal rate law symbols

* All tests pass with default compile_rate_law_p = False

* Merged from main. removed dependency on older version of mira

* point mira to the github repo main branch

* point mira to the github repo main branch

* load_and_calibrate_and_sample(..., compile_rate_law_p=True) works with the caveat that the ScaledBetaNoisePetriNetODESystem solution was returning very slightly negative values, so I set mean = torch.abs(solution[var_name]) to address the issue

* merged changes to MiraPetriNetODESystem and ScaledBetaNoisePetriNetODESystem from main.  ScaledBetaNoisePetriNetODESystem has default compiled_rate_law_p=True

* observation_function for ScaledBetaNoisePetriNetODESystem now uses torch.maximum(solution[var_name], torch.tensor(1e-9)) to deal with overshooting derivatives

* aggregate parameters is now by default opt-out, and AMR models with multiple parameters per transition can be interpreted using compile_rate_law

---------

Co-authored-by: Sam Witty <samawitty@gmail.com>
Co-authored-by: Jeremy Zucker <djinnome@gmail.com>

* Update notebooks to avoid merge conflicts

* Update NB to resolve conflicts

* Update from main to avoid conflicts (#212)

* Change setup to fix MIRA name error (#205)

* changed mira version before bug

* fix error

* Add utilities for loading distributions from AMR (#200)

* added mira distribution loading

* added normal distribution

* fixed Normal2 and Normal3

* nit

* added minimal mira_distribution_to_pyro test

* Symbolic Rate law to Pytorch Rate law (#201)

* I believe I wrote the correct code, based on experiments in the notebook. Will test next.

* FAILED test/test_mira/test_rate_law.py::TestRateLaw::test_rate_law_compilation - AttributeError: 'ScaledBetaNoisePetriNetODESystem' object has no attribute 'beta'

* Added Symbolic_Deriv_Experiments notebook

* Something weird is happening. I can confirm that 'beta' is an attribute of ScaledBetaNoisePetriNetODESystem after setting up the model, but then it can't be found at sample time

* Clarified the bug in the Symbolic derivatives notebook

* Expected and actual derivative match

* Time varying parameter rate law correctly read

* Thought we added this already

* Added kwargs to from_askenet and from_mira and compile_rate_law_p to load_petri_net

* Blocked on gyorilab/mira#189 but tests pass by making compile_rate_law_p False by default

* Removed unnecessary pygraphviz dependency

* Unit test to fail when concept name does not equal rate law symbols

* All tests pass with default compile_rate_law_p = False

* Merged from main. removed dependency on older version of mira

* point mira to the github repo main branch

* point mira to the github repo main branch

* load_and_calibrate_and_sample(..., compile_rate_law_p=True) works with the caveat that the ScaledBetaNoisePetriNetODESystem solution was returning very slightly negative values, so I set mean = torch.abs(solution[var_name]) to address the issue

* merged changes to MiraPetriNetODESystem and ScaledBetaNoisePetriNetODESystem from main.  ScaledBetaNoisePetriNetODESystem has default compiled_rate_law_p=True

* observation_function for ScaledBetaNoisePetriNetODESystem now uses torch.maximum(solution[var_name], torch.tensor(1e-9)) to deal with overshooting derivatives

* aggregate parameters is now by default opt-out, and AMR models with multiple parameters per transition can be interpreted using compile_rate_law

* 12-Month Hackathon Notebooks (#207)

* started hackathon prep scenario notebooks

* more on hackathon scenarios

* more work on hackathon notebooks

* created AMR for scenario1 with constant beta

* Vs hackathon prep (#203)

* beginning of ensemble challenge ipynb

* Update ensemble_challenge.ipynb

* added to scenario2 notebook, ready for scenario3

* added to scenario2 notebook, ready for scenario3

* Update scenario1.ipynb

* Update scenario1

* changes to scenario3, and new AMR

* pre-hackathon prep update

- scenario1 task 1 almost done (pending AMR changes)

- ensemble challenge layout started

* more on scenario notebooks, added AMR to scenario2

* Fixed the nan inside the intervened parameters column output

* updates to scenario3 notebook

* merged from main

---------

Co-authored-by: vsella <vsella@utexas.edu>
Co-authored-by: Jeremy Zucker <Jeremy.Zucker@pnnl.gov>

---------

Co-authored-by: Sam Witty <samawitty@gmail.com>
Co-authored-by: Jeremy Zucker <djinnome@gmail.com>
Co-authored-by: sabinala <130604122+sabinala@users.noreply.github.com>
Co-authored-by: vsella <vsella@utexas.edu>
Co-authored-by: Jeremy Zucker <Jeremy.Zucker@pnnl.gov>

* Update demo.ipynb

* Update demo.ipynb

* updated demo with new MIRA model

* Fixed setup.cfg

* Update demo.ipynb

* Updated solution key in demo

* finished demo notebook run

* Added test for samples obtained after OUU

* Update output format and description

* Fixed mira on setup to help pass tests

* Added `self.intervened_samples` to `test_ode_interfaces'

---------

Co-authored-by: Sam Witty <samawitty@gmail.com>
Co-authored-by: Jeremy Zucker <djinnome@gmail.com>
Co-authored-by: sabinala <130604122+sabinala@users.noreply.github.com>
Co-authored-by: vsella <vsella@utexas.edu>
Co-authored-by: Jeremy Zucker <Jeremy.Zucker@pnnl.gov>

* 234 visualization support for trajectory distributions (#235)

* Trajectory distribution schema

* Sample trajectory data and notebook

* Interactive legend

* Removing extraneous encoding

* replace-by-name utility added

Removes index-based replacements (a source of brittleness in the substitutions being done.)

* Types improvements and linting fixes

* Relabeling

* Example trajectories working

* calibration viz notebook

* clean up

* heatmap vega

* triangle plot in triangle_vega_demo

* Points and tracks on trajectory visualization.

* Ignoring typechecking temporaries

* Adjusting z-order

* EXPERIEMENT: dataframe based input to trajectory visualizations

* REVERTING to prep for a TA4-defined dataframe.

* Ignoring temporaries that start with an underscore.

* Joining line for provided datapoints.

* Color control.

* TA4 dataframe: Distributions and points working

* Distributions, traces and points all work from TA4 interface dataframe.

* Improved Color handling

* triangle notebook

* vega with n-dimensional heatmap

* vega with n-dimensional heatmap

* Basic timepoint markers added

* Permanantly labeled timepoint markers.

* Support to NOT join points

This is useful when the sample points are relatively dense.

* More flexible timepoint for traces.

* LotkaVolterra examples

NOTE: Its possible the `convert_to_output_format` has a bug.  It is returning step-ids, not time-values.  As-such, intervention markers were set to 250 instead of 25.

* Trajectory and barycenter/proababilty-density plots
Extended integration interface to preserve timepoint (not just timepoint_id)

Renamed 'vega' to 'plots'
Updated examples
(Some) Utility tests
Cleanup of various files

* Basic support for calibrate chart

* Calibration supports name-discovery from the dataset.

* Provisional support for time_unit in TA4 interface dataframe

* Missed format identifier

* Updated TA4 dataframe interface.

* Using 'Optional' for types instead of Union with None

* Visualzation of non-ensembles supported.

* Demo of visulaizations through the interface.

* Default time-unit

* Testing time_unit behaviors

* Updating tests for new TA4 itnerface behavior

* To preserve context in failure messages, changed  to

* Tests for visualizations; Visuals avaialble through the TA4 interface.

---------

Co-authored-by: Oostrom, Marjolein T <marjolein.oostrom@pnnl.gov>

* add json files to package (#240)

* Updated setup.cfg to work with pyciemss install (#242)

* add json files to package

* For some reason the last pr worked locally but not with the simulation service install. hoping this solves it

---------

Co-authored-by: Jeremy Zucker <djinnome@gmail.com>
Co-authored-by: Sam Witty <samawitty@gmail.com>
Co-authored-by: Joseph Cottam <jacottam@gmail.com>
Co-authored-by: marshHawk4 <kyle@jataware.com>
Co-authored-by: sabinala <130604122+sabinala@users.noreply.github.com>
Co-authored-by: vsella <vsella@utexas.edu>
Co-authored-by: Jeremy Zucker <Jeremy.Zucker@pnnl.gov>
Co-authored-by: Oostrom, Marjolein T <marjolein.oostrom@pnnl.gov>
  • Loading branch information
9 people authored Jul 13, 2023
1 parent e87fb9c commit 4fdbce2
Show file tree
Hide file tree
Showing 35 changed files with 249,825 additions and 1,697 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -326,6 +326,7 @@ scratch/
*__pycache__*
*.vscode
*.ipynb_checkpoints*
*.mypy_cache*
*.DS_Store
*.egg-info
venv/
Expand Down
1 change: 1 addition & 0 deletions notebook/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
_*
Loading

0 comments on commit 4fdbce2

Please sign in to comment.