Page 1 of 2


Posted: Fri Jun 09, 2017 10:41 pm
by salvadord
NetPyNE releases will be published in this topic

Version 0.7.0

Posted: Fri Jun 09, 2017 10:41 pm
by salvadord
Version 0.7.0

IMPORTANT NOTE: NO BACKWARD REPRODUCIBILITY -- due to improvements in the random number generators it won't be possible to reproduce results of previous versions that required random values, e.g. random spike streams, connections or cell locations. Also, the 'gauss()' method used in string-based functions should be replaced with 'normal()'.

- Replaced python random package methods with more robust h.Random() methods (no backward reproducibility)

- Added netParams error checking (BETA version: set cfg.checkErrors = True to test)

- Enabled use of VecStim spkTimes pops with individual list of cells

- Replaced 'pop' with 'popLabel' (added fix for backward compatibility) (issue #213)

- Can now add arbitrary set of spike times to VecStim pop

- Dict with popColors can be passed to plotRaster() and plot2Dnet()

- Added analysis.plotEPSPAmp()

- readCmdLineArgs() now accepts default paths for cfg and netParams

- Added option to customize command in batch hpc runs (e.g. 'mpirun' vs 'ibrun')

- Added dpi param to plotRaster()

- Added recording of h.t to simData

- Replaced ions 'init_ext_conc' and 'init_int_conc' with 'o' and 'i' (issue #151)

- Replaced 'globs' with 'globals'

- Fixed bug in import of ion concentrations

- Fixed bug in title of plotTraces()

- Fixed bug when setting wrong num of weights or locs for synsPerConn>1

- Fixed bug: subConn rules now update weight if different weightNorm

- Fixed bug: missing call to noiseFromRandom() for NetStims

- Fixed bug setting pop density with absoulute location ranges

- Fixed missing NeuroML message so only appears in master node

- Fixed bug in plotConn

- Fixed bug - stimTargetParams now accepts a list of secs for 'sec' param


Posted: Wed Jun 14, 2017 10:39 am
by ted
IMPORTANT NOTE: NO BACKWARD REPRODUCIBILITY -- due to improvements in the random number generators it won't be possible to reproduce results of previous versions that required random value
Is it technically not feasible to offer backward compatibility as an option? Without that, how can model developers (let alone participants in NetPyNE development) verify correctness from one version of their own models (or of NetPyNE itself) to the next?


Posted: Wed Jun 14, 2017 11:08 am
by salvadord
This applies only to version 0.7.0. We understand this is a big issue and we will avoid it in the future; however, we are still at a relatively early stage of development and this change was necessary to ensure proper randomization of multiple features.

Please also note that all previous versions were backward compatible with the preceding ones; and all new versions from now onwards will be backward compatible down to 0.7.0.

Version 0.7.1

Posted: Sat Jul 08, 2017 3:03 pm
by salvadord
# Version 0.7.1 ... tag/v0.7.1

- Updates and bug fixes of NeuroML importer/exporter

- Added missing error checks and made error messages clearer

- Added warning when point process mechanism (eg. VecStim) required for pop is not found

- Added 'ylim' option to plotTraces

- Changed 'postGid' to 'gid' in conditions of recordTraces

- Fixed bug: threshold in conns has no effect, have to use presyn cell threshold (issue #235)

- Fixed bug: avoid saving 't' multiple times when using multiple nodes

- Fixed bug: removed 'propList' param in list - was replaced by 'label'

- Fixed bug distributing cells of population with cellList (issue #235)

- Fixed bug saving to .mat: removed h.Random object from each pop

- Fixed bug: check if checkErrors exists in cfg before checking value

- Fixed bug importing multiple hoc cells consecutively (removed from memory properly)


Posted: Mon Aug 14, 2017 11:29 am
by salvadord
Version 0.7.2 ... tag/v0.7.2

- Improved NeuroML importing/exporting

- Added error checking for simConfig

- Added popColors option to plotSpikeHist and plotRatePSD

- Added support to load params, cfg, net and simData from .mat files

- Made root section (with no parents) the source of spikes by default (issue #246)

- Added option to set initial cfg in batch sims

- Added option to set grouped params in Batch constructor

- Added option to not record time (to reduce output file size)

- Fixed bug: synMechFraction had no effect; replaced with synMechWeightFactor

- Fixed bug in modifyStims for NetStim 'interval' and 'rate'

- Fixed bug importing cell -- use h.pop_section() to avoid stack overflow

- Fixed bug when adding stim NetStim where sec is a list

- Fixed bug when adding stim NetStim with multiple synMechs and synsPerConn>1


Posted: Wed Aug 30, 2017 8:18 pm
by salvadord
Version 0.7.3 ... tag/v0.7.3

- Option to create section lists based on y displacement from soma (addCellParamsSecList)

- Converted popParams, cellParams etc to object of their own class and added method to set param

- Added 'disynapticBias' option to increase probability of B->C conns if A->B and A->C exist

- Added function analysis.calculateDisynaptic() to count number of disynaptic conns (A->B, B->C and A->C)

- Added 1 second between batch job submission to avoid saturating scheduler

- Fixed bug: init randomizer so params with string-based random func are independent of cores

- Fixed bug for newer pyplot versions: replace 'linewidths' with 'lw'


Posted: Thu Oct 05, 2017 6:20 pm
by salvadord
# Version 0.7.4 ... tag/v0.7.4

- Added polarity param to analysis.plotEPSPAmp()

- Added sim.gitChangeset() function and store netpyne_changeset in every output file

- Added function ijsonLoad() to load faster and save tags conns to json

- Fixed bug in convergence and divergence connectivity -- now fixed number and no self conns

- Fixed bug by converting tuples to strings when saving Matlab; now converts to lists

- Fixed bug use int as argument to np.full in fixedInterval variable

- Fixed bug that removed previously existing element from path during importCellParams()


Posted: Sun Dec 03, 2017 3:17 pm
by salvadord
# Version 0.7.5 ... tag/v0.7.5

- Improved NeuroML conversion support

- Make cfg.checkErrors = True by default, but set to False if using multiple cores or batch

- Added methods to rename netParams dict keys in a nested format (needed for GUI)

- Added analysis.plotSpikeStats() func to plot stats of cell rates, ISI CVs and synchronies

- Added analysis.calculateRate() func to calculate avg and peak rate of pop subset at time range

- Added analysis.plotRates() func to plot avg and peak rate of different pop subsets at time range

- Added option to include list of pops or cells in 'include' arguments e.g. include=[['E4','E2'], [1,3]]

- Added cfg.compactConnFormat option to replace conns dict format with compact list format

- Added option to plotConn() and plot2Dnet() to load data from compact format json files

- Adapted python2 code so conversion to python3 via 2to3 command works straight away

- Added 'instantiate' argument to sim.load function

- Added 'dpi' argument to analysis.plotSpikeHist()

- Replaced init()/h.stdinit() with finitialize() so h.v_init and h.dt get set properly

- Removed call to h.stdrun() but made v_init a global in cfg.hParams and initialized h.tstop to cfg.duration

- Fixed bug setting globals that don't exist

- Fixed issue setting global variables when loading from json

- Fixed issue to make convergence+divergence connections randomization more robust and efficient (issue #254)

- Fixed bug in colors of plotSpikeHist

- Fixed bug in replaceDictODict() that lead to wrong results when importing cells

- Fixed bug when using sim.gatherOnlySimData

- Fixed bugs in saveLoadV1 example

- Fixed bug when generating subConn with createNEURONObj=False


Posted: Mon Jan 15, 2018 11:05 am
by salvadord
# Version 0.7.6 ... tag/v0.7.6

- Added option to order raster spike trains by multipe tags (eg. ['pop', 'y'])

- Enable providing a 2D list of spike times to VecStim populations

- Added exception handling to analysis functions

- Updated saveLoadV1 examples to use compactConnFormat=True and saveCellSecs=False

- Added cfg.rand123GlobalIndex to set global index used by all instances of the Random123 instances of Random

- plotTraces now plots any recorded cells if 'include' is None

- Made CVode object part of sim and simplified cvode calls

- Added sim.rename() wrapper function

- Added __rename__() method to dict class

- Fixed bug loading from compactConnFormat

- Fixed bug in IClamp: 'delay' -> 'del'

- Fixed bug calculating min convergece and divergence

- Fixed bug in plotRatePSD colors


Posted: Sat Feb 24, 2018 8:18 pm
by salvadord
# Version 0.7.7 ... tag/v0.7.7

- Added LFP recording at arbitrary 3D locations

- Added plotting of LFP time series, PSD, freq vs time and electrode locations

- Updates to NeuroML conversion code.

- ShapePlot now shows segment diameters as linewidths (Python version)

- Added function to add 3D points (in NEURON+Python) from stylized geometry

- Connection sec and loc randomly chosen from list when synsPerConn=1

- Set default NetStim noise to 0.0

- Fix synMech overwrite when importing multiple hoc/py cell templates

- Fixed bug importing multiple synMechs from hoc/py cell template

- Fixed bug using 'variable' NetStim (NSLOC)

- Fixed save method in NetParams to use ['net']['params']

- Fixed bug using gap junctions with mpi (multiple cores)

- Fixed bug when creating conns afger loading json -- needed basestring instead of str

- Fixed bug when loading json with include format ('pop', 1) -- converted to list so added exception

- Fixed bug saving to .mat during batch sims

- Fixed bug in order of unique cell gids in analysis funcs 'include' param

- Fixed bug gathering data using the cfg.gatherSimOnlyData option

- Fixed bug where empty sections where created when recording from non-existing sections


Posted: Sat Apr 21, 2018 5:59 pm
by salvadord
# Version 0.7.8 ... tag/v0.7.8

- Added netParams.rotateCellsRandomly option to rotate cells randomly around y-axis

- Added netParams.defineCellShapes option to convert stylized cell geometries to 3d points

- Added 'histogram' option to plotSpikeStats

- Improved shapePlot so generates 3d pts for stylized morphs and plots all cells by default

- Added showElectrodes and bkgColor options to shapePlot

- Adapted so can set cfg.createPyStruct=0 before creating conns to save memory on large nets

- Added option cfg.connRandomSecFromList=True to set if sec and loc are randomly chosen from list when synsPerConn=1

- Added cfg.printSynsAfterRule to print total connections after each conn rule is applied

- Fixed bug to ensure VecStim random streams are independent of simulation duration

- Fixed bug calculating avg pop rate in plotRaster when using subsets of pops

- Fixed bug LFP recording only applied to compartmental cells

- Fixed bug when using conn 'threshold' in verbose -- removed all since has no effect

- Fixed bug when deleting sections -- needed sec.push() before

- Fixed bug in shapePlot figSize option

- Fixed format of git changeset stored -- removed 'g' prefix

- Fixed bug in Windows trying to get git changeset

- Fixed bug gathering LFP data

- Fixed bug importing global v_init from multiple cell files

- Fixed bug so gitChangeset() returns to orig folder even when git not installed

- Fixed bugs in plotConn -- missing rounding func and grouping by y interval


Posted: Sat Apr 28, 2018 4:05 pm
by bremen
Hi Salva.

I think there is an issue with pip --upgrade to 0.7.8. It says that the latest available is the 0.7.7



Posted: Tue Jul 10, 2018 11:45 am
by salvadord
# Version 0.7.9 ... tag/v0.7.9

- Extended metadata structure to interact with NetPyNE-UI

- Added preliminary data structures to support NEURON RxD

- Added plot RxD concentration to analysis

- Added netParams.correctBorder to compensate distance-dependent connectivity border effect

- Added option to run jobs directly on multiple mpi cores via Batch class

- Added option for custom text in PBS or SLURM scripts to submit batch jobs

- Added option to filter LFP signal before ploting PSD

- Convert 'gid' to actual cell gid when used in point process params (useful for random seeds)

- Relaxed pyneuroml requirement so just shows a warning message

- Preliminary function to save conns distributedly using HDF5

- Added function to validate string-based expressions

- Fixed bug: removed cell._segCoords and pop._morphSegCoords before saving to file

- Fixed rasterPlot pop label automated spacing

- Fixed bug: removed pandas requirement from LFP electrode module

- Fixed bug: updated rcParams text.fontsize to font.size

- Fixed bug: missing update of list-based loc in connList connections

- Fixed bug: delete sections after import cell only if section exists


Posted: Thu Nov 01, 2018 11:01 am
by salvadord
# Version 0.9.0

- Added support for reaction-diffusion (RxD) and usage examples

- Improved performance (speed) of connectivity algorithms

- Major code refactor to split functions across modules and subpackages

- Switched to Python 3 as the default development environment

- Optimized implementation of raster and spikeHist plotting using Pandas

- Added support for recording spikes from only a subset of cells using e.g. cfg.recordCellsSpikes = ['E2']

- Support for exporting to SONATA standardized network format (Beta)

- Support for Human Neocortical Neurosolver (HNN) dipole mechanisms

- Added option for filename to saveData()

- Removed pop cellModelClass when saving

- Removed cell h object keys when saving

- Added support for evolutionary algorithm optimization (via Inspyred) and usage example

- cfg.popAvgRates now accepts a time range to calculate rates (e.g. to discard initial period)

- All NEURON objects now accessible via ['hObj'] key within Python network structure

- Fixed bug in batch to allow having only grouped params

- Fixed bug initalizing batch 'mpi_bulletin' and batch tutorial example

- Fixed bug: removed '\_labelid' from netParams when saving

- Fixed bug: made self.scaleConnWeightModels False when not used (avoids saving weird dict in json)

- Fixed bug in Pickle file encoding so works in Python3

- Fixed bug in convergence and divergence conn when repicking a value if postGid=preGid is randomly selected

- Fixed bug in rand initialization for string-based function with div conn

- Fixed issue in probabilistic connectivity random number generation to ensure replicability in Python 2 and 3.

NOTE on backward replicability: Due to several performance improvements and bug fixes to ensure future replicability in both Python 2 and 3, it won't be possible to replicate results of previous versions.