QUB Online

This app simulates ion channel currents using hidden Markov models. If you load experimental data, it can estimate model parameters from single-molecule and ensemble recordings.

 QuB Online — qub.mandelics.com

Data may be in QUB QDF or DWT formats, Axon/Molecular Devices ABF and ATF formats, AxoGraph AXGR and AXGX formats, Bruxton/TAC Acquire format, HEKA Patchmaster Pulse format, or in columns of text separated by comma or tab (not by spaces). e.g.:

Current,Voltage
0.01,-80
-0.012,-80
0.023,-80
0.008,-80
0.011,50
0.53,50
0.74,50
0.92,50

A blank line is interpreted as a segment break.

Bins:
Bins:
kHz
Project name:

Mean first passage time from state A to state B

index A:
index B:
Mean first passage (ms):

The Transition State (Committor) is the state in a linear model from which either terminal state becomes equally likely at the measuring duration tmeas

tmeas:
Sampling: [kHz]:
Trace duration [s]:
Start state: , or start in state 
Resting levels:
Pulse variable:
Pre-pulse [s]:
Pulse duration [s]:
Pulse levels:
kHz
Agonist variable:
Agonist Pre-pulse [s]:
Agonist duration [s]:
Antagonist variable:
Antagonist Pre-pulse [s]:
Antagonist duration [s]:
Pulse levels:
Agonist:
Antagonist:
kHz
Pulse variable:
Conditioning level:
Conditioning duration [s]:
Recovery durations [s]:
Test level:
Test duration [s]:
kHz
Ramp variable:
Pre-ramp [s]:
Ramp up duration [s]:
Ramp up from: To:
This example will be publicly available. It will consist of the model(s) "" along with other simulation parameters. Please describe the simulation and give some context.
Title:
About:

This is a prototype of QUB software running in the web browser. It simulates the output of a hidden Markov model, representing a physical system such as an ion channel, and recovers model parameters from experimental data. Our plan is to host a database of projects and associated data, and to accelerate computation using on-demand and cloud resources. Build #

HJCFIT likelihood function provided by DCPROGS/HJCFIT.

Browse source code
Download source .zip
Fast Accurate N:
TODO: describe

Opening

Which signal has the dependent variable (e.g. Current)?
Which signals have independent variables for the model (e.g. Voltage, Pressure)?
  • edit ligand names to match named model variables (Rate properties: Ligand name)
  • adjust delta so it's less than the smallest meaningful change (excessively small delta just slows down computation)
Preview (ind. vars)
Segment: 1 Scroll:
Please cite
Milescu, L.S., G. Akk, and F. Sachs. 2005. Maximum likelihood estimation of ion channel kinetics from macroscopic currents. Biophysical J. 88(4):2494-2515.
Constants—model variables with no associated data signal
Show advanced settings...
Minimizers—choose search algorithms
Max iterations:
Max step:
dx (num grad):
Workers—number of parallel threads
Model:
Parameters—choose which to optimize
Constraints
Please cite
Qin, F., A. Auerbach, and F. Sachs (1996) Estimating single-channel kinetic parameters from idealized patch clamp data. containing missed events. Biophysical Journal 70:264-280.
Qin, F., A. Auerbach, and F. Sachs (1997) Maximum likelihood estimation of aggregated Markov processes. Proceedings of the Royal Society B 264:375-383.
Hawkes, A. G., Jalali, A. & Colquhoun, D. (1990). The distributions of the apparent open times and shut times in a single channel record when brief events can not be detected. Philosophical Transactions of the Royal Society London A 332, 511–538.
Constants—model variables with no associated data signal
Constraints
Show advanced settings...
Likelihood function
tcrit: ms
Minimizers—choose search algorithms
Max iterations:
Max step:
dx (num grad):
Workers—number of parallel threads

Idealize a record to find the optimal sequence of dwells (for this particular model), using Segmental K-Means (SKM).

Qin, F. 2004. Restoration of Single-Channel Currents Using the Segmental k-Means Method Based on Hidden Markov Modeling Biophys. J. 2004 86(3):1488-501

with max iterations:
Re-estimate conductance:

Segments:

The commitor is the state in a linear model from which either terminal state becomes equally likely at the measuring duration tmeas. [read more...]

Build Model

Number of states
Fast forward rate
Fast backward rate
Slow forward rate
Slow backward rate
tmeas [ms]

The committor is calculated (by optimization) from the A matrix as the position in the Markov chain in which the probability of reaching each absorbing end state is equal after a time T.

An N-state linear Markov chain has two terminal states and N-2 intermediate states. We number the states in the order they are connected, from terminal state 1 to terminal state N. The committor is the initial state from which the system is equally likely to enter either of the terminal states first. In the particular models we are considering, the terminal states have exit rates several orders of magnitude smaller than non-terminal states. When the process reaches a terminal state, it tends to stay for a long time (on average, the inverse of the exit rate). For these models we can solve an equivalent problem: pick a measurement time Tm < (1/min(terminal-exit-rate)), and find the initial state which gives rise to equal terminal occupancy probabilities at time Tm. For an initial state C, we form the entry occupancy vector P0 with P0[i] = {1 if i=C, 0 otherwise}. If C is not an integer, we assign entry occupancies proportionally: P0[ipart(C)] = 1-fpart(C); P0[ipart(C)+1] = fpart(C). We also define the measurement occupancy vector Pm = P0 * A, where A = e^(Q*Tm), and the fitness function f=(Pm[1] - Pm[N])^2 which is minimized when Pm[1] = Pm[N]. We minimize f numerically with respect to C to find the optimal committor.

[JavaScript source code]

UNDO
REDO
Group:
Members:
Data servers:
Edit Group
Group name:
About:
Data key:
Compute key:
Edit member info
Name:
Email:
Group:
About:
Requests to join ()
Name:
Email:
About:
Wants to join group:
Forward to
to you@yours
Expiration (hours):
Uses remaining (0: infinite uses):
You must be signed in to upload and save projects. Please enter your info to request an account.
Name:
Email:
About:
Group name: If you are joining an existing group, please enter the group name. Or, to start a new group, leave this space blank and we will contact you with subscription rates.
Title:
About:
doi:
Authors:
Publication date:
Model:
Channel Count:
Vrev: mV
State properties
Class:
Label:
Amp: [pA]
Std:
Peq: 0.0
Time Constant: 0.0 ms
Gaussian: 0.0 +/- 0.0 pA
(long-press to reposition)
Rate properties
K =
k0:
k1:
k2:
Ligand name:
[k = k0*L * exp(k1*V + k2*P)]
Add a state:
NameEmail
Name:
Email:
About:
Can:
Please enter the URL of a file
https://
or, choose a file from disk:
Save as: Downloads/
posted by () on
Comment:
Pinned Results
0000 0000

To see dose-response plots, add a stimulus to one or more rate constants, and set up an appropriate simulation. Checking I = f(V) adds implicit stimulus named "Voltage."

To make a rate constant stimulus-dependent, first click it, then look under Rate properties. For concentration-dependence (linear, pre-exponential), enter the name of the substance next to Ligand name. For voltage or pressure sensitivity, check the appropriate box and enter a nonzero number next to k1 or k2 respectively.

The Simulation menu, below, generates various stimulus waveforms. Dose-Response builds a stimulus ladder. Agonist-Antagonist adds a second ladder variable. Paired Pulse varies the duration between an initial conditioning pulse and subsequent test pulse. In Steady-State mode, all model variables are held constant.

This panel will show the peak and equilibrium current at each stimulus level. Only the selected data, shown in the hi-res (lower) panel, will be measured.

Use the Data menu (or the icons at left) to adjust signals, subtract baseline, etc. If your data were recorded with varying voltage, pressure, or ligand concentration, but that signal is not in the file, use the Stimulus Builder to re-create the waveform.

To analyze, pick Macroscopic or Single-Molecule mode from the QUB menu.

To start analysis, pick Macroscopic or Single Molecule from the QUB menu.

Single molecule data visits a small number of discrete levels. We idealize it using SKM (Qin 2004), make duration histograms, and solve kinetic parameters with algorithms such as MIL (Qin et al 1996,1997).

Macroscopic data has the sum of dozens or thousands of single molecules. We solve the kinetics directly with algorithms such as MAC (Milescu 2005).

Scaling: Adjust signals so they have appropriate units. Current should be in pA. Voltage should be in mV. Highlight data above to see measurements below. Delta is the smallest meaningful change in the stimulus (e.g. 1 mV).
Sampling: kHz, or msec
Apply the changes?
Baseline subtraction
(preview)
Highlight data in the lower (hi-res) panel to define a baseline node. When you're satisfied with the baseline, Subtract it from the data.
Edit node: Sample: Time: Level:
Stimulus builder
Reconstruct a missing stimulus signal such as voltage, pressure, or ligand concentration. To make a stimulus ladder, enter a comma-separated list of levels (or durations).
Signal type:
Delta:
Select data by hand and , or use these tools:
Selections:
 
Continue analyzing just these selections
Save these selections for future analysis
Source: or
Chop selects a piece of data every so many milliseconds.
Skip: Get: Skip: [ms]
Skip first [ms] of segment
Skip last [ms] of segment

Chop Idl uses idealized data to select batches or bursts of events.

To use this function, first idealize the data using Single Molecule mode (in the QUB menu). Then come back here by choosing Data Entry from the QUB menu.

Switch to Single Molecule mode now?

Chop Idl uses idealized data to select batches or bursts of events.
Break at:
event longer than ms
events
Discard if:
ms
Select data by stimulus rising or falling past a threshold
Select when signal:
is or
Also include ms before and ms after

States are represented as wells, connected by traversing an energy barrier.

More info here soon...

Make a video of data

Width: pixels = seconds
Height:
Playback rate:

Classes:

Video output: Width: [ pixels = sec] Height: fps: rate:
TODO: describe

This page divides a dataset into clusters using the K-Means algorithm. "X-Means" refers to the question of which K is best—how many clusters? For each K, we run several randomized trials to find the optimal clustering, and compute the Sum Square Residual (SSR) and corrected Akaike Information Criterion (AICc). To see a particular K-clustering, click one of the SSR or AICc results.

To get started, use the File menu to load or enter data.

Trials per K:
Iterations per trial:
"Iterate" button iterations:
Trim (un-select) all points outside +/- std. deviations
Please verify the data have been read correctly, and select columns.
Preview: of rows
Columns should be separated by commas or tabs (not spaces).
Please paste below:

To start:

Theory:

We now describe the naive K-means algorithm for producing a clustering of the points in the input into K clusters. It partitions the data points into K subsets such that all points in a given subset "belong" to some center. The algorithm keeps track of the centroids of the subsets, and proceeds in iterations. Before the first iteration the centroids are initialized to random values. The algorithm terminates when the centroid locations stay fixed during an iteration. In each iteration, the following is performed:
  1. For each point x, find the centroid which is closest to x. Associate x with this centroid.
  2. Re-estimate centroid locations by taking, for each centroid, the center of mass of points associated with it
The K-Means algorithm is known to converge to a local minimum of the distortion measure (that is, average squared distance from points to their class centroids.
(X-Means, Pelleg and Moore, 2000)
K-Means Tutorial
Note: this page does not use KD trees, AIC or BIC.
See also: AICc