From: Josh Vermaas (
Date: Thu Mar 26 2015 - 08:27:33 CDT

Hi Sam,

Well basically you'll need to do it in two steps as you suggested.
You'll need to reorder them and make an intermediate pdb file (this
isn't strictly needed, but it can be super useful for checking that the
order is indeed correct). Next, you can use the "measure fit" command to
figure out what the rotation and translation would need to be to
minimize the rmsd, and then move it. Suppose you made two atom
selections, sel, which would be your intermediate pdb, and ref, which
would be your currently modeled linker. Then the following will get your
new linker in the vicinity of your old one:

set M [measure fit $sel $ref]
$sel move $M

Now you would just copy the coordinates over:

foreach el [list x y z] {
$ref set $el [$sel get $el]

Now it might be, if the linkers have substantially different structure,
that this approach won't fit very well. Then my suggestion would be to
move the whole linker to match one end, then to move the whole domain to
fit the other side of the linker. Be careful that you don't introduce
strange structural artifacts (like cis peptides or alternate
chiralities) without meaning too, but these can be checked for easily.

-Josh Vermaas

On 3/26/15 6:21 AM, Sam Wallace wrote:
> I'm wondering if anyone has attempted anything similar
> What I'm trying to do is below
> ---
> I have a psf and pdb of a molecule with a small linker joining two
> larger substituents.
> I have performed some DFT calculations in a different program of the
> linker only and have geometry output for a few states I'm interested in.
> I would like to read in the output of the DFT calculations and then
> set the geometry in the pdb file of just the linker component.
> ---
> The approach I'm considering taking
> ---
> The atoms of the linker in the PDB are conveniently id numbers 0 to
> 24. In the DFT output the atoms aren't in the same order, but I could
> probably build a map so they correspond correctly, thus any operation
> that reads from an atom in the DFT output, could write to it's
> corresponding atom in the PDB.
> Where I'm a bit stuck for ideas is what operation to proceed with
> after that point. I'm sure I could read the x, y, z coordinates from
> the DFT and write them to the PDB, but that would result in the linker
> being displaced from where it should be (to some degree)
> Does anyone have any ideas on how to help?
> Thanks,
> -Sam