moleculekit.projections.metricdistance module#
- class moleculekit.projections.metricdistance.MetricDistance(sel1, sel2, periodic, groupsel1=None, groupsel2=None, metric='distances', threshold=8, truncate=None, groupreduce1='closest', groupreduce2='closest', pairs=False)#
Bases:
Projection
Creates a MetricDistance object
- Parameters:
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 closest/COM distance. Alternatively can calculate the closest/COM 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.
groupreduce1 (['closest', 'com'], optional) – The reduction to apply on group 1 if groupsel1 is used. closest will calculate the closest distance of group 1 to selection 2. com will calculate the distance of the center of mass of group 1 to selection 2.
groupreduce2 (['closest', 'com'], optional) – Same as groupreduce1 but for group 2 if groupsel2 is used.
pairs (bool) – If set to True it will match atoms in sel1 to atoms in sel2 in their given order and only calculate distances of those pairs of atoms instead of all-against-all distances
- Returns:
proj
- Return type:
MetricDistance object
Examples
Calculate periodic distances between all protein CA atoms and all atoms of a ligand called MOL >>> metr = MetricDistance(“protein and name CA”, “resname MOL”, periodic=”selections”) >>> data = metr.project(mol)
Calculate the single periodic distance between the closest atom of the protein to the closest atom of the ligand >>> MetricDistance(“protein”, “resname MOL”, “selections”, groupsel1=”all”, groupsel2=”all”)
Calculate the periodic distances between the closest atom of each protein residue to the single closest ligand atom >>> MetricDistance(“protein”, “resname MOL”, “selections”, groupsel1=”residue”, groupsel2=”all”)
Calculate the periodic distance between the COM of the protein to the COM of the ligand >>> MetricDistance(“protein”, “resname MOL”, “selections”, groupsel1=”all”, groupsel2=”all”, groupreduce1=”com”, groupreduce2=”com”)
Calculate the non-periodic distance between a ligand atom and a protein atom >>> MetricDistance(“protein and name CA and resid 10”, “resname MOL and name C7”, periodic=None)
Calculate the distance of two nucleic chains >>> MetricDistance(“nucleic and chain A”, “nucleic and chain B”, periodic=”chains”)
- getMapping(mol)#
Returns the description of each projected dimension.
- Parameters:
mol (
Molecule
object) – A Molecule object which will be used to calculate the descriptions of the projected dimensions.- Returns:
map – A DataFrame containing the descriptions of each dimension
- Return type:
DataFrame
object
- class moleculekit.projections.metricdistance.MetricSelfDistance(sel, groupsel=None, metric='distances', threshold=8, periodic=None, truncate=None)#
Bases:
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
- Parameters:
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
- Returns:
cm – The input vector converted into a 2D numpy array
- Return type:
np.ndarray
Examples
>>> 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)