This project was developed during F.P.'s stay at UAH, financed by the Ministry of Education of the Argentine Republic, “Program for teaching mobility in Madrid”, JanuaryFebruary 2015.
.
This work, “Simulation of column chromatography”, created by Fabiola Pagliero and Angel Herráez, is offered under a Creative Commons AttributionNonCommercialShareAlike Licence.
If you use this application and wish to cite it, please use this format:
Values of molecular mass, isoelectric point, etc. for proteins were collected from several accredited sources. Data for proteins.
Information about matrices (column packings) was retrieved from booklets and websites of commercial providers.
Mobility is characterised by `K` (or `K_(av)`). The higher `K`, the larger elution volume, slower progress through the column (smaller molecules).
`K = (V_e  V_0) / ( V_h )`  `V_e` = elution volume of each protein `V_0` = exclusion volume or void volume `V_h` = volume of pores in the matrix 
Certain values are supposed for `V_0` and `V_h` and for the flow `F`; the value of `L` is based on the drawing (px)
We calculate `v_max` and `v_min` for each protein; from them, with the reference `K`, we calculate the velocity of progress of each band along the column.
The value of `K` is calculated from the empirical straight line obtained with standards, `K = a + b * ln(M_r)` for each chromatographic matrix.
Mobility depends on the difference between pI and pH, in a nonlinear way.
`ΔQ=pIpH`  resin with ⊖ charge cation exchange 
resin with ⊕ charge anion exchange 

`ΔQ > 0`  protein⊕  is retained, very low `v`  falls through, high `v` 
`ΔQ < 0`  protein⊖  falls through, high `v`  is retained, very low `v` 
Dependency between `ΔQ` and the velocity of progress `v` was modelled empirically using the following logistic equation:
`v = v_min + v_max / ( 1 + 10^(p * ΔQ * s) )` (where `s` is the sign of the charge in the resin)
and a value of 0.3 was chosen for the slope parameter `p` after visual inspection of the separation achieved in the simulator.
For the basal value we chose `v_min = 0.2 * flow` (both are empirical);
and for the velocity of the chromatographic front, `v_max = ( L * \text{flow} ) / ( V_0 + V_h )`
The same method as for ion exchange is used, except that instead of `ΔQ` a value of 20 is assigned to proteins that are not retained at all, −20 for those with high affinity, and intermediate values for weaker affinities. The slope parameter `p` was empirically set at 0.1 and `s` is not used in this case.
The simulation is built with HTML5 and JavaScript. The chromatogram is plotted using the Flot and jQuery libraries.
Mathematical equations in this page are rendered using MathJax.