diff --git a/modules/mol/alg/pymod/chain_mapping.py b/modules/mol/alg/pymod/chain_mapping.py index 286b440aa9295bfb2f91c42e0df8218a30922c7a..a7b2f824ff1a7a04e1b53763676d9c1138342270 100644 --- a/modules/mol/alg/pymod/chain_mapping.py +++ b/modules/mol/alg/pymod/chain_mapping.py @@ -1089,6 +1089,9 @@ class ChainMapper: # strip the reference sequence in alignments to only contain # sequence from substructure substructure_ref_mdl_alns = dict() + mdl_views = dict() + for ch in mdl.chains: + mdl_views[ch.GetName()] = mdl.Select(f"cname={ch.GetName()}") for chem_group, mapping in zip(substructure_chem_groups, substructure_chem_mapping): for ref_ch in chem_group: @@ -1104,9 +1107,13 @@ class ChainMapper: tmp[idx_in_seq] = ref_seq[idx_in_seq] ref_seq = seq.CreateSequence(ref_ch, ''.join(tmp)) ref_seq.AttachView(substructure.Select(f"cname={ref_ch}")) + mdl_seq = full_aln.GetSequence(1) + mdl_seq = seq.CreateSequence(mdl_seq.GetName(), + mdl_seq.GetString()) + mdl_seq.AttachView(mdl_views[mdl_ch]) aln = seq.CreateAlignment() aln.AddSequence(ref_seq) - aln.AddSequence(full_aln.GetSequence(1)) + aln.AddSequence(mdl_seq) substructure_ref_mdl_alns[(ref_ch, mdl_ch)] = aln lddt_scorer = lddt.lDDTScorer(substructure,