Re: [AMBER] Joining two molecules

From: Daniel Roe <>
Date: Tue, 25 May 2021 09:38:51 -0400

Hi Gustaf,

There is a new (and still somewhat experimental) command in CPPTRAJ
called 'graft' that you may want to try. This command will align 2
molecules based on atoms you select, keep only atoms you specify, and
then create a bond between the two. The 'graft' test
($AMBERHOME/AmberTools/src/cpptraj/test/Test_Graft or
$CPPTRAJHOME/test/Test_Graft) has an example of a prenylated tyrosine
sidechain being fit onto a tyrosine with a.a. backbone. I'll reproduce
the input here:

set TYRFILE = ../Test_CombineCrd/Tyr.mol2
# Load the target
parm \$TYRFILE
loadcrd \$TYRFILE parmindex 0 name TYR

# Load the source
set PRYFILE= ../Test_CombineCrd/PRY-gauss-fragment.mol2
parm \$PRYFILE
loadcrd \$PRYFILE parmindex 1 name PRY

graft \
  tgt TYR \
  src PRY \
  name Final \
  srcfitmask .O1,C5,C6,C4,H6,H5,C7,C3,H7,H4,C2 \
  tgtfitmask .OH,CZ,CE1,CE2,HE1,HE2,CD1,CD2,HD1,HD2,CG \
  srcmask !(.1-4) \
  tgtmask .C,O,CA,HA,N,H,CB,HB2,HB3 \
  bond :1.CB,:1.C2
crdout Final Final.graft.mol2

The 'srcfitmask' are the atoms in 'src' to fit on, and 'tgtfitmask'
are the atoms in 'tgt' to fit on. Like 'rms', these masks should
specify the same number of atoms in the same order, minimum 3 atoms in
order to properly best-fit.

The 'srcmask' and 'tgtmask' keywords specify which atoms to keep in
'src' and 'tgt' respectively after the fitting is performed.

The 'bond' keyword specifies a bond (via 2 comma separated masks) that
should be created between 'src' and 'tgt' after fitting and stripping.
Each mask is with respect to the original 'src' and 'tgt' structures.

After the 'graft' command you should make sure you write out the
resulting coordinates with a 'crdout' command.

If you give it a try, I'd be interested in any feedback you have. Good luck!


On Tue, May 25, 2021 at 6:19 AM Gustaf Olsson <> wrote:
> I’ve been looking at the tutorials and some other material for a while now and I cannot figure out how I have ever managed to proceed past the step where structures are supposed to be joined.
> I’m trying to use to different FFs for 2 parts of 1 larger molecule (gaff and glycam), the idea here was to align an NH2 group of a substituent with a OH group on a carbohydrate. I deleted the “overlapping” atoms leaving the two molecules reasonably oriented with a R-(C=O)-NH- -C gap. The plan is to connect/bond N-C and then use frcmod to adapt reasonable parameters for the “amide” group from glycam.
> However, trying to keep the connect record, or renumbering the connect records in the joined file, breaks it. Fatal error in leap and refusing to open in any other application. in order to use the file I had to remove the connect records.
> Now, I thought I’d be able to use leap to figure out what parameters for the N-C bond I need to add. Opening the joint PDB file with the prep/frcmod and glycam in leap, “missing atoms” are added from residue template(s). This is not really what I want to happen as I cannot “bond” the N-C atoms and I now have overlapping atoms. I also loose a ring C3-C4 bond in the carbohydrate when I remove the connect record.
> Either I am missing some step of which I am unaware or I am approaching this in a completely flawed way. Can I load my joint PDB file, ignoring missing atoms in residue template and then joint them to form a molecule to figure out what parameters I am missing with leap, or should I investigate a different approach?
> Best regards
> // Gustaf
> _______________________________________________
> AMBER mailing list

AMBER mailing list
Received on Tue May 25 2021 - 07:00:02 PDT
Custom Search