Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
25 changes: 8 additions & 17 deletions tutorial/1-modelling-patch-clamp.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@
"id": "5597d996",
"metadata": {},
"source": [
"> For more about op amps and difference amplifiers, see [Appendix A1](./appendix-a/1-op-amp.ipynb)."
"> For more about op amps and difference amplifiers, see [Appendix B1](./appendix/b-op-amps/1-op-amp.ipynb)."
]
},
{
Expand Down Expand Up @@ -251,7 +251,7 @@
"metadata": {},
"source": [
"> A detailed analysis of the bandwidth is given in Sigworth 1995a.\n",
"> It involves transfer function representations, which are discussed in [Appendix A2](./appendix-a/2-laplace-and-filters.ipynb)."
"> It involves transfer function representations, which are discussed in [Appendix A1](./appendix/a-laplace/1-laplace-transforms.ipynb)."
]
},
{
Expand Down Expand Up @@ -283,11 +283,11 @@
"id": "86015f66-6523-4cd4-aa65-65614fc4d305",
"metadata": {},
"source": [
"> Further details about these two models are given in [Appendix A3](./appendix-a/3-non-ideal-op-amp.ipynb).\n",
"> Further details about these two models are given in [Appendix B2](./appendix/b-op-amps/2-non-ideal-op-amp.ipynb).\n",
"> In short, the equations used by Weerakoon and Lei et al. are a simplification based on Sigworth's analysis.\n",
"> They give rise to slightly different behaviour, as can be seen in [Appendix B1](./appendix-b/1-uncompensated-models.ipynb), but for the analysis of many patch-clamp experiments their influence is overshadowed by the effects of the _series resistance_ and _membrane capacitance_, which are discussed below.\n",
"> They give rise to slightly different behaviour, as can be seen in [Appendix B3](./appendix/b-op-amps/3-resulting-vc-models.ipynb), but for the analysis of many patch-clamp experiments their influence is overshadowed by the effects of the _series resistance_ and _membrane capacitance_, which are discussed below.\n",
"> \n",
"> Typical values for $\\tau_a$ are in the order of 10 to 100 ns, as given in [Appendix C3](./appendix-c/3-parameter-values.ipynb)."
"> Typical values for $\\tau_a$ are in the order of 10 to 100 ns."
]
},
{
Expand Down Expand Up @@ -499,10 +499,9 @@
"metadata": {},
"source": [
"> The model above differs subtly from the uncompensated model used in [Lei et al., 2020](https://doi.org/10.1098/rsta.2019.0348).\n",
"> A comparison is provided in [Appendix B1](./appendix-b/1-uncompensated-models.ipynb).\n",
"> A comparison is provided in [Tutorial 4](./4-simplifications.ipynb).\n",
">\n",
"> A list of alternative names and symbols for the components above is given in [Appendix C1](./appendix-c/1-symbols.ipynb).\n",
"> Notably $R_\\text{leak}$ is often called _seal resistance_, while $R_s$ is also referred to as _access resistance_."
"> $R_\\text{leak}$ is often called _seal resistance_, while $R_s$ is also referred to as _access resistance_."
]
},
{
Expand All @@ -522,14 +521,6 @@
"3. We leave out $E_\\text{off}$ and $I_\\text{leak}$, and set $I = 0$ (for now), leaving only the capacitative currents. As a result, at steady state we have $V_p = V_o = V_m$."
]
},
{
"cell_type": "markdown",
"id": "95a7b298-a320-4658-8ef0-de16277ffee1",
"metadata": {},
"source": [
"> The parameters used here are representitative of a small-cell experiment, and are given in [appendix C2](./appendix-c/2-parameter-defaults.ipynb)."
]
},
{
"cell_type": "code",
"execution_count": 1,
Expand Down Expand Up @@ -878,7 +869,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.13.11"
"version": "3.13.12"
}
},
"nbformat": 4,
Expand Down
25 changes: 8 additions & 17 deletions tutorial/2-compensation.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,6 @@
"We will deal mostly with _transient_ distortions of the recorded output signal, which we call _artefacts_, and with transient differences between the true and intended membrane potential, which are an example of _imperfect control_."
]
},
{
"cell_type": "markdown",
"id": "59df3dd5-7aa9-458e-82c0-9c41fc9191eb",
"metadata": {},
"source": [
"> Artefacts, imperfect control, and general strategies for dealing with their effects, are discussed in [Appendix D1](./appendix-d/1-strategies.ipynb).\n",
"Stochastic and periodic noise are not discussed here, but a brief discussion is given in [Appendix D2](./appendix-d/2-inspecting-noise.ipynb)."
]
},
{
"cell_type": "markdown",
"id": "f2b59884",
Expand Down Expand Up @@ -78,7 +69,7 @@
"id": "f92327ba-b81c-4eed-9e51-05de94f548b3",
"metadata": {},
"source": [
"> A detailed description of LJP correction and sign conventions is provided in [Appendix D3](./appendix-d/3-liquid-junction-potential.ipynb)."
"> A detailed description of LJP correction and sign conventions is provided in [Appendix E1](./appendix/e-offsets/1-liquid-junction-potential.ipynb) and [Appendix E2](./appendix/e-offsets/2-offset-correction.ipynb)."
]
},
{
Expand Down Expand Up @@ -114,7 +105,7 @@
"id": "e2cbaa02-cd68-4e70-9844-86f1be2fdbcc",
"metadata": {},
"source": [
"> Values of $R_f$ and $C_f$ for different amplifiers are given in [Appendix C3](./appendix-c/3-parameter-values.ipynb)."
"> Values of $R_f$ and $C_f$ for different amplifiers are given in [Appendix Z1](./appendix/z-parameters/1-parameter-values.ipynb)."
]
},
{
Expand Down Expand Up @@ -349,8 +340,8 @@
"id": "9e1174f8-3454-448d-85f6-96d2ac6241aa",
"metadata": {},
"source": [
"> See [Appendix A4](./appendix-a/4-bessel-filters.ipynb) for more about filters.\n",
"> [Appendix C3](./appendix-c/3-parameter-values.ipynb) provides more amplifier values of $\\tau_\\text{rc}$."
"> See [Appendix C](./appendix/) for more about filters.\n",
"> [Appendix Z1](./appendix/z-parameters/1-parameter-values.ipynb) provides more amplifier values of $\\tau_\\text{rc}$."
]
},
{
Expand Down Expand Up @@ -418,7 +409,7 @@
"id": "959a141d-5714-4d3f-8663-e068f528a9c3",
"metadata": {},
"source": [
"> A derivation of the prediction equations from the schematics by Sigworth is given in [appendix B3](./appendix-b/3-sigworth-rs.ipynb)."
"> A derivation of the prediction equations from the schematics by Sigworth is given in [appendix C1](./appendix/c-rs/1-compensation-prediction.ipynb)."
]
},
{
Expand Down Expand Up @@ -573,7 +564,7 @@
"id": "da60337b-c966-4751-90e6-f68009ea6ff2",
"metadata": {},
"source": [
"> Background on Bessel filters is provided in [Appendix A4](./appendix-a/4-bessel-filters.ipynb)."
"> Background on Bessel filters is provided in [Appendix C](./appendix/)."
]
},
{
Expand Down Expand Up @@ -648,7 +639,7 @@
"id": "6b334389-337d-425a-a39b-b085707ef62d",
"metadata": {},
"source": [
"> These equations are derived and discussed in [Appendix A5](./appendix-a/5-bessel-filter-odes.ipynb)."
"> These equations are derived and discussed in [Appendix D2](./appendix/d-filters/2-bessel-filters-ode.ipynb) and summarised in [Appendix D3](./appendix/d-filters/3-bessel-filters-ode-summary.ipynb)."
]
},
{
Expand Down Expand Up @@ -874,7 +865,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.13.11"
"version": "3.13.12"
}
},
"nbformat": 4,
Expand Down
40 changes: 21 additions & 19 deletions tutorial/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,44 +6,46 @@ The initial exposition draws on a book chapter by [Sigworth (1995a)](https://doi
To view the notebooks, use the GitHub or nbviewer links below, or clone the repository and run Jupyter notebook locally.
Running locally will require the dependencies from `requirements.txt`.

A list of references and further reading is provided [here](./references.ipynb).
[↩ Back to the main repository](https://github.com/CardiacModelling/VoltageClampModel)

[↩ Back to the main repository](https://github.com/CardiacModelling/VoltageClampModel-new)


## Modelling patch-clamp experiments
## 1. Modelling patch-clamp experiments
[![github](./img/github.svg)](./1-modelling-patch-clamp.ipynb)
[![nbviewer](./img/nbviewer.svg)](https://nbviewer.jupyter.org/github/CardiacModelling/VoltageClampModel-new/tree/main/tutorial/1-modelling-patch-clamp.ipynb)
[![nbviewer](./img/nbviewer.svg)](https://nbviewer.jupyter.org/github/CardiacModelling/VoltageClampModel/tree/main/tutorial/1-modelling-patch-clamp.ipynb)

The first notebook describes the uncompensated patch-clamp set up, and derives an ODE model from the electrical schematics.

## Modelling electronic compensation
## 2. Modelling electronic compensation
[![github](./img/github.svg)](./2-compensation.ipynb)
[![nbviewer](./img/nbviewer.svg)](https://nbviewer.jupyter.org/github/CardiacModelling/VoltageClampModel-new/tree/main/tutorial/2-compensation.ipynb)
[![nbviewer](./img/nbviewer.svg)](https://nbviewer.jupyter.org/github/CardiacModelling/VoltageClampModel/tree/main/tutorial/2-compensation.ipynb)

The model is updated to include the compensation circuitry commonly used in patch-clamp amplifiers.

## Simulating a manual patch clamp experiment
## 3. Simulating a manual patch clamp experiment
[![github](./img/github.svg)](./3-simulations.ipynb)
[![nbviewer](./img/nbviewer.svg)](https://nbviewer.jupyter.org/github/CardiacModelling/VoltageClampModel-new/tree/main/tutorial/3-simulations.ipynb)
[![nbviewer](./img/nbviewer.svg)](https://nbviewer.jupyter.org/github/CardiacModelling/VoltageClampModel/tree/main/tutorial/3-simulations.ipynb)

We walk through and simulate the early steps of a manual patch-clamp experiment.

## Simplified models
## 4. Simplified models
[![github](./img/github.svg)](./4-simplifications.ipynb)
[![nbviewer](./img/nbviewer.svg)](https://nbviewer.jupyter.org/github/CardiacModelling/VoltageClampModel-new/tree/main/tutorial/4-simplifications.ipynb)
[![nbviewer](./img/nbviewer.svg)](https://nbviewer.jupyter.org/github/CardiacModelling/VoltageClampModel/tree/main/tutorial/4-simplifications.ipynb)

In the final notebook, we derive simplified models and compare with previous work.

---
## Resources

- [![github](./img/github.svg)](./symbols.ipynb)
[![nbviewer](./img/nbviewer.svg)](https://nbviewer.jupyter.org/github/CardiacModelling/VoltageClampModel/tree/main/tutorial/symbols.ipynb)
**Names and symbols** A table of all symbols, their meanings, and names used in other publications.

## Appendices
- [![github](./img/github.svg)](./tour.ipynb)
[![nbviewer](./img/nbviewer.svg)](https://nbviewer.jupyter.org/github/CardiacModelling/VoltageClampModel/tree/main/tutorial/tour.ipynb)
**Default parameter values** and comments on how to reparameterise the model, are given in the Model Tour.

Finally, there are several appendices:
- [![github](./img/github.svg)](./references.ipynb)
[![nbviewer](./img/nbviewer.svg)](https://nbviewer.jupyter.org/github/CardiacModelling/VoltageClampModel/tree/main/tutorial/references.ipynb)
**References** and further reading.

- [Appendix A](./appendix-a/README.md) adds details on electronics and filters.
- [Appendix B](./appendix-b/README.md) looks at details of the model derivation.
- [Appendix C](./appendix-c/README.md) provides default parameter values, and amplifier-specific ones.
- [Appendix D](./appendix-d/README.md) discusses remaining sources of error.
- [Appendix E](./appendix-e/README.md) looks at Rs and Cm estimates.
Finally, there are [several appendices](./appendix), which provide background on electronics and details of the model derivation.

487 changes: 0 additions & 487 deletions tutorial/appendix-a/6-stimulus-filter.ipynb

This file was deleted.

10 changes: 0 additions & 10 deletions tutorial/appendix-a/README.md

This file was deleted.

Loading