Skip to content
Snippets Groups Projects
Commit 65ba012f authored by Studer Gabriel's avatar Studer Gabriel
Browse files

scoring bugfix

guard for the rare case when stereochemistry checks remove a whole chain
parent 55fb3da4
No related branches found
No related tags found
No related merge requests found
...@@ -799,21 +799,25 @@ class Scorer: ...@@ -799,21 +799,25 @@ class Scorer:
trg_nuc_chains = [s.GetName() for s in self.chain_mapper.polynuc_seqs] trg_nuc_chains = [s.GetName() for s in self.chain_mapper.polynuc_seqs]
trg_pep_chains = set(trg_pep_chains) trg_pep_chains = set(trg_pep_chains)
trg_nuc_chains = set(trg_nuc_chains) trg_nuc_chains = set(trg_nuc_chains)
alns = dict() lddt_alns = dict()
lddt_chain_mapping = dict()
for mdl_ch, trg_ch in flat_mapping.items(): for mdl_ch, trg_ch in flat_mapping.items():
if trg_ch in trg_pep_chains: if mdl_ch in mdl_seqs and trg_ch in trg_seqs:
stype = mol.ChemType.AMINOACIDS if trg_ch in trg_pep_chains:
elif trg_ch in trg_nuc_chains: stype = mol.ChemType.AMINOACIDS
stype = mol.ChemType.NUCLEOTIDES elif trg_ch in trg_nuc_chains:
else: stype = mol.ChemType.NUCLEOTIDES
raise RuntimeError("Chain name inconsistency... ask Gabriel") else:
alns[mdl_ch] = self.chain_mapper.Align(trg_seqs[trg_ch], raise RuntimeError("Chain name inconsistency... ask "
mdl_seqs[mdl_ch], "Gabriel")
stype) lddt_alns[mdl_ch] = self.chain_mapper.Align(trg_seqs[trg_ch],
mdl_seqs[mdl_ch],
stype)
lddt_chain_mapping[mdl_ch] = trg_ch
lddt_score = self.lddt_scorer.lDDT(self.stereochecked_model, lddt_score = self.lddt_scorer.lDDT(self.stereochecked_model,
chain_mapping = flat_mapping, chain_mapping = lddt_chain_mapping,
residue_mapping = alns, residue_mapping = lddt_alns,
check_resnames=False, check_resnames=False,
local_lddt_prop="lddt")[0] local_lddt_prop="lddt")[0]
local_lddt = dict() local_lddt = dict()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment