Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#1970 - New text entities in KET-format #2093

Open
wants to merge 139 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
139 commits
Select commit Hold shift + click to select a range
439a9b8
ket text step1
even1024 May 26, 2024
693f21e
ket text step2
even1024 May 26, 2024
82222c2
ket text step3
even1024 May 26, 2024
61e04e0
ket text step4
even1024 May 26, 2024
15b6e3d
ket text step5
even1024 May 27, 2024
f931c8d
ket text step6
even1024 May 29, 2024
20d8abd
ket text step7
even1024 Jun 1, 2024
76a7d20
ket text step8
even1024 Jun 2, 2024
366fdb6
ket text step9
even1024 Jun 7, 2024
b7d9574
conflict fix
even1024 Jul 2, 2024
54bc06f
conflict fix
even1024 Jul 2, 2024
5533d1b
text ket
even1024 Jul 3, 2024
45f54ab
ket text step11
even1024 Jul 8, 2024
0dc4f8f
Merge branch 'master' of github.com:epam/Indigo into 1967-new-ket-text
even1024 Jul 8, 2024
87f83df
ket text step11
even1024 Jul 8, 2024
b468117
ket text step11
even1024 Jul 8, 2024
a500c3f
ket text step11
even1024 Jul 8, 2024
d7891e7
ket text step11
even1024 Jul 8, 2024
f16ada2
ket text step11
even1024 Jul 8, 2024
a1bf896
ket text step11
even1024 Jul 8, 2024
65d03ab
ket text step11
even1024 Jul 8, 2024
578be0a
ket text step11
even1024 Jul 9, 2024
c864063
no errors
even1024 Jul 14, 2024
0c2d403
Merge branch 'master' of github.com:epam/Indigo into 1961-new-ket-text
even1024 Jul 14, 2024
6fc9241
cr
even1024 Feb 23, 2024
2573be6
line cr
even1024 Feb 23, 2024
3bfa39f
tests fix
even1024 Jul 14, 2024
8f8a896
tests fix
even1024 Jul 14, 2024
35cad15
tests fix
even1024 Jul 18, 2024
1d1ddbb
tests fix
even1024 Jul 18, 2024
71cecfd
tests fix
even1024 Jul 18, 2024
a2c885b
text
even1024 Jul 29, 2024
7cb1e6e
conflicts resolve
even1024 Sep 6, 2024
42235e2
merge1
even1024 Dec 9, 2024
c41b45e
Merge commit 'a6ad23ef862ec3bdb8df068d4adc9557db3ac809' into 1970-new…
even1024 Dec 9, 2024
fe43b71
merge2
even1024 Dec 9, 2024
1154481
Merge commit '1727dacc1aa03cb1b6d66cf13a994a1fc452250f' into 1970-new…
even1024 Dec 9, 2024
a014b34
meta
even1024 Dec 9, 2024
c202da1
merge4
even1024 Dec 9, 2024
ba6c31d
merge5
even1024 Dec 10, 2024
b68d830
first step
even1024 Dec 11, 2024
ac2faee
second step
even1024 Dec 15, 2024
53bdce4
third step
even1024 Dec 17, 2024
eaa197b
third step
even1024 Dec 17, 2024
b023bab
Merge branch 'master' of github.com:epam/Indigo into 1970-new-ket-text
even1024 Dec 17, 2024
769456d
third step
even1024 Dec 17, 2024
f9008e0
clang fix
even1024 Dec 17, 2024
0f0e501
clang fix
even1024 Dec 18, 2024
47c0e9b
line starts fix
even1024 Dec 18, 2024
b8c7cb2
line starts fix
even1024 Dec 18, 2024
40638de
line starts fix
even1024 Dec 18, 2024
622fcf0
new ket
even1024 Dec 26, 2024
a8a1d3c
conflict solved
even1024 Feb 19, 2025
5c4c2a4
conflict solved
even1024 Mar 5, 2025
57ef21e
Merge branch 'master' of github.com:epam/Indigo into 1970-new-ket-text
even1024 Mar 5, 2025
40deb1f
conflict solved
even1024 Mar 5, 2025
b25f273
conflict solved
even1024 Mar 5, 2025
2a784b6
conflict solved
even1024 Mar 5, 2025
ed5e7e7
test fixed
even1024 Mar 6, 2025
ee8309a
test fixed
even1024 Mar 7, 2025
f9d1542
test fixed
even1024 Mar 7, 2025
8a6c254
test fixed
even1024 Mar 7, 2025
b9c2e8e
layouts fixed
even1024 Mar 10, 2025
3c7a18e
layouts fixed
even1024 Mar 10, 2025
02d2595
layouts fixed
even1024 Mar 10, 2025
1deef24
layouts fixed
even1024 Mar 10, 2025
1da35ca
layouts fixed
even1024 Mar 11, 2025
54455a8
layouts fixed
even1024 Mar 11, 2025
5be8593
base indent
even1024 Mar 12, 2025
4ad1262
base indent
even1024 Mar 12, 2025
4db9c57
base indent
even1024 Mar 12, 2025
200c6bc
base indent
even1024 Mar 12, 2025
efc4904
Merge branch 'master' of github.com:epam/Indigo into 1970-new-ket-text
even1024 Mar 12, 2025
5c25543
base indent
even1024 Mar 13, 2025
35e5257
brackets fix
even1024 Mar 13, 2025
f36fa53
clang fix
even1024 Mar 13, 2025
6bceaf7
tiny xml fix
even1024 Mar 13, 2025
1cecf6a
tests fix
even1024 Mar 13, 2025
9484564
tests fix
even1024 Mar 13, 2025
75349ac
tests fix
even1024 Mar 13, 2025
2f9713e
tests fix
even1024 Mar 13, 2025
249038b
tests fix
even1024 Mar 13, 2025
b934130
tests fix
even1024 Mar 14, 2025
9371b69
tests fix
even1024 Mar 14, 2025
6effa4a
tests fix
even1024 Mar 14, 2025
8ea340c
tests fix
even1024 Mar 14, 2025
e1433bf
tests fix
even1024 Mar 14, 2025
b11e6b4
tests fix
even1024 Mar 14, 2025
a571f19
tests fix
even1024 Mar 14, 2025
b9a565e
tests fix
even1024 Mar 14, 2025
15692af
tests fix
even1024 Mar 17, 2025
265254e
tests fix
even1024 Mar 17, 2025
91520a0
tests fix
even1024 Mar 17, 2025
11e1df4
tests fix
even1024 Mar 17, 2025
94883fc
tests fix
even1024 Mar 17, 2025
646636b
tests fix
even1024 Mar 17, 2025
2e11dc0
tests fix
even1024 Mar 17, 2025
854c13f
tests fix
even1024 Mar 17, 2025
56b4a02
tests fix
even1024 Mar 17, 2025
b1700c7
color table fix
even1024 Mar 20, 2025
c811f85
color table fix
even1024 Mar 20, 2025
94851fe
color table fix
even1024 Mar 20, 2025
b8622c7
color table fix
even1024 Mar 20, 2025
265c377
color table fix
even1024 Mar 20, 2025
1f969a7
color table fix
even1024 Mar 20, 2025
6d6298b
color table fix
even1024 Mar 20, 2025
77e53a5
color table fix
even1024 Mar 20, 2025
8caef83
color table fix
even1024 Mar 20, 2025
8d11d7b
color table fix
even1024 Mar 21, 2025
056dce0
color table fix
even1024 Mar 21, 2025
21b11db
color table fix
even1024 Mar 21, 2025
c7aa67d
cdx export
even1024 Mar 25, 2025
3ceab03
working
even1024 Mar 25, 2025
84068ad
working
even1024 Mar 25, 2025
ac9e18c
fix
even1024 Mar 26, 2025
98226fa
fix
even1024 Mar 26, 2025
71ad9fb
fix
even1024 Mar 26, 2025
b77a5fd
fix
even1024 Mar 26, 2025
3ae3007
fix
even1024 Mar 26, 2025
502bdfe
fix
even1024 Apr 2, 2025
6f8a774
Merge branch 'master' of github.com:epam/Indigo into 1970-new-ket-text
even1024 Apr 2, 2025
8f6772e
fix
even1024 Apr 2, 2025
94e1b29
tests fix
even1024 Apr 2, 2025
bb1fe82
tests fix
even1024 Apr 2, 2025
cabd547
fix
even1024 Apr 2, 2025
4720db5
fix
even1024 Apr 2, 2025
9b1b33c
fix
even1024 Apr 3, 2025
1fe094a
fix
even1024 Apr 3, 2025
5c7bf69
Merge branch 'master' of github.com:epam/Indigo into 1970-new-ket-text
even1024 Apr 3, 2025
7b94e4b
fix
even1024 Apr 3, 2025
45d9584
fix
even1024 Apr 3, 2025
e262e27
fix
even1024 Apr 3, 2025
99eb035
fix
even1024 Apr 4, 2025
9225925
offset fix
even1024 Apr 7, 2025
39783e1
comments fix
even1024 Apr 10, 2025
e85c225
comments fix
even1024 Apr 10, 2025
d7a33ff
ellipse fix
even1024 Apr 10, 2025
051861d
ellipse fix
even1024 Apr 10, 2025
10fbe2c
tests
even1024 Apr 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions api/c/indigo/src/indigo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ void Indigo::init()
deco_save_ap_bond_orders = false;
deco_ignore_errors = true;
molfile_saving_mode = 0;
ket_saving_version = {1, 0, 0};
dearomatize_on_load = false;
smiles_saving_format = SmilesSaver::SMILES_MODE::SMILES_CHEMAXON;
molfile_saving_no_chiral = false;
Expand Down Expand Up @@ -205,12 +206,14 @@ void Indigo::initMoleculeJsonSaver(MoleculeJsonSaver& saver)
saver.add_stereo_desc = json_saving_add_stereo_desc;
saver.pretty_json = json_saving_pretty;
saver.use_native_precision = json_use_native_precision;
saver.ket_version = ket_saving_version;
}

void Indigo::initReactionJsonSaver(ReactionJsonSaver& saver) const
{
saver.add_stereo_desc = json_saving_add_stereo_desc;
saver.pretty_json = json_saving_pretty;
saver.ket_version = ket_saving_version;
saver.layout_options = layout_options;
saver.use_native_precision = json_use_native_precision;
}
Expand Down
3 changes: 3 additions & 0 deletions api/c/indigo/src/indigo_internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,13 @@
#include "molecule/molecule_fingerprint.h"
#include "molecule/molecule_gross_formula.h"
#include "molecule/molecule_ionize.h"
#include "molecule/molecule_json_saver.h"
#include "molecule/molecule_mass_options.h"
#include "molecule/molecule_standardize_options.h"
#include "molecule/molecule_stereocenter_options.h"
#include "molecule/molecule_tautomer.h"
#include "molecule/smiles_saver.h"

#include "option_manager.h"

/* When Indigo internal code is used dynamically the INDIGO_VERSION define
Expand Down Expand Up @@ -321,6 +323,7 @@ class DLLEXPORT Indigo
bool deco_ignore_errors;

int molfile_saving_mode; // MolfileSaver::MODE_***, default is zero
KETVersion ket_saving_version;
bool dearomatize_on_load;
SmilesSaver::SMILES_MODE smiles_saving_format;
bool molfile_saving_no_chiral;
Expand Down
14 changes: 13 additions & 1 deletion api/c/indigo/src/indigo_options.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@

#include "indigo_internal.h"
#include "molecule/molfile_saver.h"
#include "molecule/smiles_saver.h"

static void setStrValue(const char* source, char* dest, int len)
{
Expand All @@ -39,6 +38,18 @@ static void indigoGetMolfileSavingMode(Array<char>& value)
MolfileSaver::saveFormatMode(self.molfile_saving_mode, value);
}

static void indigoGetJsonSavingVersion(Array<char>& value)
{
Indigo& self = indigoGetInstance();
MoleculeJsonSaver::saveFormatMode(self.ket_saving_version, value);
}

static void indigoSetJsonSavingVersion(const char* version)
{
Indigo& self = indigoGetInstance();
MoleculeJsonSaver::parseFormatMode(version, self.ket_saving_version);
}

static void indigoSetSmilesSavingFormat(const char* mode)
{
Indigo& self = indigoGetInstance();
Expand Down Expand Up @@ -330,6 +341,7 @@ void IndigoOptionHandlerSetter::setBasicOptionHandlers(const qword id)
mgr->setOptionHandlerBool("deco-save-ap-bond-orders", SETTER_GETTER_BOOL_OPTION(indigo.deco_save_ap_bond_orders));
mgr->setOptionHandlerBool("deco-ignore-errors", SETTER_GETTER_BOOL_OPTION(indigo.deco_ignore_errors));
mgr->setOptionHandlerString("molfile-saving-mode", indigoSetMolfileSavingMode, indigoGetMolfileSavingMode);
mgr->setOptionHandlerString("ket-saving-version", indigoSetJsonSavingVersion, indigoGetJsonSavingVersion);
mgr->setOptionHandlerString("smiles-saving-format", indigoSetSmilesSavingFormat, indigoGetSmilesSavingFormat);

mgr->setOptionHandlerInt("molfile-saving-no-chiral", SETTER_GETTER_INT_OPTION(indigo.molfile_saving_no_chiral));
Expand Down
1 change: 0 additions & 1 deletion api/tests/integration/ref/formats/cdx_export.py.out
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ issue_1777:success
agents:success
*** CDXML to CDX ***
AlcoholOxidation_Rxn1:success
AlcoholOxidation_Rxn1:success
AlcoholOxidation_Rxn2:success
Amidation_Rxn1:success
Amidation_Rxn2:success
Expand Down
1,856 changes: 1,399 additions & 457 deletions api/tests/integration/ref/formats/cdx_to_ket.py.out

Large diffs are not rendered by default.

25 changes: 25 additions & 0 deletions api/tests/integration/ref/formats/cdx_to_ket2.py.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
*** CDX to ket ***
US06174985-20010116-C00003.ket:SUCCEED
US06837803-20050104-C00001.ket:SUCCEED
arom64.ket:SUCCEED
arrow64.ket:SUCCEED
CDXML loader: Not a molecule. Found 73 arrows.
*** Try as Reaction ***
arrows.ket:SUCCEED
image.ket:SUCCEED
invalid-ascii.ket:SUCCEED
CDXML loader: Not a molecule. Found 1 arrows.
*** Try as Reaction ***
issue_1679.ket:SUCCEED
CDXML loader: Not a molecule. Found 1 arrows.
*** Try as Reaction ***
issue_1683.ket:SUCCEED
issue_2603.ket:SUCCEED
marvin.ket:SUCCEED
simple_rgrp64.ket:SUCCEED
CDXML loader: Not a molecule. Found 14 arrows.
*** Try as Reaction ***
test_zero_id.ket:SUCCEED
unspecified_with_abbreviation.ket:SUCCEED
x_sup.ket:SUCCEED
x_sup_sub_default_size.ket:SUCCEED
13 changes: 5 additions & 8 deletions api/tests/integration/ref/formats/cdxml_to_mol.py.out
Original file line number Diff line number Diff line change
Expand Up @@ -138,9 +138,9 @@ M SMT 1 OBn
M SAP 1 1 13 0
M SDI 1 4 0.0000 0.0000 0.0000 0.0000
M SDI 1 4 0.0000 0.0000 0.0000 0.0000
M SAL 2 1 28
M SAL 2 2 28 29
M SMT 2 OR
M SAP 2 2 28 0 28 0
M SAP 2 1 28 0
M SDI 2 4 0.0000 0.0000 0.0000 0.0000
M SDI 2 4 0.0000 0.0000 0.0000 0.0000
M SAL 3 2 31 32
Expand Down Expand Up @@ -370,9 +370,8 @@ M SAL 2 2 24 25
M SMT 2 n-Bu4NBr
M SDI 2 4 0.0000 0.0000 0.0000 0.0000
M SDI 2 4 0.0000 0.0000 0.0000 0.0000
M SAL 3 2 26 27
M SAL 3 3 26 27 28
M SMT 3 DCM
M SAP 3 1 27 0
M SDI 3 4 0.0000 0.0000 0.0000 0.0000
M SDI 3 4 0.0000 0.0000 0.0000 0.0000
M END
Expand Down Expand Up @@ -417,14 +416,12 @@ rectangle.cdxml
18 19 1 0 0 0 0
M STY 2 1 SUP 2 SUP
M SLB 2 1 1 2 2
M SAL 1 2 9 10
M SAL 1 3 8 9 10
M SMT 1 HATU
M SAP 1 2 9 0 10 0
M SDI 1 4 0.0000 0.0000 0.0000 0.0000
M SDI 1 4 0.0000 0.0000 0.0000 0.0000
M SAL 2 2 18 19
M SAL 2 3 18 19 20
M SMT 2 DCM
M SAP 2 1 19 0
M SDI 2 4 0.0000 0.0000 0.0000 0.0000
M SDI 2 4 0.0000 0.0000 0.0000 0.0000
M END
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,8 @@ images.png rendering status: OK
test1png.png rendering status: OK
image_first.png rendering status: OK
retro.png rendering status: OK
text_test1.png rendering status: OK
text_test2.png rendering status: OK
text_test3.png rendering status: OK
text_test4.png rendering status: OK
text_test5.png rendering status: OK
1 change: 0 additions & 1 deletion api/tests/integration/tests/formats/cdx_export.py
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,6 @@ def test_file(filename, suffix=".mol"):

root_cdxml = joinPathPy("cdxml/", __file__)
files = [
"AlcoholOxidation_Rxn1",
"AlcoholOxidation_Rxn1",
"AlcoholOxidation_Rxn2",
"Amidation_Rxn1",
Expand Down
68 changes: 68 additions & 0 deletions api/tests/integration/tests/formats/cdx_to_ket2.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
import difflib
import io
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 * # noqa

indigo = Indigo()
indigo.setOption("molfile-saving-skip-date", True)
indigo.setOption("json-saving-pretty", True)
indigo.setOption("ket-saving-version", "2.0.0")

print("*** CDX to ket ***")

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

files = os.listdir(root)
files.sort()
for filename in files:
ket = ""
try:
mol = indigo.loadMoleculeFromFile(os.path.join(root, filename))
ket = mol.json()
except IndigoException as e:
print(getIndigoExceptionText(e))
try:
print("*** Try as Reaction ***")
rct = indigo.loadReactionFromFile(os.path.join(root, filename))
ket = rct.json()

except IndigoException as e:
print("*** Try as Query ***")
qmol = indigo.loadQueryMoleculeFromFile(
os.path.join(root, filename)
)
ket = qmol.json()

# with open(
# os.path.join(ref_path, os.path.splitext(filename)[0]) + ".ket",
# "w",
# encoding="utf-8",
# ) as file:
# file.write(ket)

with io.open(
os.path.join(ref_path, os.path.splitext(filename)[0]) + ".ket",
"r",
encoding="utf-8",
) as file:
ket_ref = file.read()

diff = find_diff(ket_ref, ket)
if not diff:
print(os.path.splitext(filename)[0] + ".ket:SUCCEED")
else:
print(os.path.splitext(filename)[0] + ".ket:FAILED")
print(diff)
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
<b id="27" B="12" E="13"/>
</fragment>
<arrow id="14" BoundingBox="338.250000 174.000000 217.500000 174.750000" FillType="None" ArrowheadType="Solid" HeadSize="2250" ArrowheadWidth="563" ArrowheadHead="Full" ArrowheadCenterSize="25" Head3D="338.250000 174.000000 0.000000" Tail3D="217.500000 174.750000 0.000000"/>
<t id="17" p="222.750000 135.000000" Justification="Left" InterpretChemically="no">
<t id="17" p="222.750000 171.750000" InterpretChemically="no">
<s font="4" size="8.66667" face="0">test13</s>
<s font="4" size="13.3333" face="0">test20</s>
<s font="4" size="26.6667" face="0">test40</s>
Expand Down
10 changes: 5 additions & 5 deletions api/tests/integration/tests/formats/ref/961-text_size.ket
Original file line number Diff line number Diff line change
Expand Up @@ -31,28 +31,28 @@
"content": "{\"blocks\":[{\"text\":\"test13test20test40\",\"inlineStyleRanges\":[{\"offset\":6,\"length\":6,\"style\":\"CUSTOM_FONT_SIZE_20px\"},{\"offset\":12,\"length\":6,\"style\":\"CUSTOM_FONT_SIZE_40px\"}],\"entityRanges\":[],\"data\":{}}],\"entityMap\":{}}",
"position": {
"x": 7.425000190734863,
"y": -4.5,
"y": -5.724999904632568,
"z": 0.0
},
"pos": [
{
"x": 7.425000190734863,
"y": -4.5,
"y": -5.724999904632568,
"z": 0.0
},
{
"x": 7.425000190734863,
"y": -4.5,
"y": -5.724999904632568,
"z": 0.0
},
{
"x": 7.425000190734863,
"y": -4.5,
"y": -5.724999904632568,
"z": 0.0
},
{
"x": 7.425000190734863,
"y": -4.5,
"y": -5.724999904632568,
"z": 0.0
}
]
Expand Down
Loading
Loading