Pmx error pmx mutate -f protein.pdb -o mutant.pdb

I hope this message finds you well. I am currently working with the pmx mutate command in the PMX tool, attempting to prepare hybrid files by mutating residues in a protein structure. I am also aware that for this step I can use the webserver but I am curious is the pdb file created this error.

During the mutation process, I encountered an error that reads as follows:
AssertionError: N-CA-C-O-HA → N-CA-C-O-HA-HN
Interestingly, when I tried the same command with a PDB file provided in the tutorial, I didn’t encounter this error. However, using different PDB files results in the described issue or this error: IndexError: list index out of range
Here is a snippet of the relevant portion of the command and error:
Select new amino acid for 1-THR:
Three- or one-letter code (or four-letter for ff specific residues): ala
Will apply mutation T->A on residue THR-1
log_> Residue to mutate: 1 | THR | A
log_> Mutation to apply: T->A
log_> Hybrid residue name: T2A
log_> Scanning database for T2A
Traceback (most recent call last):
File “/mmfs1/cm/shared/apps_local/pmx/3.0/bin/pmx”, line 8, in
File “/mmfs1/cm/shared/apps_local/pmx/3.0/lib/python2.7/site-packages/pmx/scripts/”, line 70, in entry_point
File “/mmfs1/cm/shared/apps_local/pmx/3.0/lib/python2.7/site-packages/pmx/scripts/”, line 37, in init
getattr(self, args.command)()
File “/mmfs1/cm/shared/apps_local/pmx/3.0/lib/python2.7/site-packages/pmx/scripts/”, line 41, in mutate
File “/mmfs1/cm/shared/apps_local/pmx/3.0/lib/python2.7/site-packages/pmx/scripts/”, line 672, in entry_point
File “/mmfs1/cm/shared/apps_local/pmx/3.0/lib/python2.7/site-packages/pmx/scripts/”, line 661, in main
apply_mutation( m, mutation, mtp_file, bStrB, infileB, bRNA )
File “/mmfs1/cm/shared/apps_local/pmx/3.0/lib/python2.7/site-packages/pmx/scripts/”, line 500, in apply_mutation
apply_aa_mutation(m, residue, new_aa_name, mtp_file, bStrB, infileB)
File “/mmfs1/cm/shared/apps_local/pmx/3.0/lib/python2.7/site-packages/pmx/scripts/”, line 466, in apply_aa_mutation
bb_super(residue, hybrid_res )
File “/mmfs1/cm/shared/apps_local/pmx/3.0/lib/python2.7/site-packages/pmx/”, line 168, in bb_super
assert len(atoms1) == len(atoms2), “%s → %s” % ( ‘-’.join( map(lambda a:, atoms1)),‘-’.join( map(lambda a:, atoms2)) )
AssertionError: N-CA-C-O-HA → N-CA-C-O-HA-HN
I would greatly appreciate your assistance in resolving this issue.


I think the error arises because you’re trying to mutate the N-terminal residue (THR-1), which is in a zwitter ionic form. If you really want to mutate the terminal residues (not usually important I guess), I suggest you cap them (with ACE/NME) first.

Also, it’s recommended to use python3 version of PMX (from the ‘develop’ branch GitHub - deGrootLab/pmx at develop).

I hope it helps.