Skip to content

Commit

Permalink
#2412 - User can't correctly save (or make a layout) to RDF/RXN react…
Browse files Browse the repository at this point in the history
…ion several products or with separate positioned molecules (#2717)
  • Loading branch information
even1024 authored Feb 18, 2025
1 parent 62e515e commit 9132b83
Show file tree
Hide file tree
Showing 85 changed files with 17,029 additions and 1,283 deletions.
1 change: 1 addition & 0 deletions api/tests/integration/ref/formats/ket_to_ket.py.out
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ ambiguous_monomer.ket mol loadQueryMolecule: SUCCEED
monomer_shape.ket doc loadKetDocument: SUCCEED
monomer_shape.ket mol loadMolecule: SUCCEED
monomer_shape.ket mol loadQueryMolecule: SUCCEED
multi_merge4.ket:SUCCEED
8 changes: 8 additions & 0 deletions api/tests/integration/ref/formats/ket_to_rdf.py.out
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
*** KET to RDF ***
2404-metadata_detect.rdf:SUCCEED
multi.rdf:SUCCEED
multi_merge1.rdf:SUCCEED
multi_merge2.rdf:SUCCEED
multi_merge3.rdf:SUCCEED
multi_merge4.rdf:SUCCEED
multi_merge5.rdf:SUCCEED
multi_merge6.rdf:SUCCEED
pathway1.rdf:SUCCEED
pathway10.rdf:SUCCEED
pathway11.rdf:SUCCEED
Expand All @@ -13,3 +19,5 @@ pathway6.rdf:SUCCEED
pathway7.rdf:SUCCEED
pathway8.rdf:SUCCEED
pathway9.rdf:SUCCEED
pathway_merge1.rdf:SUCCEED
pathway_merge2.rdf:SUCCEED
13 changes: 13 additions & 0 deletions api/tests/integration/ref/formats/ket_to_rxn.py.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
*** KET to RXN ***
merge_test1.rxn:SUCCEED
merge_test1a.rxn:SUCCEED
merge_test2.rxn:SUCCEED
merge_test2a.rxn:SUCCEED
merge_test3.rxn:SUCCEED
merge_test3a.rxn:SUCCEED
merge_test4.rxn:SUCCEED
merge_test5.rxn:SUCCEED
merge_test6.rxn:SUCCEED
merge_test7.rxn:SUCCEED
merge_test8.rxn:SUCCEED
merge_test9.rxn:SUCCEED
23 changes: 23 additions & 0 deletions api/tests/integration/tests/formats/ket_to_ket.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ def find_diff(a, b):

root = joinPathPy("molecules/", __file__)
ref_path = joinPathPy("ref/", __file__)
root_rea = joinPathPy("reactions/", __file__)

files = [
"images",
Expand Down Expand Up @@ -73,3 +74,25 @@ def check_res(filename, format, ket_ref, ket):
# file.write(mol.json())
ket = mol.json()
check_res(filename, format + " " + loader.__name__, ket_ref, ket)

files = [
"multi_merge4",
]

files.sort()
for filename in files:
rea = indigo.loadReactionFromFile(
os.path.join(root_rea, filename + ".ket")
)

# with open(os.path.join(ref_path, filename) + ".ket", "w") as file:
# file.write(rea.json())
with open(os.path.join(ref_path, filename) + ".ket", "r") as file:
ket_ref = file.read()
ket = rea.json()
diff = find_diff(ket_ref, ket)
if not diff:
print(filename + ".ket:SUCCEED")
else:
print(filename + ".ket:FAILED")
print(diff)
10 changes: 9 additions & 1 deletion api/tests/integration/tests/formats/ket_to_rdf.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,14 @@ def find_diff(a, b):
"pathway10",
"pathway11",
"pathway12",
"pathway_merge1",
"pathway_merge2",
"multi_merge1",
"multi_merge2",
"multi_merge3",
"multi_merge4",
"multi_merge5",
"multi_merge6",
]

files.sort()
Expand All @@ -64,7 +72,7 @@ def find_diff(a, b):
rdf = buffer.toString()

# with open(os.path.join(ref_path, filename) + ".rdf", "w") as file:
# file.write(rdf)
# file.write(rdf)

with open(os.path.join(ref_path, filename) + ".rdf", "r") as file:
rdf_ref = file.read()
Expand Down
56 changes: 56 additions & 0 deletions api/tests/integration/tests/formats/ket_to_rxn.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
import difflib
import os
import sys


def find_diff(a, b):
return "\n".join(difflib.unified_diff(a.splitlines(), b.splitlines()))


sys.path.append(
os.path.normpath(
os.path.join(os.path.abspath(__file__), "..", "..", "..", "common")
)
)
from env_indigo import Indigo, joinPathPy # noqa

indigo = Indigo()
indigo.setOption("json-saving-pretty", True)
indigo.setOption("ignore-stereochemistry-errors", True)
indigo.setOption("molfile-saving-skip-date", True)

print("*** KET to RXN ***")

root = joinPathPy("reactions/", __file__)
ref_path = joinPathPy("ref/", __file__)

files = [
"merge_test1",
"merge_test1a",
"merge_test2",
"merge_test2a",
"merge_test3",
"merge_test3a",
"merge_test4",
"merge_test5",
"merge_test6",
"merge_test7",
"merge_test8",
"merge_test9",
]

files.sort()
for filename in files:
rea = indigo.loadReactionFromFile(os.path.join(root, filename + ".ket"))

# with open(os.path.join(ref_path, filename) + ".rxn", "w") as file:
# file.write(rea.rxnfile())
with open(os.path.join(ref_path, filename) + ".rxn", "r") as file:
rxn_ref = file.read()
rxn = rea.rxnfile()
diff = find_diff(rxn_ref, rxn)
if not diff:
print(filename + ".rxn:SUCCEED")
else:
print(filename + ".rxn:FAILED")
print(diff)
58 changes: 29 additions & 29 deletions api/tests/integration/tests/formats/reactions/ket_retro_arrow.ket
Original file line number Diff line number Diff line change
Expand Up @@ -31,34 +31,26 @@
"type": "molecule",
"atoms": [
{
"label": "C",
"location": [
1.366025,
-0.75,
0.0
]
},
{
"label": "C",
"label": "O",
"location": [
1.366025,
5.232051,
0.25,
0.0
]
},
{
"label": "C",
"location": [
0.5,
0.75,
6.098076,
-0.25,
0.0
]
},
{
"label": "N",
"label": "O",
"location": [
2.232051,
0.75,
6.964102,
0.25,
0.0
]
}
Expand All @@ -77,40 +69,41 @@
1,
2
]
},
{
"type": 1,
"atoms": [
1,
3
]
}
]
},
"mol1": {
"type": "molecule",
"atoms": [
{
"label": "O",
"label": "C",
"location": [
5.232051,
1.366025,
-0.75,
0.0
]
},
{
"label": "C",
"location": [
1.366025,
0.25,
0.0
]
},
{
"label": "C",
"location": [
6.098076,
-0.25,
0.5,
0.75,
0.0
]
},
{
"label": "O",
"label": "N",
"location": [
6.964102,
0.25,
2.232051,
0.75,
0.0
]
}
Expand All @@ -129,6 +122,13 @@
1,
2
]
},
{
"type": 1,
"atoms": [
1,
3
]
}
]
}
Expand Down
Loading

0 comments on commit 9132b83

Please sign in to comment.