moleculekit.projections.metricdistance module

class moleculekit.projections.metricdistance.MetricDistance(sel1, sel2, periodic, groupsel1=None, groupsel2=None, metric='distances', threshold=8, pbc=None, truncate=None)

Bases: moleculekit.projections.projection.Projection

Creates a MetricDistance object

  • sel1 (str) – Atom selection string for the first set of atoms. See more here

  • sel2 (str) – Atom selection string for the second set of atoms. If sel1 != sel2, it will calculate inter-set distances. If sel1 == sel2, it will calculate intra-set distances. See more here

  • periodic (str) – If periodic distances should be calculated and between which elements. If set to “chains” it will only calculate periodic distances between different chains. If set to “selections” it will calculate periodic distances between the two selections. If set to None it will not calculate any periodic distances.

  • groupsel1 (['all','residue'], optional) – Group all atoms in sel1 to the single minimum distance. Alternatively can calculate the minimum distance of a residue containing the atoms in sel1.

  • groupsel2 (['all','residue'], optional) – Same as groupsel1 but for sel2

  • metric (['distances','contacts'], optional) – Set to ‘contacts’ to calculate contacts instead of distances

  • threshold (float, optional) – The threshold under which a distance is considered in contact. Units in Angstrom.

  • truncate (float, optional) – Set all distances larger than truncate to truncate. Units in Angstrom.

  • update – Not functional yet



Return type

MetricDistance object


Returns the description of each projected dimension.


mol (Molecule object) – A Molecule object which will be used to calculate the descriptions of the projected dimensions.


map – A DataFrame containing the descriptions of each dimension

Return type

DataFrame object


Project molecule.


mol (Molecule) – A Molecule object to project.


data – An array containing the projected data.

Return type


class moleculekit.projections.metricdistance.MetricSelfDistance(sel, groupsel=None, metric='distances', threshold=8, periodic=None, pbc=None, truncate=None)

Bases: moleculekit.projections.metricdistance.MetricDistance

moleculekit.projections.metricdistance.contactVecToMatrix(vector, atomIndexes)
moleculekit.projections.metricdistance.reconstructContactMap(vector, mapping, truecontacts=None, plot=True, figsize=7, 7, dpi=80, title=None, outfile=None, colors=None)

Plots a given vector as a contact map

  • vector (np.ndarray or list) – A 1D vector of contacts

  • mapping (pd.DataFrame) – A pandas DataFrame which describes the dimensions of the projection

  • truecontacts (np.ndarray or list) – A 1D vector of true contacts

  • plot (bool) – To plot or not to plot

  • figsize (tuple) – The size of the final plot in inches

  • dpi (int) – Dots per inch

  • outfile (str) – Path of file in which to save the plot


cm – The input vector converted into a 2D numpy array

Return type



>>> reconstructContactMap(contacts, mapping)
To use it with distances instead of contacts pass ones as the concat vector
>>> reconstructContactMap(np.ones(dists.shape, dtype=bool), mapping, colors=dists)