Re: psfgen gets ATP chiral atoms wrong

From: Peter Freddolino (petefred_at_ks.uiuc.edu)
Date: Tue Jul 25 2006 - 10:44:11 CDT

Dear John,
in both cases, the problem appears to be that the nomenclature between
the heavy atoms of your pdb file and the topology file. After I renamed
these atoms (replacing all instances of * with ') I got an atp molecule
with the correct chirality. I have attached my modified input and output
pdb; please verify that you can reproduce this. This problem is also
what is causing the coordinates to look pretty bad in your output files
-- you're getting guessed coordinates for the entire sugar.
Best,
Peter

John Wise wrote:
> Peter,
> Sorry for the mangled files. Please find attached a tarball with all
> relevant files. I appreciated your taking a look.
> Regards,
> John
>
> Peter Freddolino wrote:
>
>> Hi John,
>> could you please compress and resend the attached files to avoid
>> having them get mangled by email? This sounds very surprising because
>> psfgen should not touch the coordinates of heavy atoms that are
>> already present. In any case, I'll have a look.
>> Thanks,
>> Peter
>>
>> John Wise wrote:
>>
>>> Dear Listmembers,
>>>
>>> If you use ATP residues built by psfgen and CHARMM27 All-Hydrogen
>>> Nucleic Acid Topology Files, I believe that the resulting molecule
>>> has mistakes in its chiral centers that may introduce artifacts in
>>> your simulation results.
>>>
>>> Our group does ESR measurements using various stable radical
>>> molecular probes and one of these is a modified ATP molecule. In the
>>> process of building and testing topology and parameter files for
>>> simulating this new residue, I have noticed that psfgen inverts the
>>> configuration of the C1' and C3' chiral centers when it builds an
>>> all hydrogen ATP using crystallographic (heavy atom) coordinates of
>>> ATP. This will definitely spoil any analysis using this ATP residue
>>> since the molecule built by psfgen is not ATP (it does not contain
>>> ribose, but an enantiomer of ribose).
>>>
>>> For example, using the top_all27_prot_na.inp topology file and ATP
>>> coordinates taken from 1DX4 (see atp.pdb below), building an all
>>> hydrogen ATP results in inverted chiral centers at C1' and C3' (or
>>> relatively speaking C2' and C4'). The incorrect configuration is
>>> visible right away, even though the top_all27_prot_na_inp topology
>>> file fails to set the C4' hydrogen. It is easier to see after
>>> minimization (see the resulting minimized "incorrect ATP" -
>>> atp_test_min.pdb below). The problem is that the configuration at
>>> these chiral atoms is correct in the original heavy atom pdb
>>> coordinates, but I believe psfgen sets them wrong while it is
>>> building the all hydrogen ATP.
>>>
>>> Viewing the correct configuration for beta-D-ribofuranosyl residues
>>> in ATP in either C3'-endo or C2'-endo forms has the adenine and C5'
>>> substituents on the opposite "side" of the ring to the C2'- and
>>> C3'-OH groups. psfgen does not get this correct.
>>>
>>> I have included the build script (atp_test.pgn) and the minimization
>>> script (atp_test_min.conf) for anyone interested in reproducing this
>>> (see below). Note that if you try to reproduce this with the
>>> minimization using par_all27_prot_na_lipids_full.inp with ATP built
>>> with top_all27_prot_na.inp you will have to change the C2' and C4'
>>> ATOM-types for residue ATP in top_all27_prot_na.inp to CN7B and CN8B
>>> respectively (see old posts in the list for resolution of this
>>> problem).
>>>
>>> Variations I have tried include:
>>> (a) Eliminating the chiral atoms from the coordinate file and
>>> relying on the IC table to set them. Still does not result in the
>>> correct chiral configurations.
>>>
>>> (b) I have tried a number of coordinates for ATP from other pdb
>>> files - same result.
>>>
>>> (c) Using the latest top and par files (c32b1) - same result.
>>>
>>> (d) Rewriting the IC table using an experimentally (NMR) determined
>>> all hydrogen ATP analog structure to explicitely set the chirality
>>> at all of the chiral centers in the IC table. (Anyone who wants
>>> these new top files, please ask and I'll send them right out.)
>>> Although the new topology file results in correct configurations at
>>> C1', C2' and C4' (and the C4' hydrogen sets properly), the resultant
>>> "ATP" still does not have the correct configuration for the C3' atom.
>>>
>>> I am really perplexed by this and am running out of ideas to try.
>>>
>>> It would be great if someone could prove me wrong about this!
>>> Any help would be greatly appreciated.
>>>
>>> Thanks in advance,
>>> John
>>>
>>> Files to reproduce this:
>>>
>>> (If you use top_all27_prot_na.inp, don't forget to change the C2'
>>> and C4' ATOM types - see above).
>>>
>>>
>>> atp.pdb (original no hydrogen coordinates from 1DX4)
>>>
>>> CRYST1 177.820 68.989 56.593 90.00 104.15 90.00 P 1 1
>>> ATOM 1 PG ATP X 676 14.097 0.957 15.066 1.00
>>> 15.67 ATOM 2 O1G ATP X 676 15.430 0.883
>>> 15.756 1.00 17.70 ATOM 3 O2G ATP X 676 12.862
>>> 0.767 15.836 1.00 15.53 ATOM 4 O3G ATP X 676
>>> 14.243 -0.076 13.974 1.00 13.95 ATOM 5 PB ATP X
>>> 676 14.852 3.282 13.423 1.00 12.74 ATOM 6 O1B
>>> ATP X 676 16.289 2.919 13.320 1.00 15.00 ATOM
>>> 7 O2B ATP X 676 14.475 3.413 12.017 1.00 15.72
>>> ATOM 8 O3B ATP X 676 13.934 2.348 14.286 1.00
>>> 15.28 ATOM 9 PA ATP X 676 15.477 5.919
>>> 14.499 1.00 13.47 ATOM 10 O1A ATP X 676 16.312
>>> 5.772 15.724 1.00 13.31 ATOM 11 O2A ATP X 676
>>> 16.224 6.277 13.300 1.00 13.42 ATOM 12 O3A ATP X
>>> 676 14.624 4.611 14.270 1.00 11.30 ATOM 13 O5*
>>> ATP X 676 14.361 6.949 14.812 1.00 15.95 ATOM
>>> 14 C5* ATP X 676 13.331 7.464 13.937 1.00 13.15
>>> ATOM 15 C4* ATP X 676 12.244 8.018 14.821 1.00
>>> 13.39 ATOM 16 O4* ATP X 676 12.824 9.043
>>> 15.673 1.00 15.92 ATOM 17 C3* ATP X 676 11.052
>>> 8.645 14.062 1.00 15.86 ATOM 18 O3* ATP X 676
>>> 9.792 8.347 14.700 1.00 16.75 ATOM 19 C2* ATP X
>>> 676 11.403 10.126 14.183 1.00 16.79 ATOM 20 O2*
>>> ATP X 676 10.264 10.991 14.099 1.00 16.14 ATOM
>>> 21 C1* ATP X 676 12.108 10.232 15.567 1.00 14.13
>>> ATOM 22 N9 ATP X 676 12.937 11.424 15.757 1.00
>>> 12.81 ATOM 23 C8 ATP X 676 13.995 11.865
>>> 15.027 1.00 10.25 ATOM 24 N7 ATP X 676 14.490
>>> 13.007 15.514 1.00 15.38 ATOM 25 C5 ATP X 676
>>> 13.697 13.308 16.608 1.00 13.47 ATOM 26 C6 ATP X
>>> 676 13.689 14.373 17.556 1.00 15.40 ATOM 27 N6
>>> ATP X 676 14.530 15.409 17.536 1.00 19.72 ATOM
>>> 28 N1 ATP X 676 12.752 14.389 18.568 1.00 14.41
>>> ATOM 29 C2 ATP X 676 11.837 13.329 18.635 1.00
>>> 11.77 ATOM 30 N3 ATP X 676 11.766 12.299
>>> 17.803 1.00 9.60 ATOM 31 C4 ATP X 676 12.738
>>> 12.329 16.802 1.00 9.57 END
>>>
>>>
>>> atp_test.pgn (the script I used to build atp_test.psf and atp_test.pdb)
>>>
>>> # You need to create working directory "output" in the build directory;
>>> # You need to remove old output files before running again
>>> # from shell, run: rm -f output/*.pdb output/*.psf
>>> resetpsf
>>> package require psfgen
>>> # correct topology file needs to be in ../toppar
>>> topology ../toppar/top_all27_prot_na.inp
>>> # atp.pdb needs to be in ../common
>>> segment X {
>>> pdb ../common/atp.pdb
>>> }
>>> # patches should be added here
>>> writepsf output/atp_test.psf
>>> pdbalias residue HIS HSE
>>> pdbalias atom ILE CD1 CD
>>> coordpdb ../common/atp.pdb X
>>> guesscoord
>>> writepdb output/atp_test.pdb
>>> # exit
>>>
>>> atp_test_min.conf (the conf file to minimize the ATP in vacuo)
>>>
>>> #############################################################
>>> ## JOB DESCRIPTION ##
>>> #############################################################
>>> # Minimization of
>>> # atp_test
>>> # in vacuo
>>> #
>>> #############################################################
>>> ## ADJUSTABLE PARAMETERS ##
>>> #############################################################
>>> structure ../common/atp_test.psf
>>> coordinates ../common/atp_test.pdb
>>> set outputname atp_test_min
>>> set temperature 310
>>> firsttimestep 0
>>> #############################################################
>>> ## SIMULATION PARAMETERS ##
>>> #############################################################
>>> # Input
>>> paraTypeCharmm on
>>> parameters ../toppar/par_all27_prot_na_lipids_full.inp
>>> temperature $temperature ;# if restarting
>>> # Force-Field Parameters
>>> exclude scaled1-4
>>> 1-4scaling 1.0
>>> cutoff 12.
>>> switching on
>>> switchdist 10.
>>> pairlistdist 13.5
>>> # Integrator Parameters
>>> timestep 1.0 ;# 1fs/step
>>> # rigidBonds water ;# "all" needed for 2fs steps
>>> nonbondedFreq 1
>>> fullElectFrequency 2 stepspercycle 10
>>> # Constant Temperature Control
>>> langevin on ;# do langevin dynamics
>>> langevinDamping 5 ;# damping coefficient (gamma) of 5/ps
>>> langevinTemp $temperature
>>> langevinHydrogen off ;# don't couple langevin bath to
>>> hydrogens
>>> # Output
>>> outputName $outputname
>>> restartfreq 500 ;# 500steps = every 1/2 ps
>>> dcdfreq 500 ;# 500steps = every 1/2 p
>>> xstFreq 250
>>> outputEnergies 100
>>> outputPressure 100
>>> outputTiming 1000
>>> # minimize
>>> minimize 3000
>>>
>>>
>>>
>>>
>>> atp_test_min.pdb (results of the psfgen build and namd2 minimization)
>>>
>>> CRYST1 1.000 1.000 1.000 90.00 90.00 90.00 P 1 1
>>> ATOM 1 C4' ATP X 676 13.847 8.387 15.083 1.00
>>> 0.00 X ATOM 2 H4' ATP X 676 14.762 8.884 14.696
>>> 1.00 0.00 X ATOM 3 O4' ATP X 676 13.327 9.230
>>> 16.160 1.00 0.00 X ATOM 4 C1' ATP X 676 12.351
>>> 10.102 15.638 1.00 0.00 X ATOM 5 H1' ATP X 676
>>> 11.399 9.843 16.156 1.00 0.00 X ATOM 6 C5 ATP X
>>> 676 12.886 13.573 16.529 1.00 0.00 X ATOM 7 N7
>>> ATP X 676 14.104 13.281 15.924 1.00 0.00 X ATOM
>>> 8 C8 ATP X 676 13.975 12.023 15.572 1.00 0.00 X
>>> ATOM 9 H8 ATP X 676 14.744 11.423 15.076 1.00
>>> 0.00 X ATOM 10 N9 ATP X 676 12.754 11.478 15.896
>>> 1.00 0.00 X ATOM 11 N1 ATP X 676 11.142 14.717
>>> 17.658 1.00 0.00 X ATOM 12 C2 ATP X 676 10.441
>>> 13.585 17.551 1.00 0.00 X ATOM 13 H2 ATP X 676
>>> 9.433 13.610 17.975 1.00 0.00 X ATOM 14 N3 ATP X
>>> 676 10.798 12.416 17.020 1.00 0.00 X ATOM 15 C4
>>> ATP X 676 12.045 12.474 16.518 1.00 0.00 X ATOM
>>> 16 C6 ATP X 676 12.394 14.740 17.148 1.00 0.00 X
>>> ATOM 17 N6 ATP X 676 13.115 15.865 17.278 1.00
>>> 0.00 X ATOM 18 H61 ATP X 676 12.704 16.608 17.795
>>> 1.00 0.00 X ATOM 19 H62 ATP X 676 14.071 15.886
>>> 17.001 1.00 0.00 X ATOM 20 C2' ATP X 676 12.213
>>> 9.833 14.151 1.00 0.00 X ATOM 21 H2'' ATP X 676
>>> 12.822 10.542 13.546 1.00 0.00 X ATOM 22 O2' ATP X
>>> 676 10.866 9.864 13.728 1.00 0.00 X ATOM 23 H2'
>>> ATP X 676 10.777 9.099 13.136 1.00 0.00 X ATOM
>>> 24 C3' ATP X 676 12.769 8.438 13.992 1.00 0.00 X
>>> ATOM 25 H3' ATP X 676 12.028 7.629 14.197 1.00
>>> 0.00 X ATOM 26 O3' ATP X 676 13.335 8.323 12.683
>>> 1.00 0.00 X ATOM 27 H3T ATP X 676 13.776 7.420
>>> 12.629 1.00 0.00 X ATOM 28 C5' ATP X 676 14.192
>>> 7.004 15.635 1.00 0.00 X ATOM 29 H5' ATP X 676
>>> 13.305 6.332 15.526 1.00 0.00 X ATOM 30 H5'' ATP X
>>> 676 14.403 7.068 16.723 1.00 0.00 X ATOM 31 O5'
>>> ATP X 676 15.384 6.497 14.996 1.00 0.00 X ATOM
>>> 32 PA ATP X 676 15.311 5.411 13.826 1.00 0.00 X
>>> ATOM 33 O1A ATP X 676 16.703 4.909 13.752 1.00
>>> 0.00 X ATOM 34 O2A ATP X 676 14.848 6.259 12.693
>>> 1.00 0.00 X ATOM 35 O3A ATP X 676 14.393 4.431
>>> 14.523 1.00 0.00 X ATOM 36 PB ATP X 676 13.445
>>> 3.809 13.391 1.00 0.00 X ATOM 37 O1B ATP X 676
>>> 14.245 3.181 12.234 1.00 0.00 X ATOM 38 O2B ATP X
>>> 676 12.390 4.879 13.047 1.00 0.00 X ATOM 39 O3B
>>> ATP X 676 12.735 2.599 14.303 1.00 0.00 X ATOM
>>> 40 PG ATP X 676 11.610 1.380 14.531 1.00 0.00 X
>>> ATOM 41 O1G ATP X 676 12.362 0.223 15.197 1.00
>>> 0.00 X ATOM 42 O2G ATP X 676 10.532 1.954 15.453
>>> 1.00 0.00 X ATOM 43 O3G ATP X 676 11.054 0.988
>>> 13.162 1.00 0.00 X END
>>>
>>
>


This archive was generated by hypermail 2.1.6 : Wed Feb 29 2012 - 15:43:52 CST