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")