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

Dev to Master for v1.2 #148

Merged
merged 57 commits into from
Nov 30, 2022
Merged

Dev to Master for v1.2 #148

merged 57 commits into from
Nov 30, 2022

Conversation

ayush9pandey
Copy link
Collaborator

No description provided.

ayush9pandey and others added 30 commits November 3, 2020 11:02
* Dev (#70)

* Ode safe mode (#67)

* Deterministic Safe Interface Code written

* Creating some tests

* Interface Safemode unit tests complete

* Updated py_simulate_model to allow Safe Deterministic simulations

* Bioscrape annotations fix (#65)

* renamed local parameters extended to bioscrape propensity annotations

* Added Unit Tests for SBML reading and writing with and without annotations

* Model comparison removed from test_utils

* changing paths to work across platforms

* added pandas to requirements

* Remove underscore from parameter definition (#68)

* Fixed Bioscrape XML loading and added depricated warning for bioscrape XML

* Added tests to compare general propensities to bioscrape propensities

* C vector bug fix (#69): Clears c_vectors in model._create_vectors

* Adds a test to make sure running initialize twice isn't a problem.

Co-authored-by: William Poole <wpoole@caltech.edu>

* Lineage beta (#71)

* Fixed global volume distribution problem

wasn't checking cell death correctly

* Minor changes to lineages

Fixed a bug where arrays of length 0 were being made.

Tried to find other places to debug this seg-fault problem. I believe it might now be an issue when running bioscrape inside jupyter notebooks??? When running on the prompt I can run tons of simulations no problem.

* Added new lineage examples

* forgot the sbml file!

Co-authored-by: William Poole <wpoole@caltech.edu>

* Dev to master (#74)

* Ode safe mode (#67)

* Deterministic Safe Interface Code written

* Creating some tests

* Interface Safemode unit tests complete

* Updated py_simulate_model to allow Safe Deterministic simulations

Co-authored-by: William Poole <wpoole@caltech.edu>

* Bioscrape annotations fix (#65)

* renamed local parameters extended to bioscrape propensity annotations

* Added Unit Tests for SBML reading and writing with and without annotations

* Model comparison removed from test_utils

* changing paths to work across platforms

* added pandas to requirements

Co-authored-by: William Poole <wpoole@caltech.edu>

* Remove underscore from parameter definition (#68)

* Fixed Bioscrape XML loading and added depricated warning for bioscrape XML

* Added tests to compare general propensities to bioscrape propensities

Co-authored-by: William Poole <wpoole@caltech.edu>

* C vector bug fix (#69)

* Clears c_vectors in model._create_vectors

* Adds a test to make sure running initialize twice isn't a problem.

Co-authored-by: William Poole <wpoole@caltech.edu>

Co-authored-by: William Poole <wpoole@caltech.edu>

* update readme travis tag (#75)

Co-authored-by: William Poole <wp_ix@hotmail.com>
Co-authored-by: William Poole <wpoole@caltech.edu>
Switching from Travis CI to Github actions. Now tests on Mac OS, Linux, and Windows with python versions 3.6, 3.7, and 3.8

Co-authored-by: William Poole <wpoole@caltech.edu>
This PR creates a single setup.py file which automatically compiles Bioscrape's cython code.
…93)

* add priors, and custom prior

* py_inference wrapper added

* merge master

* add beta and gamma prior

* add custom prior documenting notebook

* all notebooks work

* typo bug fix

* minor update to inference notebooks

* gaussian prior fix

* bug fixes for log uniform prior and pdf computation bound checks

* add checks to rate law math ast
SSResult.emperical_distribution and py_empirical_distribution cythonize distribution and marginal distribution calculations.

SSAresult.first_moment, second_moment, correlation, and standard_deviation cython methods now all exist. As well as python wrappers.

* added max_counts_list to allow truncation of the empirical distribution

* add doc strings

* Fast statistics for SSA trajectories examples


Co-authored-by: William Poole <wpoole@caltech.edu>
* index bounds checking for Lineage.py_get_schnitz

* Fixed perfect partitioning rounding error

Co-authored-by: William Poole <wpoole@caltech.edu>
* add custom prior documenting notebook
* gaussian prior fix
* bug fixes for log uniform prior and pdf computation bound checks
* option to set initial parameter seed. print convergence diagnostics
* first cut at lmfit support for inference
* renaming inference files and functions to be agnostic to external parameter inference packages
* 1. inference.pyx bug with multiple measurements fixed. 2. Added LMFit support for least squares type parameter id. 3. Refactor inference example notebooks. 4. Added inference example notebooks.
* first cut at delay support for inference
* change convergence_diagnostics error to warning
* fix tests
* refactor inference examples
* add inference test
* add emcee version requirement for progress bar update
* add requirement for scipy>1.6.4 and add lmfit
* testing suite for inference
* allow lower scipy versions
* add empty line at end of test_inference
ayush9pandey and others added 26 commits June 17, 2021 09:42
* delay simulation bug fix
* fix error from merge dev
* Removed Bioscrape XML writing, bioscrape XML from the examples, and cell lineages from the advanced examples

* remove propensity_annotation keyword, always write annotation to bioscrape exported SBML models

* delay annotation working with propensity annotation

* remove underscore shenanigans in rule writing

* refactor import sbml

* add rule annotation. add rule testing with annotation

* fix ODE rule SBML writing and loading

* remove all underscore-to-parameter code

* check basic notebook - runs without problems

* turn off input_printout in propensity test

Co-authored-by: William Poole <wpoole@caltech.edu>
Co-authored-by: ayush9pandey <ayush.9.pandey@gmail.com>
* add priors, add beta and gamma prior, and custom prior, documentation to the notebook

* py_inference wrapper added

* option to set initial parameter seed. print convergence diagnostics

* Added LMFit support for least squares type parameter id. and added inference example notebooks.

* delay support for inference

* add tests for sensitivity analysis

* apply rules in sensitivity analysis
* Fixed deterministic safemode tests
* raises errors in deterministic safe mode - errors do not stop integration
* less parallelization so tests don't use up all the RAM

Co-authored-by: William Poole <wpoole@caltech.edu>
…ith a single timepoint, to avoid infinite loops.
* Add simulation control keywords rtol atol and hmax to inference and bioscrape deterministic simulation

* fixed a bug which caused the CSimInterface to not update its parameters

* more init_seed options, including guassian and normal priors + checking for positivity

* filename option in py_inference

* loguniform prior sampling initializaiton

* parameters now can vary in log space

* precision added to sensitivity analyss and Inference objects now save a list of params along with costs

* ability to skip resetting up the cost function + optional file writing.

* ability to reset PID default parameters programatically

Co-authored-by: William Poole <wpoole@caltech.edu>
* Improved infinite loop fixes.
* Delete test_printing.py

Co-authored-by: Sclamons
* fix sbml_warning issue with load reaction
Summary of changes:
* fix sensitivity analysis bug that changed original parameter values

* add docstring to py_sensitivity_analysis

* delete old files and manual fix to match dev by deleting wrongly committed files
New features:

* `parameter_conditions`: A new argument for `py_inference` that lets you set parameter conditions for data trajectories. Similar to `initial_conditions` that are on the model states, this sets conditions on parameters.
* Add multiple files to write MCMC results: `mcmc_results.csv` writes the samples and `mcmc_results.txt` writes `cost_progress`.
* Add stricter inference testing (optional) and add debug to stochastic pid interface

Refactoring of Inference module:

* remove old init_param_vals code that seemed not to be in use
* update plot_mcmc_results behavior
* set convergence_check default to False and modify gitignore
* fix stochastic trajectories likelihood initial state set
* add param condition to inference unit tests
* refactor extract_data and check that parameter being estimated is not being varied through parameter_conditions
* remove emcee thread argument
* longer inference test, and change discard argument of emcee

Co-authored-by: William Poole <wp_ix@hotmail.com>
Changes summary:
* update badge
* set hmax default to zero
* add corner dependency
* update version
* Bioscrape v1.2.0 (#141)

* remove 3.6 testing in favor of 3.10 testing
* add quotes around 3.10 for CI 
* remove old trash files: temp.pck, simbio.m etc
* fix compatibility spelling
* fix python capitalization
* try branch specific actions CI
* rename CIs to test_bioscrape and deploy_bioscrape
* add joss badge, update CI badge
* InferenceSetup pickles

* added __getstate__ and __setstate__ methods with tests

* Allow keyword 'pool' to be used with emcee

Note: this is actually not faster in cases where numpy is automatically threading on multiple cores (which is the default behavior on MacOS and Linux).

Co-authored-by: Ayush Pandey <ayush.9.pandey@gmail.com>
Co-authored-by: William Poole <wpoole@caltech.edu>
@ayush9pandey ayush9pandey self-assigned this Nov 30, 2022
@ayush9pandey ayush9pandey merged commit e1c5559 into master Nov 30, 2022
ayush9pandey added a commit that referenced this pull request Jan 20, 2023
* Dev to Master for v1.2 (#148)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants