By Kaila Bennett, Amitoj Chopra, Jesse Johnson, Enrico Sagullo
description
Transcript of By Kaila Bennett, Amitoj Chopra, Jesse Johnson, Enrico Sagullo
Development of Software Package for Determining
Protein Titration Properties
Final Presentation Winter 2010
By
Kaila Bennett, Amitoj Chopra, Jesse Johnson, Enrico Sagullo
BackgroundElectrostatic interactions are very important for the function of proteins which include:
BindingEnzymatic catalysisConformational transitionsElectrostatic Interaction Stability
Ionizable amino acidsElectrostatic interactions
Salt BridgesDipole-DipoleColumbic interaction
Facilitate interactions with aqueous environmentsMediate polar contributions biological processes
Depicts electrostatic potential (isopotential contour) red represents the negative, and the blue represent the positive
BackgroundFunctions of proteins such as catalysis are dependent on protonation state of ionizable amino acid residues pKa for a single amino acid is 50% protonationpKa values are environment dependentThe environment may cause shifts in pKa
pKa values are important for understanding many biological processespKa values are important for understanding many biological processespKa intrinsic - pKa for one amino acidpKa apparent- pKa of the entire protein
0 2 4 6 8 10 12 14-1.0
-0.8
-0.6
-0.4
-0.2
0.0
0.2
0.4
0.6
0.8
1.0
Pa
rtia
l ch
arg
e
pH
VCP E108 VCP E120 SPICE K108 SPICE K120
Catalysis
Asp102 of Chymotrypsin – hydrogen bond with His57 – increases pKa
His57 can accepts proton from Ser195 – activates serine protease for cleavage of substratepKa shift important for each chemical reaction in catalytic mechanism
Necessary to donate and abstract protons from neighboring groupsWithout pKa shift of His57, catalysis would not be possible!
Salt BridgepKa shifts also effect intermolecular salt bridges
Salt bridges are short range, Columbic interactions that occur between two ionizable amino acid residues
From S.Fischer et al, Proteins 2009
Conformation Change
Another important biological process that is dependent on pKa of the environment is transition states of proteins
Conformational switch
+ –
+–+
–
–
+–+–––++
–+
++–
G (neutra l)h-c
G (pH)h-c
G (pH)h,ion G (pH)c,ion
h: helix c: co il
neutra l
ionized
-1
-0.9
-0.8
-0.7
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
0
-5 -3 -1 1 3 5 7 9 11 13 15 17 19 21 23 25
pH
Par
tial
ch
arg
e
Tyr67
Tyr100
Tyr115
Tyr177
Asp68
Asp76
Asp144
Asp160
Glu162
Glu173
His108 His132
His137
His119
His121
Catalytic site His108 His132
His137
His119
His121
Catalytic site
Figure: Morikis et al, Protein Sci 2001
Binding
Background
∑=
−=+∇⋅∇−F
iii
B
rrzTk
errrrr
10
22
0 )(4
)()()()()( δε
πϕκεεϕε
Tk
Ier
Bεεκ
0
22 4
)( =
ε: Dielectric coefficientκ: Ion accessibility functionI: Ionic strengthq: Charge φ: Electrostatic potential
Background Charges
Solvent Charges
Partial Charges (Electric dipoles)
=
=M
iii nzI
1
02
2
1
( )ϕκε ,,,q
ε high
ε lowε surface
κ surfaceκ = 0
κ ≠ 0
Linearized Poisson-Boltzmann Equation (LPBE)
Electrostatic Free Energies
Courtesy of C. Kieslich
= iielectro qG 2
1
BackgroundIntrinsic pKa calculation by the free energies of the thermodynamic cycleThermodynamic cycle has four proposed states:
1-Neutral to charge of bound2-Bound charge to amino acid3-Neutral to charge free4-Bound neutral to amino acid
This method also allows for calculation free energy values Ultimately allowing for the elucidation of intrinsic pKa values and titration curves
PolymerAH
A-
PolymerA-
AH
1
4 2
3
Background
€
GFree − ΔG protein = ΔGneutral − ΔGch arg e
€
Gn−c = ΔGch arg e − ΔGneutral
€
ka = eΔG protein
RT →→
€
−log(ka ) =ΔG protein
2.303RT
€
Pka
protein =ΔG protein
2.303RT
€
Pka
free =ΔG free
2.303RT
€
2.303RT(Pka free − Pkaprotein ) = ΔGn−c
€
Pkaprotein = Pka free +ΔGn−c
2.303RT
Adapted from lecture notes of Bioengineering 135
Figure: Courtesy of Morikis et al
Background (PDB file)
The Protein Data Bank (PDB) archive is the single worldwide repository of proteins.A PDB file is a downloadable file from the databank that contains all the necessary information about a protein needed for 3-D modeling and our calculations.
Background
These modifications include:Adding a limited number of missing heavy atomsPlacing polar hydrogen'sOptimizing the protein for favorable hydrogen bonding Removing unfavorable van der Waals clashes (when two atoms try to occupy the same space) Assigning charge ( partial or whole) and van der Waals radii parameters from a variety of force fields
RationaleDeveloping a software package that not only incorporates APBS to calculate free energies but also calculate protein titration characteristics, will help ultimately aid to elucidate proteins stability, catalysis, salt bridges, binding
Figure: Test case protein 1LY2
Experimental Procedure (So Far)
Experimental Parameters
Results (PDB2PQR)Code (General) : $ python pdb2pqr.py [options] --ff={forcefield} {path} {output-path}
Forcefield
Path
Output_path
Code used in program:system("python /Users/senior_design/pdb2pqr-1.5/pdb2pqr.py --ff parse 1LY2.pdb 1LY2.pqr")
Using PARSE to give van der Waal radii and
atomic charge
Where the file is located
Where the PQR file are to be generated
Figure: Protein 1LY2
Results ( Neutral and Charge)
Neu_Char_pdb <- function(pdb){
x <- pdb
x$atom[atom.select(x, resid = "ASP" )$atom,4]<-sub("ASP", "ASH", x$atom[atom.select(x, resid = "ASP" )$atom,4])
x$atom[atom.select(x, resid = "GLU" )$atom,4]<-sub("GLU", "GLH", x$atom[atom.select(x, resid = "GLU" )$atom,4])
x$atom[atom.select(x, resid = "LYS" )$atom,4]<-sub("LYS", "LYN", x$atom[atom.select(x, resid = "LYS" )$atom,4])
x$atom[atom.select(x, resid = "ARG" )$atom,4]<-sub("ARG", "AR0", x$atom[atom.select(x, resid = "ARG" )$atom,4])
write.pdb(pdb = x,file = "1ly2_neutral”
Generates the neutral and charged PDB’s
The newly generated PDB’s will be incorporated into the calculation of free energies
Results (Call APBS Script)con <- file("apbs_template.in", "r")in_file <- readLines(con)close(con)bdp_file <- “1LY2_noGLU35.pqr"bp_file <- “1LY2_GLU35.pqr"fdp_file <- "GLU35_no.pqr"fp_file <- "GLU35.pqr"length <- 100width <- 100height <- 100in_file[2] <- paste(" mol pqr ",bdp_file, sep = "")in_file[3] <- paste(" mol pqr ",bp_file, sep = "")in_file[4] <- paste(" mol pqr ",fdp_file, sep = "“)in_file[5] <- paste(" mol pqr ",fp_file, sep = "")in_file[11] <- paste(" cglen ",length,width,height, sep = " ")in_file[12] <- paste(" fglen ",length,width,height, sep = " ")in_file[34] <- paste(" cglen ",length,width,height, sep = " ")in_file[35] <- paste(" fglen ",length,width,height, sep = " ")in_file[57] <- paste(" cglen ",length,width,height, sep = " ")in_file[58] <- paste(" fglen ",length,width,height, sep = " ")in_file[80] <- paste(" cglen ",length,width,height, sep = " ")in_file[81] <- paste(" fglen ",length,width,height, sep = " ")con <- file("infile.in","w")writeLines(in_file,con,sep = "\n")close(con)TC <- system(paste( "/apbs-1.2-mac-univ/bin/apbs", "infile.in",">", "outfile.txt", sep = " "))
Reads in our input template
Reads in our input template
Four PQR files which correspond to each state of TC
Four PQR files which correspond to each state of TC
Writes a new input file with our specific parameters
System call to APBS to use new input file and calculate free energies
System call to APBS to use new input file and calculate free energies
Results (Free Energy Calc.)
IndexingIndexing
For loop to run through sequence
one amino acid at a time
For loop to run through sequence
one amino acid at a time
k <- ( as.numeric(neutral_pqr$atom[1,"resno"]) )end_of_seq <- length(seq.pdb(neutral_pqr) ) - 1seq <-our_seq(LY2, end_of_seq)AAdf <- NULL
for ( i in seq ){
if ( i == "R" | i == "K" | i == "H" | i == "C" | i == "Y" | i == "D" | i == "E" )
{ Before <- trim.pdb( neutral_pqr, atom.select(neutral_pqr, resno = 1:( k - 1 ) ) )
Free_protonated <- trim.pdb( charged_pqr,atom.select (charged_pqr, resno = k ) ) After <- trim.pdb( neutral_pqr, atom.select (neutral_pqr, resno = (k+1): end_of_seq ) ) Free_deprotonated <- trim.pdb( neutral_pqr, atom.select(neutral_pqr, resno = k))
write.pqr(Free_protonated, file = "Free_protonated.pqr") Before_FP <- cat_pdb( Before, Free_protonated )
Total <- cat_pdb(Before_FP, After) write.pqr(Total, file = "Bound_Protonated.pqr")
write.pqr(Free_deprotonated, file = "Free_deprotonated.pqr") bp <- read.pqr("Bound_Protonated.pqr") bdp <- read.pqr("1ly2_neutral.pqr") fp <- read.pqr("Free_protonated.pqr") fdp <- read.pqr("Free_deprotonated.pqr") delta_G <- call_apbs(in_file) AAdf <- rbind(AAdf, c("Resid"=i,"Resno" = k+1,"delta_G"=delta_G))
}
k <- k + 1
}
Calls APBS for every ionizable amino acid to
calculate specific ΔG values
Calls APBS for every ionizable amino acid to
calculate specific ΔG values
Results (Intrinsic pKa)
DiscussionWe believe that our ΔG values may be off by a order of magnitudeIf the ΔG values are off by a order of magnitude, this would throw off our pKa values as well
Complete evaluation of all scripts will done to see if our scripts are running the right calculations
Special evaluation will be done on APBS template file
pKa are off because free energies are off But we do see that the acidic amino acid residues pKa’s are lower then basic amino acid residues pKa’s
pKa values from established software with same parameters yield Arginine = 10.7
Aspartic Acid = 3.1
Cystine = N/A (software doesn’t recognize cystine as ionizable)
Glutamic Acid = 2.6
Histidine = 5.2
Lysine = 10.9
Tyrosine = 9.6
Values courtesy of H++ software
Progress Tracker (Winter)
Future work
ConclusionDeveloped and refined scripts that took in PDB files and converted them to neutral and charged PQR filesDeveloped and refined scripts that took neutral and charged PQR files and generated files that corresponds to the four states of the thermodynamic cycleIntergrated all codes to run sequentially to calculate free energies and pKa
Successful in taking protein 1LY2 PDB file and calculating intrinsic pKa for all ionizable amino acids of 1LY2
AcknowledgmentsDr. Dimitrios MorikisChris KieslichRonald GorhamDr. Jerome SchultzGokul UpadhyayulaHong XuDr. Thomas Girke
References
Questions?
Our group would like to mention that no computers were injured in the making of
the software package