contact_map.ContactFrequency

class contact_map.ContactFrequency(trajectory, query=None, haystack=None, cutoff=0.45, n_neighbors_ignored=2, frames=None)[source]

Contact frequency (atomic and residue) for a trajectory.

The contact frequency is defined as fraction of the trajectory that a certain contact is made. This object calculates this quantity for all contacts with atoms in the query residue, with “contact” defined as being within a certain cutoff distance.

Parameters:
  • trajectory (mdtraj.Trajectory) – Trajectory (segment) to analyze
  • query (list of int) – Indices of the atoms to be included as query. Default None means all atoms.
  • haystack (list of int) – Indices of the atoms to be included as haystack. Default None means all atoms.
  • cutoff (float) – Cutoff distance for contacts, in nanometers. Default 0.45.
  • n_neighbors_ignored (int) – Number of neighboring residues (in the same chain) to ignore. Default 2.
  • frames (list of int) – The indices of the frames to use from the trajectory. Default all
__init__(trajectory, query=None, haystack=None, cutoff=0.45, n_neighbors_ignored=2, frames=None)[source]

Initialize self. See help(type(self)) for accurate signature.

Methods

__init__(trajectory[, query, haystack, …]) Initialize self.
add_contact_frequency(other) Add results from other to the internal counter.
contact_map(trajectory, frame_number, …) Returns atom and residue contact maps for the given frame.
convert_atom_contacts(atom_contacts)
from_dict(dct) Create object from dict.
from_file(filename) Load this object from a given file
from_json(json_string) Create object from JSON string
idx_to_s_idx(idx) function to convert a real atom index to a sliced one
most_common_atoms_for_contact(contact_pair) Most common atom contacts for a given residue contact pair
most_common_atoms_for_residue(residue) Most common atom contact pairs for contacts with the given residue
s_idx_to_idx(idx) function to convert a sliced atom index back to real index
save_to_file(filename[, mode]) Save this object to the given file.
slice_trajectory(trajectory)
subtract_contact_frequency(other) Subtracts results from other from internal counter.
to_dict() Convert object to a dict.
to_json() JSON-serialized version of this object.

Attributes

all_atoms all atom indices used in the contact map
atom_contacts Atoms pairs mapped to fraction of trajectory with that contact
contacts contact dict for these contacts
cutoff cutoff distance for contacts, in nanometers
haystack indices of atoms to include as haystack
haystack_residue_range min and (max + 1) of haystack residue indices
haystack_residues residues for atoms in the haystack
n_frames Number of frames in the mapped trajectory
n_neighbors_ignored number of neighbor residues (in same chain) to ignore
query indices of atoms to include as query
query_residue_range min and (max + 1) of query residue indices
query_residues residues for atoms in the query
residue_contacts Residue pairs mapped to fraction of trajectory with that contact
residue_ignore_atom_idxs maps query residue index to atom indices to ignore
residue_query_atom_idxs maps query residue index to atom indices in query
topology topology object for this system
use_atom_slice Indicates if mdtraj.atom_slice() is used before calculating the contact map
add_contact_frequency(other)[source]

Add results from other to the internal counter.

Parameters:other (ContactFrequency) – contact frequency made from the frames to remove from this contact frequency
all_atoms

all atom indices used in the contact map

Type:list of int
atom_contacts

Atoms pairs mapped to fraction of trajectory with that contact

contact_map(trajectory, frame_number, residue_query_atom_idxs, residue_ignore_atom_idxs)

Returns atom and residue contact maps for the given frame.

Parameters:
  • frame (mdtraj.Trajectory) – the desired frame (uses the first frame in this trajectory)
  • residue_query_atom_idxs (dict) –
  • residue_ignore_atom_idxs (dict) –
Returns:

  • atom_contacts (collections.Counter)
  • residue_contact (collections.Counter)

contacts

contact dict for these contacts

Type:ContactsDict
cutoff

cutoff distance for contacts, in nanometers

Type:float
classmethod from_dict(dct)

Create object from dict.

Parameters:dct (dict) – dict-formatted serialization (see to_dict for details)

See also

to_dict()

classmethod from_file(filename)

Load this object from a given file

Parameters:filename (string) – the file to read from
Returns:the reloaded object
Return type:ContactObject

See also

save_to_file()
save to a file
classmethod from_json(json_string)

Create object from JSON string

Parameters:json_string (str) – JSON-serialized version of the object

See also

to_json()

haystack

indices of atoms to include as haystack

Type:list of int
haystack_residue_range

min and (max + 1) of haystack residue indices

Type:(int, int)
haystack_residues

residues for atoms in the haystack

Type:list
idx_to_s_idx(idx)

function to convert a real atom index to a sliced one

most_common_atoms_for_contact(contact_pair)

Most common atom contacts for a given residue contact pair

Parameters:contact_pair (length 2 list of Residue or int) – the residue contact pair for which the most common atom contact pairs will be calculated
Returns:Atom contact pairs for the residue contact pair, in order of frequency. Referring to the list as l, each element of the list l[e] consists of two parts: l[e][0] is a list containing the two MDTraj Atom objects that make up the contact, and l[e][1] is the measure of how often the contact occurs.
Return type:list
most_common_atoms_for_residue(residue)

Most common atom contact pairs for contacts with the given residue

Parameters:residue (Residue or int) – the Residue object or index representing the residue for which the most common atom contact pairs will be calculated
Returns:Atom contact pairs involving given residue, order of frequency. Referring to the list as l, each element of the list l[e] consists of two parts: l[e][0] is a list containing the two MDTraj Atom objects that make up the contact, and l[e][1] is the measure of how often the contact occurs.
Return type:list
n_frames

Number of frames in the mapped trajectory

n_neighbors_ignored

number of neighbor residues (in same chain) to ignore

Type:int
query

indices of atoms to include as query

Type:list of int
query_residue_range

min and (max + 1) of query residue indices

Type:(int, int)
query_residues

residues for atoms in the query

Type:list
residue_contacts

Residue pairs mapped to fraction of trajectory with that contact

residue_ignore_atom_idxs

maps query residue index to atom indices to ignore

Type:dict
residue_query_atom_idxs

maps query residue index to atom indices in query

Type:dict
s_idx_to_idx(idx)

function to convert a sliced atom index back to real index

save_to_file(filename, mode='w')

Save this object to the given file.

Parameters:
  • filename (string) – the file to write to
  • mode ('w' or 'a') – file writing mode. Use ‘w’ to overwrite, ‘a’ to append. Note that writing by bytes (‘b’ flag) is automatically added.

See also

from_file()
load from generated file
subtract_contact_frequency(other)[source]

Subtracts results from other from internal counter.

Note that this is intended for the case that you’re removing a subtrajectory of the already-calculated trajectory. If you want to compare two different contact frequency maps, use ContactDifference.

Parameters:other (ContactFrequency) – contact frequency made from the frames to remove from this contact frequency
to_dict()[source]

Convert object to a dict.

Keys should be strings; values should be (JSON-) serializable.

See also

from_dict()

to_json()

JSON-serialized version of this object.

See also

from_json()

topology

topology object for this system

The topology includes information about the atoms, how they are grouped into residues, and how the residues are grouped into chains.

Type:mdtraj.Topology
use_atom_slice

Indicates if mdtraj.atom_slice() is used before calculating the contact map

Type:bool