From: Josh Vermaas (vermaasj_at_msu.edu)
Date: Fri Mar 29 2024 - 09:47:58 CDT

Do you guesscoord anywhere in the script? After regenerating angles and
dihedrals, but before writing a pdb, guesscoord will let PSFgen fill in
any blanks. I would expect it to do a good job, since those atoms are
bonded to atoms with actual positions.

-Josh

On 3/28/24 4:15 PM, Kyle Billings wrote:
>
> Thanks for the explanation Josh. I updated the TLC script I was using
> to patch the residues to now read
> ------------------------------------------------------------------------------------------------------------------------------
> foreach i {0 1 2 3} {
>         # make the segment
>         segment PRO$i {
>                 pdb parts/fixed_${i}.pdb
>         }
>         patch EETY PRO$i:77 PRO$i:78
>         patch GLUP PRO$i:71
>         coordpdb parts/fixed_${i}.pdb PRO$i
>         regenerate angles dihedrals
> }
> -------------------------------------------------------------------------------------------------------------------------
>  Unfortunately, the atom positions for the Tyr 78 OE and HA atoms
> positions still fail to be guessed.  The solution I am thinking of
> right is to manually add in the IC parameters, for the EETY PRES, to
> allow psfgen to better guess the atoms position . Is this actually
> worth the effort, or is there a better way to build the protein?
>
> Kyle
>
>
>
> On Wed, Mar 27, 2024 at 10:51 AM Vermaas, Josh <vermaasj_at_msu.edu> wrote:
>
> Hi Kyle,
>
> Since until you patch the residues, the atom names probably won’t
> match what they should. The thing that is unintuitive about psfgen
> is that you need to hold two things in your head: 1.) The literal
> topology and identity of the atoms, and 2) The coordinates. The
> topology (how the atoms are bonded) and identity (atomtypes,
> masses, charges) all end up in the psf, and as the name suggests,
> this is what psfgen actually cares the most about. It is good
> practice to make sure that the topology is correct before setting
> coordinates, since PDB generation (the coordinates) is done by
> psfgen sort of as an afterthought. What psfgen does to set
> coordinates is it reads in the input pdb, and takes coordinates
> from atoms that have the same name, resid, and segname in the
> input, and assigns them to the output structure psfgen has in its
> memory. So if you coordpdb **before** patching, psfgen will
> dutifully assign all the atoms it knows about from the input
> structure (normal protein backbone, most of the sidechain). But
> since it hasn’t been patched yet, psfgen doesn’t know about the
> extra ester-specific atoms, which are only added after patching.
> If you patch after the coordpdb, psfgen will make those atoms
> exist, but they won’t have coordinates assigned, so the default is
> the origin.
>
> -Josh
>
> *From: *Kyle Billings <krb_at_udel.edu>
> *Date: *Tuesday, March 26, 2024 at 4:18 PM
> *To: *"Vermaas, Josh" <vermaasj_at_msu.edu>
> *Subject: *Re: vmd-l: Atoms poorly guessed after applying a patch
> in Psfgen
>
> Thanks Josh,
>
> I must have not copied those lines into the intal post,  but i am
> curious why you patched the residues before getting the
> coordinates of the molecule?
>
> Thanks for the help ,
>
> Kyle
>
> On Mon, Mar 25, 2024 at 4:01 PM Josh Vermaas <vermaasj_at_msu.edu> wrote:
>
> Hi Kyle,
>
> Where is the patch being applied? I don't see it in the script
> snippets. Based on the topology file you sent, I'd expect a
> patch command to be issued before you try to guess the
> coordinates. Patches get applied after segments. So your
> innermost loop would look something like this:
>
> segment PRO$i {
>                 pdb parts/fixed_${i}.pdb
> }
> #Apply the patch.
> patch EETY PRO$i:77 PRO$I:78
> # coord pdb
> coordpdb parts/fixed_${i}.pdb PRO$i
>
> regenerate angles dihedrals
>
> -Josh
>
> On 3/25/24 1:28 PM, Kyle Billings wrote:
>
> Hello Users,
>
>   I am working on creating a psf/pdb using Psfgen to model
> an ester between the Gly77-Tyr78 of KcsA (PDB:4MSW). I
> found parameters to modify the ester linkage published
> from Li. et. al (https://urldefense.com/v3/__https://doi.org/10.1073/pnas.1706983114__;!!DZ3fjg!7ynBav8vLBVPSerXFTs9ZNRaDIZq1YRhTxc9C8Jw7HDTBnt7GMk_GZ-Wir1CSLMYoGHSV4qaF-4OIWz8teA$
> <https://urldefense.com/v3/__https:/doi.org/10.1073/pnas.1706983114__;!!DZ3fjg!7NANVEnRX4o-lm715IR1fjoNBdHcy2zDmDRJcMQkTp89tzO1zO6hT5uQmDGsXeAEciouaoaTomL06g$>)
> and the file should be attached to this post. When
> applying the patch, the positions ester oxygen and the
> alpha carbon hydrogen atom of Tyr78 fail to be set. I was
> wondering if there is a flaw in my methodology that I am
> not seeing?  I am sorry for the length of this message in
> advance.
>
>  The current method is to convert manually the TYF 78 to
> TYR 78, because 4MSW already has the ester in the
> structure. This is to comply atom naming from the patch
> for each monomer of 4MSW.
>
> -----------------------------------------------------------------------------------------------
> for {set i 0} { $i < 4 } { incr i } {
>         puts $i
>         # load the ##_*.pdb
>         mol load pdb 4MSW/${i}_4msw.pdb2.pdb
> #       # select the atoms that we need to make
>         [atomselect top "resname TYF and name C1 " ] set
> name C
>         [atomselect top "resname TYF and name O1"  ] set
> name O
>         [atomselect top "resname TYF and name N"   ] set
> type NH1
>         [atomselect top "resname TYF and name C2" ] set
> name  CA
>         [atomselect top "resname TYF and name C3 " ] set
> name CB
>         [atomselect top "resname TYF and name C4 " ] set
> name CG
>         [atomselect top "resname TYF and name C5 " ] set
> name CD1
>         [atomselect top "resname TYF and name C6 " ] set
> name CE1
>         [atomselect top "resname TYF and name C7 " ] set
> name CZ
>         [atomselect top "resname TYF and name C8 " ] set
> name CE2
>         [atomselect top "resname TYF and name C9 " ] set
> name CD2
>         [atomselect top "resname TYF and name O3"] set name OH
>         [atomselect top "resname TYF "] set resname TYR
>         [atomselect top "not (resname HOH TIP3 OH2 SOL DGA
> K)"  ] writepdb parts/TEMP_fixed_${i}.pdb
> }
>
> -----------------------------------------------------------------------------------------------
>
>   From there we can the newly made monomer pdb's to build
> the psf. I apply the pdbalias as stated in the Membrane
> Proteins Tutorial (Advanced), and load in the CHARMM36
> topologies. After the adding the additional topology for
> the amide to ester mutation I build the psf/pdb a follows.
>
> -----------------------------------------------------------------------------------------------
>
> topology toppar/toppar_all36_amide_to_ester.str
>
> foreach i {0 1 2 3} {
>         # make the segment
>         segment PRO$i {
>                 pdb parts/fixed_${i}.pdb
>         }
>         # coord pdb
>         coordpdb parts/fixed_${i}.pdb PRO$i
>
>         regenerate angles dihedrals
>
> }
>
> regenerate angles dihedrals
>
> writepdb KcsA_ester.pdb
> writepsf KcsA_ester.psf
>
> -----------------------------------------------------------------------------------------------
>
>   The resulting pdb has both the OE atom and the HA atom
> of the Tyr78-Gly77 ester are failed to be guessed. My
> current solution to fix the atoms OE position it so move
> the atom using scripting is to move that atom to the
> crystal structure atom position. I am worried that this is
> will induce artifacts however. My only other thought is
> build a separate top file for TYF residue in 4MSW from the
> protein topology/parameters and the top of the patch.  Any
> advice is welcome, and thanks for your time.
>
> Kyle
>
> Post Doc. at University of  Delaware
>
>
>
> --
>
> Josh Vermaas
>
>
>
> vermaasj_at_msu.edu
>
> Assistant Professor, Plant Research Laboratory and Biochemistry and Molecular Biology
>
> Michigan State University
>
> vermaaslab.github.io <https://urldefense.com/v3/__http:/vermaaslab.github.io__;!!HXCxUKc!xBR4rlbRRKLv7IGpl3aRcYp3lEhYG9UXX6NNX4FXRM7XOKT5pBke-dN3LGpQ75NJ4VNpEu7-c0c$>
>

-- 
Josh Vermaas
vermaasj_at_msu.edu
Assistant Professor, Plant Research Laboratory and Biochemistry and Molecular Biology
Michigan State University
vermaaslab.github.io