diff --git a/modules/mol/alg/pymod/ligand_scoring_base.py b/modules/mol/alg/pymod/ligand_scoring_base.py
index 80cd38302696e044c43b9483810035f3c6095f15..f676463bdd3761e8579f9ebe50f48cd750a6417b 100644
--- a/modules/mol/alg/pymod/ligand_scoring_base.py
+++ b/modules/mol/alg/pymod/ligand_scoring_base.py
@@ -397,6 +397,13 @@ class LigandScorer:
                                   to target chains - see 
                                   :class:`ost.mol.alg.chain_mapping.ChainMapper`
     :type mdl_map_nuc_seqid_thr: :class:`float`
+    :param seqres: Parameter that affects identification of identical chains in
+                   target - see :class:`ost.mol.alg.chain_mapping.ChainMapper`
+    :type seqres: :class:`ost.seq.SequenceList`
+    :param trg_seqres_mapping: Parameter that affects identification of identical
+                               chains in target - see 
+                               :class:`ost.mol.alg.chain_mapping.ChainMapper`
+    :type trg_seqres_mapping: :class:`dict`
     """
 
     def __init__(self, model, target, model_ligands, target_ligands,
@@ -406,7 +413,9 @@ class LigandScorer:
                  min_nuc_length = 4, pep_seqid_thr = 95.,
                  nuc_seqid_thr = 95.,
                  mdl_map_pep_seqid_thr = 0.,
-                 mdl_map_nuc_seqid_thr = 0.):
+                 mdl_map_nuc_seqid_thr = 0.,
+                 seqres = None,
+                 trg_seqres_mapping = None):
 
         if isinstance(model, mol.EntityView):
             self._model = mol.CreateEntityFromView(model, False)
@@ -485,6 +494,8 @@ class LigandScorer:
         self._nuc_seqid_thr = nuc_seqid_thr
         self._mdl_map_pep_seqid_thr = mdl_map_pep_seqid_thr
         self._mdl_map_nuc_seqid_thr = mdl_map_nuc_seqid_thr
+        self._seqres = seqres
+        self._trg_seqres_mapping = trg_seqres_mapping
 
         # lazily computed attributes
         self.__chain_mapper = None
@@ -643,6 +654,18 @@ class LigandScorer:
         """
         return self._mdl_map_nuc_seqid_thr
 
+    @property
+    def seqres(self):
+        """ Given at :class:`LigandScorer` construction
+        """
+        return self._seqres
+
+    @property
+    def trg_seqres_mapping(self):
+        """ Given at :class:`LigandScorer` construction
+        """
+        return self._trg_seqres_mapping
+
     @property
     def substructure_match(self):
         """ Given at :class:`LigandScorer` construction
@@ -1133,7 +1156,9 @@ class LigandScorer:
                                           pep_seqid_thr=self.pep_seqid_thr,
                                           nuc_seqid_thr=self.nuc_seqid_thr,
                                           mdl_map_pep_seqid_thr=self.mdl_map_pep_seqid_thr,
-                                          mdl_map_nuc_seqid_thr=self.mdl_map_nuc_seqid_thr)
+                                          mdl_map_nuc_seqid_thr=self.mdl_map_nuc_seqid_thr,
+                                          seqres = self.seqres,
+                                          trg_seqres_mapping = self.trg_seqres_mapping)
         return self.__chain_mapper
 
     @property
diff --git a/modules/mol/alg/pymod/ligand_scoring_lddtpli.py b/modules/mol/alg/pymod/ligand_scoring_lddtpli.py
index 85e61f5779069ddd835a4e444dfded57a9e9a5d9..7e22be4aa87ce4815e82992383b1a2b773fa7ab6 100644
--- a/modules/mol/alg/pymod/ligand_scoring_lddtpli.py
+++ b/modules/mol/alg/pymod/ligand_scoring_lddtpli.py
@@ -120,7 +120,9 @@ class LDDTPLIScorer(ligand_scoring_base.LigandScorer):
                  min_nuc_length = 4, pep_seqid_thr = 95.,
                  nuc_seqid_thr = 95.,
                  mdl_map_pep_seqid_thr = 0.,
-                 mdl_map_nuc_seqid_thr = 0.):
+                 mdl_map_nuc_seqid_thr = 0.,
+                 seqres=None,
+                 trg_seqres_mapping=None):
 
         super().__init__(model, target, model_ligands, target_ligands,
                          resnum_alignments = resnum_alignments,
@@ -133,7 +135,9 @@ class LDDTPLIScorer(ligand_scoring_base.LigandScorer):
                          pep_seqid_thr = pep_seqid_thr,
                          nuc_seqid_thr = nuc_seqid_thr,
                          mdl_map_pep_seqid_thr = mdl_map_pep_seqid_thr,
-                         mdl_map_nuc_seqid_thr = mdl_map_nuc_seqid_thr)
+                         mdl_map_nuc_seqid_thr = mdl_map_nuc_seqid_thr,
+                         seqres = seqres,
+                         trg_seqres_mapping = trg_seqres_mapping)
 
         self.lddt_pli_radius = lddt_pli_radius
         self.add_mdl_contacts = add_mdl_contacts
diff --git a/modules/mol/alg/pymod/ligand_scoring_scrmsd.py b/modules/mol/alg/pymod/ligand_scoring_scrmsd.py
index 73aed8d00f2692edd713181b8e0c949ee9f6a18e..b14c68b7c6174fe8999d51c749937c8477012687 100644
--- a/modules/mol/alg/pymod/ligand_scoring_scrmsd.py
+++ b/modules/mol/alg/pymod/ligand_scoring_scrmsd.py
@@ -119,6 +119,10 @@ class SCRMSDScorer(ligand_scoring_base.LigandScorer):
     :type mdl_map_pep_seqid_thr: :class:`float`
     :param mdl_map_nuc_seqid_thr: See :class:`ost.mol.alg.ligand_scoring_base.LigandScorer`
     :type mdl_map_nuc_seqid_thr: :class:`float`
+    :param seqres: See :class:`ost.mol.alg.ligand_scoring_base.LigandScorer`
+    :type seqres: :class:`ost.seq.SequenceList`
+    :param trg_seqres_mapping: See :class:`ost.mol.alg.ligand_scoring_base.LigandScorer`
+    :type trg_seqres_mapping: :class:`dict`
     """
     def __init__(self, model, target, model_ligands, target_ligands,
                  resnum_alignments=False, rename_ligand_chain=False,
@@ -129,7 +133,9 @@ class SCRMSDScorer(ligand_scoring_base.LigandScorer):
                  min_nuc_length = 4, pep_seqid_thr = 95.,
                  nuc_seqid_thr = 95.,
                  mdl_map_pep_seqid_thr = 0.,
-                 mdl_map_nuc_seqid_thr = 0.):
+                 mdl_map_nuc_seqid_thr = 0.,
+                 seqres=None,
+                 trg_seqres_mapping=None):
 
         super().__init__(model, target, model_ligands, target_ligands,
                          resnum_alignments = resnum_alignments,
@@ -142,7 +148,9 @@ class SCRMSDScorer(ligand_scoring_base.LigandScorer):
                          pep_seqid_thr = pep_seqid_thr,
                          nuc_seqid_thr = nuc_seqid_thr,
                          mdl_map_pep_seqid_thr = mdl_map_pep_seqid_thr,
-                         mdl_map_nuc_seqid_thr = mdl_map_nuc_seqid_thr)
+                         mdl_map_nuc_seqid_thr = mdl_map_nuc_seqid_thr,
+                         seqres = seqres,
+                         trg_seqres_mapping = trg_seqres_mapping)
 
         self.bs_radius = bs_radius
         self.lddt_lp_radius = lddt_lp_radius
diff --git a/modules/mol/alg/pymod/scoring.py b/modules/mol/alg/pymod/scoring.py
index f1d164a8eddc501ed9e368cdbb4ea784b0034bb5..62a0d92be481cd6d5d5b9017a5fe76a44c3ca799 100644
--- a/modules/mol/alg/pymod/scoring.py
+++ b/modules/mol/alg/pymod/scoring.py
@@ -263,6 +263,13 @@ class Scorer:
                                   to target chains - see 
                                   :class:`ost.mol.alg.chain_mapping.ChainMapper`
     :type mdl_map_nuc_seqid_thr: :class:`float`
+    :param seqres: Parameter that affects identification of identical chains in
+                   target - see :class:`ost.mol.alg.chain_mapping.ChainMapper`
+    :type seqres: :class:`ost.seq.SequenceList`
+    :param trg_seqres_mapping: Parameter that affects identification of identical
+                               chains in target - see 
+                               :class:`ost.mol.alg.chain_mapping.ChainMapper`
+    :type trg_seqres_mapping: :class:`dict`
     """
     def __init__(self, model, target, resnum_alignments=False,
                  molck_settings = None, cad_score_exec = None,
@@ -274,7 +281,9 @@ class Scorer:
                  lddt_inclusion_radius = 15.0,
                  pep_seqid_thr = 95., nuc_seqid_thr = 95.,
                  mdl_map_pep_seqid_thr = 0.,
-                 mdl_map_nuc_seqid_thr = 0.):
+                 mdl_map_nuc_seqid_thr = 0.,
+                 seqres = None,
+                 trg_seqres_mapping = None):
 
         self._target_orig = target
         self._model_orig = model
@@ -388,6 +397,8 @@ class Scorer:
         self.nuc_seqid_thr = nuc_seqid_thr
         self.mdl_map_pep_seqid_thr = mdl_map_pep_seqid_thr
         self.mdl_map_nuc_seqid_thr = mdl_map_nuc_seqid_thr
+        self.seqres = seqres
+        self.trg_seqres_mapping = trg_seqres_mapping
 
         # lazily evaluated attributes
         self._stereochecked_model = None
@@ -752,7 +763,9 @@ class Scorer:
                                                            pep_seqid_thr=self.pep_seqid_thr,
                                                            nuc_seqid_thr=self.nuc_seqid_thr,
                                                            mdl_map_pep_seqid_thr=self.mdl_map_pep_seqid_thr,
-                                                           mdl_map_nuc_seqid_thr=self.mdl_map_nuc_seqid_thr)
+                                                           mdl_map_nuc_seqid_thr=self.mdl_map_nuc_seqid_thr,
+                                                           seqres=self.seqres,
+                                                           trg_seqres_mapping=self.trg_seqres_mapping)
         return self._chain_mapper
 
     @property
diff --git a/modules/mol/alg/tests/test_ligand_scoring.py b/modules/mol/alg/tests/test_ligand_scoring.py
index d0145f098aacca57b1f1c62195e748230142dd3d..6e09ebe70b749f54e66faf0c1a9aec657a82ab1a 100644
--- a/modules/mol/alg/tests/test_ligand_scoring.py
+++ b/modules/mol/alg/tests/test_ligand_scoring.py
@@ -4,7 +4,7 @@ from functools import lru_cache
 import numpy as np
 
 import ost
-from ost import io, mol, geom, conop
+from ost import io, mol, geom, conop, seq
 # check if we can import: fails if numpy or scipy not available
 try:
     from ost.mol.alg.ligand_scoring_base import *
@@ -1004,6 +1004,70 @@ class TestLigandScoringFancy(unittest.TestCase):
         self.assertEqual(sc.model.GetResidueCount(), N_res)
         self.assertEqual(sc.model_cleanup_log["cleaned_atoms"]["unknown_atoms"], ["A.2..yolo"]) 
 
+    def test_seqres(self):
+        # the tested structures are absolutely irrelevant for ligands
+        # we're simply checking if the seqres info gets propagated to
+        # the chain mapper
+        mdl = _LoadPDB("1eud_mdl_partial-dimer.pdb")
+        trg = _LoadPDB("1eud_ref.pdb")
+        mdl_lig = []
+        trg_lig = []
+        fake_lig = mol.CreateEntity()
+        ed = fake_lig.EditXCS()
+        ch=ed.InsertChain("A")
+        r=ed.AppendResidue(ch, "LIG")
+        a=ed.InsertAtom(r, "A", geom.Vec3())
+        trg_lig.append(fake_lig)
+        sc = ligand_scoring_scrmsd.SCRMSDScorer(mdl, trg, mdl_lig, trg_lig)
+        self.assertTrue(sc._chain_mapper.seqres is None)
+        self.assertTrue(sc._chain_mapper.trg_seqres_mapping is None)
+        sc = ligand_scoring_lddtpli.LDDTPLIScorer(mdl, trg, mdl_lig, trg_lig)
+        self.assertTrue(sc._chain_mapper.seqres is None)
+        self.assertTrue(sc._chain_mapper.trg_seqres_mapping is None)
+
+
+        seqres = seq.CreateSequenceList()
+        seqres.AddSequence(seq.CreateSequence("1", "MAIRHCSYTASRKHLYVDKNTKVICQGFTGK"
+                                                   "QGTFHSQQALEYGTNLVGGTTPGKGGKTHLGL"
+                                                   "PVFNTVKEAKEQTGATASVIYVPPPFAAAAIN"
+                                                   "EAIDAEVPLVVCITEGIPQQDMVRVKHRLLRQ"
+                                                   "GKTRLIGPNCPGVINPGECKIGIMPGHIHKKG"
+                                                   "RIGIVSRSGTLTYEAVHQTTQVGLGQSLCVGI"
+                                                   "GGDPFNGTDFTDCLEIFLNDPATEGIILIGEI"
+                                                   "GGNAEENAAEFLKQHNSGPKSKPVVSFIAGLT"
+                                                   "APPGRRMGHAGAIIAGGKGGAKEKITALQSAG"
+                                                   "VVVSMSPAQLGTTIYKEFEKRKML"))
+        seqres.AddSequence(seq.CreateSequence("2", "MVNLQEYQSKKLMSDNGVKVQRFFVADTANEA"
+                                                   "LEAAKRLNAKEIVLKAQILAGGRGKGVFSSGL"
+                                                   "KGGVHLTKDPEVVGQLAKQMIGYNLATKQTPK"
+                                                   "EGVKVNKVMVAEALDISRETYLAILMDRSCNG"
+                                                   "PVLVGSPQGGVDIEEVAASNPELIFKEQIDII"
+                                                   "EGIKDSQAQRMAENLGFLGPLQNQAADQIKKL"
+                                                   "YNLFLKIDATQVEVNPFGETPEGQVVCFDAKI"
+                                                   "NFDDNAEFRQKDIFAMDDKSENEPIENEAAKY"
+                                                   "DLKYIGLDGNIACFVNGAGLAMATCDIIFLNG"
+                                                   "GKPANFLDLGGGVKESQVYQAFKLLTADPKVE"
+                                                   "AILVNIFGGIVNCAIIANGITKACRELELKVP"
+                                                   "LVVRLEGTNVHEAQNILTNSGLPITSAVDLED"
+                                                   "AAKKAVASVTKK"))
+
+        trg_seqres_mapping = {"A": "1",
+                              "B": "2"}
+
+        # we simply check if the parameters are propagated to the chain mapper
+        sc = ligand_scoring_scrmsd.SCRMSDScorer(mdl, trg, mdl_lig, trg_lig,
+                                                seqres=seqres,
+                                                trg_seqres_mapping=trg_seqres_mapping,
+                                                resnum_alignments=True)
+        self.assertFalse(sc._chain_mapper.seqres is None)
+        self.assertFalse(sc._chain_mapper.trg_seqres_mapping is None)
+        sc = ligand_scoring_lddtpli.LDDTPLIScorer(mdl, trg, mdl_lig, trg_lig,
+                                                  seqres=seqres,
+                                                  trg_seqres_mapping=trg_seqres_mapping,
+                                                  resnum_alignments=True)
+        self.assertFalse(sc._chain_mapper.seqres is None)
+        self.assertFalse(sc._chain_mapper.trg_seqres_mapping is None)
+
 
 if __name__ == "__main__":
     from ost import testutils
diff --git a/modules/mol/alg/tests/test_scoring.py b/modules/mol/alg/tests/test_scoring.py
index 162808afce53669e169df279c1a05e4efcd28ef1..27bf83231933b5c1e712465b3ab5d169448e8b5f 100644
--- a/modules/mol/alg/tests/test_scoring.py
+++ b/modules/mol/alg/tests/test_scoring.py
@@ -1,6 +1,6 @@
 import unittest, os, sys
 import ost
-from ost import io, mol, geom
+from ost import io, mol, geom, seq
 # check if we can import: fails if numpy or scipy not available
 try:
   from ost.mol.alg.scoring import *
@@ -234,6 +234,49 @@ class TestScorer(unittest.TestCase):
     scorer = Scorer(mdl, trg)
     self.assertAlmostEqual(scorer.tm_score, 0.711, 3)
 
+  def test_scorer_seqres(self):
+    mdl = _LoadFile("1eud_mdl_partial-dimer.pdb")
+    trg = _LoadFile("1eud_ref.pdb")
+    scorer = Scorer(mdl, trg)
+    self.assertTrue(scorer.chain_mapper.seqres is None)
+    self.assertTrue(scorer.chain_mapper.trg_seqres_mapping is None)
+
+    seqres = seq.CreateSequenceList()
+    seqres.AddSequence(seq.CreateSequence("1", "MAIRHCSYTASRKHLYVDKNTKVICQGFTGK"
+                                               "QGTFHSQQALEYGTNLVGGTTPGKGGKTHLGL"
+                                               "PVFNTVKEAKEQTGATASVIYVPPPFAAAAIN"
+                                               "EAIDAEVPLVVCITEGIPQQDMVRVKHRLLRQ"
+                                               "GKTRLIGPNCPGVINPGECKIGIMPGHIHKKG"
+                                               "RIGIVSRSGTLTYEAVHQTTQVGLGQSLCVGI"
+                                               "GGDPFNGTDFTDCLEIFLNDPATEGIILIGEI"
+                                               "GGNAEENAAEFLKQHNSGPKSKPVVSFIAGLT"
+                                               "APPGRRMGHAGAIIAGGKGGAKEKITALQSAG"
+                                               "VVVSMSPAQLGTTIYKEFEKRKML"))
+    seqres.AddSequence(seq.CreateSequence("2", "MVNLQEYQSKKLMSDNGVKVQRFFVADTANEA"
+                                               "LEAAKRLNAKEIVLKAQILAGGRGKGVFSSGL"
+                                               "KGGVHLTKDPEVVGQLAKQMIGYNLATKQTPK"
+                                               "EGVKVNKVMVAEALDISRETYLAILMDRSCNG"
+                                               "PVLVGSPQGGVDIEEVAASNPELIFKEQIDII"
+                                               "EGIKDSQAQRMAENLGFLGPLQNQAADQIKKL"
+                                               "YNLFLKIDATQVEVNPFGETPEGQVVCFDAKI"
+                                               "NFDDNAEFRQKDIFAMDDKSENEPIENEAAKY"
+                                               "DLKYIGLDGNIACFVNGAGLAMATCDIIFLNG"
+                                               "GKPANFLDLGGGVKESQVYQAFKLLTADPKVE"
+                                               "AILVNIFGGIVNCAIIANGITKACRELELKVP"
+                                               "LVVRLEGTNVHEAQNILTNSGLPITSAVDLED"
+                                               "AAKKAVASVTKK"))
+
+    trg_seqres_mapping = {"A": "1",
+                          "B": "2"}
+
+    # we simply check if the parameters are propagated to the chain mapper
+    scorer = Scorer(mdl, trg, seqres=seqres,
+                    trg_seqres_mapping=trg_seqres_mapping,
+                    resnum_alignments=True)
+    self.assertFalse(scorer.chain_mapper.seqres is None)
+    self.assertFalse(scorer.chain_mapper.trg_seqres_mapping is None)
+
+
 if __name__ == "__main__":
   from ost import testutils
   if testutils.DefaultCompoundLibIsSet():