Hi Justin, Your Python script uses the function protocol.genExtendedStructure(), which creates an extended conformation with ideal *covalent* geometry. That is, the function does not necessarily produce a clash-free structure. I think this is what causes the "strange" look in Pymol, which might place bonds between atoms close in space but not bonded to each other.
Note that this (intended) behavior of protocol.genExtendedStructure() is not an issue, as van der Waals interactions are largely omitted in the high-temperature stage of the subsequent dynamics protocol in order to improve sampling. Your old-style script, in addition to the covalent energy terms, uses the van der Waals potential, resulting in structures with significantly fewer clashes that look more normal in Pymol. I hope this helps. Best, Guillermo ________________________________________ From: Justin Douglas [[email protected]] Sent: Thursday, March 17, 2016 10:45 AM To: [email protected] Subject: [Xplor-nih] Generate Extended Peptide Structure Charles and Guillermo, I'll try a slightly less banal question this time ... I'm trying to generate an extended structure for a peptide with aminoisobutyric acid (AIB) residues. Using the python interface I get a result that looks very strange to my eye (visualized in pymol), whereas if I use the "classic" xplor script I get a pdb file that looks like an extended peptide. I should note that I neglected to patch the N-term with an acetyl and amidate the C-term using the "classic" script, though I do not believe this change explains the observation. I'd prefer to use the python interface, so I am eager to determine what my mistake is in the script. We would like to see reasonable extended structures prior to feeding in NOE and dihedral restraints. Thanks, Justin Scripts below **** # this checks for typos on the command-line. User-customized arguments can # also be specified. # xplor.parseArguments() # Filename for output structures. This string must contain the STRUCTURE # literal so that each calculated structure has a unique name. The SCRIPT # literal is replaced by this filename (or stdin if redirected using <), # but it is optional. # outFilename = "extended.pdb" # The protocol module has many high-level helper functions. import protocol protocol.initRandomSeed(331) # set random seed # Generate PSF from sequence (initialize the correct parameters as side effect!) seq = "ACE AIB AIB AIB AIB ALA ALA ALA ALA ALA ALA ALA ALA ALA ALA ALA ALA" import psfGen psfGen.residueTypes['protein'].append("AIB") import protocol protocol.initTopology('protein') protocol.initParams('protein') xplor.command(""" topology residue AIB group atom N type=NH1 charge=-0.36 end atom HN type=H charge= 0.26 end atom CA type=CT charge= 0.00 end atom CB1 type=CT charge=-0.30 end atom HB11 type=HA charge= 0.10 end atom HB12 type=HA charge= 0.10 end atom HB13 type=HA charge= 0.10 end atom CB2 type=CT charge=-0.30 end atom HB21 type=HA charge= 0.10 end atom HB22 type=HA charge= 0.10 end atom HB23 type=HA charge= 0.10 end atom C type=C charge= 0.48 end atom O type=O charge=-0.48 end bond N HN bond N CA bond CA CB1 bond CB1 HB11 bond CB1 HB12 bond CB1 HB13 bond CA CB2 bond CB2 HB21 bond CB2 HB22 bond CB2 HB23 bond CA C bond C O improper HB11 HB12 CA HB13 !stereo CB1 improper HB21 HB22 CA HB23 !stereo CB2 end end """) psfGen.seqToPSF(seq,amidate_cterm=True,startResid=0) protocol.genExtendedStructure("extended_python.pdb") **** topology @TOPPAR:topallhdg.pro<http://topallhdg.pro> residue AIB group atom N type=NH1 charge=-0.36 end atom HN type=H charge= 0.26 end atom CA type=CT charge= 0.00 end atom CB1 type=CT charge=-0.30 end atom HB11 type=HA charge= 0.10 end atom HB12 type=HA charge= 0.10 end atom HB13 type=HA charge= 0.10 end atom CB2 type=CT charge=-0.30 end atom HB21 type=HA charge= 0.10 end atom HB22 type=HA charge= 0.10 end atom HB23 type=HA charge= 0.10 end atom C type=C charge= 0.48 end atom O type=O charge=-0.48 end bond N HN bond N CA bond CA CB1 bond CB1 HB11 bond CB1 HB12 bond CB1 HB13 bond CA CB2 bond CB2 HB21 bond CB2 HB22 bond CB2 HB23 bond CA C bond C O improper HB11 HB12 CA HB13 !stereo CB1 improper HB21 HB22 CA HB23 !stereo CB2 end end segment name=" " chain @TOPPAR:toph19.pep sequence AIB AIB AIB AIB ALA ALA ALA ALA ALA ALA ALA ALA ALA ALA ALA ALA end end end parameter {====>} @TOPPAR:parallhdg.pro<http://parallhdg.pro> {*Read parameters.*} end { Set force constants for S-S bond lengths and angles to zero } parameter bonds ( name SG ) ( name SG ) 0. 1. angle ( name CB ) ( name SG ) ( name SG ) 0. 1 end vector ident (x) ( all ) vector do (x=x/10.) ( all ) vector do (y=random(0.5) ) ( all ) vector do (z=random(0.5) ) ( all ) vector do (fbeta=50) (all) {*Friction coefficient, in 1/ps.*} vector do (mass=100) (all) {*Heavy masses, in amus.*} parameter nbonds cutnb=5.5 rcon=20. nbxmod=-2 repel=0.9 wmin=0.1 tolerance=1. rexp=2 irexp=2 inhibit=0.25 end end flags exclude * include bond angle vdw end minimize powell nstep=50 nprint=10 end flags include impr end minimize powell nstep=50 nprint=10 end dynamics verlet nstep=50 timestep=0.001 iasvel=maxwell firsttemp= 300. tcoupling = true tbath = 300. nprint=50 iprfrq=0 end parameter nbonds rcon=2. nbxmod=-3 repel=0.75 end end minimize powell nstep=100 nprint=25 end dynamics verlet nstep=500 timestep=0.005 iasvel=maxwell firsttemp= 300. tcoupling = true tbath = 300. nprint=100 iprfrq=0 end flags exclude vdw elec end vector do (mass=1.) ( name h* ) hbuild selection=( name h* ) phistep=360 end flags include vdw elec end minimize powell nstep=200 nprint=50 end {*Write coordinates.*} write coordinates output=extended_classic.pdb end *** _______________________________________________ Xplor-nih mailing list [email protected] https://dcb.cit.nih.gov/mailman/listinfo/xplor-nih
