Structure Similarity

class pdb2sql.StructureSimilarity.StructureSimilarity(decoy, ref, verbose=False, enforce_residue_matching=True)[source]

Compute structure similarity between two structures.

This class allows to compute the i-RMSD, L-RMSD, Fnat and DockQ score of a given conformation. This can be a replacement for ProFIT. Note that the calculation of the zones are done by the class itself and does not require any extra input.


  1. The decoy and pdb must have consistent residue numbering.

  2. The lzone files here are different with those from ProFit.

    lzone: here need only zone residues for fitting, no need of residue for rms calculation. RMS residues are automatically assumed as the other chain, Be careful with ProFit zone files that contain RZONE/RATOMS.

  3. Missing residues/atoms will be ignored.

  • decoy – pdb file or sql database of the decoy conformation

  • ref – pdb file or sql database of the reference conformation

  • verbose (bool) – verbosity option


>>> from pdb2sql import StructureSimilarity
>>> decoy = '1AK4_5w.pdb'
>>> ref = '1AK4.pdb'
>>> sim = StructureSimilarity(decoy,ref)
>>> irmsd_fast = sim.compute_irmsd_fast(method='svd',
...     izone='1AK4.izone')
>>> irmsd = sim.compute_irmsd_pdb2sql(method='svd',
...     izone='1AK4.izone')
>>> lrmsd_fast = sim.compute_lrmsd_fast(method='svd',
...     lzone='1AK4.lzone',check=True)
>>> lrmsd = sim.compute_lrmsd_pdb2sql(exportpath=None,
...     method='svd')
>>> Fnat = sim.compute_fnat_pdb2sql()
>>> Fnat_fast = sim.compute_fnat_fast(
...     ref_pairs='1AK4.ref_pairs')
>>> dockQ = sim.compute_DockQScore(Fnat_fast,
...     lrmsd_fast,irmsd_fast)

i-RMSD (interface RMSD)

compute_irmsd_fast([izone, method, cutoff, ...])

Fast method to compute the i-rmsd.

compute_irmsd_pdb2sql([cutoff, method, ...])

Slow method to compute the i-rmsd.

compute_izone([cutoff, save_file, filename])

Compute the zones for i-rmsd calculationss.

l-RMSD (ligand RMSD)

compute_lrmsd_fast([lzone, method, check, name])

Fast routine to compute the L-RMSD.

compute_lrmsd_pdb2sql([exportpath, method])

Slow routine to compute the L-RMSD.

compute_lzone([save_file, filename])

Compute the zone for L-RMSD calculation.

FNAT (Fraction of native contacts)


Fast method to cmpute the FNAT of the conformation.


Slow method to compute the FNAT of the conformation.

compute_residue_pairs_ref([cutoff, ...])

Compute the residue pair on the reference conformation.


compute_DockQScore(fnat, lrmsd, irmsd[, d1, d2])

Compute the DockQ Score.

CAPRI classes

compute_CapriClass(fnat, lrmsd, irmsd[, system])

Compute CAPRI ranking classes.


compute_clashes(pdb[, chain1, chain2])

Compute number of atomic clashes.