Acid-Base binding curves are representations of the binding of protons from acids to basic solutions or vice versa. These curves are made from data from acid-base titrations. Monoprotic binding curves represent acids with only one proton to give in a basic solution, while diprotic curves represent acids with two protons to give. These binding curves were then analyzed by plotting the pH with fraction bound. Fraction bound refers to the degree of how ligands attach to molecules, or the degree of how protons will attach to the basic titrant as pH increases.
Shown here is the code and subsequent plots for the monoprotic titration data.
Mydata <- read.csv("trial 2.csv")
Mydata
## Vol pH
## 1 0.0 3.03
## 2 5.0 4.21
## 3 10.0 4.65
## 4 15.0 5.10
## 5 18.0 5.46
## 6 19.0 5.67
## 7 20.0 5.95
## 8 21.0 6.60
## 9 21.4 7.11
## 10 21.6 8.65
## 11 22.0 10.13
## 12 23.0 11.11
## 13 25.0 11.59
volume <- Mydata$Vol ## volume vector
pH <- Mydata$pH ## pH vector
volume
## [1] 0.0 5.0 10.0 15.0 18.0 19.0 20.0 21.0 21.4 21.6 22.0 23.0 25.0
pH
## [1] 3.03 4.21 4.65 5.10 5.46 5.67 5.95 6.60 7.11 8.65 10.13 11.11
## [13] 11.59
plot(volume,pH,main="Volume of NaOH vs. pH of Solution",xlab="Volume (mL)",
ylab="pH",xlim=c(0,25),ylim=c(0,12))
H <- 10^(-pH)
tbase <- 0.10 ## Concentration of basic titrant
Vini <- 25 ## Initial volume
Vend <- 21.5 ## Volume at endpoint
fbound <- 1-(tbase*volume + H*(Vini+Vend))/(tbase*Vend)
## fraction bound equation for monoprotic titrations
fbound
## [1] 0.979815663 0.766108295 0.534399532 0.302153785 0.162715706
## [6] 0.116232830 0.069743175 0.023250381 0.004649484 -0.004651211
## [11] -0.023255816 -0.069767442 -0.162790698
plot(pH,fbound,xlim=c(0,11.59),main="Binding Analysis of Monoprotic Titration")
library(nls2)
## Loading required package: proto
fit <- nls2(fbound ~ H/(KD+H), start=c(KD=0.0001))
## Best fit line
summary(fit)
##
## Formula: fbound ~ H/(KD + H)
##
## Parameters:
## Estimate Std. Error t value Pr(>|t|)
## KD 1.859e-05 2.372e-06 7.838 4.63e-06 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.05208 on 12 degrees of freedom
##
## Number of iterations to convergence: 6
## Achieved convergence tolerance: 3.697e-06
lines(pH,predict(fit), col="blue")
Shown here is the code and subsequent plots for the diprotic titration data.
Mydata <- read.csv("Diprotic Trial 2.csv")
Mydata
## pH Vol
## 1 3.04 5.044
## 2 3.08 5.244
## 3 3.13 5.444
## 4 3.18 5.644
## 5 3.23 5.844
## 6 3.29 6.044
## 7 3.36 6.244
## 8 3.40 6.444
## 9 3.48 6.644
## 10 3.54 6.844
## 11 3.62 7.044
## 12 3.71 7.244
## 13 3.82 7.444
## 14 3.94 7.645
## 15 4.06 7.845
## 16 4.19 8.045
## 17 4.31 8.245
## 18 4.44 8.445
## 19 4.55 8.645
## 20 4.64 8.845
## 21 4.73 9.045
## 22 4.80 9.245
## 23 4.87 9.445
## 24 4.93 9.645
## 25 4.99 9.845
## 26 5.05 10.045
## 27 5.10 10.245
## 28 5.17 10.445
## 29 5.22 10.645
## 30 5.27 10.845
## 31 5.31 11.045
## 32 5.35 11.245
## 33 5.40 11.445
## 34 5.44 11.645
## 35 5.50 11.845
## 36 5.52 12.045
## 37 5.57 12.245
## 38 5.61 12.445
## 39 5.65 12.645
## 40 5.68 12.845
## 41 5.74 13.045
## 42 5.78 13.245
## 43 5.81 13.445
## 44 5.87 13.645
## 45 5.91 13.845
## 46 5.95 14.045
## 47 5.99 14.245
## 48 6.04 14.446
## 49 6.09 14.646
## 50 6.13 14.846
## 51 6.19 15.046
## 52 6.24 15.246
## 53 6.30 15.446
## 54 6.37 15.646
## 55 6.44 15.846
## 56 6.51 16.046
## 57 6.59 16.246
## 58 6.67 16.446
volume <- Mydata$Vol ## Volume vector
pH <- Mydata$pH ## pH vector
plot(volume,pH,main="Volume of NaOH vs. pH of Solution",xlab="Volume (mL)",ylab="pH")
H <- 10^-(pH) ## H+ from pH
Vini <- 25 ## Initial Volume
Vend <- 8.245 ## Volume added in endpoint
tbase <- 0.10 ## [Base]
Fb <- (2-(((volume*tbase)+((H)*(Vini+volume)))/(Vend*tbase)))
## fraction bound equation for diprotic titration
plot(pH,Fb)
library(nls2)
tryfit <- nls2(Fb~(H/KD1+2*H^2/(KD1*KD2))/(1+H/KD1+H^2/(KD1*KD2))
,start = c(KD1=0.001,KD2=0.000001))
## Best fit line
summary(tryfit)
##
## Formula: Fb ~ (H/KD1 + 2 * H^2/(KD1 * KD2))/(1 + H/KD1 + H^2/(KD1 * KD2))
##
## Parameters:
## Estimate Std. Error t value Pr(>|t|)
## KD1 2.643e-06 4.409e-08 59.95 <2e-16 ***
## KD2 1.519e-03 4.771e-05 31.85 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.02025 on 56 degrees of freedom
##
## Number of iterations to convergence: 15
## Achieved convergence tolerance: 2.695e-07
plot(pH,Fb)
lines(pH,predict(tryfit),col="blue")
The experimental data gathered and calculated in r showed that the kd for the monoprotic acid was 1.859e-05 which is relatively close to the kd of acetic acid which was used for the monoprotic titration. For the diprotic data, kd1 was 2.643e-06 and kd2 was 1.519e-03. The kd values, especially the kd1 value, was closest to the kd value for Oxalic Acid, which was identified as the acid used in the diprotic titration experiment. As for the kd2 value, the calculations in this program seem to be a little off compared to the experimental data, but this can be explained due to the lab data remaining in pKa form rather than Ka, and the trimming of values that had to be done in order to provide binding curves that were useful.