300 likes | 466 Views
Development of Software Package for Determining Protein Titration Properties Final Presentation Winter 2010. By Kaila Bennett, Amitoj Chopra, Jesse Johnson, Enrico Sagullo. Background. Electrostatic interactions are very important for the function of proteins which include: Binding
E N D
Development of Software Package for Determining Protein Titration PropertiesFinal Presentation Winter 2010 By Kaila Bennett, Amitoj Chopra, Jesse Johnson, Enrico Sagullo
Background • Electrostatic interactions are very important for the function of proteins which include: • Binding • Enzymatic catalysis • Conformational transitions • Electrostatic Interaction • Stability • Ionizable amino acids • Electrostatic interactions • Salt Bridges • Dipole-Dipole • Columbic interaction • Facilitate interactions with aqueous environments • Mediate polar contributions biological processes Depicts electrostatic potential (isopotential contour) red represents the negative, and the blue represent the positive
Background • Functions of proteins such as catalysis are dependent on protonation state of ionizable amino acid residues • pKa for a single amino acid is 50% protonation • pKa values are environment dependent • The environment may cause shifts in pKa • pKa values are important for understanding many biological processes • pKa values are important for understanding many biological processes • pKa intrinsic - pKa for one amino acidpKa apparent- pKa of the entire protein
Catalysis • Asp102 of Chymotrypsin – hydrogen bond with His57 – increases pKa • His57 can accepts proton from Ser195 – activates serine protease for cleavage of substrate • pKa shift important for each chemical reaction in catalytic mechanism • Necessary to donate and abstract protons from neighboring groups • Without pKa shift of His57, catalysis would not be possible!
Salt Bridge • pKa 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 Figure: Morikis et al, Protein Sci 2001
ε surface κ surface Solvent Charges Partial Charges (Electric dipoles) Background Charges Background • Linearized Poisson-Boltzmann Equation (LPBE) • Electrostatic Free Energies ε high ε low ε: Dielectric coefficient κ: Ion accessibility function I: Ionic strength q: Charge φ: Electrostatic potential κ = 0 κ ≠ 0 Courtesy of C. Kieslich
Background 1 • Intrinsic pKa calculation by the free energies of the thermodynamic cycle • Thermodynamic cycle has four proposed states: • 1-Neutral to charge of bound • 2-Bound charge to amino acid • 3-Neutral to charge free • 4-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 4 2 3
Background Figure: Courtesy of Morikis et al Adapted from lecture notes of Bioengineering 135
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 atoms • Placing polar hydrogen's • Optimizing 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
Rationale • Developing 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
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) Reads in our input template 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 <- 100 width <- 100 height <- 100 in_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 = " ")) 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
Results (Free Energy Calc.) Indexing k <- ( as.numeric(neutral_pqr$atom[1,"resno"]) ) end_of_seq <- length(seq.pdb(neutral_pqr) ) - 1 seq <-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 } For loop to run through sequence one amino acid at a time Calls APBS for every ionizable amino acid to calculate specific ΔG values
Discussion • We believe that our ΔG values may be off by a order of magnitude • If 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
Conclusion • Developed and refined scripts that took in PDB files and converted them to neutral and charged PQR files • Developed and refined scripts that took neutral and charged PQR files and generated files that corresponds to the four states of the thermodynamic cycle • Intergrated 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
Acknowledgments • Dr. Dimitrios Morikis • Chris Kieslich • Ronald Gorham • Dr. Jerome Schultz • Gokul Upadhyayula • Hong Xu • Dr. Thomas Girke
Questions? Our group would like to mention that no computers were injured in the making of the software package