diff --git a/modules/mol/alg/pymod/scoring.py b/modules/mol/alg/pymod/scoring.py
index b6635c24064d0908f80ea08bd2159639deada18f..cfbf0fbac88251d4155d13fbcfff429fb49ad9e1 100644
--- a/modules/mol/alg/pymod/scoring.py
+++ b/modules/mol/alg/pymod/scoring.py
@@ -208,7 +208,12 @@ class Scorer:
 
         self._dockq_interfaces = None
         self._dockq_native_contacts = None
+        self._dockq_model_contacts = None
         self._dockq_scores = None
+        self._dockq_fnat = None
+        self._dockq_fnonnat = None
+        self._dockq_irmsd = None
+        self._dockq_lrmsd = None
         self._dockq_nonmapped_interfaces = None
         self._dockq_nonmapped_interfaces_counts = None
         self._dockq_ave = None
@@ -504,6 +509,16 @@ class Scorer:
             self._compute_dockq()
         return self._dockq_native_contacts
 
+    @property
+    def dockq_model_contacts(self):
+        """ N model contacts for interfaces in :attr:`~dockq_interfaces`
+
+        :type: :class:`list` of :class:`int`
+        """
+        if self._dockq_model_contacts is None:
+            self._compute_dockq()
+        return self._dockq_model_contacts
+
     @property
     def dockq_scores(self):
         """ DockQ scores for interfaces in :attr:`~dockq_interfaces` 
@@ -514,6 +529,60 @@ class Scorer:
             self._compute_dockq()
         return self._dockq_scores
 
+    @property
+    def dockq_fnat(self):
+        """ fnat scores for interfaces in :attr:`~dockq_interfaces` 
+
+        fnat: Fraction of native contacts that are also present in model
+
+        :class:`list` of :class:`float`
+        """
+        if self._dockq_fnat is None:
+            self._compute_dockq()
+        return self._dockq_fnat
+
+    @property
+    def dockq_fnonnat(self):
+        """ fnonnat scores for interfaces in :attr:`~dockq_interfaces` 
+
+        fnat: Fraction of model contacts that are not present in target
+
+        :class:`list` of :class:`float`
+        """
+        if self._dockq_fnonnat is None:
+            self._compute_dockq()
+        return self._dockq_fnonnat
+
+    @property
+    def dockq_irmsd(self):
+        """ irmsd scores for interfaces in :attr:`~dockq_interfaces` 
+
+        irmsd: RMSD of interface (RMSD computed on N, CA, C, O atoms) which
+        consists of each residue that has at least one heavy atom within 10A of
+        other chain.
+
+        :class:`list` of :class:`float`
+        """
+        if self._dockq_irmsd is None:
+            self._compute_dockq()
+        return self._dockq_irmsd
+
+    @property
+    def dockq_lrmsd(self):
+        """ lrmsd scores for interfaces in :attr:`~dockq_interfaces` 
+
+        lrmsd: The interfaces are superposed based on the receptor (rigid
+        min RMSD superposition) and RMSD for the ligand is reported.
+        Superposition and RMSD are based on N, CA, C and O positions,
+        receptor is the chain contributing to the interface with more
+        residues in total.
+
+        :class:`list` of :class:`float`
+        """
+        if self._dockq_lrmsd is None:
+            self._compute_dockq()
+        return self._dockq_lrmsd
+
     @property
     def dockq_nonmapped_interfaces(self):
         """ Interfaces present in target that are not mapped
@@ -863,18 +932,17 @@ class Scorer:
         self._qs_best = qs_score_result.QS_best
 
     def _compute_dockq(self):
-        if not self.resnum_alignments:
-            raise RuntimeError("DockQ computations rely on residue numbers "
-                               "that are consistent between target and model "
-                               "chains, i.e. only work if resnum_alignments "
-                               "is True at Scorer construction.")
-
         flat_mapping = self.mapping.GetFlatMapping()
         # list of [trg_ch1, trg_ch2, mdl_ch1, mdl_ch2]
         self._dockq_interfaces = list()
         # lists with respective values for these interfaces
         self._dockq_native_contacts = list()
+        self._dockq_model_contacts = list()
         self._dockq_scores = list()
+        self._dockq_fnat = list()
+        self._dockq_fnonnat = list()
+        self._dockq_irmsd = list()
+        self._dockq_lrmsd = list()
 
         # list of interfaces which are present in target but not mapped, i.e.
         # not present in mdl
@@ -931,6 +999,11 @@ class Scorer:
                         self._dockq_interfaces.append((trg_ch1, trg_ch2,
                                                        mdl_ch1, mdl_ch2))
                         self._dockq_native_contacts.append(res["nnat"])
+                        self._dockq_model_contacts.append(res["nmdl"])
+                        self._dockq_fnat.append(res["fnat"])
+                        self._dockq_fnonnat.append(res["fnonnat"])
+                        self._dockq_irmsd.append(res["irmsd"])
+                        self._dockq_lrmsd.append(res["lrmsd"])
                         self._dockq_scores.append(res["DockQ"])
                 else:
                     # interface which is not covered by mdl... let's run DockQ