Skip to content

Commit

Permalink
Merge branch 'development' into feature/netpyne-105
Browse files Browse the repository at this point in the history
  • Loading branch information
aranega authored Oct 26, 2023
2 parents 7d5507b + cdb1697 commit e9204db
Show file tree
Hide file tree
Showing 138 changed files with 5,367 additions and 3,035 deletions.
33 changes: 33 additions & 0 deletions .github/workflows/ebrains-mirror.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Mirror to Ebrains

# Configure the events that are going to trigger tha automated update of the mirror
on:
push:
branches: [ master ]

# Configure what will be updated
jobs:
# set the job name
to_ebrains:
runs-on: ubuntu-latest
steps:
# this task will push the master branch of the source_repo (github) to the
# destination_repo (ebrains gitlab)
- name: syncmaster
uses: wei/git-sync@v3
# component owners need to set their own variables
# the destination_repo format is
# https://gitlab_service_account_name:${{ secrets.EBRAINS_GITLAB_ACCESS_TOKEN }}@gitlab.ebrains.eu/name_of_mirror.git
with:
source_repo: "suny-downstate-medical-center/netpyne"
source_branch: "master"
destination_repo: "https://github-pusher:${{ secrets.EBRAINS_GITLAB_ACCESS_TOKEN }}@gitlab.ebrains.eu/vbragin/netpyne.git"
destination_branch: "master"
# this task will push all tags from the source_repo to the destination_repo
- name: synctags
uses: wei/git-sync@v3
with:
source_repo: "suny-downstate-medical-center/netpyne"
source_branch: "refs/tags/*"
destination_repo: "https://github-pusher:${{ secrets.EBRAINS_GITLAB_ACCESS_TOKEN }}@gitlab.ebrains.eu/vbragin/netpyne.git"
destination_branch: "refs/tags/*"
4 changes: 4 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ jobs:
pip install -r requirements.txt
pip install -e .
- name: Info on installed package versons
run: |
pip list
- name: Test with pytest
run: |
source tests/test.sh
10 changes: 9 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
/doc/source/*.rst
/doc/source/netpyne.*.rst
doc/source/package_reference.rst

/examples/sandbox/LEMS_sandbox.xml
/examples/M1/LEMS_M1.xml
Expand Down Expand Up @@ -63,3 +64,10 @@ examples/asdOptim/simple/
*.pid

examples/optunaOptim/simple/
/examples/NeuroMLImport/test/HHTut.net.nml
/examples/NeuroMLImport/test/HybridTut.net.nml
/examples/NeuroMLImport/test/LEMS_HHTut.xml
/examples/NeuroMLImport/test/LEMS_HybridTut.xml
/examples/NeuroMLImport/test/M1.net.nml
/examples/NeuroMLImport/test/LEMS_M1.xml
arm64
108 changes: 88 additions & 20 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,45 +2,113 @@

**New features**

- Added 'linewidth' as argument of plotting.plotSpikeHist()
- Raster plot colored by phase

- Examples based on the CA3 model using the 'colorbyPhase' option in the plotRaster

**Bug fixes**

- fixed handling filenames with multiple dots in `MetaFigure.saveFig()`
- Fixed loading point cell params from legacy models (issue 607)

# Version 1.0.3.1
- Fix voltage movie tutorial

- Hotfix to support new GUI functionality (fixes in grid parameter optimization)
- Fix to automatically include netstims in the sim.allSimData object when plotRaster 'include' selects 'all'

- Removed redundant warnings
# Version 1.0.5

# Version 1.0.3
**New features**

- Time series and PSD plots for current source density (CSD)

- Added colorbar to CSD plot

- Support for Sun Grid Engine HPC

- Extended sim.gatherData() with more optional arguments for flexibility

- Specify linear/log scale in `plotRatePSD()`

- Print more info about exceptions in plotting functions

- Check RxD specification for potential syntax issues

- Prevent zero population size in scaled-down models

- Better messages for validation errors

**Bug fixes**

- Fixed errors in plotting with sim.cfg.gatherOnlySimData=True

- Support saving and loading data in .mat and .hdf5 formats

- Multiple fixes in `plotRatePSD()` - popColors, fft, minFreq

- Fixed sync lines in `plotRaster()`

- Fixed performance issue in `plotConn()` with `groupBy='pop'` (default)

- Fixed `recordTraces` to not require more presicion than segment size (for stim and synMech)

# Version 1.0.4.2

**Bug fixes**

- Unpin matplotlib version (params copying issue fixed)

# Version 1.0.4.1

**New features**

- Added ability to load PointCell from saved network
- Added env variable to define head model placement

# Version 1.0.4

**New features**

- Added MultiPlotter class to allow plotting line data on multiple axes
- Added 'linewidth' as argument of plotting.plotSpikeHist()

- More detailed validation of netParams

- Save and load model in native NetPyNE format

- Converted most of examples to new NetPyNE model structure

- Added option to use separate axis for each PSD trace (set axis='multi')
- Complex stimulation ('rhythmic', 'evoked', 'poisson' and 'gauss') for VecStim created as pointCell (as a population rule)

- Added new Batch method named SBI (Simulation Based Inference) with example folder (sbiOptim)
- Codebase brought into compliance with PEP8 conventions

- Added support for string functions in properties of cell mechanism, in cell geometry (in netParams.cellParams)
- Updates in NeuroML examples and tests

- Added support for string functions in synMech parameters
**Bug fixes**

- fixed handling filenames with multiple dots in `MetaFigure.saveFig()`

- Massive update of schemas (validator.py and setup.py)
- Fixed readCmdLimeArgs() default arguments for backward-compatibility

- More control over POINTER variables through synMechParams (e.g. for gap junctions)
- Cleaned up example models to drop some legacy/irrelevant params

- Introduced cell variables in cellParams
- RxD module: Parameters defined before reactions + names given by default when missing (by the key)

- Added plotRateSpectrogram to utils.py
- Analysis: try ... except call in plotDipole

- Functions prepareCSD() and plotCSD() are now available
- Save hObj of gap junction to connParams

- Updated documentation on install and about
- Removed duplicated or unused code from gridSearch()

- Fixes in batch utilities to make OS-agnostic

# Version 1.0.3.1

- Hotfix to support new GUI functionality (fixes in grid parameter optimization)

- Removed redundant warnings

# Version 1.0.3

**New features**

- Added ability to load PointCell from saved network

**Bug fixes**

Expand All @@ -60,9 +128,9 @@

- Fixed some misinformation in reference.rst about the subconn

- Fixed bug in dipole calculation units - changed from mA to uA
- Fixed bug in dipole calculation units - changed from mA to uA

- Fixed bug in conditional logic when gathering LFP / dipoles
- Fixed bug in conditional logic when gathering LFP / dipoles

- Allow tuples to specify population's cells in 'include' for plotSpike

Expand Down
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,14 @@ For more details, installation instructions, documentation, tutorials, forums, v
This package is developed and maintained by Dura-Bernal lab (http://dura-bernal.org) and the Neurosim lab (www.neurosimlab.org).

[![Build](https://github.com/Neurosim-lab/netpyne/actions/workflows/tests.yml/badge.svg)](https://github.com/Neurosim-lab/netpyne/actions/workflows/tests.yml)

## Acknowledgements
This work was funded by grants from the NIH, NSF, NYS SCIRB, UK Welcome Trust and Australian Research Council. We are thankful to all the contributors that have collaborated in the development of this open source tool via GitHub.

This project was supported by:
- HBP Brain Simulation Platform funded from the European Union’s Horizon 2020 Framework Programme for Research and Innovation under the Specific Grant Agreement No. 785907 (Human Brain Project SGA2).
- EBRAINS research infrastructure, funded from the European Union’s Horizon 2020 Framework Programme for Research and Innovation under the Specific Grant Agreement No. 945539 (Human Brain Project SGA3).

This project has received a Voucher "Integration of NetPyNE into EBRAINS Platform (EBRnetpyne)" from the European Union’s Horizon 2020 Framework Programme for Research and Innovation under the Specific Grant Agreement:
- No. 785907 (Human Brain Project SGA2).
- No. 945539 (Human Brain Project SGA3).
12 changes: 7 additions & 5 deletions doc/build.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,9 @@
10e) It will build the html files
11) Post the documentation
11a) ssh [email protected] "rm -r ~/public_html"
NOTE: it may give the error "... no matching host key type found ...". In this case, try using the "-oHostKeyAlgorithms=+ssh-rsa" argument in ssh command and in scp command below (as well as in 11c)
11b) scp -r build [email protected]:///home/gkaue9v7ctjf/public_html
NOTE: it may give the error "path canonocalization failed", then use the argument "-O" in scp call - it rolls back to legacy mode (see also NOTE in 11a)
11c) ssh [email protected] "cp -r ~/redirect_html/. ~/public_html/"
12) Update PYPI (pip) with the latest release
12a) cd netpyne
Expand Down Expand Up @@ -72,7 +74,7 @@
shutil.rmtree('build', ignore_errors=True)

# All .rst files but those listed here will be deleted during this process
keep = ['about.rst', 'advanced.rst', 'index.rst', 'install.rst', 'reference.rst', 'tutorial.rst', 'contrib.rst', 'modeling-specification-v1.0.rst']
keep = ['about.rst', 'index.rst', 'install.rst', 'user_documentation.rst', 'tutorial.rst', 'contrib.rst', 'modeling-specification-v1.0.rst']

print('Deleting old .rst files.')
for file in os.listdir('source'):
Expand All @@ -92,12 +94,12 @@

# sphinx-apidoc produces a file called "netpyne" that we want to call "Package Index"
print('Fixing Package Index file.')
os.system('mv source/netpyne.rst source/package_index.rst')
with open('source/package_index.rst') as f:
os.system('mv source/netpyne.rst source/package_reference.rst')
with open('source/package_reference.rst') as f:
lines = f.readlines()
lines[0] = 'Package Index\n'
lines[0] = 'Package Reference\n'
lines[1] = '=============\n'
with open('source/package_index.rst', 'w') as f:
with open('source/package_reference.rst', 'w') as f:
f.writelines(lines)

# Generate the html files
Expand Down
Loading

0 comments on commit e9204db

Please sign in to comment.