Releases: mpinb/in_silico_framework
v0.5.0-beta
New features
- Hay (2011) has been fully translated to Python instead of NEURON (see #301)
- Databases are now self-contained (see #302)
- database "backend switching" (between
ISFDataBaseandModelDataBase) is more convenient db_initializersare database backend agnostic (see #326)- databases use
msgpackagain as an optimized format. See https://pypi.org/project/isf-pandas-msgpack/ for the un-deprecated version ofpandas_msgpack(see #320) - File locking configuration is evaluated lazily (see PR #297)
Other improvements
- CDK data has been published on https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/21W1HR, backed up in
ibs_projectsand removed from ISF - Example parameter files are renamed and restructured for better readability
- Tutorials on activity data have a better explanation on the pipeline from empirical activity data to network activation simulations.
- Various documentation improvements (installation instructions, video, scrollable notebook cell output)
- refactored
db_initializersinto separate modules for easier maintenance
API changes
hay has been refactored since the Python translation. For backwards compatibility in the IBS group, a compatibility patch is available on the latest version of ibs_projects. You can apply compatibility patches by:
from ibs_projects import compatibilityv0.4.0-beta
Prerelease 0.4.0-beta
Most important features to look out for in this release: MacOS support, 100% documentation coverage
Warning
MOEA_EH will be removed in a future version in favor of the Python translation of Hay
Databases will be fully self-contained in a future version, rather than simlinking to parameter files.
Changelog
Installer:
- use pixi installation by default
- add MacOS installation. Note that this usess a different version of numpy and NEURON, and introduces some roundoff errors compared to the linux version.
- barrel cortex model can now be downloaded from harvard dataverse, and doesnt need to be hosted on github anymore (058ea1b)
- download anaconda with wget without checking for a certificate (it expired) (058ea1b)
- No more semicolons after commands in installer, otherwise errors are hard to catch (058ea1b)
- add cmasher
biophysics
- evaluation can now be done with a full python translation of Hay 2011, including the step currents (d994f73)
- hay specification values (empirical mean and std) are moved to a json config file
Documentation:
- 100% Documentation coverage
Improve visualize
- CMV with joinstyle argument to avoid jagged lines
- CMV: Allow overwriting frames to re-create animations
- CMV: allow visualizing non-simulated cell objects and export to vtk
- VTK: Added converter for Amira lattice files (structured grid) to VTK, allowing to visualize PST density files.
data_base
- use
pandas_to_parquetdumper for theparameterfileskey ininit_simrun_general(only forisf_data_base, not formodel_data_base) (9edb139) - move
dbopento the parent packagedata_baseto remove dependency on specific data base version - fix
assimilate_remote_registerafter data_base rename
Bugfixes and improvements
- moved cluster configuration to cluster_control repo instead of ISF
- Synapse IDs are maintained in
rerun_mdb(52a0c21) - Update compatibility: now does not import modules, but uses modulespec to register them
- no more internal Interface imports
- rename
sim_trailtosim_trial - lazy evaluate the locking config (53606b4) to show logger output only when actually needed
v0.3.0-beta
This release adds a new way of installing ISF: through pixi.
Pixi is a much more convenient way (in my opinion) to manage and solve Python environments/projects. It's absurdly fast, handles the installation of ourpandas-msgpack with ease, provides cross-platform support (todo), and actually solves the environment for PyPI and conda repos at the same time.
This release also significantly increases documentation coverage. 83% of all members are documented. 100% documentation coverage is coming soon TM.
ISF v0.2.0-alpha
Data base is py2 compatible in test suite
ISF v0.1.0-alpha
About versions
Major changes have been introduced since the last version on master. Version 1.x.x is reserved for the first publication-ready version of ISF. Until then, changes will have a 0.x.x tag, even when the changes may be major.
The syntax as it appears now in master is intended to be the publication version. Minor changes and patches may still apply, changing the version number to 0.1.x+1. the alpha keyword indicates that the current version of master is still untested by fellow developers.
Changelog
project_specific_ipynb_code
- has been moved to a separate repo
cell_morphology_visualizer
- Updated syntax for plotting functions. There is now
plot,write_gif,write_video,animationandwrite_vtk_frames. - Depending on what you want as a colorscale, and if you want to show synapses, you can pass these in as function arguments
t_endhas been renamed tot_stopto be more compatible with NEURON ('tStop')
data_base
- model_data_base has become a subpackage of the wrapper class
data_base. Only when explicitly opening an old model_data_base will it usemodel_data_base, otherwise, it will use the newisf_data_basewithjsonformat for dumpers and metadata. - To mitigate pickling issues, Interface registers the subpackage
data_base.model_data_baseunder an additional anmemodel_data_baseto redirect pickle to the correct package location.
simrun
simrun2andsimrun3have been merged into a singlesimrunpackage. Same pickling trick as before was applied.
mechanisms
- the mechanisms for our beloved L5PT have been bundled in a subfolder in
mechanisms, to highlight that these mechanisms are L5PT specific. While these channels may very well appear in other cells too, this seemed to be the most convenient way of categorizing them.
Bug fixes
- Completed #191
- Completed #189
- Completed #162. This can always be achieved by
cmv.morphology['diameter'] = ... - Completed #145 for now. The workflows are outlined in the tutorials (see getting_started/tutorials)
Improvements
- Added tutorials (WIP: ANN and reduced modeling)
- Added documentation (WIP)
TODO
- Finalize tutorials
- Finalize documentation
- Test functionality given the recent API changes