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

Merge dev into master #236

Open
wants to merge 419 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
419 commits
Select commit Hold shift + click to select a range
bf20e0c
merge from remote
russelljjarvis Aug 29, 2018
1ef84fd
sync to shared folder
russelljjarvis Aug 29, 2018
4a1f830
folding in BPO
russelljjarvis Aug 30, 2018
3eee140
folding bpo into NU
russelljjarvis Aug 30, 2018
88f36fe
folding bpo into NU
russelljjarvis Aug 30, 2018
d44b092
folded in bpo
russelljjarvis Aug 31, 2018
1babbd7
refactor run_ref_range.py
russelljjarvis Sep 6, 2018
b0a3d58
temporary refactor
russelljjarvis Sep 6, 2018
627f7ec
Clear descriptions of all Druckmann tests
JustasB Sep 6, 2018
617cb97
development changes
russelljjarvis Sep 7, 2018
d05b035
Static model usable by tests
JustasB Sep 13, 2018
32ebe37
Bug fixes related to quantities handling; changes to verbosity
rgerkin Sep 13, 2018
173e1ef
Merge pull request #2 from scidash/rj-fixes
russelljjarvis Sep 14, 2018
97c0e95
Update optimization_management.py
russelljjarvis Sep 15, 2018
9db874f
from linux
russelljjarvis Sep 15, 2018
e3fc764
merge head conclusion
russelljjarvis Sep 15, 2018
4bba711
changes that went missing
russelljjarvis Sep 18, 2018
a7a6076
changes that went missing
russelljjarvis Sep 18, 2018
a62c0bb
default test params
russelljjarvis Sep 18, 2018
2c694b3
Added fetching of waveforms from NeuroML-DB.org
JustasB Sep 19, 2018
00748e6
5 more Druckmann tests implemented
JustasB Sep 19, 2018
1b71033
AIBS API change fix
JustasB Sep 19, 2018
95da5ec
Update the AIBS skd requirement
JustasB Sep 20, 2018
71c95e6
Backwards compatibility with previous AIBS sdk versions
JustasB Sep 20, 2018
9b2386d
More druckmann tests
JustasB Sep 20, 2018
c281771
Restored requirement for prev AIBS sdk
JustasB Sep 20, 2018
4bcf6bf
Support for pulling waveforms from nmldb based on current amplitude
JustasB Sep 21, 2018
9917c14
One more druckmann test
JustasB Sep 21, 2018
d09d248
Add files via upload
russelljjarvis Sep 22, 2018
c9973ff
Update rawpy.py
russelljjarvis Sep 22, 2018
e739ff4
evidence of faster backend
russelljjarvis Sep 25, 2018
ea24f34
evidence of faster backend
russelljjarvis Sep 25, 2018
6039041
evidence of faster backend
russelljjarvis Sep 25, 2018
b64ed1e
closer to correct NEURON models due to more accurate unit translation
russelljjarvis Sep 25, 2018
22aa849
ratio approach to translating param dict
russelljjarvis Sep 26, 2018
1cd3361
Quantities var conforming to convention
JustasB Sep 26, 2018
2281099
demonstration of problematic capacitance
russelljjarvis Sep 26, 2018
d2dee28
used the translation dictionary on the default/vanilla parameters, to…
russelljjarvis Sep 26, 2018
4782641
round trip testing
russelljjarvis Sep 28, 2018
cb37e94
outside optimization
russelljjarvis Sep 28, 2018
f1958b3
actual NEURON capacitance sensing
russelljjarvis Oct 1, 2018
a8e535c
dev changes
russelljjarvis Oct 1, 2018
c18c5b3
backend updates for real (as opposed to perceived NEURON capacitance …
russelljjarvis Oct 1, 2018
409d60c
committing changes
russelljjarvis Oct 3, 2018
f0603ac
dev changes
russelljjarvis Oct 3, 2018
357403f
dev changes
russelljjarvis Oct 3, 2018
3f39eac
Fixes
rgerkin Oct 3, 2018
c3fadaa
Merge branch 'dev' of http://github.com/russelljjarvis/neuronunit int…
rgerkin Oct 3, 2018
d126ad3
Optimization fixes
rgerkin Oct 3, 2018
b6363f9
dev changes
russelljjarvis Oct 3, 2018
e618a5f
opt manager
russelljjarvis Oct 3, 2018
85c9caa
merged without notebook
russelljjarvis Oct 3, 2018
7801ffa
force MU to be divisible by 4
russelljjarvis Oct 22, 2018
737de4e
cleansing of bad rheobase genes, cripled exhaustive search, visualisa…
russelljjarvis Nov 7, 2018
e0a8ab2
30/31 druckmann tests
JustasB Nov 9, 2018
cd30866
31/31 druckmann tests. 14/31 verified with one model
JustasB Nov 13, 2018
393b694
27/31 druckmann tests verified with one model
JustasB Nov 14, 2018
a6226e6
All druckmann tests validated with one model
JustasB Nov 14, 2018
e81e794
Druckmann 2013 tests part of unit_test suite
JustasB Nov 14, 2018
937aeee
Druckmann tests python 3 unit test fixes
JustasB Nov 14, 2018
6d80c1e
python 3 dictionary key parsing issue fix
JustasB Nov 14, 2018
d8253da
rheobase search indipendent of testing, neuronunit tests, indipendent…
russelljjarvis Nov 20, 2018
0cd9954
Debugged Druckmann tests using all NML-DB models
JustasB Nov 20, 2018
d40901a
Druckmann tests python 3 bug fix
JustasB Nov 20, 2018
759d1b0
fixed broken rheobase algorithm
russelljjarvis Nov 25, 2018
97ebdd1
code refactor and cleanup
russelljjarvis Nov 26, 2018
908fa6c
stuff
russelljjarvis Nov 26, 2018
9f14ba0
rheobase and passive test patches, to deal with inf, -inf and nan
russelljjarvis Nov 27, 2018
d96bc84
Added params validation for the VmTest class
rgerkin Dec 5, 2018
4aa4e8f
dev changes
russelljjarvis Dec 9, 2018
46b6fc1
demonstration of rheobase speed up
russelljjarvis Dec 9, 2018
4494cb9
demonstration of rheobase speed up
russelljjarvis Dec 9, 2018
5c2a8ac
parallel evaluation of DM tests gives ~2 speed up
russelljjarvis Dec 9, 2018
ef96af9
two new backends
russelljjarvis Dec 14, 2018
b48e900
added bind score and judge to some appropriate DM tests
russelljjarvis Dec 14, 2018
cb1236d
2 new backends, 2 DM tests
russelljjarvis Dec 14, 2018
5a2e66c
Expanded exception for pip installation
rgerkin Dec 14, 2018
8e59985
Update requirements.txt
rgerkin Dec 14, 2018
80367e7
Update requirements.txt
rgerkin Dec 14, 2018
4972bfd
Update requirements.txt
rgerkin Dec 14, 2018
0c80876
Update setup.py
rgerkin Dec 14, 2018
694698d
Update requirements.txt
rgerkin Dec 14, 2018
cc3ee3e
Update setup.py
rgerkin Dec 14, 2018
d75234e
almost working dynamic bind
russelljjarvis Dec 14, 2018
aac0e9e
almost working dynamic bind
russelljjarvis Dec 14, 2018
d697093
setup.py fixes
rgerkin Dec 17, 2018
68a7346
Fixes
rgerkin Dec 17, 2018
82f2735
Update pip
rgerkin Dec 17, 2018
4aae190
Try with no requirements file
rgerkin Dec 17, 2018
5d4baa3
Simplified
rgerkin Dec 17, 2018
a5ac751
expanded available backends, improved test robustness etc
russelljjarvis Dec 17, 2018
f0dc337
justas file
russelljjarvis Dec 17, 2018
46af6de
start of begginer friendly
russelljjarvis Jan 7, 2019
24e8b42
Add files via upload
russelljjarvis Jan 7, 2019
577ccda
Update begginer_friendly_intro.ipynb
russelljjarvis Jan 7, 2019
12ef3f1
to facilitate merge
russelljjarvis Jan 9, 2019
20e2d42
commit for merge
russelljjarvis Jan 9, 2019
6c5e977
before remerge
russelljjarvis Jan 11, 2019
6ecab24
script to run on cluster
russelljjarvis Jan 12, 2019
6a2babc
script to run on cluster
russelljjarvis Jan 12, 2019
59a333d
Added git attributes file to handle line endings
rgerkin Jan 13, 2019
b3fe022
Merge pull request #195 from scidash/dev-install-fix
russelljjarvis Jan 13, 2019
b312984
seed population best found from first pass of coarse grained grid search
russelljjarvis Jan 13, 2019
4b181dc
seed population best found from first pass of coarse grained grid search
russelljjarvis Jan 13, 2019
5676b8c
seed population best found from first pass of coarse grained grid search
russelljjarvis Jan 13, 2019
65908ad
seed population best found from first pass of coarse grained grid search
russelljjarvis Jan 13, 2019
95e7d25
before merge
russelljjarvis Jan 13, 2019
4d85b24
before merge
russelljjarvis Jan 13, 2019
2114c37
add a whole heap of backends, including HH, and general pyNN
russelljjarvis Jan 15, 2019
03036f5
fixes to snippet extraction
russelljjarvis Jan 15, 2019
6738221
added many backends and examples directory
russelljjarvis Jan 15, 2019
7cfdd22
druckmann differences
russelljjarvis Jan 15, 2019
3daf9ca
refactor
russelljjarvis Jan 15, 2019
d375751
Merged
rgerkin Jan 16, 2019
0605148
Merge branch 'dev' of http://github.com/scidash/neuronunit into dev
rgerkin Jan 16, 2019
edd1c69
cluster script
russelljjarvis Jan 16, 2019
142e51a
dev changes
russelljjarvis Jan 18, 2019
7b3e883
fixed begginer friendly intro
russelljjarvis Jan 18, 2019
90ac30d
fixed begginer friendly intro
russelljjarvis Jan 18, 2019
fc3ccb4
Merge branch 'unmerged_dev' of https://github.com/russelljjarvis/neur…
russelljjarvis Jan 18, 2019
370f1f9
fixed begginer friendly intro
russelljjarvis Jan 18, 2019
4fb3f40
fixed begginer friendly intro
russelljjarvis Jan 18, 2019
70ec9dc
fixed begginer friendly intro
russelljjarvis Jan 18, 2019
066485a
fixed begginer friendly intro
russelljjarvis Jan 18, 2019
752a330
dev changes
russelljjarvis Jan 18, 2019
c111d60
documentation enrichment
russelljjarvis Jan 19, 2019
5df8fd2
Bug fixes to make all unit tests pass locally
rgerkin Jan 19, 2019
16d1b8c
Merge branch 'dev' of http://github.com/russelljjarvis/neuronunit int…
rgerkin Jan 19, 2019
1c00571
Bug fixes
rgerkin Jan 19, 2019
630451d
Update requirements.txt
rgerkin Jan 22, 2019
9f9c513
Catch import error for pyNN.neuron
rgerkin Jan 22, 2019
813246c
Update bindings.py
rgerkin Jan 22, 2019
f54cb53
Fixes for Python 2
rgerkin Jan 22, 2019
88284c0
Added __future__ imports for Python 2
rgerkin Jan 22, 2019
d65a0f0
Used platform information to conditionally ignore NEURON errors
rgerkin Jan 22, 2019
9329613
added back in glif support for optimization
russelljjarvis Jan 22, 2019
854ba78
latest change for olf_mit
russelljjarvis Jan 22, 2019
daf881a
update pertaining to GH issue olf_mit
russelljjarvis Jan 22, 2019
5669272
glif debug progress
russelljjarvis Jan 22, 2019
aba8c05
Use _backend_run instead of _local_run
rgerkin Jan 22, 2019
79d7e6f
Python 2 fixes
rgerkin Jan 22, 2019
b8bdde9
Post-merge fixes
rgerkin Jan 22, 2019
546469b
Update .travis.yml
rgerkin Jan 22, 2019
2b43c5a
glif backend seems to be working
russelljjarvis Jan 23, 2019
4797495
dev changes
russelljjarvis Jan 23, 2019
4bb4016
dev changes
russelljjarvis Jan 23, 2019
7e574f2
Merge branch 'unmerged_dev' of http://github.com/russelljjarvis/neuro…
rgerkin Jan 25, 2019
85b706c
Many updates/fixes to the rheobase tests
rgerkin Jan 26, 2019
f61d765
Merge branch 'dev' of http://github.com/scidash/neuronunit into dev
rgerkin Jan 26, 2019
da1cf7e
Update cellmodelp.py
rgerkin Jan 26, 2019
1c0e4b2
NEURONBackend API fix
rgerkin Jan 30, 2019
44a9ec2
All unit tests pass with NEURON backend
rgerkin Jan 31, 2019
c2ba029
Fixes for pyNN support
rgerkin Feb 12, 2019
68f161f
Added example
rgerkin Feb 12, 2019
fff7467
Hotfix to pip install dash branch
rgerkin Feb 14, 2019
a1c587c
Update requirements.txt
rgerkin Feb 14, 2019
343a98f
Delete bash_process.sh
russelljjarvis Feb 18, 2019
4bf26b0
Expanded test for parameter validation; gave example for getting units
rgerkin Feb 20, 2019
71e62a9
Update druckmann2013.py
russelljjarvis Mar 1, 2019
3b4bee6
Morphology tests using hoc2swc and pyLMeasure
JustasB Mar 8, 2019
50be27b
Revert "Morphology tests using hoc2swc and pyLMeasure"
JustasB Mar 8, 2019
b277d3b
Merge pull request #1 from scidash/dev
JustasB Mar 8, 2019
15b4266
Morphology tests using hoc2swc and pyLMeasure
JustasB Mar 8, 2019
014924c
Cleanup
rgerkin Mar 8, 2019
400a6ad
Merge branch 'dev' of http://github.com/scidash/neuronunit into dev
rgerkin Mar 8, 2019
ad34b08
Morphology unit tests, documentation, and pyLM install as extra
JustasB Mar 8, 2019
dfdaa1a
Fixed RestingPotentialTest
rgerkin Mar 10, 2019
e94ef08
Delete check_speed.py
russelljjarvis Mar 10, 2019
a22768c
Merge pull request #202 from JustasB/dev
rgerkin Mar 12, 2019
acc41d9
Added observation schema names
rgerkin Mar 18, 2019
7511823
Style compliance
rgerkin Mar 18, 2019
9492dc4
Morphology test update
JustasB Mar 29, 2019
c310ede
Merge remote-tracking branch 'scidash/dev' into dev
JustasB Mar 29, 2019
8ea27f4
Removed fragmentation tests
JustasB Mar 29, 2019
4dbd619
Merge pull request #204 from JustasB/dev
rgerkin Apr 1, 2019
24bf78b
Update optimization_management.py
russelljjarvis Apr 10, 2019
051d4cc
Merge branch 'dev' into dash
rgerkin Apr 11, 2019
0e63889
Merge pull request #210 from scidash/dash
rgerkin Apr 11, 2019
3b8927e
Merge branch 'dash' of http://github.com/scidash/neuronunit into dash
rgerkin Apr 11, 2019
9349dd9
Demonstration of cache and hash; make model state match just-before-r…
rgerkin Apr 11, 2019
2fac34a
Merge branch 'dash' into dev
rgerkin Apr 12, 2019
0eea80d
Merge pull request #2 from scidash/dev
JustasB Apr 12, 2019
dce017e
Unit test fix test
JustasB Apr 12, 2019
2a79b4c
Druckmann test fix
JustasB Apr 12, 2019
785bf3e
Merge pull request #211 from JustasB/dev
rgerkin Apr 12, 2019
3919973
Delete optimization_management.py.orig
russelljjarvis Apr 13, 2019
043c834
Simple instance less capability cheks
Apr 13, 2019
eab10de
Separated out `condition_model` from `get_prediction`.
rgerkin Apr 16, 2019
92e617b
Delete exhaustive_search.py
russelljjarvis Apr 17, 2019
31771d1
Delete progress_report_10thJuly-Copy1.ipynb
russelljjarvis Apr 17, 2019
25ffe4f
Update optimization_management.py
russelljjarvis Apr 17, 2019
27945e9
Update optimization_management.py
russelljjarvis Apr 17, 2019
48b146a
Update optimization_management.py
russelljjarvis Apr 17, 2019
4d3b6ba
New model zoo notebook showing different models taking different tests
rgerkin Apr 18, 2019
769f692
Better code reuse, especially for channel models
rgerkin Apr 18, 2019
6ce76b5
Merge branch 'dev' of http://github.com/scidash/neuronunit into dev
rgerkin Apr 18, 2019
2e18be9
Added back morphology file for unit tests
rgerkin Apr 18, 2019
aba813c
Merge pull request #1 from scidash/dev
NeZanyat Apr 19, 2019
ceb95fc
Merge branch 'dev' into dash
NeZanyat Apr 19, 2019
b668559
Merge pull request #212 from NeZanyat/dash
rgerkin Apr 20, 2019
166f829
Merge pull request #3 from scidash/dev
JustasB Apr 20, 2019
fe1ef80
Update base.py
JustasB Apr 20, 2019
2690759
Update base.py
JustasB Apr 20, 2019
7322c9a
Fixes urljoin import in Python 2
JustasB Apr 20, 2019
06fad1d
Update base.py
JustasB Apr 20, 2019
16e15ef
Update base.py
JustasB Apr 20, 2019
9ab7367
Update base.py
JustasB Apr 20, 2019
7cf4453
Fewer side-effect test for NEURON package
JustasB Apr 20, 2019
372e740
hide neuron output during support test
JustasB Apr 21, 2019
8d4690e
Merge pull request #217 from JustasB/dev
rgerkin Apr 21, 2019
510e18d
Added observation schema to IVCurveTest
rgerkin Apr 24, 2019
e4729cb
Merge branch 'dev' of http://github.com/scidash/neuronunit into dev
rgerkin Apr 24, 2019
08fb5b4
Fixed bbp module and unit test
rgerkin May 3, 2019
3100d8b
Added Geppetto backend
rgerkin May 3, 2019
e0242cc
Refactored some tests to use ProtocolsToFeaturesTest
rgerkin May 3, 2019
cc9f712
Change Druckmann unit test tolerance
rgerkin May 3, 2019
3a53be7
Added Geppetto Backend example
rgerkin May 3, 2019
e751fd3
Update gitignore
rgerkin May 3, 2019
bdfb359
Added better support for default test parameters
rgerkin May 8, 2019
fb89759
Delete index.html
rgerkin May 8, 2019
3542c5b
New examples
rgerkin May 8, 2019
73bde35
Changed parameter usage in FI tests
rgerkin May 8, 2019
bb0e05d
Style cleanup
rgerkin May 20, 2019
339578a
Added default parameters and param schemas to more tests
rgerkin May 20, 2019
a88d757
Merge branch 'dev' of http://github.com/scidash/neuronunit into dev
rgerkin May 20, 2019
65faad8
Add files via upload
rgerkin May 31, 2019
4bc226c
Refactored channel tests for ProtocolToFeaturesTest
rgerkin Jun 17, 2019
93f7ec2
Refactored channel analysis capabilities
rgerkin Jun 17, 2019
73ffa26
Fixed channel tests to validate and use parameters
rgerkin Jun 17, 2019
94f3202
Added default ChannelModel backend
rgerkin Jun 20, 2019
d03d942
Backends cleanuo
rgerkin Feb 13, 2020
66598fb
Improved LEMS files parsing
rgerkin Feb 13, 2020
438bf88
Added file download to NeuroML-DB module
rgerkin Feb 13, 2020
5d9c5db
Added pylmeasure to requirements
rgerkin Feb 13, 2020
bc9bebd
Drop support for Python 2.7
rgerkin Feb 16, 2020
9cb9435
Pre-create 'results' directory for some LEMS simulations
rgerkin Jul 27, 2020
b16ca74
Added reduced model simulation tutorial
rgerkin Jul 27, 2020
b0e681f
Bug fix
rgerkin Jul 27, 2020
a476916
Added function to return state variables
kedoxey Aug 4, 2020
62501db
Added docstrings to get_state_variables function
kedoxey Aug 14, 2020
cfb2f98
Merge pull request #248 from kedoxey/dev
rgerkin Aug 14, 2020
b9a2013
Update Unit Test Cases and Other Improvements (#249)
ChihweiLHBird Sep 1, 2020
7b9c100
Removing duplicate jNeuroMLBackend import (#251)
mwatts15 Nov 8, 2020
20c78f8
Added RandomVmModel
rgerkin Dec 19, 2020
1f7c038
Added StaticBackend
rgerkin Dec 19, 2020
972490b
fixup! Added StaticBackend
rgerkin Dec 19, 2020
96ac2be
Merge branch 'dev' of http://github.com/scidash/neuronunit into dev
rgerkin Dec 19, 2020
701c33a
Fix mistake in Izhikevich equation markdown
rgerkin Dec 19, 2020
15ab9e5
optimization -> dev (#255) (#256)
rgerkin Mar 10, 2021
835235e
Fix merge conflicts in models.backends
rgerkin Apr 22, 2021
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
65 changes: 65 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
defaults: &defaults
working_directory: ~/markovmodel/PyEMMA
docker:
- image: continuumio/miniconda3

inst_conda_bld: &inst_conda_bld
- run: conda config --add channels conda-forge
- run: conda config --set always_yes true
- run: conda config --set quiet true
- run: conda install conda-build

version: 2

jobs:
build:
<<: *defaults
parallelism: 1
steps:
- checkout
- run: git fetch --unshallow || true
- run: apt-get install -y cpp gcc
- run: apt-get install -y libx11-6 python-dev git build-essential
- run: apt-get install -y autoconf automake gcc g++ make gfortran
- run: apt-get install -y python-tables
- run: apt-get install -y libhdf5-serial-dev

- run: conda config --add channels conda-forge
- run: conda config --set always_yes true
- run: conda config --set quiet true
- run: conda install conda-build
- run: pip install pip --upgrade;
- run: conda install numpy;
- run: conda install numba;
- run: conda install dask;
- run: pip install tables
- run: pip install scipy==1.5.4
- run: pip install coverage
- run: pip install cython
- run: pip install asciiplotlib;
- run: pip install ipfx
- run: pip install streamlit
- run: pip install sklearn
- run: pip install seaborn
- run: pip install frozendict
- run: pip install igor
#- run: pip install plotly
- run: pip install allensdk==0.16.3
- run: pip install --upgrade colorama
- run: pip install -e .
- run: rm -rf /opt/conda/lib/python3.8/site-packages/sciunit
- run: git clone -b neuronunit https://github.com/russelljjarvis/jit_hub.git
- run: cd jit_hub; pip install -e .; cd ..;
- run: git clone -b neuronunit_reduced_cells https://github.com/russelljjarvis/BluePyOpt.git
- run: cd BluePyOpt; pip install -e .
- run: git clone -b dev https://github.com/russelljjarvis/sciunit.git

- run: cd sciunit; pip install -e .; cd ..;
- run: pip install git+https://github.com/russelljjarvis/eFEL
- run: pip install coveralls
- run: sh build.sh
- run: sh test.sh;
#- run: cd neuronunit/unit_test; coveralls -m unittest rheobase_model_test.py; cd -;
#- run: cd neuronunit/unit_test; coverage report
#- store_artifacts:
# path: htmlcov
14 changes: 14 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto

# Explicitly declare text files you want to always be normalized and converted
# to native line endings on checkout.
*.c text
*.h text

# Declare files that will always have CRLF line endings on checkout.
*.sln text eol=crlf

# Denote all files that are truly binary and should not be modified.
*.png binary
*.jpg binary
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
*.vscode
*.py[co]
*.pkl
*.p
*do-not-add*
neuronunit/examples/model_zoo/*.nml
*.hoc

# Packages
*.egg
Expand Down Expand Up @@ -66,3 +72,6 @@ neuronunit/models/NeuroML2/*.py
neuronunit/unit_test/bbp.py
neuronunit/unit_test/get_tau.py
scratch
GeneratedFiles
docs/tmp/
tmp/
33 changes: 22 additions & 11 deletions .travis.yml
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -3,32 +3,43 @@
language: python
python:
# We don't actually use the Travis Python, but this keeps it organized.
- "2.7"
- "3.5"
- "3.6"
- "3.7"
- "3.8"
install:
- sudo apt-get update
# We do this conditionally because it saves us some downloading if the
# version is the same.
- if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then
wget https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-x86_64.sh -O miniconda.sh;
else
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh;
fi
- wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh
- bash miniconda.sh -b -p $HOME/miniconda
- export PATH="$HOME/miniconda/bin:$PATH"
- hash -r
- conda config --set always_yes yes --set changeps1 no
- conda update -q conda
- conda update -q --all
# Useful for debugging any issues with conda
- conda info -a
- pip install --no-cache-dir -r requirements.txt .
- pip install -U pip
- pip install .
- pip install sklearn
- pip install seaborn
- pip install coveralls
- pip install pylmeasure # required by morphology tests
- sh build.sh

######################################################

script:
script:
- export NC_HOME='.' # NeuroConstruct isn't used but tests need this
# variable set to pass.
- sh test.sh
# variable set to pass.
<<<<<<< HEAD
- cd neuronunit/unit_test; python -m unittest scores_unit_test.py; cd -;
- cd neuronunit/unit_test; python -m unittest rheobase_dtc_test.py; cd -;
#- sh test.sh
=======
#- cd neuronunit/unit_test; python -m unittest scores_unit_test.py; cd -;
#- cd neuronunit/unit_test; python -m unittest rheobase_model_test.py; cd -;
- sh test.sh
>>>>>>> 9fb0c2e613a1bf059f38eeeae80582d0cfb11f2f
after_success:
- coveralls
58 changes: 47 additions & 11 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,18 +1,54 @@
FROM russelljarvis/neuronunit
FROM scidash/neuronunit-optimization
USER jovyan
RUN sudo /opt/conda/bin/pip install psutil
RUN pip install psutil
ENV QT_QPA_PLATFORM offscreen
RUN sudo rm -rf /opt/conda/lib/python3.5/site-packages/neuronunit-0.1.8.8-py3.5.egg/neuronunit
RUN sudo rm -rf $HOME/neuronunit
COPY . $HOME/neuronunit

RUN pip install dask
RUN pip install distributed
RUN sudo pip uninstall -y sciunit
RUN sudo pip install git+https://github.com/scidash/sciunit@dev
#COPY BluePyOpt ~/HOME/BluePyOpt
#RUN pip install -e $HOME/BluePyOpt
WORKDIR $HOME
RUN sudo apt-get update
RUN pip install ioloop
RUN sudo chown -R jovyan /home/jovyan
RUN pip install git+https://github.com/OpenSourceBrain/OpenCortex
RUN git clone https://github.com/vrhaynes/AllenInstituteNeuroML.git
RUN pip install PyLEMS

# RUN sudo /opt/conda/bin/pip install git+https://github.com/python-quantities/python-quantities
# RUN sudo /opt/conda/bin/pip install git+https://github.com/scidash/sciunit@dev
RUN sudo chown -R jovyan /home/jovyan
WORKDIR /home/jovyan/neuronunit/neuronunit/unit_test
RUN sudo chown -R jovyan /home/jovyan
RUN git clone https://github.com/vrhaynes/AllenInstituteNeuroML.git
RUN pip install git+https://github.com/OpenSourceBrain/OpenCortex
# RUN sudo apt-get -y install ipython ipython-notebook
# RUN sudo -H /opt/conda/bin/pip install jupyter
# ADD neuronunit/unit_test/post_install.sh .

RUN git clone https://github.com/OpenSourceBrain/osb-model-validation.git
WORKDIR osb-model-validation
RUN python setup.py install
RUN pip --no-cache-dir install \
ipykernel \
jupyter \
matplotlib \
numpy \
scipy \
sklearn \
pandas \
Pillow

RUN sudo /opt/conda/bin/python3 -m ipykernel.kernelspec

# Then install the Jupyter Notebook using:
RUN pip install jupyter

RUN sudo /opt/conda/bin/pip uninstall -y tornado
RUN pip install tornado==4.5.3
RUN /opt/conda/bin/python3 -m pip install ipykernel
RUN /opt/conda/bin/python3 -m ipykernel install --user
RUN pip install deap
WORKDIR $HOME
# ADD . neuronunit
# WORKDIR neuronunit
# RUN sudo /opt/conda/bin/pip install -e .
#RUN bash post_install.sh
ENTRYPOINT /bin/bash

53 changes: 29 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
### Circle CI russelljjarvis/optimization build:
[![Build Status](https://circleci.com/gh/russelljjarvis/neuronunit/tree/optimization.svg?style=svg)](https://app.circleci.com/pipelines/github/russelljjarvis/neuronunit/)
### Travis CI scidash/optimization build:
[![Travis](https://travis-ci.org/scidash/neuronunit.svg?branch=optimization)](https://travis-ci.org/scidash/neuronunit?branch=optimization)
| Master | Dev |
| ------------- | ------------- |
| [![Travis](https://travis-ci.org/scidash/neuronunit.svg?branch=master)](https://travis-ci.org/scidash/neuronunit) | [![Travis](https://travis-ci.org/scidash/neuronunit.svg?branch=dev)](https://travis-ci.org/scidash/neuronunit) |
| [![RTFD](https://readthedocs.org/projects/neuronunit/badge/?version=master)](http://neuronunit.readthedocs.io/en/latest/?badge=master) | [![RTFD](https://readthedocs.org/projects/neuronunit/badge/?version=dev)](http://neuronunit.readthedocs.io/en/latest/?badge=dev) |
| [![Coveralls](https://coveralls.io/repos/github/scidash/neuronunit/badge.svg?branch=master)](https://coveralls.io/github/scidash/neuronunit?branch=master) | [![Coveralls](https://coveralls.io/repos/github/scidash/neuronunit/badge.svg?branch=dev)](https://coveralls.io/github/scidash/neuronunit?branch=dev) |
| [![Requirements](https://requires.io/github/scidash/neuronunit/requirements.svg?branch=master)](https://requires.io/github/scidash/neuronunit/requirements/?branch=master) | [![Requirements](https://requires.io/github/scidash/neuronunit/requirements.svg?branch=dev)](https://requires.io/github/scidash/neuronunit/requirements/?branch=dev) |
| [![Requirements](https://requires.io/github/scidash/neuronunit/requirements.svg?branch=master)](https://requires.io/github/scidash/neuronunit/requirements/?branch=master) | [![Requirements](https://requires.io/github/scidash/neuronunit/requirements.svg?branch=dev)](https://requires.io/github/scidash/neuronunit/requirements/?branch=dev) |
| [![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/scidash/neuronunit/master) |



Expand Down Expand Up @@ -43,13 +48,13 @@ model = ChannelModel(channel_file_path, channel_index=0, name=channel_model_name
# Get the experiment data from ChannelWorm and instantiate the test
doi = '10.1083/jcb.200203055'
fig = '2B'
sample_data = GraphData.objects.get(graph__experiment__reference__doi=doi,
sample_data = GraphData.objects.get(graph__experiment__reference__doi=doi,
graph__figure_ref_address=fig)
voltage, current_per_farad = sample_data.asunitedarray()
patch_capacitance = pq.Quantity(1e-13,'F') # Assume recorded patch had this capacitance;
patch_capacitance = pq.Quantity(1e-13,'F') # Assume recorded patch had this capacitance;
# an arbitrary scaling factor.
current = current_per_farad * patch_capacitance
observation = {'v':voltage,
observation = {'v':voltage,
'i':current}
test = IVCurvePeakTest(observation)

Expand All @@ -62,7 +67,7 @@ score.plot(rd['v'],rd['i_pred'],same_fig=True,color='r',label='Predicted (model)
![png](https://raw.githubusercontent.com/scidash/assets/master/figures/SCU_IVCurve_Model_6_0.png)

```
score.summarize()
score.summarize()
""" OUTPUT:
Model EGL-19.channel (ChannelModel) achieved score Fail on test 'IV Curve Test (IVCurvePeakTest)'. ===
"""
Expand All @@ -89,27 +94,27 @@ neurolex_id = 'nifext_128' # Cerebellar Granule Cell
# Specify reference data for a test of resting potential for a granule cell.
reference_data = neuroelectro.NeuroElectroSummary(
neuron = {'nlex_id':neurolex_id}, # Neuron type.
ephysprop = {'name':'Resting Membrane Potential'}) # Electrophysiological property name.
# Get and verify summary data for the combination above from neuroelectro.org.
ephysprop = {'name':'Resting Membrane Potential'}) # Electrophysiological property name.
# Get and verify summary data for the combination above from neuroelectro.org.
reference_data.get_values()
vm_test = tests.RestingPotentialTest(
observation = {'mean':reference_data.mean,
'std':reference_data.std},
'sd':reference_data.std},
name = 'Resting Potential')

# Specify reference data for a test of action potential width.
reference_data = neuroelectro.NeuroElectroSummary(
neuron = {'nlex_id':neurolex_id}, # Neuron type.
ephysprop = {'name':'Spike Half-Width'}) # Electrophysiological property name.
# Get and verify summary data for the combination above from neuroelectro.org.
ephysprop = {'name':'Spike Half-Width'}) # Electrophysiological property name.
# Get and verify summary data for the combination above from neuroelectro.org.
reference_data.get_values()
spikewidth_test = tests.InjectedCurrentAPWidthTest(
observation = {'mean':reference_data.mean,
'std':reference_data.std},
'sd':reference_data.std},
name = 'Spike Width',
params={'injected_square_current':{'amplitude':5.3*pq.pA,
'delay':50.0*pq.ms,
'duration':500.0*pq.ms}})
'duration':500.0*pq.ms}})
# 5.3 pA of injected current in a 500 ms square pulse.

# Create a test suite from these two tests.
Expand All @@ -121,7 +126,7 @@ for model_name in model_names # Iterate through a list of models downloaded from
model = nc_models.OSBModel(*model_info)
models.append(model) # Add to the list of models to be tested.

score_matrix = suite.judge(models,stop_on_error=True)
score_matrix = suite.judge(models,stop_on_error=True)
score_matrix.view()
```
### Score Matrix for Test Suite 'Neuron Tests'
Expand Down Expand Up @@ -152,7 +157,7 @@ NeuronUnit is based on [SciUnit](http://github.com/scidash/sciunit), a disciplin
2. Check that the model has the capabilities required to take the test.
1. Make the model take the test.
2. Generate a score from that test run.
1. Bind the score to the specific model/test combination and any related data from test execution.
1. Bind the score to the specific model/test combination and any related data from test execution.
1. Visualize the score (i.e. print or display the result of the test).

Here, we will break down how this is accomplished in NeuronUnit. Although NeuronUnit contains several model and test classes that make it easy to work with standards in neuron modeling and electrophysiology data reporting, here we will use toy model and test classes constructed on-the-fly so the process of model and test construction is fully transparent.
Expand All @@ -179,7 +184,7 @@ Let's see what the `neuronunit.capabilities.ProducesMembranePotential` capabilit
```python
class ProducesMembranePotential(Capability):
"""Indicates that the model produces a somatic membrane potential."""

def get_membrane_potential(self):
"""Must return a neo.core.AnalogSignal."""
raise NotImplementedError()
Expand All @@ -205,12 +210,12 @@ Now we can then construct a simple test to use on this model or any other test t
```python
class ToyAveragePotentialTest(sciunit.Test):
"""Tests the average membrane potential of a neuron."""

def __init__(self,
observation={'mean':None,'std':None},
observation={'mean':None,'sd':None},
name="Average potential test"):
"""Takes the mean and standard deviation of reference membrane potentials."""

sciunit.Test.__init__(self,observation,name) # Call the base constructor.
self.required_capabilities += (neuronunit.capabilities.ProducesMembranePotential,)
# This test will require a model to express the above capabilities
Expand All @@ -219,18 +224,18 @@ class ToyAveragePotentialTest(sciunit.Test):
score_type = sciunit.scores.ZScore # The test will return this kind of score.

def validate_observation(self, observation):
"""An optional method that makes sure an observation to be used as
"""An optional method that makes sure an observation to be used as
reference data has the right form"""
try:
assert type(observation['mean']) is quantities.Quantity # From the 'quantities' package
assert type(observation['std']) is quantities.Quantity
assert type(observation['sd']) is quantities.Quantity
except Exception as e:
raise sciunit.ObservationError(("Observation must be of the form "
"{'mean':float*mV,'std':float*mV}"))
"{'mean':float*mV,'sd':float*mV}"))

def generate_prediction(self, model):
"""Implementation of sciunit.Test.generate_prediction."""
vm = model.get_median_vm() # If the model has the capability 'ProducesMembranePotential',
vm = model.get_median_vm() # If the model has the capability 'ProducesMembranePotential',
# then it implements this method
prediction = {'mean':vm}
return prediction
Expand All @@ -247,8 +252,8 @@ The test constructor takes an observation to parameterize the test, e.g.:

```python
from quantities import mV
my_observation = {'mean':-60.0*mV,
'std':3.5*mV}
my_observation = {'mean':-60.0*mV,
'sd':3.5*mV}
my_average_potential_test = ToyAveragePotentialTest(my_observation, name='my_average_potential_test')
```

Expand Down
Loading