From: Josh Vermaas (vermaasj_at_msu.edu)
Date: Tue Mar 04 2025 - 12:11:39 CST

Hi Mike,

Yeah, there have been changes to molefacture since 2015, and I think
that none of the currently listed maintainers are still actively working
on VMD, so it wouldn't surprise me that there is a bug *somewhere*. I
can reproduce that a psf/pdb written from molefacture based on the
tutorial gives you zeros for all the coordinates, but the xyz files work!

Now, I can sort of see where this goes wrong. Its in the
molefacture/molefacture_internals.tcl file, in the write_psfpdbfiles
procedure, lines 2756-2800 is what is actually being used to build the
psf/pdb. Note that by default, VMD's new and improved molefacture tries
to be clever, and will load topology files that already are distributed
with VMD, including top_all36_cgenff.rtf (which has a ETOH residue
defined in it). To do what you want it to, you'll need to create another
topology file for the molecule you made in molefacture first
(File->write top/str file), which is appended to the list of topology
files in your psfcontext. Only after you write this top/str file, will
psfgen recognize the atoms and put them in the right place.

Hope this helps!

-Josh

On 3/4/25 12:23 PM, CHARLES MCCALLUM wrote:
> I really appreciate Josh’s willingness to help (Go State!), but I
> think probably I need help from an author of the ffTK tutorial from
> 2015.  I believe the point of this tutorial is to
> 1) show how to parameterize a new, smallish molecule
> 2) use ethanol, from scratch, because the results may be compared to
> the established ETOH, standard parameterization.
>
> After Josh’s reply, I re-did the tutorial, and tried a couple things.
>
> First, I made the resname “ETO”, but that returned no coordinates.
>  This made me realize Molefacture IS taking coordinates from the
> established ETOH.  I then re-ran and made sure the oxygen was attached
> to the C1 carbon (though the OH hydrogen ended up being index 8/atom 9
> in the Molefacture table), and used “ETOH”.  This returned a full set
> of coordinates, so I guess we can move on, but I’m a bit skeptical
> about the rest of the workflow.
>
> REMARK original generated coordinate pdb file
> ATOM      1  C1  ETOHA   1 0.000   0.000   0.000  1.00  0.00      A    C
> ATOM      2  O1  ETOHA   1  -0.495   1.437  -0.000  1.00  0.00      A    O
> ATOM      3  HO1 ETOHA   1  -1.902   1.714  -0.000  1.00  0.00      A    H
> ATOM      4  H11 ETOHA   1  -0.326  -0.473   0.819  1.00  0.00      A    H
> ATOM      5  H12 ETOHA   1  -0.326  -0.473  -0.819  1.00  0.00      A    H
> ATOM      6  C2  ETOHA   1 1.500   0.000   0.000  1.00  0.00      A    C
> ATOM      7  H21 ETOHA   1 1.872  -0.103   1.042  1.00  0.00      A    H
> ATOM      8  H22 ETOHA   1 1.899  -0.852  -0.592  1.00  0.00      A    H
> ATOM      9  H23 ETOHA   1 1.909   0.945  -0.419  1.00  0.00      A    H
> END
>
>
> Why does the tutorial explicitly use a different order?  Somehow this
> worked, as the example files have a full set with this different order:
>
> REMARK original generated coordinate pdb file
> ATOM      1  C1  ETOHL   1 0.000   0.000   0.000  1.00  0.00      L    C
> ATOM      2  H11 ETOHL   1  -0.326   0.946  -0.000  1.00  0.00      L    H
> ATOM      3  H12 ETOHL   1  -0.326  -0.473   0.819  1.00  0.00      L    H
> ATOM      4  H13 ETOHL   1  -0.326  -0.473  -0.819  1.00  0.00      L    H
> ATOM      5  C2  ETOHL   1 1.500   0.000   0.000  1.00  0.00      L    C
> ATOM      6  H21 ETOHL   1 1.872  -0.103   1.042  1.00  0.00      L    H
> ATOM      7  H22 ETOHL   1 1.899  -0.852  -0.592  1.00  0.00      L    H
> ATOM      8  O2  ETOHL   1 2.059   1.292  -0.573  1.00  0.00      L    O
> ATOM      9  HO2 ETOHL   1 1.186   2.397  -0.844  1.00  0.00      L    H
> END
>
> What am I missing here?
>
> Best,
> Mike
>
>> On Mar 4, 2025, at 07:42, CHARLES MCCALLUM <cmccallum_at_me.com> wrote:
>>
>> Josh, thanks.
>>
>> However, I understand how psfgen does things, as we’ve been doing
>> that for years.  However, I’m trying to do things through
>> Molefacture.  Why isn’t following the tutorial working?  The goal is
>> toe parameterize some new molecules we want to use.  If I’m trying to
>> teach people an easier way, front to back, to parameterize new
>> molecules, I’d like to be able to stick to one tool, and have the
>> tutorial explain things.
>>
>> Best
>> Mike
>>
>>
>>> On Mar 4, 2025, at 07:18, Josh Vermaas <vermaasj_at_msu.edu> wrote:
>>>
>>> Hi Charles,
>>>
>>> If you are building a psf/pdb from psfgen, the order of the atoms
>>> will be based on the order for the residue in the topology file
>>> (usually .top or .rtf). Here is the relevant section from
>>> top_all36_cgenff.rtf:
>>>
>>> RESI ETOH          0.00 ! C2H6O, Ethanol, adm jr.
>>> GROUP
>>> ATOM C1   CG321    0.05 !  H21  H11 H12
>>> ATOM O1   OG311   -0.65 !     \   \  /
>>> ATOM HO1  HGP1     0.42 ! H22--C2--C1
>>> ATOM H11  HGA2     0.09 !     /      \
>>> ATOM H12  HGA2     0.09 !  H23 O1--HO1
>>> GROUP
>>> ATOM C2   CG331   -0.27
>>> ATOM H21  HGA3     0.09
>>> ATOM H22  HGA3     0.09
>>> ATOM H23  HGA3     0.09
>>>
>>> You'll notice that your order matches here! The other thing that I
>>> notice is that you have a few atoms where the occupancy column is
>>> -1. That means that the input pdb for psfgen did not have an atom
>>> that matched the name that psfgen expected, and so nothing was
>>> loaded in. If you are doing this in a standard psfgen script, I
>>> think these two lines before you write out your psf/pdb will do the
>>> trick:
>>>
>>> regenerate angles dihedrals
>>> guesscoord
>>>
>>>
>>> -Josh
>>>
>>> On 3/3/25 9:34 PM, CHARLES MCCALLUM wrote:
>>>> Hello, we recently starting learning to us Molefacture to
>>>> parameterize, and we are running into some difficulties.
>>>> Using the tutorial
>>>> (https://www.ks.uiuc.edu/Training/Tutorials/science/ffTK/fftk-tutorial.pdf
>>>> <https://urldefense.com/v3/__https://www.ks.uiuc.edu/Training/Tutorials/science/ffTK/fftk-tutorial.pdf__;!!HXCxUKc!05ug8JAR-3nPHBSss6MjnihamaigCYNB2fkqMBS_p9TkaoRVanfXqPDOuSym8SGF7WCqcAUQt445pzE$>)
>>>> for ethanol, we are finding some coordinates are not being written
>>>> out in the PDB file.  We have edited the table as the tutorial notes.
>>>>
>>>> The console reports PSFGEN output, and all seems ok until it
>>>> reports “failed to set coordinates” for H13, O2 and HO2 (for some
>>>> reason I am not able to copy and paste the tkConsole output).  The
>>>> funny thing is, the output PDB contains more missing coordinates,
>>>> and it has some labels wrong or missing, and it seems to have
>>>> changed the order (shouldn’t these be in the order of the index in
>>>> the table?):
>>>>
>>>> REMARK original generated coordinate pdb file
>>>> ATOM  1  C1  ETOHL   1       0.000 0.000   0.000  1.00  0.00      L  C
>>>> ATOM  2  O1  ETOHL   1       0.000 0.000   0.000 -1.00  0.00      L
>>>> ATOM  3  HO1 ETOHL   1       0.000 0.000   0.000 -1.00  0.00      L
>>>> ATOM  4  H11 ETOHL   1      -0.326 0.946  -0.000  1.00  0.00      L  H
>>>> ATOM  5  H12 ETOHL   1      -0.326  -0.473   0.819  1.00  0.00    
>>>>  L    H
>>>> ATOM  6  C2  ETOHL   1       1.500 0.000   0.000  1.00  0.00      L  C
>>>> ATOM  7  H21 ETOHL   1       1.872  -0.103   1.042  1.00  0.00    
>>>>  L    H
>>>> ATOM  8  H22 ETOHL   1       1.899  -0.852  -0.592  1.00  0.00    
>>>>  L    H
>>>> ATOM  9  H23 ETOHL   1       0.000 0.000   0.000 -1.00  0.00      L
>>>> END
>>>>
>>>> Writing out an xyz file does not cause problems:
>>>> 9
>>>>  generated by VMD
>>>>  C     0.000000        0.000000    0.000000
>>>>  H    -0.325568        0.945519   -0.000000
>>>>  H    -0.325568       -0.472759    0.818843
>>>>  H    -0.325568       -0.472759   -0.818843
>>>>  C     1.500000        0.000000    0.000000
>>>>  H     1.872000       -0.103000    1.042000
>>>>  H     1.899000       -0.852000   -0.592000
>>>>  O     2.059218        1.292080   -0.572891
>>>>  H     1.186122        2.396645   -0.844260
>>>>
>>>> We are also seeing occasional problems with the table deleting our
>>>> edits, leaving blanks.  When this happens, we have found we have to
>>>> restart VMD in order to use Molefacture again.
>>>>
>>>> VMD 1.9.a57-x86_64-Rev12 on OS X 15.3.1
>>>>
>>>> Any help would be appreciated!
>>>>
>>>> Mike
>>>>
>>>> --
>>>> Mike McCallum
>>>> Morada/Stockton CA, USA
>>>> cmccallum at me ^dot^ com
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>> --
>>> Josh Vermaas
>>>
>>> vermaasj_at_msu.edu
>>> Assistant Professor, Plant Research Laboratory and Biochemistry and Molecular Biology
>>> Michigan State University
>>> vermaaslab.github.io
>>
>> --
>> Mike McCallum
>> Morada/Stockton CA, USA
>> cmccallum at me ^dot^ com
>>
>>
>>
>>
>>
>>
>>
>
> --
> Mike McCallum
> Morada/Stockton CA, USA
> cmccallum at me ^dot^ com
>
>
>
>
>
>
>

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