abstract_technology_background-case study header

Frequently asked questions about DSPX

Questions and answers

scroll for more

Frequently asked questions about DSPX

In the following, we’re answering typical questions regarding a DSPX application. The collection comprises general questions concering technical requirements and conditions, as well as practical questions regarding model applications and workflows using DSPX and its unit operations, e.g. ChromX. Please contact us directly, if you have any further question beyond.



Downstream modeling with DSPX is very easy in comparison to e.g. modeling with plain equation solvers written in C++ or in MATLAB™. To perform model building with DSPX, it is not necessary to be proficient in thermodynamics or maths. All equations are built in and the graphical user interface simplifies the modeling workflow as much as possible. Only the equations’ parameters are visible and changeable. For the simpler models, it would be enough to understand e.g. what the protein charge and the binding equilibrium constant is to be able to build a model. Using DSPX, it would be technically possible to build e.g. a chromatography model without getting a glimpse of a single equation.

No, you don’t need a computing cluster. DSPX is designed to run on ordinary PCs and workstations. It primarily relies on CPU performance and makes use of available cores, requiring at least a dual core processor to function. Memory is typically not limiting; DSPX needs up to 4GB for its own data storage, so the system RAM should be at least 8 GB. GPGPU is not supported. The graphics card and its driver must support OpenGL. We recommend Windows 10 as an operating system but also support Windows 7, 8, and 8.1. DSPX is installed locally.

To be able to download updates from the GoSilico servers, an unobstructed internet connection is necessary. Proxy settings can be entered during installation. To activate the license, an internet connection to GoSilico’s license management provider is also required. All project files and databases remain on the user’s systems for back-up and sharing between collaborators.

In order to run DSPX on your compute system, you first need to activate your compute license. You have either requested a trial license or purchased this product. In both cases, you have received a 28-digit license key in the form of XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX. Please enter this activation key when requested and confirm your key by clicking the button “activate”.

To run DSPX on your compute system, you initally need to activate your compute license with the 28-digit license key (in the form of XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX) you received after purchasing our product. Once the license is activated, you can always login to DPSX by entering your credentials and your password which were both sent to you by us. Note that you will automatically be logged out of DSPX after 15 minutes of inactivity.

The software updates are included in your license. Whenever a new software update is available, you will be notified upon starting DSPX. There is also a short description about the scope of the update and the possibility to install the update immediately or later.

When you are logged into in your DSPX account, just click on the help icon in the top bar. The help section opens and at the top left of the main screen you can find the icons that open the User’s Guide as well as the interactive help section.

DSPX can also be executed from the command line, allowing the integration of DSPX’s simulation capabilities into your custom scripts. You can create an editable xml-file in DSPX, execute it in the command line, and read the xlsx-output. Before using the command line execution, you need to specify a Process, following the steps explained in the User’s Guide chapter on Navigation. Please follow the instructions there.

When you are finished with editing your file, you can execute the file by opening the command prompt and using the command: path/to/your/DSPX.exe –exec ‘path/to/your/xml-file’

The command prompt will display the status and tell you when the simulation is finished, the results are exported and the window can be closed.

The parameters Objective Beginning and Objective End determine when the pooling is started and stopped or, mathematically speaking, in which interval the objective function is evaluated. Most users use UV-based pooling and choose an mAU value for the pooling beginning and end. Reasonable boundaries for optimization depend on the individual separation problem. An example would be 0-300 mAU to trigger pooling and to stop it when the signal falls below this threshold. These are rather wide ranges and leave a lot to the freedom of the optimizer.

The other two input boxes, Minimum and Maximum, are only necessary under special circumstances. For example, when there is a wash step with strong impurity elution leading to another peak of at least 300 mAU. In this case, the Objective Beginning trigger would be executed during the wash, which is not desired. To circumvent this, one could set Minimum and Maximum values to restrict the Beginning and End triggers so they are only executed within an admissible time (volume) frame, e.g. after the wash is done. Here, we typically use volume values instead of UV.

In summary, Minimum/Maximum define the window in which the evaluation of the objective can be triggered. The parameters Beginning and End define the span in which the objectives are actually evaluated.

With an Objective Beginning between 0 and 300 mAU the pooling would be triggered for the wash peak, but your target protein is in the second peak. To prevent the pooling of the wash peak, a Minimum of ~4 ml needs to be added. In this way, the pooling will not start before the 4 ml mark.

DSPX offers a variety of different optimization algorithms. The algorithms most frequently used are the heuristic ASA (Adapted simulated annealing) algorithm and GALib which is a genetic algorithm, and the deterministic Levenberg-Marquart CERES and CMinPack algorithms.

ASA is a probabilistic method for approximating a global optimum of a goal function. To this, the algorithm performs random jumps in order to explore the search space. If the new parameters improve the objective’s value, the jump width is reduced. ASA quickly scans a large search space.

Genetic Algorithms such as GALib are a heuristic approach to optimization motivated by nature itself. The algorithm starts with several parameter sets at the same time, a generation of parameter sets, so to say. Similarly to the evolution of genes, the “fittest” parameter sets are kept, mixed among each other or slightly mutated with the expectation that the next generation will be even fitter. The algorithm explores a smaller part of the search space than simulated annealing but is able to leave local minima via random mutations, in contrast to Levenberg-Marquardt.

The Levenberg-Marquardt algorithms are optimization algorithms that can be interpreted as a combination of the method of steepest descent and Newton’s method. Through an additional constraint, one forces the solver to decrease/increase the goal-functional value in every iteration, so that the objective is successively better fulfilled in every experiment. The method is fast when starting sufficiently near to an optimum, but otherwise slow and may be unable to leave a local minimum.

Therefore, starting the parameter estimation with a heuristic algorithm (ASA or GALib) is recommended until a good starting point for the deterministic algorithm is found.

The optimal error norm depends on the separation problem at hand. The most frequently used error norms are L2Error (least square error), NRMSE (normalized root mean square error), L2ErrorIntegral (integrated least square error) and DTW (dynamic time warping).

The L2Error is a typically used error norm. If multiple chromatograms and/or components with very different peak areas are used for model building, the NMRSE is better suited. Here, the individual residuals of the different components and processes are normalized prior to the calculation of the overall residual. Therefore, also components with considerably smaller peak areas are not neglected during model building.

The L2ErrorIntegral, as an integrated form of the least square error, is helpful for finding the correct peak position as the integration of the residual provides a large error if there is no overlap between the measured and modeled chromatograms.

The DTW is an error algorithm that compresses and stretches the signal along the column to minimize the error between the measured and modeled chromatograms. Therefore, a peak shift along the column is less important for the resulting residual. DTW is helpful if the correct peak shape should be preferred over the correct peak position.

As a licensed user of DSPX software, you are free to publish your own modeling work in articles, papers, books, images or conference proceedings. GoSilico appreciates your referencing of our software and our company name in your publications.

If your publisher does not have any specific guidelines, we recommend the following format:

“… we used the DSPX software (GoSilico GmbH) to perform the modeling [Ref. 1] …”

[1] T. Hahn, T. Huuk, V. Heuveline, J. Hubbuch, Simulating and Optimizing Preparative Protein Chromatography with ChromX, J. Chem. Educ. 92 (9)(2015) 1497–1502, http://dx.doi.org/10.1021/ed500854a.”

If available, we recommend citing one of our latest scientific publications, closest to your application. In general, you can always cite the most fundamental DSPX – ChromX publication on the “Preparative Protein Chromatography with ChromX”, as referenced above.

The following format is suggested if you would like to reference a specific section of the DSPX documentation.

“… This is explained in detail in the DSPX User’s Guide [Ref. 2].”

[2] DSPX User’s Guide v1.0, pp. XX-XY. GoSilico GmbH, Karlsruhe, Germany. 2021.“

If you wish to re-publish any information created by GoSilico, including but not limited to images, models and documentation, please contact us directly.

DSPX comes with a comprehensive interactive help section and a User’s Guide. By clicking on the Help icon in the main menu of DSPX, the interactive help section is opened. DSPX will then show all the relevant information regarding the specific section of the navigation you are currently in. The help texts serve as a general guideline on what the user can do in this section. At the same time, they provide a short overview of the background. The User’s Guide provides further and more detailed information.

If you have any problems, do not hesitate to contact us via support@gosilico.com or http://helpdesk.gosilico.com. We will do our best to help you. If you need technical support, this is free of charge as it is already included in your license purchase.

In the unlikely event that you decide to stop using DSPX at some point in the future, this is not a risk to your modeling results. DSPX data are stored in an open and documented format. All parameters used for simulating a chromatographic experiment in DSPX are stored in an XML-based text format. These .cmx files can be read and edited with any text editor. The modeling results generated with DSPX are commonly exported in other widely used data formats such as Excel or as graphics in .jpg, .png, or .svg format.


It depends on various factors how long a simulation within DSPX – ChromX will take. The number of different components, as well as the number of model parameters, are crucial. The number of parameters is determined by the selected fluid dynamic and thermodynamic models. Furthermore, the resolution of the spatial and temporal discretization is important for the calculation and therefore the simulation speed. The more the axial/radial cells and the smaller the time steps, the more points will be used for the concentration calculation and, in conclusion, the slower the simulation speed. Individual simulations, however, should not take longer than a few seconds or up to one minute.

The model selection in DSPX – ChromX is divided into three parts. First, a column model and a pore model needs to be determined. There are basically three different options that are frequently used. The least complex is the Equilibrium Dispersive model. This model bundles the axial dispersion and all mass transfer parameters into one parameter. The ED model might be applied especially for newer resins, where the pores are easily accessible. In contrast, older resins might need more complexity. There is the Transport Dispersive model with the Lumped Rate pore model. Here, the axial dispersion coefficient is an individual parameter while all mass transfer parameters are lumped into a second parameter. The most complex model is Transport Dispersive with the General Rate pore model. Here, the mass transfer parameter is divided into film transfer and pore diffusion. Thus, another dimension in the radial direction of the beads is introduced. Therefore, the computational time is increased significantly. Most of the time, the Lumped Rate model is sufficient, but for some cases, where e.g. extensive shielding occurs, the General Rate model might be needed.

The second part of the model selection is the choice of the isotherm. The choice is limited due to the type of chromatography (IEX, HIC, affinity, …). In each category there are different isotherm equations with varying complexity. With some experience, it is rather easy to select a suitable model for your project.

DSPX – ChromX also offers an intuitive decision tree structure that guides through the model selection.

Concerning fraction analysis, a variety of different analytic methods can be performed and implemented in DSPX – ChromX. The most frequently used analytical methods are SEC and IEX if critical charge variants of the product are suspected. Sometimes it is also possible to explain non-symmetric peak shapes by considering charge variants. It is preferable to conduct the offline SEC and IEX analytics at the same wavelength as the recording of the chromatogram. Apart from the offline analytics to characterize the mAb variants, additional components, such as HCP or DNA, can be analyzed and included in the calibration space. Please contact us directly for further information.

The underlying equations are not shown in DSPX – ChromX in order to simplify the application of the software. If you are, nevertheless, interested in the fluid dynamic and thermodynamic equations, they can be found in the User’s Guide.

To obtain an accurate model, the resolution of the different peaks needs to be sufficient for model calibration. As the resolution depends on the fraction size and the number of analyzed fractions, we recommend a fraction size of 0.5 CV if possible. It is strongly dependent on the individual process where best to take fractions and how many fractions to take for analysis. Because of the trade-off between resolution and effort, a rule of thumb for bind & elute chromatography would be to analyze about 3 fractions distributed through your potentially occurring load breakthrough and about 3 fractions of your strip. For the elution, about 10 fractions chosen at the positions where the impurities of your process are expected to elute are sufficient for most cases. When performing flow-through chromatography you should analyze about 10 fractions of the flow-through and about 3 fractions of the elution peak to get information about potential product loss and to better understand the binding impurities.

In order to be able to calculate the mass balances of the proteins, we highly recommend an analysis of the feed material loaded onto the column.

The most common case where the combination of different offline analysis methods is necessary is the investigation of mAb species with SEC and CEX. Without a two-dimensional analysis, the exact amount of e.g. acidic fragments, basic monomers or neutral aggregates is unknown. Regularly, no two-dimensional analysis is conducted due to the high analytical effort.

Therefore, assumptions must be made. For processes with a high initial purity of the monomer species one could e.g. assume that the charge variants are equally distributed for the size variants. In most cases, splitting the fragments and aggregates into different charge variants is not necessary. Therefore, only the monomer needs to be divided into different charge variants. To do this, the amount of monomer determined with SEC needs to be combined with the respective amounts of charge variants evaluated with CEX. It must be kept in mind that this workflow may not be suitable for some processes. Please contact us directly for further information.

The number of axial cells determines the number of points along the column at which the concentration of the components is calculated. A larger number of axial cells yields higher precision, but it also increases the computational time. The pre-set number of axial cells is 31 but sometimes about half this number (15) is sufficient. If the general rate model is used, an additional dimension in the radial direction of the beads is added. The number of radial cells can be much smaller than the number of axial cells, say 7-15.

The step size of the time stepping determines the precision of the temporal discretization of the partial differential equations. As a starting point, a step size between 1s and 10s can be assumed.

When numerical oscillations occur because of fast concentration changes in the column, e.g. at step elutions, the number of cells needs to be increased and/or the time stepping step size needs to be decreased.

For more information, please consider the interactive help and User’s Guide that further guides you through the correct choice of time steps and axial/radial cells.

When performing the buffer import to DSPX – ChromX, it is important to keep in mind that not only the salt concentration in the buffer is of interest but also the concentration of dissociated buffer ions. The currently used isotherms do not distinguish between the various kinds of ions in the buffer but only the number of ions. Depending on the pH of the buffer solution, the buffering substance can be partially or even fully dissociated and therefore in an ionic state. The pH dependent concentration of dissociated ions can be calculated using the Henderson-Hasselbalch equation. This equation is also hidden behind the Erlenmeyer flask icon in the Import Wizard. The dissociated buffer molecules also contribute to the conductivity of the buffer solutions and need to be included in the calculations. As there is no differentiation between the different kinds of ions in the isotherm, the concentration of dissociated buffer ions needs to be added to the salt concentration and inserted in the “salt” component in DSPX – ChromX.

The measurement factor is derived from the Lambert-Beer law and is used to scale the injection concentration unit to the measurement unit. In most cases, this means scaling M to mAU. This is necessary to enable DSPX – ChromX to determine the fluid dynamic and thermodynamic model parameters with inverse fitting using the chromatograms from the lab experiments. The measurement factor can be calculated using the extinction coefficient of the protein and the path length of the UV flow cell. If those are unknown, the measurement factor can also be adapted manually to match the model output area with the peak area of the experimental chromatogram. It is also possible to include the measurement factor in the parameter estimation.

The concentration factor is used for the SMA isotherm and its extensions (e.g. Mollerup 2008). The SMA isotherm requires a molar protein concentration for the calculation. The concentration factor is used to scale the injection concentration unit to the molar concentration. In many cases, the injection concentration is already in M, in which case the concentration factor is 1. If the injection concentration is in g/l, the concentration is the molar mass.

The kp and ks parameters are used in the so-called generalized ionic exchange isotherm which is an extension of the widely used SMA isotherm. These additional parameters were introduced by Mollerup in 2008 and are used for the approximation of the activity coefficient. They describe the dependency of the equilibrium constant on the protein (kp) and salt (ks) concentration. A negative kp/ks means that keq decreases with an increasing protein/salt concentration, resulting in weaker binding. A positive kp/ks indicates the opposite.

This extension of the SMA isotherm can be helpful for describing complex peak shapes such as trapezoidal peaks. Also, it may be useful for accurately describing both step and gradient elutions when SMA fails to do so.

The most convenient way to include components that have concentrations in a different unit such as HCP and DNA is to add these components via a separate sensor. Either the information from the offline fraction analysis can be included as an artificial measurement signal or the offline analysis can be included as fraction data in absolute values. For the second option, it is also important to add a mock data column. This could also be a zero line. The corresponding artificial volume (time) column will be used as a grid to display the fraction information. Therefore, the volume steps need to be narrow enough to present a fine enough grid to depict the fraction information correctly. Moreover, it is important to weigh only the fraction information for parameter estimation. Otherwise, the mock measurement line will interfere with the model building.

Sometimes it is helpful to look at the concentration profiles inside the column to investigate the behavior of the different components or to see whether some components are not eluting completely. DSPX – ChromX offers the possibility of exporting files showing the concentration profiles along the column for the whole process. The “Concentration file output” options can be found in the “Display/Output” tab. It is possible to export MAT or VTK files to work with in MATLAB or a visualization program such as ParaView. It is also possible to select the intracolumn rate unit (e.g. s, ml, …) and the output rate to determine how many concentration profiles should be exported during the whole process. After all is set, a simulation must be performed to finalize the export of the concentration files.

The boundaries for parameter estimation are strongly dependent on your individual process. Therefore, it is not possible to predict the exact ranges for each parameter. Nevertheless, rules of thumb may be applicable for some processes to start the parameter estimation.

The film diffusion coefficient is often in a range between 0.0001 and 1 mm/s. If the general rate model is used, a separate pore diffusion coefficient is introduced. As the diffusion inside the pore is the limiting step, the pore diffusion coefficient is smaller and may be between 10e-8 and 10e-5mm2/s. For CEX, the kinetic parameter is typically <<1, while for HIC, the kinetic parameter is more likely between 1and 1000. The equilibrium coefficient is very hard to predict. Thus, it makes sense to start with a broad range of e.g. 10e-6 and 10e6 and use a logarithmic scale for estimation. The charge parameter indicates the number of charged patches on the protein’s surface, therefore the charge parameter is always >0. Typically, a range between 1 and 15 can be used for a standard mAb process. The shielding value describes the number of binding sites unavailable due to steric shielding and repulsion by the molecules already bound. This value is often between 10 and 200. If the Mollerup extension of the SMA isotherm is used, there are the additional kp and ks parameters that are part of an activity coefficient approximation. The kp parameter describes the influence of the protein concentration on the equilibrium parameter. A negative kp means that the binding of the protein is weakened with increasing protein concentration (a positive kp indicates the opposite). The parameter typically has large values in the range of -50000 to 50000 M-1. The ks parameter describes the salt influence on the equilibrium parameter. Again, a negative ks means a weakening of the protein binding with increasing salt concentration (a positive ks indicates the opposite). This parameter is often in the range of -30 to 30 M-1. It is important to keep in mind that the proposed ranges are not applicable for all processes and are just a rough guideline.

Please contact us directly for a specific consideration of your modeling application.