Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#5232 closed enhancement (fixed)

Add "interfaces select" command

Reported by: matthias.vorlaender@… Owned by: Tom Goddard
Priority: moderate Milestone:
Component: Structure Analysis Version:
Keywords: Cc: Elaine Meng
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description

Begin forwarded message:

From: Vorländer,Matthias Kopano via ChimeraX-users <chimerax-users@…>
Subject: [chimerax-users] Interface residue selection - command line option?
Date: September 15, 2021 at 6:34:33 AM PDT
To: "chimerax-users@…" <chimerax-users@…>
Reply-To: Vorländer,Matthias Kopano <>

Dear ChimeraX team,

I am trying to selected interface residues using the “interface” tool. While doing this through the context menu of the interface plot works, I am analyzing a larger number of PDBs and am therefore looking for a way to achieve this through the command line (the contacting chains are displayed already in the log window. Essentially I wonder if it is possible to expand this to the contacting residues).

Thanks a lot in advcance,
Matthias

Change History (2)

comment:1 by Tom Goddard, 4 years ago

Resolution: fixed
Status: assignedclosed

Done.

I added the "interfaces select" command that selects residues in contact with each other in the same way as the interfaces tool using buried area to determine contacts. Command syntax.

interfaces select <atoms> contacting <atoms> [bothSides false|true] [probeRadius <R>] [areaCutoff <A>] [interfaceResidueAreaCutoff <A>]

— Select contacting residues between chains

Here is the Python function description describing the arguments

def interfaces_select(session, atoms = None, contacting = None,
                      both_sides = False,
                      probe_radius = 1.4, area_cutoff = 300,
                      interface_residue_area_cutoff = 15):
    '''
    Select residues from one chain in contact with residues from
    another chain using buried solvent accessible surface areas to
    determine if they contact.

    Parameters
    ----------
    atoms : Atoms
      Which atoms to find contacts for and select
    contacting : Atoms
      The atoms to consider contacts with.
    both_sides : boolean
      Whether to select residues from both sets of atoms or only the first set.
      Default False (only first set).
    probe_radius : float
      Probe radius uses for buried area calculations. Default 1.4 Angstroms.
    area_cutoff: float
      Minimum buried area between two chains to consider them as neighbors.
      Default 300 square Angstroms.
    interface_residue_area_cutoff: float
      Minimum buried area for a residue to consider it in contact.
      Default 15 square Angstroms.
    '''


comment:2 by Tom Goddard, 4 years ago

The weirdness of "interfaces select" is that it is not just looking for buried area between the two sets of atoms specified (like measure buriedarea does). It also does what the interfaces tool does, it partitions the atoms by chain and considers whether those sets of atoms are in contact with each other using the areaCutoff parameter (300 square Angstroms). If two sets aren't in contact, then "interfaces select" does not select contacting residues even if they have sufficient per-residue buried area given by interfaceResidueAreaCutoff (default 15 square Angstroms). This is weird but is what the interfaces tool does. I slightly regret making this command since I don't have a case in mind where you would prefer this weird behavior to "measure buriedarea" with the select option which is simpler. Basically "interfaces select" says to select residues at interfaces that are big enough, not just single residues having enough buried area.

Note: See TracTickets for help on using tickets.