Skip to content

Commit

Permalink
#2744 - Indigo ignores alternate name for templates in MOL v3000
Browse files Browse the repository at this point in the history
Fix code. Add UT
  • Loading branch information
AliaksandrDziarkach committed Feb 3, 2025
1 parent 92e6d1c commit 0d9c78e
Show file tree
Hide file tree
Showing 6 changed files with 2,230 additions and 2 deletions.
1 change: 1 addition & 0 deletions api/tests/integration/ref/formats/mol_to_ket.py.out
Original file line number Diff line number Diff line change
Expand Up @@ -23,5 +23,6 @@ peptides.ket:SUCCEED
removed_phosphate.ket:SUCCEED
rna_mod.ket:SUCCEED
suplabel.ket:SUCCEED
tadfile.ket:SUCCEED
taspoglutide.ket:SUCCEED
thymine.ket:SUCCEED
1 change: 1 addition & 0 deletions api/tests/integration/tests/formats/mol_to_ket.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ def find_diff(a, b):
"1972-case1",
"1972-case2",
"chem_rna_hydro",
"tadfile",
]

files.sort()
Expand Down
328 changes: 328 additions & 0 deletions api/tests/integration/tests/formats/molecules/tadfile.mol
Original file line number Diff line number Diff line change
@@ -0,0 +1,328 @@

-INDIGO-01232511012D

0 0 0 0 0 0 0 0 0 0 0 V3000
M V30 BEGIN CTAB
M V30 COUNTS 22 24 0 0 0
M V30 BEGIN ATOM
M V30 1 R 1.25 -1.25 0.0 0 CLASS=SUGAR SEQID=1 ATTCHORD=(4 2 Cx 5 Br)
M V30 2 I 1.25 -2.75 0.0 0 CLASS=BASE SEQID=1 ATTCHORD=(4 1 Al 11 Ch)
M V30 3 R 4.25 -1.25 0.0 0 CLASS=SUGAR SEQID=2 ATTCHORD=(6 4 Cx 5 Al 8 Br)
M V30 4 I 4.25 -2.75 0.0 0 CLASS=BASE SEQID=2 ATTCHORD=(4 3 Al 14 Ch)
M V30 5 P 2.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=1 ATTCHORD=(4 1 Al 3 Br)
M V30 6 R 7.25 -1.25 0.0 0 CLASS=SUGAR SEQID=3 ATTCHORD=(6 7 Cx 8 Al 10 Br)
M V30 7 I 7.25 -2.75 0.0 0 CLASS=BASE SEQID=3 ATTCHORD=(4 6 Al 17 Ch)
M V30 8 P 5.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=2 ATTCHORD=(4 6 Br 3 Al)
M V30 9 R 10.25 -1.25 0.0 0 CLASS=SUGAR SEQID=4 ATTCHORD=(4 10 Al 21 Cx)
M V30 10 P 8.75 -1.25 0.0 0 CLASS=PHOSPHATE SEQID=3 ATTCHORD=(4 6 Al 9 Br)
M V30 11 C 1.25 -4.25 0.0 0 CLASS=BASE SEQID=1 ATTCHORD=(4 12 Al 2 Ch)
M V30 12 R 1.25 -5.75 0.0 0 CLASS=SUGAR SEQID=1 ATTCHORD=(4 11 Cx 13 Br)
M V30 13 P 2.75 -5.75 0.0 0 CLASS=PHOSPHATE SEQID=1 ATTCHORD=(4 12 Al 15 Br)
M V30 14 U 4.25 -4.25 0.0 0 CLASS=BASE SEQID=2 ATTCHORD=(4 15 Al 4 Ch)
M V30 15 R 4.25 -5.75 0.0 0 CLASS=SUGAR SEQID=2 ATTCHORD=(6 14 Cx 13 Al 16 B-
M V30 r)
M V30 16 P 5.75 -5.75 0.0 0 CLASS=PHOSPHATE SEQID=2 ATTCHORD=(4 18 Br 15 Al)
M V30 17 A 7.25 -4.25 0.0 0 CLASS=BASE SEQID=3 ATTCHORD=(4 18 Al 7 Ch)
M V30 18 R 7.25 -5.75 0.0 0 CLASS=SUGAR SEQID=3 ATTCHORD=(6 17 Cx 19 Br 16 A-
M V30 l)
M V30 19 P 8.75 -5.75 0.0 0 CLASS=PHOSPHATE SEQID=3 ATTCHORD=(4 18 Al 20 Br)
M V30 20 R 10.25 -5.75 0.0 0 CLASS=SUGAR SEQID=4 ATTCHORD=(4 19 Al 22 Cx)
M V30 21 G 10.25 -2.75 0.0 0 CLASS=BASE SEQID=4 ATTCHORD=(4 9 Al 22 Ch)
M V30 22 U 10.25 -4.25 0.0 0 CLASS=BASE SEQID=4 ATTCHORD=(4 20 Al 21 Ch)
M V30 END ATOM
M V30 BEGIN BOND
M V30 1 1 1 2
M V30 2 1 3 4
M V30 3 1 1 5
M V30 4 1 5 3
M V30 5 1 6 7
M V30 6 1 8 6
M V30 7 1 6 10
M V30 8 1 10 9
M V30 9 1 11 12
M V30 10 1 12 13
M V30 11 10 2 11
M V30 12 1 14 15
M V30 13 1 13 15
M V30 14 10 4 14
M V30 15 1 17 18
M V30 16 1 18 19
M V30 17 1 16 18
M V30 18 10 7 17
M V30 19 1 19 20
M V30 20 1 22 20
M V30 21 1 9 21
M V30 22 10 21 22
M V30 23 1 3 8
M V30 24 1 15 16
M V30 END BOND
M V30 END CTAB
M V30 BEGIN TEMPLATE
M V30 TEMPLATE 1 BASE/Gua/G NATREPLACE=BASE/G
M V30 BEGIN CTAB
M V30 COUNTS 12 13 2 0 0
M V30 BEGIN ATOM
M V30 1 C 1.0354 0.2498 0.0 0
M V30 2 C -0.0792 -0.754 0.0 0
M V30 3 C -1.5057 -0.2906 0.0 0
M V30 4 N -1.8177 1.1766 0.0 0
M V30 5 C -0.7031 2.1804 0.0 0
M V30 6 N 0.7235 1.717 0.0 0
M V30 7 N -2.3871 -1.5034 0.0 0
M V30 8 C -1.5053 -2.7168 0.0 0
M V30 9 N -0.0787 -2.2532 0.0 0
M V30 10 O 2.1768 -0.1209 0.0 0
M V30 11 N -0.9527 3.3542 0.0 0
M V30 12 H -3.5871 -1.5034 0.0 0
M V30 END ATOM
M V30 BEGIN BOND
M V30 1 2 1 10
M V30 2 1 1 6
M V30 3 1 1 2
M V30 4 1 9 2
M V30 5 2 2 3
M V30 6 1 7 3
M V30 7 1 3 4
M V30 8 2 4 5
M V30 9 1 5 6
M V30 10 1 5 11
M V30 11 1 7 8
M V30 12 1 7 12
M V30 13 2 8 9
M V30 END BOND
M V30 BEGIN SGROUP
M V30 1 SUP 1 ATOMS=(1 12) XBONDS=(1 12) BRKXYZ=(9 0.600000 0.000000 0.00000-
M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS-
M V30 =LGRP
M V30 2 SUP 2 ATOMS=(11 1 2 3 4 5 6 7 8 9 10 11) XBONDS=(1 12) BRKXYZ=(9 -0.-
M V30 600000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -
M V30 0.000000) LABEL=G CLASS=BASE SAP=(3 7 12 Al) SAP=(3 11 0 Ch) SAP=(3 6 0 Ch) SAP=(3 10 0 Ch) NATREPLACE=BASE/G
M V30 END SGROUP
M V30 END CTAB
M V30 TEMPLATE 2 BASE/Ade/A NATREPLACE=BASE/A
M V30 BEGIN CTAB
M V30 COUNTS 11 12 2 0 0
M V30 BEGIN ATOM
M V30 1 C 1.0354 0.2498 0.0 0
M V30 2 C -0.0792 -0.754 0.0 0
M V30 3 C -1.5057 -0.2906 0.0 0
M V30 4 N -1.8177 1.1766 0.0 0
M V30 5 C -0.7031 2.1804 0.0 0
M V30 6 N 0.7235 1.717 0.0 0
M V30 7 N -2.3871 -1.5034 0.0 0
M V30 8 C -1.5053 -2.7168 0.0 0
M V30 9 N -0.0787 -2.2532 0.0 0
M V30 10 N 2.1768 -0.1209 0.0 0
M V30 11 H -3.5871 -1.5034 0.0 0
M V30 END ATOM
M V30 BEGIN BOND
M V30 1 1 1 10
M V30 2 2 1 6
M V30 3 1 1 2
M V30 4 1 9 2
M V30 5 2 2 3
M V30 6 1 7 3
M V30 7 1 3 4
M V30 8 2 4 5
M V30 9 1 5 6
M V30 10 1 7 8
M V30 11 1 7 11
M V30 12 2 8 9
M V30 END BOND
M V30 BEGIN SGROUP
M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 11) BRKXYZ=(9 0.600000 0.000000 0.00000-
M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS-
M V30 =LGRP
M V30 2 SUP 2 ATOMS=(10 1 2 3 4 5 6 7 8 9 10) XBONDS=(1 11) BRKXYZ=(9 -0.600-
M V30 000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.0-
M V30 00000) LABEL=A CLASS=BASE SAP=(3 7 11 Al) SAP=(3 5 0 Ch) SAP=(3 6 0 Ch) SAP=(3 10 0 Ch) NATREPLACE=BASE/A
M V30 END SGROUP
M V30 END CTAB
M V30 TEMPLATE 3 BASE/Cyt/C NATREPLACE=BASE/C
M V30 BEGIN CTAB
M V30 COUNTS 9 9 2 0 0
M V30 BEGIN ATOM
M V30 1 C 1.8617 1.3499 0.0 0
M V30 2 C 1.1117 2.6489 0.0 0
M V30 3 C -0.3882 2.649 0.0 0
M V30 4 N -1.1382 1.35 0.0 0
M V30 5 C -0.3883 0.0509 0.0 0
M V30 6 N 1.1117 0.0509 0.0 0
M V30 7 N 3.0618 1.3499 0.0 0
M V30 8 O -0.9884 -0.9883 0.0 0
M V30 9 H -2.3383 1.35 0.0 0
M V30 END ATOM
M V30 BEGIN BOND
M V30 1 1 1 2
M V30 2 2 1 6
M V30 3 1 1 7
M V30 4 2 2 3
M V30 5 1 3 4
M V30 6 1 4 5
M V30 7 1 4 9
M V30 8 1 5 6
M V30 9 2 5 8
M V30 END BOND
M V30 BEGIN SGROUP
M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 -
M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L-
M V30 GRP
M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0-
M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) -
M V30 LABEL=C CLASS=BASE SAP=(3 4 9 Al) SAP=(3 8 0 Ch) SAP=(3 6 0 Ch) SAP=(3 7 0 Ch) NATREPLACE=BASE/C
M V30 END SGROUP
M V30 END CTAB
M V30 TEMPLATE 4 PHOSPHATE/P/P NATREPLACE=PHOSPHATE/P
M V30 BEGIN CTAB
M V30 COUNTS 5 4 3 0 0
M V30 BEGIN ATOM
M V30 1 P -0.2399 0.0 0.0 0
M V30 2 O -1.4399 0.0 0.0 0
M V30 3 O 0.3598 -1.0394 0.0 0
M V30 4 O 0.9601 0.0 0.0 0
M V30 5 O 0.3598 1.0394 0.0 0
M V30 END ATOM
M V30 BEGIN BOND
M V30 1 1 1 2
M V30 2 2 1 3
M V30 3 1 1 4
M V30 4 1 1 5
M V30 END BOND
M V30 BEGIN SGROUP
M V30 1 SUP 1 ATOMS=(1 2) XBONDS=(1 1) BRKXYZ=(9 0.600000 0.000000 0.000000 -
M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=-
M V30 LGRP
M V30 2 SUP 2 ATOMS=(1 4) XBONDS=(1 3) BRKXYZ=(9 -0.600000 0.000000 0.000000-
M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS-
M V30 =LGRP
M V30 3 SUP 3 ATOMS=(3 1 3 5) XBONDS=(2 1 3) BRKXYZ=(9 -0.600000 0.000000 0.-
M V30 000000 0.600000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=P -
M V30 CLASS=PHOSPHATE SAP=(3 1 2 Al) SAP=(3 1 4 Br) NATREPLACE=PHOSPHATE/P
M V30 END SGROUP
M V30 END CTAB
M V30 TEMPLATE 5 SUGAR/Rib/R NATREPLACE=SUGAR/R
M V30 BEGIN CTAB
M V30 COUNTS 12 12 4 0 0
M V30 BEGIN ATOM
M V30 1 O -1.1017 -1.0663 0.0 0
M V30 2 C -0.5897 0.3436 0.0 0 CFG=1
M V30 3 C 0.0809 -1.9889 0.0 0 CFG=2
M V30 4 C 0.9095 0.2924 0.0 0 CFG=2
M V30 5 C 1.3239 -1.1493 0.0 0 CFG=1
M V30 6 O 1.8285 1.4755 0.0 0
M V30 7 O 2.4518 -1.5589 0.0 0
M V30 8 C -1.431 1.5834 0.0 0
M V30 9 O 0.0399 -3.1881 0.0 0
M V30 10 O -2.9279 1.4755 0.0 0
M V30 11 H -3.6017 2.4684 0.0 0
M V30 12 H 3.0174 1.3125 0.0 0
M V30 END ATOM
M V30 BEGIN BOND
M V30 1 1 1 2
M V30 2 1 1 3
M V30 3 1 2 4
M V30 4 1 2 8 CFG=3
M V30 5 1 3 5
M V30 6 1 3 9 CFG=3
M V30 7 1 4 5
M V30 8 1 4 6 CFG=1
M V30 9 1 5 7 CFG=1
M V30 10 1 6 12
M V30 11 1 8 10
M V30 12 1 10 11
M V30 END BOND
M V30 BEGIN COLLECTION
M V30 MDLV30/STEABS ATOMS=(4 2 3 4 5)
M V30 END COLLECTION
M V30 BEGIN SGROUP
M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 12) BRKXYZ=(9 0.336900 -0.496450 0.0000-
M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS-
M V30 S=LGRP
M V30 2 SUP 2 ATOMS=(1 12) XBONDS=(1 10) BRKXYZ=(9 -0.594450 0.081500 0.0000-
M V30 00 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLAS-
M V30 S=LGRP
M V30 3 SUP 3 ATOMS=(1 9) XBONDS=(1 6) BRKXYZ=(9 0.020500 0.599600 0.000000 -
M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=OH CLASS=-
M V30 LGRP
M V30 4 SUP 4 ATOMS=(9 1 2 3 4 5 6 7 8 10) XBONDS=(3 6 10 12) BRKXYZ=(9 -0.0-
M V30 20500 -0.599600 0.000000 0.594450 -0.081500 0.000000 0.000000 0.000000-
M V30 0.000000) BRKXYZ=(9 -0.336900 0.496450 0.000000 0.000000 0.000000 0.0-
M V30 00000 0.000000 0.000000 0.000000) LABEL=R CLASS=SUGAR SAP=(3 10 11 Al)-
M V30 SAP=(3 6 12 Br) SAP=(3 3 9 Cx) NATREPLACE=SUGAR/R
M V30 END SGROUP
M V30 END CTAB
M V30 TEMPLATE 6 BASE/Ura/U NATREPLACE=BASE/U
M V30 BEGIN CTAB
M V30 COUNTS 9 9 2 0 0
M V30 BEGIN ATOM
M V30 1 C 1.8617 1.3499 0.0 0
M V30 2 C 1.1117 0.0509 0.0 0
M V30 3 C -0.3883 0.0509 0.0 0
M V30 4 N -1.1382 1.35 0.0 0
M V30 5 C -0.3882 2.649 0.0 0
M V30 6 N 1.1117 2.6489 0.0 0
M V30 7 O 3.0618 1.3499 0.0 0
M V30 8 O -0.9882 3.6882 0.0 0
M V30 9 H -2.3383 1.35 0.0 0
M V30 END ATOM
M V30 BEGIN BOND
M V30 1 2 1 7
M V30 2 1 1 6
M V30 3 1 1 2
M V30 4 2 2 3
M V30 5 1 3 4
M V30 6 1 4 5
M V30 7 1 4 9
M V30 8 2 5 8
M V30 9 1 5 6
M V30 END BOND
M V30 BEGIN SGROUP
M V30 1 SUP 1 ATOMS=(1 9) XBONDS=(1 7) BRKXYZ=(9 0.600050 0.000000 0.000000 -
M V30 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS=L-
M V30 GRP
M V30 2 SUP 2 ATOMS=(8 1 2 3 4 5 6 7 8) XBONDS=(1 7) BRKXYZ=(9 -0.600050 0.0-
M V30 00000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) -
M V30 LABEL=U CLASS=BASE SAP=(3 4 9 Al) SAP=(3 8 0 Ch) SAP=(3 6 0 Ch) SAP=(3 7 0 Ch) NATREPLACE=BASE/U
M V30 END SGROUP
M V30 END CTAB
M V30 TEMPLATE 7 BASE/Ind/I NATREPLACE=BASE/U
M V30 BEGIN CTAB
M V30 COUNTS 11 12 2 0 0
M V30 BEGIN ATOM
M V30 1 C 1.0354 0.2498 0.0 0
M V30 2 C -0.0792 -0.754 0.0 0
M V30 3 C -1.5057 -0.2906 0.0 0
M V30 4 N -1.8177 1.1766 0.0 0
M V30 5 C -0.7031 2.1804 0.0 0
M V30 6 N 0.7235 1.717 0.0 0
M V30 7 N -2.3871 -1.5034 0.0 0
M V30 8 C -1.5053 -2.7168 0.0 0
M V30 9 N -0.0787 -2.2532 0.0 0
M V30 10 O 2.1768 -0.1209 0.0 0
M V30 11 H -3.5871 -1.5034 0.0 0
M V30 END ATOM
M V30 BEGIN BOND
M V30 1 2 1 10
M V30 2 1 1 6
M V30 3 1 1 2
M V30 4 1 9 2
M V30 5 2 2 3
M V30 6 1 7 3
M V30 7 1 3 4
M V30 8 2 4 5
M V30 9 1 5 6
M V30 10 1 7 8
M V30 11 1 7 11
M V30 12 2 8 9
M V30 END BOND
M V30 BEGIN SGROUP
M V30 1 SUP 1 ATOMS=(1 11) XBONDS=(1 11) BRKXYZ=(9 0.600000 0.000000 0.00000-
M V30 0 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000) LABEL=H CLASS-
M V30 =LGRP
M V30 2 SUP 2 ATOMS=(10 1 2 3 4 5 6 7 8 9 10) XBONDS=(1 11) BRKXYZ=(9 -0.-
M V30 600000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 -
M V30 0.000000) LABEL=I CLASS=BASE SAP=(3 7 11 Al) SAP=(3 6 0 Ch) SAP=(3 10 0 Ch) NATREPLACE=BASE/G
M V30 END SGROUP
M V30 END CTAB
M V30 END TEMPLATE
M END
Loading

0 comments on commit 0d9c78e

Please sign in to comment.