Opened 6 years ago

Closed 5 years ago

#2720 closed enhancement (fixed)

RFE: selector or attribute for standard residues with missing atoms

Reported by: Elaine Meng Owned by: pett
Priority: moderate Milestone:
Component: Structure Analysis Version:
Keywords: Cc: Tristan Croll
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

It would be useful to be able to quickly identify truncated residues (any standard residues with missing heavy atoms), such as by selection with a selector or an attribute.

Change History (6)

comment:1 by Tristan Croll, 6 years ago

Cc: Tristan Croll added

Absolutely agree - I've been meaning to add a tool for this to ISOLDE for ages. I have the beginnings of an implementation at https://github.com/tristanic/isolde/blob/master/isolde/src/atomic/template_utils.py... feel free to use any of it if it's useful. Isn't yet in active use by any of my other code, but it does at least some of the basics:

  • find_incorrect_residues() checks that the set of atom names in the residue matches those in the CCD template. Allows for common terminal peptide and NA modifications, but will give false positives where the residue is covalently modified.
  • find_maximal_isomorphous_fragment() uses NetworkX to find the biggest contiguous fragment in common between a residue and its template, and fix_residue_from_template() uses this to fill in the blanks in a truncated residue and rename hydrogens to match the template. This one's still a work in progress - does a nice job on the average non-covalent ligand, but adds spurious atoms where the residue is covalently bound/part of a chain. Also doesn't fix acid/base protonation states yet. Also treats metal bonds as covalent rather than pseudobonds (which is useful for ISOLDE, since that's how the AMBER forcefield expects them to be).

comment:2 by pett, 6 years ago

Status: assignedaccepted

comment:3 by pett, 5 years ago

Status: acceptedfeedback

Okay, in no way is any of this final, but I'm putting it out there for testing and feedback. There is now a "std-res-missing-heavies" selector whose name is somewhat misleading in that it selects standard residues whose heavy atoms don't match their template, which means it also selects residues with extra atoms (e.g. 5' nucleic acids with phosphate groups). It only checks residues that ChimeraX has builtin templates for.

Last edited 5 years ago by pett (previous) (diff)

comment:4 by pett, 5 years ago

meant 5', not 3' -- I edited my comment

in reply to:  5 ; comment:5 by Elaine Meng, 5 years ago

Happy to have a selector but don't like the name.  Maybe "template-mismatch" or "template-discordant" instead? Those aren't great either, but "std-res-missing-heavies" is no more mnemonic, and as you said, slightly inaccurate.

comment:6 by pett, 5 years ago

Resolution: fixed
Status: feedbackclosed

Though I like the fact that the original name indicates that only heavy atoms in standard residues are checked, there is definitely a tradeoff between precise description and something that is mnemonic and easy to type, so I have changed the name to "template-mismatch".

Note: See TracTickets for help on using tickets.