Abstract
The purpose of this experiment was to learn to do binding curve analyses using potentiometric titration data using R and to compare traditional titration analysis with using a binding curve. While traditional titration is a simpler method and can be done with less data, generating a binding curve is more specific and can tell you more about an acid base titration such as the presence of multiple binding sites. Additionally, we wanted to identify and unknown acid by titration with a known concentration of NaOH and to find the two pKa values of a diprotic acid which were found to be 3.782x10^-5 and 9.854x10^-6 using R.
Introduction
Titration is a fundamental technique in analytical chemistry, used to determine the concentration of an unknown solution. It involves the gradual addition of a solution of known concentration to a solution of unknown concentration, until the reaction between the two is complete, typically detected using a pH indicator or a pH meter. This point of completion is referred to as the equivalence point. In this experiment, we will be focusing on acid-base titration. Autotitration is a modern advancement in titration techniques where the process of titration is done by a computerized system. This method increases the accuracy of the results by minimizing human error and allows for more precise control over the addition of the titrant. The acids used in this experiment can be classified as either monoprotic or diprotic. Monoprotic acids can donate one proton per molecule during dissociation, while diprotic acids can donate two protons per molecule. Understanding the behavior of monoprotic and diprotic acids in a titration is crucial for interpreting the resulting titration curves. Monoprotic acids will have one equivalence point in their titration curve, while diprotic acids will have two. In addition to these concepts, we will also do binding analyses. Binding analysis involves determining the fraction of acid that is bound (protonated) at each point during the titration.
Purpose of Experiment
Previously we did a titration of a monoprotic acid and an accompanying
binding analysis. Now we combine those results and compare them with
diprotic titration. We also conducted gaussian and linear projects in R
to learn about coding and data analysis for analytical chemistry. The
purpose of this project was to find the molar mass and pKa values from
the analysis of data gathered in the lab. Previously we also started the
process of transforming lab data to fraction bound. The equation used
was: Fraction Bound = \(1 - ((CB x Vadded +
[H+] x (Vinitial + Vadded)) /(CB *Vend)\).
Experimental and Results
mydata <- read.csv("Monoprotic.csv")
PH <- mydata$PH
Vol <- mydata$Vol
H <- 10^(-PH)
CB <- 0.01
Vadd <- Vol
Vini <- 25
Vend <- 19.9
plot(Vol, PH, main = "Titration Curve For Monoprotic", xlab = "Vol of NaOH (ml)", ylab = "pH")
fb <- 1-(CB*Vadd+H*(Vini+Vadd))/(CB*Vend)
fb
## [1] 9.685886e-01 9.262400e-01 8.895292e-01 8.574053e-01 8.005624e-01
## [6] 7.627567e-01 7.190320e-01 6.493764e-01 6.399976e-01 6.000066e-01
## [11] 5.651877e-01 5.304016e-01 4.853542e-01 4.453977e-01 4.154836e-01
## [16] 3.604954e-01 3.154460e-01 2.804398e-01 2.453894e-01 2.204015e-01
## [21] 1.853015e-01 1.502475e-01 1.151747e-01 8.514554e-02 5.506763e-02
## [26] 2.497056e-02 -9.470944e-05 -3.518313e-02 -4.522763e-02 -5.527694e-02
## [31] -6.030178e-02 -7.537698e-02 -8.040204e-02 -8.542715e-02 -1.055276e-01
## [36] -1.306533e-01 -1.457286e-01 -1.758794e-01 -1.959799e-01 -2.110553e-01
## [41] -2.311558e-01 -2.512563e-01 -2.763819e-01 -3.015075e-01
plot(PH,fb, main= "Monoprotic Binding Analysis")
library(nls2)
## Loading required package: proto
fit <- nls2((fb ~ H/(KD+H)), start = c(KD=0.0003))
summary(fit)
##
## Formula: fb ~ H/(KD + H)
##
## Parameters:
## Estimate Std. Error t value Pr(>|t|)
## KD 1.250e-05 1.418e-06 8.811 3.48e-11 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.1059 on 43 degrees of freedom
##
## Number of iterations to convergence: 5
## Achieved convergence tolerance: 2.109e-06
lines(PH,predict(fit), col="red")
mydata <- read.csv("DiproticData.csv")
mydata
## Vol pH
## 1 0.000 2.11
## 2 0.005 2.10
## 3 0.010 2.10
## 4 0.023 2.10
## 5 0.054 2.10
## 6 0.132 2.11
## 7 0.328 2.11
## 8 0.528 2.12
## 9 0.728 2.15
## 10 0.928 2.16
## 11 1.128 2.20
## 12 1.328 2.24
## 13 1.528 2.26
## 14 1.728 2.32
## 15 1.928 2.33
## 16 2.128 2.38
## 17 3.328 2.42
## 18 2.528 2.43
## 19 2.728 2.50
## 20 2.928 2.51
## 21 3.129 2.58
## 22 3.329 2.59
## 23 3.529 2.66
## 24 3.729 2.74
## 25 3.929 2.78
## 26 4.129 2.84
## 27 4.329 2.90
## 28 4.529 2.92
## 29 4.729 3.02
## 30 4.929 3.06
## 31 5.129 3.10
## 32 5.329 3.09
## 33 5.529 3.18
## 34 5.729 3.25
## 35 5.929 3.34
## 36 6.129 3.38
## 37 6.329 3.49
## 38 6.529 3.60
## 39 6.729 3.71
## 40 6.929 3.76
## 41 7.129 3.88
## 42 7.329 4.02
## 43 7.529 4.16
## 44 7.729 4.30
## 45 7.929 4.44
## 46 8.129 4.50
## 47 8.329 4.64
## 48 8.529 4.72
## 49 8.729 4.81
## 50 8.929 4.88
## 51 9.129 4.95
## 52 9.329 5.01
## 53 9.529 5.02
## 54 9.729 5.12
## 55 9.929 5.17
## 56 10.129 5.22
## 57 10.329 5.27
## 58 10.529 5.28
## 59 10.729 5.37
## 60 10.929 5.41
## 61 11.129 5.50
## 62 11.329 5.55
## 63 11.529 5.56
## 64 11.729 5.64
## 65 11.929 5.67
## 66 12.129 5.72
## 67 12.329 5.77
## 68 12.529 5.82
## 69 12.729 5.87
## 70 12.929 5.92
## 71 13.129 5.97
## 72 13.329 6.02
## 73 13.529 6.08
## 74 13.729 6.14
## 75 13.930 6.20
## 76 14.130 6.28
## 77 14.330 6.36
## 78 14.530 6.54
## 79 14.730 6.65
## 80 14.930 6.76
## 81 15.130 6.89
## 82 15.318 7.11
## 83 15.518 7.33
## 84 15.718 7.43
## 85 15.918 7.73
## 86 16.057 7.82
## 87 16.136 8.33
## 88 16.215 8.33
## 89 16.229 8.63
## 90 16.243 8.64
## 91 16.257 8.76
## 92 16.271 8.77
## 93 16.285 8.85
## 94 16.299 8.87
## 95 16.313 8.98
## 96 16.327 8.99
## 97 16.341 9.11
## 98 16.355 9.12
## 99 16.369 9.24
## 100 16.383 9.25
## 101 16.397 9.27
## 102 16.411 9.29
## 103 16.425 9.30
Vol <- mydata$Vol
Vol
## [1] 0.000 0.005 0.010 0.023 0.054 0.132 0.328 0.528 0.728 0.928
## [11] 1.128 1.328 1.528 1.728 1.928 2.128 3.328 2.528 2.728 2.928
## [21] 3.129 3.329 3.529 3.729 3.929 4.129 4.329 4.529 4.729 4.929
## [31] 5.129 5.329 5.529 5.729 5.929 6.129 6.329 6.529 6.729 6.929
## [41] 7.129 7.329 7.529 7.729 7.929 8.129 8.329 8.529 8.729 8.929
## [51] 9.129 9.329 9.529 9.729 9.929 10.129 10.329 10.529 10.729 10.929
## [61] 11.129 11.329 11.529 11.729 11.929 12.129 12.329 12.529 12.729 12.929
## [71] 13.129 13.329 13.529 13.729 13.930 14.130 14.330 14.530 14.730 14.930
## [81] 15.130 15.318 15.518 15.718 15.918 16.057 16.136 16.215 16.229 16.243
## [91] 16.257 16.271 16.285 16.299 16.313 16.327 16.341 16.355 16.369 16.383
## [101] 16.397 16.411 16.425
pH <- mydata$pH
pH
## [1] 2.11 2.10 2.10 2.10 2.10 2.11 2.11 2.12 2.15 2.16 2.20 2.24 2.26 2.32 2.33
## [16] 2.38 2.42 2.43 2.50 2.51 2.58 2.59 2.66 2.74 2.78 2.84 2.90 2.92 3.02 3.06
## [31] 3.10 3.09 3.18 3.25 3.34 3.38 3.49 3.60 3.71 3.76 3.88 4.02 4.16 4.30 4.44
## [46] 4.50 4.64 4.72 4.81 4.88 4.95 5.01 5.02 5.12 5.17 5.22 5.27 5.28 5.37 5.41
## [61] 5.50 5.55 5.56 5.64 5.67 5.72 5.77 5.82 5.87 5.92 5.97 6.02 6.08 6.14 6.20
## [76] 6.28 6.36 6.54 6.65 6.76 6.89 7.11 7.33 7.43 7.73 7.82 8.33 8.33 8.63 8.64
## [91] 8.76 8.77 8.85 8.87 8.98 8.99 9.11 9.12 9.24 9.25 9.27 9.29 9.30
length(Vol)
## [1] 103
length(pH)
## [1] 103
H <- 10^(-pH)
H
## [1] 7.762471e-03 7.943282e-03 7.943282e-03 7.943282e-03 7.943282e-03
## [6] 7.762471e-03 7.762471e-03 7.585776e-03 7.079458e-03 6.918310e-03
## [11] 6.309573e-03 5.754399e-03 5.495409e-03 4.786301e-03 4.677351e-03
## [16] 4.168694e-03 3.801894e-03 3.715352e-03 3.162278e-03 3.090295e-03
## [21] 2.630268e-03 2.570396e-03 2.187762e-03 1.819701e-03 1.659587e-03
## [26] 1.445440e-03 1.258925e-03 1.202264e-03 9.549926e-04 8.709636e-04
## [31] 7.943282e-04 8.128305e-04 6.606934e-04 5.623413e-04 4.570882e-04
## [36] 4.168694e-04 3.235937e-04 2.511886e-04 1.949845e-04 1.737801e-04
## [41] 1.318257e-04 9.549926e-05 6.918310e-05 5.011872e-05 3.630781e-05
## [46] 3.162278e-05 2.290868e-05 1.905461e-05 1.548817e-05 1.318257e-05
## [51] 1.122018e-05 9.772372e-06 9.549926e-06 7.585776e-06 6.760830e-06
## [56] 6.025596e-06 5.370318e-06 5.248075e-06 4.265795e-06 3.890451e-06
## [61] 3.162278e-06 2.818383e-06 2.754229e-06 2.290868e-06 2.137962e-06
## [66] 1.905461e-06 1.698244e-06 1.513561e-06 1.348963e-06 1.202264e-06
## [71] 1.071519e-06 9.549926e-07 8.317638e-07 7.244360e-07 6.309573e-07
## [76] 5.248075e-07 4.365158e-07 2.884032e-07 2.238721e-07 1.737801e-07
## [81] 1.288250e-07 7.762471e-08 4.677351e-08 3.715352e-08 1.862087e-08
## [86] 1.513561e-08 4.677351e-09 4.677351e-09 2.344229e-09 2.290868e-09
## [91] 1.737801e-09 1.698244e-09 1.412538e-09 1.348963e-09 1.047129e-09
## [96] 1.023293e-09 7.762471e-10 7.585776e-10 5.754399e-10 5.623413e-10
## [101] 5.370318e-10 5.128614e-10 5.011872e-10
plot(Vol, pH, main = "Diprotic", xlab = "Volume" , ylab ="pH of Diprotic acid")
Vinital <- 25
Vadd <- Vol
Vend <- 7.905
CB <- 0.10
FB <- 2-((CB*Vadd)+H*(Vinital+Vadd))/(CB*Vend)
FB
## [1] 1.75450755 1.74810655 1.74742379 1.74564863 1.74141556 1.73651306
## [7] 1.70979397 1.68823569 1.67749489 1.65568889 1.64875834 1.64035190
## [13] 1.62228690 1.61957210 1.59677202 1.58774405 1.44275768 1.55082072
## [19] 1.54398022 1.52042281 1.51057962 1.48675934 1.47461777 1.46214018
## [25] 1.44223885 1.42440960 1.40566347 1.38216108 1.36585582 1.34349517
## [31] 1.32089524 1.29468395 1.27505337 1.25340900 1.23208440 1.20825208
## [37] 1.18654286 1.16404842 1.14094034 1.11644703 1.09280781 1.06895965
## [43] 1.04471795 1.02018933 0.99545151 0.97033823 0.94539719 0.92025442
## [49] 0.89510133 0.86989592 0.84467687 0.81943646 0.79414326 0.76892670
## [55] 0.74366079 0.71839131 0.69311862 0.66782232 0.64256494 0.61728048
## [61] 0.59201233 0.56672690 0.54142870 0.51614909 0.49085521 0.46556515
## [67] 0.44027401 0.41498191 0.38968894 0.36439519 0.33910075 0.31380569
## [73] 0.28851101 0.26321561 0.23779309 0.21249774 0.18720156 0.16190841
## [79] 0.13661114 0.11131317 0.08601497 0.06223513 0.03693625 0.01163629
## [85] -0.01366320 -0.03124683 -0.04123997 -0.05123364 -0.05300455 -0.05477558
## [91] -0.05654658 -0.05831761 -0.06008863 -0.06185965 -0.06363067 -0.06540170
## [97] -0.06717272 -0.06894375 -0.07071477 -0.07248580 -0.07425683 -0.07602786
## [103] -0.07779889
plot(pH,FB,main ="Fraction Bound vs. pH of Diprotic Acid ",xlim = c(1,9),ylim = c(0.0,2.0) )
library(nls2)
fit <- nls2(FB ~ (H/KD1+(2*H^2)/(KD1*KD2))/(1+H/KD1+H^2/(KD1*KD2)), start=c(KD1=0.00001,KD2=0.0001))
summary(fit)
##
## 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.155e-06 9.529e-08 22.62 <2e-16 ***
## KD2 2.498e-03 9.885e-05 25.27 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.04983 on 101 degrees of freedom
##
## Number of iterations to convergence: 10
## Achieved convergence tolerance: 2.298e-06
lines(pH,predict(fit),col="red")
Binding Curve Transformation
\(Fb = \frac {H}{H+KD}\),This is the basic fraction bound equation, where KD is the dissociation constant and H is the number of protons. pH values are collected during a titration and using the above equation transformed to fraction bound. A binding curve is constructed by then plotting Fraction bound vs pH. Another equation: \(Ka = ([H^+][A^-])/[HA]\) can be used to find the Ka once concentrations are known. In this project the NLS2 command was used to find Ka 1 and 2. Which were found to be 3.782x10^-5 and 9.854x10^-6 respectivley.
Pros and Cons of Using Binding Curve to Traditional Titration Analysis
Pros: Binding curves provide more detailed information about the binding process, including the fraction of acid that is bound at each point during the titration. Binding curves can also reveal the presence of multiple binding sites in polyprotic acids, which is not easily discernible from a traditional titration curve. Cons: Binding curve analysis can be more complex and difficult to understand than traditional titration analysis. It requires a deeper understanding of acid-base chemistry. Additionally, To construct a binding curve, more data points are needed, which may require more complex or time-consuming experiments. Traditional titration analysis is straightforward and easy to understand. It involves the direct measurement of pH against the volume of titrant added.
Future Directions
Binding analysis can be used in many fields for many different purposes. In the future it would be interesting to use this technique to examine real world examples of how proteins interact with each other for example. I have some personal experience with using biological materials for the adsorbtion of certain pollutants such as dibenzothiophene, an acid rain causing compound. Binding analysis like this could be useful in that area to elucidate certain mechanisms of binding of DBT and effectiveness of certain bio-materials over others.