From f3501bf01de7fba3d97741b9389c555f11b0df02 Mon Sep 17 00:00:00 2001 From: Gabriel Studer <gabriel.studer@unibas.ch> Date: Thu, 1 Sep 2022 12:59:13 +0200 Subject: [PATCH] add JSONSummary function to chain_mapping.MappingResult class --- modules/mol/alg/pymod/chain_mapping.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/modules/mol/alg/pymod/chain_mapping.py b/modules/mol/alg/pymod/chain_mapping.py index 1d64e8748..844e0052c 100644 --- a/modules/mol/alg/pymod/chain_mapping.py +++ b/modules/mol/alg/pymod/chain_mapping.py @@ -63,7 +63,7 @@ class MappingResult: @property def mapping(self): - """ Mapping of :attr:`model` chains onto :attr:`~target` + """ Mapping of :attr:`~model` chains onto :attr:`~target` Exact same shape as :attr:`~chem_groups` but containing the names of the mapped chains in :attr:`~model`. May contain None for :attr:`~target` @@ -88,6 +88,21 @@ class MappingResult: """ return self._alns + def JSONSummary(self): + """ Returns JSON serializable summary of results + """ + json_dict = dict() + json_dict["chem_groups"] = self.chem_groups + json_dict["mapping"] = self.mapping + json_dict["alns"] = list() + for aln in self.alns.values(): + trg_seq = aln.GetSequence(0) + mdl_seq = aln.GetSequence(1) + aln_dict = {"trg_ch": trg_seq.GetName(), "trg_seq": str(trg_seq), + "mdl_ch": mdl_seq.GetName(), "mdl_seq": str(mdl_seq)} + json_dict["alns"].append(aln_dict) + return json_dict + class ReprResult: -- GitLab