[Feature] Alias Support (#151)

Fixes #149

Co-authored-by: Tim Lorsbach <tim@lorsba.ch>
Reviewed-on: enviPath/enviPy#151
This commit is contained in:
2025-10-09 23:14:34 +13:00
parent afeb56622c
commit 68a3f3b982
25 changed files with 675 additions and 31 deletions

View File

@ -691,6 +691,7 @@ class PackageManager(object):
struc.uuid = UUID(structure["id"].split("/")[-1]) if keep_ids else uuid4()
struc.name = structure["name"]
struc.description = structure["description"]
struc.aliases = structure.get("aliases", [])
struc.smiles = structure["smiles"]
struc.save()
@ -728,6 +729,7 @@ class PackageManager(object):
r.package = pack
r.name = rule["name"]
r.description = rule["description"]
r.aliases = rule.get("aliases", [])
r.smirks = rule["smirks"]
r.reactant_filter_smarts = rule.get("reactantFilterSmarts", None)
r.product_filter_smarts = rule.get("productFilterSmarts", None)
@ -747,6 +749,7 @@ class PackageManager(object):
r.uuid = UUID(par_rule["id"].split("/")[-1]) if keep_ids else uuid4()
r.name = par_rule["name"]
r.description = par_rule["description"]
r.aliases = par_rule.get("aliases", [])
r.save()
mapping[par_rule["id"]] = r.uuid
@ -766,6 +769,7 @@ class PackageManager(object):
r.uuid = UUID(seq_rule["id"].split("/")[-1]) if keep_ids else uuid4()
r.name = seq_rule["name"]
r.description = seq_rule["description"]
r.aliases = seq_rule.get("aliases", [])
r.save()
mapping[seq_rule["id"]] = r.uuid
@ -791,6 +795,7 @@ class PackageManager(object):
r.uuid = UUID(reaction["id"].split("/")[-1]) if keep_ids else uuid4()
r.name = reaction["name"]
r.description = reaction["description"]
r.aliases = reaction.get("aliases", [])
r.medlinereferences = (reaction["medlinereferences"],)
r.multi_step = True if reaction["multistep"] == "true" else False
r.save()
@ -824,6 +829,7 @@ class PackageManager(object):
pw.uuid = UUID(pathway["id"].split("/")[-1]) if keep_ids else uuid4()
pw.name = pathway["name"]
pw.description = pathway["description"]
pw.aliases = pathway.get("aliases", [])
pw.save()
mapping[pathway["id"]] = pw.uuid
@ -836,6 +842,8 @@ class PackageManager(object):
n = Node()
n.uuid = UUID(node["id"].split("/")[-1]) if keep_ids else uuid4()
n.name = node["name"]
n.description = node.get("description")
n.aliases = node.get("aliases", [])
n.pathway = pw
n.depth = node["depth"]
n.default_node_label = CompoundStructure.objects.get(
@ -862,6 +870,7 @@ class PackageManager(object):
e.name = edge["name"]
e.pathway = pw
e.description = edge["description"]
e.aliases = edge.get("aliases", [])
e.edge_label = Reaction.objects.get(uuid=mapping[edge["edgeLabel"]["id"]])
e.save()