Modeling ProtA elution

Hi,

I was working on modelling elution for the protein A chromatography using Cadet Python. But, what I realised is that it will generate a general outlet concentration because I have not specified the pH and salt conditions with the Langmuir isotherm. Could I get assistance on how to incorporate pH and salt concentration?

langmuir_model = get_cadet_template(n_units=3)

n_comp = 1

# INLET
langmuir_model.root.input.model.unit_000.unit_type = 'INLET'
langmuir_model.root.input.model.unit_000.ncomp = n_comp
langmuir_model.root.input.model.unit_000.inlet_type = 'PIECEWISE_CUBIC_POLY'

# Adsorption_Model
langmuir_model.root.input.model.unit_001.unit_type ='LUMPED_RATE_MODEL_WITH_PORES'
langmuir_model.root.input.model.unit_001.ncomp = n_comp

langmuir_model.root.input.model.unit_001.col_length = 25e-3#59e-3
langmuir_model.root.input.model.unit_001.cross_section_area = 4e-5
langmuir_model.root.input.model.unit_001.col_porosity = 0.34
langmuir_model.root.input.model.unit_001.par_porosity = 0.94
langmuir_model.root.input.model.unit_001.par_radius = 50e-6
langmuir_model.root.input.model.unit_001.col_dispersion = 0.55e-7

langmuir_model.root.input.model.unit_001.film_diffusion = 1.96e-23
langmuir_model.root.input.model.unit_001.par_diffusion = 5.96e-12
langmuir_model.root.input.model.unit_001.par_surfdiffusion = [0]

langmuir_model.root.input.model.unit_001.adsorption_model = 'MULTI_COMPONENT_LANGMUIR'

langmuir_model.root.input.model.unit_001.adsorption.is_kinetic = False
langmuir_model.root.input.model.unit_001.adsorption.mcl_ka = 0.675
langmuir_model.root.input.model.unit_001.adsorption.mcl_kd = 1
langmuir_model.root.input.model.unit_001.adsorption.mcl_qmax = 0.0275

langmuir_model.root.input.model.unit_001.init_c = [0.0]
langmuir_model.root.input.model.unit_001.init_q = 0.0275


# OUTLET
langmuir_model.root.input.model.unit_002.unit_type = 'OUTLET'
langmuir_model.root.input.model.unit_002.ncomp = n_comp

# Mixer
langmuir_model.root.input.model.unit_003.unit_type = 'CSTR'
langmuir_model.root.input.model.unit_003.ncomp = n_comp
langmuir_model.root.input.model.unit_003.init_volume =0.49e-6
langmuir_model.root.input.model.unit_003.init_c = n_comp*[0.0]

set_discretization(langmuir_model, n_col=40, n_bound=[1,1])
# Sections and connections
langmuir_model.root.input.solver.sections.nsec = 2
langmuir_model.root.input.solver.sections.section_times = [0.0, 300, 540]
langmuir_model.root.input.solver.sections.section_continuity = [0,0]

## Inlet Profile
langmuir_model.root.input.model.unit_000.sec_000.const_coeff = n_comp*[3.49e-2,]
langmuir_model.root.input.model.unit_000.sec_001.const_coeff = n_comp*[0.0,]

## Switches
langmuir_model.root.input.model.connections.nswitches = 1
langmuir_model.root.input.model.connections.switch_000.section = 0
langmuir_model.root.input.model.connections.switch_000.connections = [
    0, 1, -1, -1, 3.33e-9,
    1, 2, -1, -1, 3.33e-9
]
#Load experiment
df = pd.read_csv("elution.csv") 
time_exp = df["sec"].values
conc_exp = df["mM"].values
#Plot experiment
plt.plot(time_exp, conc_exp, marker="", linestyle="-", color="r", label="experiment_lin")

# set the times that the simulator writes out data for
langmuir_model.root.input.solver.user_solution_times = np.linspace(0, 540, 541) #(0, 4000, 601) 
run_simulation(langmuir_model)

time = langmuir_model.root.output.solution.solution_times
c = langmuir_model.root.output.solution.unit_002['solution_outlet_comp_000']
plt.plot(time, c)
plt.title('Column (Outlet)')
plt.xlabel('$time~/~sec$')
plt.ylabel('$concentration~/~mM$')
plt.show()   

Hi Kauthar,

The discussion in this thread may be helpful for your question.

In general pH and salt concentration dependence can be included by adding the [H+] or salt concentration as a component and using a binding model that supports having a mobile phase modifier. Currently, this can be done using the Multi Component Colloidal model and it looks like the Mobile Phase Modulator Langmuir model may work as well. This won’t work with the Multi Component Langmuir model because you can’t treat components as a mobile phase modifier.

4 Likes

See this post An example to use ACT isotherm for protein A affinity chromatography for the details on ACT isotherm. It is designed for mechanistic modeling in proA chromatography.

3 Likes

Thank you both for the comments. Much appreciated.