Alguns fármacos, como a colestiramina, utilizada no tratamento da hipercolesterolemia, possuem sua ação baseada em mecanismos de adsorção, geralmente descrito pela equação de Langmuir.

Nesse sentido, os ensaios de doseamento são geralmente baseados na quantidade de analito adsorvida, portanto o ensaio geralmente não segue a forma padrão de quantificação de fármacos convencionais, isto é, baseada na proporcionalidade de um sinal analítico.

Nesse post, vou explorar a equação de Langmuir. O entendimento dos ensaios de doseamento, ação, e estudos de bioequivalência passam necessariamente pela compreensão desse mecanismo de adsorção descrito por essa equação.

O experimento

No experimento, utiliza-se uma quantidade fixa de adsorvente, adiciona-se uma quantidade de solução com concentração de analito conhecida $C_0$. Após algum processo, que pode incluir agitação, adequação de temperatura e tempo de equilíbrio, o material adsorve parte do analito presente na solução inicial, e a concentração da solução diminui. A concentração medida ao final dessa etapa é a concentração de equilíbrio, $C_{eq}$.

E a quantidade adsorvida por unidade de material $q$ é dada por:

\begin{equation} q = \frac{n_{ads}}{m} \end{equation} em que $n_{ads}$ é a quantidade de analito adsorvida e $m$ é a massa.

A quantidade adsorvida $q$ depende da concentração inicial $C_0$, portanto para $C_0$ diferentes existirá concentrações de equilíbrio $C_{eq}$ diferentes.

Equação de Langmuir

A equação de Langmuir relaciona $q$ a $C_{eq}$ por um caminho não linear, descrito abaixo: \begin{equation} q=\frac{k_1k_2C_{eq}}{1+k_1C_{eq}} \end{equation} em que,

  • $k_1$ é a constante de afinidade;
  • $k_2$ é a constante de capacidade (corresponde à capacidade máxima de adsorção).

Conhecendo-se $k_1$ e $k_2$ é possível prever a quantidade adsorvida $q$ e a concentração de equilíbrio $C_{eq}$, para dado $C_0$ experimental. Mas como resolver esse problema?

Resolvendo o equilíbrio de Langmuir

Nessa seção, vamos resolver exatamente o problema: encontrar $q$ e $C_{eq}$ como função de $C_0$.

Encontramos $n_{ads}$ isolando-o na expressão para o balanço de quantidade material $n_0 = n_{ads}+n_{eq}$ em que $n_0$ é a quantidade de analito inicial e $n_{eq}$ é a quantidade de analito livre no equilíbrio. Portanto, $n_{ads} = n_0 - n_{eq}$ ou pela divisão por $V$, encontra-se $C_{ads} = \frac{n_{ads}}{V} = C_0 - C_{eq}$. Assim, $n_{ads} = C_{ads}\times V$ com $C_{ads} = C_0 - C_{eq}$.

Portanto, podemos escrever a Equação (1) como, \begin{equation} q = \frac{(C_0 - C_{eq})\times V}{m}\,. \end{equation} Ou definindo $\alpha = V/m$ \begin{equation} q = (C_0 - C_{eq})\times \alpha \end{equation}

Substituindo a Equação acima na Equação (2), obtém-se \begin{equation} (C_0 - C_{eq})\times \alpha = \frac{k_1k_2C_{eq}}{1+k_1C_{eq}} \end{equation} ou \begin{equation} (C_0 - C_{eq})\times \alpha\times(1+k_1C_{eq})=k_1k_2C_{eq} \end{equation}

Expandindo o lado esquerdo,

\begin{equation} \alpha C_0 +\alpha k_1C_0C_{eq} -\alpha C_{eq} -\alpha k_1C_{eq}^2 = k_1k_2C_{eq}. \end{equation}

Reorganizando todos os termos em um único membro,

\begin{equation} \alpha k_1C_{eq}^2 + (\alpha+k_1k_2-\alpha k_1C_0)C_{eq} - \alpha C_0 = 0. \end{equation}

A Equação acima possui a forma geral \begin{equation} aC_{eq}^2+bC_{eq}+c=0, \end{equation} com coeficientes

\[\begin{align} a &= \alpha k_1,\\ b &= \alpha+k_1k_2-\alpha k_1C_0,\\ c &= -\alpha C_0. \end{align}\]

Isto mesmo, para resolver o problema basta resolver uma equação de segundo grau!

A concentração no equilíbrio é encontrada resolvendo-se a equação do segundo grau por

\begin{equation} C_{eq} = \frac{-b+\sqrt{b^2-4ac}} {2a}. \end{equation}

Finalmente, a quantidade adsorvida é obtida substituindo a concentração de equilíbrio na Equação (4), (repetida abaixo), \begin{equation} q = (C_0 - C_{eq})\times \alpha \end{equation} e a quantidade total adsorvida é dada por \begin{equation} n_{ads} = (C_0-C_{eq})V. \end{equation}

Solução computacional

Podemos resolver o problema agora, utilizando alguma linguagem de programação, neste caso Python.

Uma boa estratégia e definir uma função, como abaixo:

import numpy as np

def langmuir_q(C0, k1, k2, V, m):
    """
    Calcula q a partir da concentração inicial C0.

    Parâmetros
    ----------
    C0 : concentração inicial (mM)
    k1 : constante de afinidade
    k2 : constante de capacidade
    V  : volume da solução (L)
    m  : massa do adsorvente (g)

    Retorna
    -------
    Ceq : concentração de equilíbrio (mM)
    q   : quantidade adsorvida (mM/g)
    """

    alpha = V / m

    a = alpha * k1
    b = alpha + k1 * k2 - alpha * k1 * C0
    c = -alpha * C0

    delta = b**2 - 4*a*c

    # raiz física
    Ceq = (-b + np.sqrt(delta)) / (2*a)

    q = alpha * (C0 - Ceq)

    n_FL = (C0-Ceq)*V

    return Ceq, q, n_FL

Agora só utilizar a função para uma faixa de concentrações iniciais e parâmetros desejados, por exemplo:

k1 = 0.891/1e-4    # constante de afinidade (L/mol) [Glycocholate]
k2 = 0.863/230     # capacidade máxima de adsorção (mol/g) [Glycocholate]
V = 0.025          # L
m = 0.025          # g

# Concentrações iniciais, mol/L
C0 = np.array([1.0, 1.7, 2.3, 2.6, 3.2, 3.6, 4])*1e-3

# Resolvendo o equilibrio
Ceq, q, n_FL = langmuir_q(C0, k1, k2, V, m)

Por fim podemos fazer um gráfico.

import matplotlib.pyplot as plt

# Mapa de cores
cores = plt.cm.viridis(np.linspace(0, 1, len(C0)))

plt.figure(figsize=(6, 5))

for c0, ceq, qi, cor in zip(C0, Ceq, q, cores):
    plt.plot(
        ceq*1e5,
        qi*1e4,
             'o', color=cor, markersize=8,
             label=f"C0 = {c0*1000:.1f} mM"
             )

plt.xlabel(r"$C_{eq}$ ($10^{-5}$ mol/L)")
plt.ylabel(r"$q$ ($10^{-4}$ mol/g)")
plt.legend(title="Concentração inicial")
plt.grid(True)

png


Gostou do artigo?

Curta ou compartilhe sua opinião na publicação. Conecte-se no LinkedIn para acompanhar novas publicações sobre desenvolvimento analítico, estatística e ferramentas computacionais aplicadas à indústria farmacêutica.


Continue explorando

Ver outros posts