Releases: jaxleyverse/jaxley
Releases · jaxleyverse/jaxley
v0.11.3
🛠️ Internal updates
- follow jax typing practices with Array and ArrayLike (#693, @alexpejovic)
🐛 Bug fixes
- fix for networks that mix point neurons and morphologically detailed neurons (#702,
@michaeldeistler) - carry over groups from constituents of a module (e.g.,
jx.Cell
groups get carried
over tojx.Network
) (#703, @michaeldeistler)
v0.11.2
🐛 Bug fixes
- Bugfix for
Network
s onGPU
: sincev0.9.0
, networks had been very slow on GPU
because the voltage equations of cells had been processed in sequence, not in parallel.
This is now solved, giving a large speed-up for networks consisting of many cells (#691,
@michaeldeistler, thanks to @VENOM314 for reporting)
📚 Documentation
- Remove all content from the old mkdocs documentation website (#689, @michaeldeistler)
v0.11.1
🐛 Bug fixes
- bugfix for
set_ncomp()
when the cell consists of a single branch (#686,
@michaeldeistler)
🛠️ Internal updates
- fix all typos in the codebase by using the
typos
project (#682, @alexpejovic)
v0.11.0
🧩 New features
- simple conductance synapse added (#659, @kyralianaka)
📚 Documentation
- add a how-to guide on converting
NMODL
files toJaxley
, see
here
(#669, @michaeldeistler, special thanks to @r-makarov for building the tool)
🛠️ Internal updates
- changes to how the membrane area from SWC files is computed when the radius within a
compartment is not constant. This fix can have an impact on simulation results. The
updated computation of membrane area matches that of the NEURON simulator (#662,
@michaeldeistler, thanks to @VENOM314 for reporting). - remove the
custom
SWC reader (which had been deprecated inv0.9.0
, #662,
@michaeldeistler). - fix bug in
set_ncomp
(# 676, @manuelgloeckler)
v0.10.0
🧩 New features
- functionality to compute the pathwise distance between compartments (#648,
@michaeldeistler):
from jaxley.morphology import distance_pathwise
path_dists = distance_pathwise(cell.soma.branch(0).comp(0), cell)
cell.nodes["path_dist_from_soma"] = path_dists
🐛 Bug fixes
- fixed synapse recording indices to be within type (#643, @kyralianaka)
- Fix inheriting from a Module #590 (#642, @jnsbck)
🛠️ Internal updates
module.distance()
is now deprecated in favor ofjx.morphology.distance_direct()
(#648, @michaeldeistler)
v0.9.0
✨ Highlights
- This PR implements a new solver, which is now used by default (#625,
@michaeldeistler). The new solver has the following advantages:- Much lower runtime. Across several morphologies, we get a 20% runtime speedup on
CPU and a 50% runtime speedup on GPU. - Almost zero compile time. We get a 50x compile time speedup on CPU and a 3x compile
time speedup on GPU.
- Much lower runtime. Across several morphologies, we get a 20% runtime speedup on
- Utility to delete parts of a morphology (#612, @michaeldeistler):
from jaxley.morphology import morph_delete
cell = morph_delete(cell.branch([1, 2]))
- Utility to connect two cells into a single cell (#612, @michaeldeistler):
from jaxley.morphology import morph_connect
cell = morph_connect(cell1.branch(1).loc(0.0), cell2.branch(2).loc(1.0))
🧩 New features
- the default SWC reader has changed. To use the previous SWC reader, run
jx.read_swc(..., backend="custom")
. However, note that we will remove this reader
in the future. If the new SWC reader is causing issues for you, please open an issue
(#612, @michaeldeistler) - radiuses are now integrated across SWC coordinates, not interpolated
(#612, @michaeldeistler) - remove pin of
JAX
version. NewJAX
versions (JAX>=0.6.0
) resolve slow CPU
runtime, see here (#623, @michaeldeistler) - running the
d_lambda
rule is now much faster, see
the how-to guide
(#625, @michaeldeistler)
📚 Documentation
- Introduce the
how-to guide
on the website (#612, @michaeldeistler) - reorganize the advanced tutorials into subgroups (#612, @michaeldeistler)
- split the morphology handling tutorials into two notebooks (#612, @michaeldeistler)
🛠️ Internal updates
- improvements to graph-backend for more flexibility in modifying morphologies (#613,
@michaeldeistler) - remove root compartment for SWC files (#613, @michaeldeistler)
- enable traversing compartmentalized graph for optimizing solve order (#613,
@michaeldeistler) ._comp_edges
are being tracked in theView
(#621, @michaeldeistler)- introduce
._branchpoints_
attribute and track in theView
(#612, @michaeldeistler) pre_global_comp_index
andpost_global_comp_index
are no longer part of.edges
by default. To get them, donet.copy_node_property_to_edges("global_comp_index")
(#625, @michaeldeistler)
🐛 Bug fixes
ChainTransform
forward now working as mirror to inverse (#628, @kyralianaka)- allow
data_set
with vectors of values (#606, @chaseking)
🎉 New Contributors
- @chaseking made their first contribution in #606
v0.8.2
- enable intersections of groups, e.g.
net.exc.soma
(#608, @michaeldeistler) - allow ion diffusion to be jitted (#609, @michaeldeistler)
v0.8.1
- fixups to tutorial notebooks (#604, @michaeldeistler)
- remove
delete_channel()
(#604, @michaeldeistler)
v0.8.0
New features
- add leaky integrate-and-fire neurons (#564, @jnsbck), Izhikevich neurons, and rate-based neurons (#601, @michaeldeistler)
Minor updates
- make
delta
andv_th
inIonotropicSynapse
trainable parameters (#599, @jnsbck) - make random postsnaptic compartment selection optional in connectivity functions (#489, @kyralianaka)
Bug fixes
- Fix bug for
groups
when.set_ncomp
was run (#587, @michaeldeistler) - allow
.distance
to be jitted (#603, @michaeldeistler)
v0.7.0
New Features
- Allow ion diffusion with
cell.diffuse()
and add tutorials (#438, @michaeldeistler):
from jaxley.channels import CaNernstReversal
from jaxley.pumps import CaFaradayConcentrationChange
cell.insert(CaFaradayConcentrationChange())
cell.insert(CaNernstReversal())
cell.diffuse("CaCon_i")
cell.set("axial_diffusion_CaCon_i", 1.0)
- Introduce ion pumps (#438, @michaeldeistler)
Bug fixes
- Fix for simulation of morphologies with inhomogenous numbers of compartments (#438, @michaeldeistler)
- Bugfix for types assigned by SWC reader when soma is traced by a single point (#582, @Kartik-Sama, @michaeldeistler).
Code health
- add new release workflow (#588, @jnsbck)
- update FAQ and tutorials (#593, @michaeldeistler)