summaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-01-04 03:02:56 +0000
committerNorbert Preining <norbert@preining.info>2024-01-04 03:02:56 +0000
commitc45a0e15a3f74b963e3c2be142de33c8c8f12588 (patch)
treea7ec0f84bd371896fde6eecb620dfd3d771918ad /graphics
parent92effab22b73c432933e7eb8e12c1cefda221df9 (diff)
CTAN sync 202401040302
Diffstat (limited to 'graphics')
-rw-r--r--graphics/mcf2graph/CHANGELOG14
-rw-r--r--graphics/mcf2graph/README4
-rw-r--r--graphics/mcf2graph/main_lib.mcf1326
-rw-r--r--graphics/mcf2graph/mcf2graph.mp1101
-rw-r--r--graphics/mcf2graph/mcf_exa_soc.mp12
-rw-r--r--graphics/mcf2graph/mcf_example.pdfbin533160 -> 713529 bytes
-rw-r--r--graphics/mcf2graph/mcf_example.tex18
-rw-r--r--graphics/mcf2graph/mcf_manual.pdfbin317381 -> 317421 bytes
-rw-r--r--graphics/mcf2graph/mcf_manual.tex254
-rw-r--r--graphics/mcf2graph/template_lib.mcf5
-rw-r--r--graphics/mcf2graph/template_soc.mp6
11 files changed, 1402 insertions, 1338 deletions
diff --git a/graphics/mcf2graph/CHANGELOG b/graphics/mcf2graph/CHANGELOG
index df27a40490..cdf1257c44 100644
--- a/graphics/mcf2graph/CHANGELOG
+++ b/graphics/mcf2graph/CHANGELOG
@@ -1,6 +1,18 @@
*******************************************************************************
- Changelog of mcf2graph software package by Akira Yamaji 2023-05-28
+ Changelog of mcf2graph software package by Akira Yamaji 2024-01-03
*******************************************************************************
+[ver. 5.10 / 2024-01-03]
+ -add binary operator +
+ a + b : '(a,b)
+ -change group name
+ CO => ?O, COO => ?O!O
+ SO => S?O, SOO => S?O?O
+ N! => N?, N!2 => N?2
+ -change command name of add(),ext()
+ ** => #
+ -fix bug in expand mode
+ -update MCF manual,example
+
[ver. 5.02 / 2023-05-28]
-change command name
cv() => drawm()
diff --git a/graphics/mcf2graph/README b/graphics/mcf2graph/README
index 859c893f97..c3f53d36c4 100644
--- a/graphics/mcf2graph/README
+++ b/graphics/mcf2graph/README
@@ -1,7 +1,7 @@
********************************************************************************
mcf2graph : Convert Molecular Coding Format to graphics with MetaPost
Author : Akira Yamaji
- version : 5.02 2023-05-28
+ version : 5.10 2024-01-03
E-mail : mcf2graph@gmail.com
Located at : http://www.ctan.org/pkg/mcf2graph
********************************************************************************
@@ -44,7 +44,7 @@
(9) >mpost -s ahlength=7 filename.mp => output report file
4. License
- mcf2graph ver 5.02 Copyright (c) 2013-2023 Akira Yamaji
+ mcf2graph ver 5.10 Copyright (c) 2013-2024 Akira Yamaji
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/graphics/mcf2graph/main_lib.mcf b/graphics/mcf2graph/main_lib.mcf
index d393f0c7d8..8b3694ffea 100644
--- a/graphics/mcf2graph/main_lib.mcf
+++ b/graphics/mcf2graph/main_lib.mcf
@@ -1,6 +1,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% molecular library file main_lib.mcf by Akira Yamaji 2023.05.28
+% molecular library file main_lib.mcf by Akira Yamaji 2024.01.03
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% must use version 5.10
% tag1:var1;tag2:var2;tag3:var3 .....
% first character of line "%" comment out
% first character of line ":" start MCF
@@ -15,7 +16,7 @@ CAT:-;EN:-;MW:0;EXA:-;
=
sw_frame:=Atom;
:
-<30,?6,3=?5,{1,3,5,9}=dl,{2,6,9}:N,5:/NH2,7:NH
+<30,?6,3=?5,{1,3,5,9}=db,{2,6,9}:N,5:/NH2,7:NH
*
defaultscale:=.5;
label.bot(decimal(fig_num)&":"&EN,(.5w,0));
@@ -28,27 +29,27 @@ CAT:-;EN:-;MW:0;EXA:-;
%==============================================================================
CAT:biological;EN:Adenine;MW:135.13;EXA:1
:
-<30,?6,3=?5,{1,3,5,9}=dl,{2,6,9}:N,5:/NH2,7:NH
+<30,?6,3=?5,{1,3,5,9}=db,{2,6,9}:N,5:/NH2,7:NH
;
%------------------------------------------------------------------------------
CAT:biological;EN:Guanine;MW:151.13;EXA:1
:
-<30,?6,3=?5,{1,3,9}=dl,{2,9}:N,{6,7}:NH,5://O,1:/NH2
+<30,?6,3=?5,{1,3,9}=db,{2,9}:N,{6,7}:NH,5://O,1:/NH2
;
%------------------------------------------------------------------------------
CAT:biological;EN:Cytosine;MW:111.10;EXA:1
:
-<30,?6,{4,6}=dl,4:N,3://O,2:NH,5:/NH2
+<30,?6,{4,6}=db,4:N,3://O,2:NH,5:/NH2
;
%------------------------------------------------------------------------------
CAT:biological;EN:Thymine;MW:126.11;EXA:1
:
-<30,?6,3=dl,{2,6}:NH,{1,5}://O,4:/_
+<30,?6,3=db,{2,6}:NH,{1,5}://O,4:/_
;
%------------------------------------------------------------------------------
CAT:biological;EN:Uracil;MW:112.09;EXA:1
:
-<30,?6,6=dl,{3,5}://O,{2,4}:NH
+<30,?6,6=db,{3,5}://O,{2,4}:NH
;
%== Amino acid ================================================================
CAT:biological;EN:Glycine;MW:75.07;EXA:-
@@ -68,52 +69,52 @@ CAT:biological;EN:L-Alanine;MW:89.10;EXA:-
%------------------------------------------------------------------------------
CAT:biological;EN:L-Valine;MW:117.15;EXA:-
:
-<30,NH2,!~wb,/?!,!,COOH
+<30,NH2,!~wb,/?!,!COOH
;
%------------------------------------------------------------------------------
CAT:biological;EN:L-Leucine;MW:131.16;EXA:1
:
-<30,NH2,!~wb,/!?!,!,COOH
+<30,NH2,!~wb,/!?!,!COOH
;
%------------------------------------------------------------------------------
CAT:biological;EN:L-Isoleucine;MW:131.16;EXA:-
:
-<30,NH2,!~wb,/'(/*_,!2),!,COOH
+<30,NH2,!~wb,/'(/*_,!2),!COOH
;
%------------------------------------------------------------------------------
CAT:biological;EN:L-Serine;MW:105.09;EXA:-
:
-<30,NH2,!~wb,/!OH,!,COOH
+<30,NH2,!~wb,/!OH,!COOH
;
%------------------------------------------------------------------------------
CAT:biological;EN:L-Threonine;MW:119.12;EXA:-
:
-<30,NH2,!~wb,/'(/_,!~wf,OH),!,COOH
+<30,NH2,!~wb,/'(/_,!~wf,OH),!COOH
;
%------------------------------------------------------------------------------
CAT:biological;EN:L-Cysteine;MW:121.16;EXA:-
:
-<30,NH2,!~wb,/!SH,!,COOH
+<30,NH2,!~wb,/!SH,!COOH
;
%------------------------------------------------------------------------------
CAT:biological;EN:L-Methionine;MW:149.21;EXA:-
:
-<30,NH2,!~wb,/'(!2,S,!),!,COOH
+<30,NH2,!~wb,/!2+S!,!COOH
;
%------------------------------------------------------------------------------
CAT:biological;EN:L-Phenylalanine;MW:165.19;EXA:-
:
-<30,NH2,!~wb,/!Ph,!,COOH
+<30,NH2,!~wb,/!Ph,!COOH
;
%------------------------------------------------------------------------------
CAT:biological;EN:L-Tyrosine;MW:181.19;EXA:-
:
-<30,NH2,!~wb,/'(!Ph,-3:/OH),!,COOH
+<30,NH2,!~wb,/!Ph+(5:/OH),!COOH
;
%------------------------------------------------------------------------------
CAT:biological;EN:L-Triptophan;MW:204.21;EXA:-
:
-<30,NH2,!~wb,!,COOH,@2,\,!,<24,|,?5,{2',5}=dl,2=Ph,4:NH
+<30,NH2,!~wb,!COOH,@2,\,!,<24,|,?5,2=dr,5=dl,2=Ph,4:NH
;
%------------------------------------------------------------------------------
CAT:biological;EN:L-Proline;MW:115.13;EXA:-
@@ -123,52 +124,52 @@ CAT:biological;EN:L-Proline;MW:115.13;EXA:-
%------------------------------------------------------------------------------
CAT:biological;EN:L-Glutamine;MW:146.15;EXA:-
:
-<30,NH2,!~wb,!,COOH,@2,\`1,!`1,!,//O,!,NH2
+<30,NH2,!~wb,!COOH,@2,\`1,!`1,!,?O!,NH2
;
%------------------------------------------------------------------------------
CAT:biological;EN:L-Asparagine;MW:132.12;EXA:-
:
-<30,NH2,!~wb,/'(!,//O,!,NH2),!,COOH
+<30,NH2,!~wb,/!?O!+NH2,!COOH
;
%------------------------------------------------------------------------------
CAT:biological;EN:L-Aspartic acid;MW:133.10;EXA:-
:
-<30,NH2,!~wb,/!COOH,!,COOH
+<30,NH2,!~wb,/!COOH,!COOH
;
%------------------------------------------------------------------------------
CAT:biological;EN:L-Glutamic acid;MW:147.13;EXA:-
:
-<30,NH2,!~wb,/'(!2,COOH),!,COOH
+<30,NH2,!~wb,/!2+COOH,!COOH
;
%------------------------------------------------------------------------------
CAT:biological;EN:L-Lysine;MW:146.19;EXA:-
:
-<30,NH2,!~wb,/'(!4,NH2),!,COOH
+<30,NH2,!~wb,/!4+NH2,!COOH
;
%------------------------------------------------------------------------------
CAT:biological;EN:L-Arginine;MW:174.21;EXA:-
:
-<30,NH2,!~wb,!,COOH,@2,\`1,!`1,!2,NH,!,//NH,!,NH2
+<30,NH2,!~wb,!COOH,@2,\`1,!`1,!2,NH!,//NH,!NH2
;
%------------------------------------------------------------------------------
CAT:biological;EN:L-Hystidine;MW:155.16;EXA:-
:
-<30,NH2,!~wb,!,COOH,@2,\,!,|,?5,{1,3}=dl,3:N,5:NH
+<30,NH2,!~wb,!COOH,@2,\,!,|,?5,{1,3}=dl,3:N,5:NH
;
%==============================================================================
CAT:biological;EN:L-DOPA;MW:197.19;EXA:-
:
-<30,NH2,!~wb,!,COOH,@2,\,!,Ph,{-3,-4}:/OH
+<30,NH2,!~wb,!COOH,@2,\,!Ph,{-3,-4}:/OH
;
%------------------------------------------------------------------------------
CAT:biological;EN:Ornithine;MW:132.16;EXA:-
:
-<30,NH2,!~wb,/'(!3,NH2),!,COOH
+<30,NH2,!~wb,/!3+NH2,!COOH
;
%------------------------------------------------------------------------------
CAT:biological;EN:Citrulline;MW:175.2;EXA:-
:
-<30,NH2,!~wb,/'(!3,NH,!,//O,!,NH2),!,COOH
+<30,NH2,!~wb,/'(!3,NH!,?O!,NH2),!COOH
;
%------------------------------------------------------------------------------
CAT:biological;EN:GABA;MW:103.12;EXA:-
@@ -178,27 +179,27 @@ CAT:biological;EN:GABA;MW:103.12;EXA:-
%==============================================================================
CAT:biological;EN:Citrate;MW:192.12;EXA:-
:
-<30,COOH,!,!2`1.2,!,COOH,@-4`1,\,COOH,4:/OH
+<30,COOH,!2,/COOH^30,/OH^-30,!2,COOH
;
%------------------------------------------------------------------------------
CAT:biological;EN:cis-Aconitate;MW:174.11;EXA:-
:
-<30,COOH,!2,!!,!,COOH,@-4`1,\,COOH
+<30,COOH,!2,/COOH,!!,60,COOH
;
%------------------------------------------------------------------------------
CAT:biological;EN:Isocitrate;MW:192.12;EXA:-
:
-<30,COOH,!4,COOH,@-3,\`1,COOH,4:/OH
+<30,COOH,!4,COOH,3:!COOH,4:/OH
;
%------------------------------------------------------------------------------
CAT:biological;EN:Oxalosuccinate;MW:190.11;EXA:-
:
-<30,COOH,!,!2`1.2,//O,!,COOH,@-4,\`1,COOH
+<30,COOH,!2,/COOH,!?O!,COOH
;
%------------------------------------------------------------------------------
CAT:biological;EN:alfa-Ketoglutarate;MW:146.1;EXA:-
:
-<30,COOH,!3,//O,!,COOH
+<30,COOH,!3,?O!,COOH
;
%------------------------------------------------------------------------------
CAT:biological;EN:Succinate;MW:118.09;EXA:-
@@ -208,17 +209,17 @@ CAT:biological;EN:Succinate;MW:118.09;EXA:-
%------------------------------------------------------------------------------
CAT:biological;EN:Fumarate;MW:116.07;EXA:-
:
-<30,COOH,!,!!,!,COOH
+<30,COOH,!,!!,!COOH
;
%------------------------------------------------------------------------------
-CAT:biological;EN:L-Malate;MW:132.07;EXA:-
+CAT:biological;EN:Malate;MW:134.09;EXA:-
:
<30,COOH,!3,COOH,3:/OH
;
%------------------------------------------------------------------------------
CAT:biological;EN:Oxaloacetate;MW:132.07;EXA:-
:
-<30,COOH,!,//O,!2,COOH
+<30,COOH,!,?O!2,COOH
;
%==============================================================================
CAT:biological;EN:Glucose 1;MW:180.16;EXA:1
@@ -228,7 +229,7 @@ CAT:biological;EN:Glucose 1;MW:180.16;EXA:1
%------------------------------------------------------------------------------
CAT:biological;EN:Glucose 2;MW:180.16;EXA:1
:
-<-30,OH,!2,*/OH,!,/*OH,!,/*OH,!,/*OH,!,//O,!,H
+<-30,OH,!2,*/OH,!,/*OH,!,/*OH,!,/*OH,!,?O!,H
;
%------------------------------------------------------------------------------
CAT:biological;EN:D-Glucose;MW:180.16;EXA:1
@@ -238,7 +239,7 @@ hexose_hp,#.5,{1^$-90,2^$90,3^$-90,4^$-90}:/OH,6^$90:/!OH
%------------------------------------------------------------------------------
CAT:biological;EN:Fructose 1;MW:180.16;EXA:1
:
-<30,OH,!2,/*OH,!,*/OH,!,*/OH,!,//O,!2,OH
+<30,OH,!2,/*OH,!,*/OH,!,*/OH,!,?O!2,OH
;
%------------------------------------------------------------------------------
CAT:biological;EN:Fructose 2;MW:180.16;EXA:1
@@ -283,7 +284,7 @@ hexose_hp,#.5,{1^$-90,2^$90,4^$-90}:/OH,3^$-90:/NH2,6^$90:/!OH
%------------------------------------------------------------------------------
CAT:biological;EN:N-acetyl-Glucosamine;MW:221.21;EXA:1
:
-hexose_hp,#.5,{1^$-90,2^$90,4^$-90}:/OH,3^$-90>lr:/NHCO!,6^$90:/!OH
+hexose_hp,#.5,{1^$-90,2^$90,4^$-90}:/OH,3^$-90>lr:/NH!+?O!,6^$90:/!OH
;
%------------------------------------------------------------------------------
CAT:biological;EN:Glucuronic acid;MW:194.14;EXA:1
@@ -334,7 +335,7 @@ CAT:biological;EN:Geraniol;MW:154.25;EXA:1
%------------------------------------------------------------------------------
CAT:biological;EN:Limonene;MW:136.24;EXA:-
:
-<30,?6,2=dl,2:/_,@5,*\,/_,!!
+<30,?6,2=dl,2:/_,5:*/?!!
;
%------------------------------------------------------------------------------
CAT:biological;EN:l-Menthol;MW:156.27;EXA:1
@@ -344,7 +345,7 @@ CAT:biological;EN:l-Menthol;MW:156.27;EXA:1
%------------------------------------------------------------------------------
CAT:biological;EN:Allicin;MW:162.28;EXA:1
:
-<-30,!!,!2,SO,!,S,!2,!!
+<-30,!!,!2,S?O,!,S,!2,!!
;
%------------------------------------------------------------------------------
CAT:biological;EN:Benzoic acid;MW:122.12;EXA:-
@@ -364,17 +365,17 @@ CAT:biological;EN:Salicylic acid;MW:138.12;EXA:-
%------------------------------------------------------------------------------
CAT:biological;EN:Cinnamic acid;MW:148.16;EXA:-
:
-<30,Ph,@3,\,!!,!,COOH
+<30,Ph,3:/!!+!COOH
;
%------------------------------------------------------------------------------
CAT:biological;EN:Cinnamaldehyde;MW:132.16;EXA:-
:
-<30,Ph,@3,\,!!,!,CHO
+<30,Ph,3:/!!+!CHO
;
%------------------------------------------------------------------------------
CAT:biological;EN:Caffeic acid;MW:180.16;EXA:1
:
-<30,Ph,{1,6}:/OH,@3,\,!!,!,COOH
+<30,Ph,{1,6}:/OH,3:/!!+!COOH
;
%------------------------------------------------------------------------------
CAT:biological;EN:Vanillin;MW:152.15;EXA:1
@@ -405,7 +406,7 @@ CAT:biological;EN:Tocopherol;MW:430.717;EXA:1
CAT:biological;EN:Thiamine;MW:265.35;EXA:1
:
<30,Ph,4:/NH2,@3,\`1,!,<-12,?5,{-1,-4}=dl,{1,5,8}:N,11:S,{6,9}:/_,
- @-3,\^-12,!2,OH,8:p_^72
+ -3:/!2+OH^-12,8:p_^72
;
%------------------------------------------------------------------------------
CAT:biological;EN:Riboflavin;MW:376.37;EXA:1
@@ -421,7 +422,7 @@ CAT:biological;EN:Nicotinic acid;MW:123.11;EXA:1
%------------------------------------------------------------------------------
CAT:biological;EN:Nicotinamide;MW:122.12;EXA:1
:
-<30,Ph,2:N,4:/CONH2
+<30,Ph,2:N,4:/?O+!NH2
;
%------------------------------------------------------------------------------
CAT:biological;EN:Pantothenic acid;MW:219.23;EXA:1
@@ -436,40 +437,39 @@ CAT:biological;EN:Pyridoxine;MW:169.18;EXA:1
%------------------------------------------------------------------------------
CAT:biological;EN:Biotin;MW:244.31;EXA:1
:
-<18,?5,4=?5,2:S,{6,8}:NH,7://O,{4^-54,5^54}:*/H,
- @3,\*^-12,!4,COOH
+<18,?5,4=?5,2:S,{6,8}:NH,7://O,{4^-54,5^54}:*/H,3:/*!4+COOH^-12
;
%------------------------------------------------------------------------------
CAT:biological;EN:Folic acid;MW:441.3975;EXA:1
:
<30,?6,3=Ph2,1=dl,{2,7,10}:N,6:NH,5://O,1:/NH2,
- @9,\,!,NH,!,Ph,@-3,\,//O,!,NH,!,/*COOH,!3,COOH
+ @9,\,!NH!,Ph,@-3,\,//O,!NH!,/*COOH,!3,COOH
;
%------------------------------------------------------------------------------
CAT:biological;EN:Carotene;MW:536.8726;EXA:1
:
-<30,?6,4=dl,3:??,5:/_,
- @4,\,|,!18,{1,3,5,7,9,11,13,15,17}=dr,{3,7,12,16}:/_,?6,-6=dl,-5:/_,-1:??
+<30,?6,@4,\,!18,?6,
+ {8,10,12,14,16,18,20,22,24}=dr,{5,9,13,18,22,-5}:/_,{4,-6}=dl,{3,-1}:??
;
%------------------------------------------------------------------------------
CAT:biological;EN:Adrenalin;MW:183.21;EXA:1
:
-<30,Ph,{1,6}:/OH,@4,\,*/OH,!2,NH,!
+<30,Ph,{1,6}:/OH,@4,\,*/OH,!2,NH!
;
%------------------------------------------------------------------------------
CAT:biological;EN:Caffeine;MW:194.194;EXA:1
:
-<30,?6,3=dl,{1,5}://O,-4=?5,-3=dl,7:N,{2,6,9}:N!
+<30,?6,3=dl,{1,5}://O,-4=?5,-3=dl,7:N,{2,6,9}:N?
;
%------------------------------------------------------------------------------
CAT:biological;EN:Nicotine;MW:162.23;EXA:1
:
-<30,Ph,2:N,@4,\,?5,8:N!
+<30,Ph,2:N,4:/?5+(2:N?)
;
%------------------------------------------------------------------------------
CAT:biological;EN:Capsaicin;MW:305.418;EXA:1
:
-<30,Ph,1:/OH,6:/O!,@4,\,!,NH,!,//O,!7,?!,-3=dl
+<30,Ph,1:/OH,6:/O!,@4,\,!NH!,//O,!7,?!,-3=dl
;
%------------------------------------------------------------------------------
CAT:biological;EN:Gibberellin A3;MW:346.379;EXA:1
@@ -486,12 +486,12 @@ CAT:biological;EN:Cholesterol;MW:386.664;EXA:1
%------------------------------------------------------------------------------
CAT:biological;EN:Resveratrol;MW:228.24;EXA:1
:
-<30,Ph,@4,\,!!,!,Ph,{2,6,-3}:/OH
+<30,Ph,@4,\,!!,!Ph,{2,6,-3}:/OH
;
%------------------------------------------------------------------------------
CAT:biological;EN:Glutathione;MW:307.33;EXA:1
:
-<-30,COOH,!,/*NH2,!3,//O,!,NH,!,*/!SH,!,//O,!,NH,!2,COOH
+<-30,COOH,!,/*NH2,!3,//O,!NH!,*/!SH,!,?O!,NH,!2,COOH
;
%------------------------------------------------------------------------------
CAT:biological;EN:Trenbolone;MW:270.37;EXA:1
@@ -508,8 +508,8 @@ CAT:biological;EN:Chlorophyll a;MW:893.509;EXA:1
:
<-36,#1,?5,@3,\,54,?5,@-2,\,54,?5,@-2,\,54,?5,@-2,\,&5,@6,22,70,&8,##,
{4,6,8,10,14,16,18,21,23,27}=dl,@4,\`1.48~vf,Mg,&17~vb,@11,&27,@27,&23,
- {4,11,17,23}:N,{1~zf,9,15,21}:/_,14:/!,20:/!!,25:/*COO!,26://O,
- @2,*\^-6,!2,//O,!,O,!2,!!,|,!13,{1,5,9,13}:/_
+ {4,11,17,23}:N,{1~zf,9,15,21}:/_,14:/!,20:/!!,25:/*?O!+O!,26://O,
+ @2,*\^-6,!2,?O!,O!2,!!,|,!13,{1,5,9,13}:/_
;
%------------------------------------------------------------------------------
CAT:biological;EN:Alizarin;MW:240.21;EXA:1
@@ -545,12 +545,12 @@ CAT:biological;EN:Berberine;MW:336.36;EXA:1
%==============================================================================
CAT:biological;EN:Apigenin;MW:270.24;EXA:-
:
-<30,Ph,3=?6,9=dl,10:O,7://O,@9,\,Ph,{2,6,14}:/OH
+<30,Ph,{2,6}:/OH,3=?6,9=dl,10:O,7://O,9:/Ph+(-3:/OH)
;
%------------------------------------------------------------------------------
CAT:biological;EN:Luteolin;MW:286.24;EXA:-
:
-<30,Ph,3=?6,9=dl,10:O,7://O,@9,\,Ph,{2,6,14,15}:/OH
+<30,Ph,{2,6}:/OH,3=?6,9=dl,10:O,7://O,9:/Ph+({-2,-3}:/OH)
;
%------------------------------------------------------------------------------
CAT:biological;EN:Flavone;MW:222.24;EXA:1
@@ -593,7 +593,7 @@ CAT:biological;EN:Limonin;MW:470.518;EXA:1
CAT:biological;EN:Cromolyn;MW:468.37;EXA:1
:
<30,Ph,|,-1=?6,3=dl,1:O,4://O,2:/COOH,
- @$2,\,O,!2,/OH,!2,O,60,Ph,|,-5=?6,3=dl,4:O,1://O,3:/COOH
+ @$2,\,O!2,/OH,!2,O,60,Ph,|,-5=?6,3=dl,4:O,1://O,3:/COOH
;
%------------------------------------------------------------------------------
CAT:biological;EN:Emetine;MW:480.649;EXA:1
@@ -604,12 +604,12 @@ CAT:biological;EN:Emetine;MW:480.649;EXA:1
%------------------------------------------------------------------------------
CAT:biological;EN:Acronycine;MW:321.376;EXA:1
:
-<30,Ph,|,-4=?6,1:N!,4://O,-3=Ph2,-1:/O!,|,-4=?6,2=dl,4:O,3:??
+<30,Ph,|,-4=?6,1:N?,4://O,-3=Ph2,-1:/O!,|,-4=?6,2=dl,4:O,3:??
;
%------------------------------------------------------------------------------
CAT:biological;EN:Piperine;MW:285.343;EXA:1
:
-<30,Ph,-1=?5,{-1,-3}:O,@4,\,!!,!,!!,!,//O,!,?6,-6:N
+<30,Ph,-1=?5,{-1,-3}:O,@4,\,!!,!,!!,!,?O!,?6,-6:N
;
%------------------------------------------------------------------------------
CAT:biological;EN:Febrifugine;MW:301.34;EXA:1
@@ -621,7 +621,7 @@ CAT:biological;EN:Hypericin;MW:504.44;EXA:1
:
<30,Ph,{-4,-3,11--4,16---17,19,23---24,22--29}=?6,
{12,14,16,17,22',24,26,28,33,35}=dl,
- {7,25}://O,{13,26}:/_, {2,6,11,21,23,28}:/OH
+ {7,25}://O,{13,26}:/_,{2,6,11,21,23,28}:/OH
;
%------------------------------------------------------------------------------
CAT:biological;EN:Camphor;MW:152.23;EXA:1
@@ -637,7 +637,7 @@ CAT:biological;EN:Sparteine;MW:234.3803;EXA:1
CAT:biological;EN:Mitomycine C;MW:334.332;EXA:1
:
<30,?6,{3,6}=dl,{2,5}://O,1:/_,-4=?5,-3:N,
- 6:/NH2,,-3=?5,-2=?3,-1=wb,-2=wf,-1:NH,8:/*O!^35,@$9,\,!,O,60,//O,!,NH2
+ 6:/NH2,,-3=?5,-2=?3,-1=wb,-2=wf,-1:NH,8:/*O!^35,@$9,\,!,O,60,?O!,NH2
;
%------------------------------------------------------------------------------
CAT:biological;EN:Podophyllotoxin;MW:414.41;EXA:1
@@ -648,54 +648,54 @@ CAT:biological;EN:Podophyllotoxin;MW:414.41;EXA:1
%------------------------------------------------------------------------------
CAT:biological;EN:Warfarin;MW:308.333;EXA:1
:
-<30,Ph,3=?6,8=dl,10:O,7:/OH,9://O,@8,\,/Ph`1,60,!,//O,!
+<30,Ph,3=?6,8=dl,10:O,7:/OH,9://O,@8,\,/Ph`1,60,!,?O!
;
%------------------------------------------------------------------------------
CAT:biological;EN:Genistein;MW:270.24;EXA:1
:
-<30,Ph,3=?6,9=dl,10:O,{2,6}:/OH,7://O,@8,\,Ph,-3:/OH
+<30,Ph,3=?6,9=dl,10:O,{2,6}:/OH,7://O,8:/Ph+(-3:/OH)
;
%------------------------------------------------------------------------------
CAT:biological;EN:Baicalein;MW:270.24;EXA:1
:
-<30,Ph,3=?6,9=dl,10:O,{1,2,6}:/OH,7://O,@8,\,Ph
+<30,Ph,3=?6,9=dl,10:O,{1,2,6}:/OH,7://O,8:/Ph
;
%------------------------------------------------------------------------------
CAT:biological;EN:Reserpine;MW:608.688;EXA:1
:
<54,Ph,-4=?5,{-2,-4,-3}=?6,9=dl,11:N,7:NH,{10'^-60,15^-60,16^60}:/*H,
- @20,*\,O,!,//O,!,Ph,{-2,-3,-4,1,19~zf>rl}:/O!,18:*/COO!>lr
+ @20,*\,O!,//O,!Ph,{-2,-3,-4,1,19~zf>rl}:/O!,18:*/?O!+O!>lr
;
%------------------------------------------------------------------------------
CAT:biological;EN:Rotenone;MW:394.423;EXA:1
:
<-60,?5,{-3,-2,-3,-4}=?6,{3',7,9,17',-2,-4}=dl,
- {2,13,16}:O,10://O,{11^-60,12^60}:*/H,{-2,-3}:/O!,@1,*\,/_,!!
+ {2,13,16}:O,10://O,{11^-60,12^60}:*/H,{-2,-3}:/O!,1:*/?!!
;
%------------------------------------------------------------------------------
CAT:biological;EN:Pyrethrin I;MW:328.452;EXA:1
:
<30,?3,{3^35,3'^-35}:*/_,@1,*\,!!,?!,
- @2,\*,//O,!,O,-36~zb,|,?5,-2=dl,-1:/_,-3://O,@-2,\,!4,{-1,-3}=dl
+ @2,\*,?O!,O,-36~zb,|,?5,-2=dl,-1:/_,-3://O,@-2,\,!4,{-1,-3}=dl
;
%------------------------------------------------------------------------------
CAT:biological;EN:Oseltamivir;MW:312.40;EXA:1
:
-<30,?6,3=dl,6:*/NH2,@1,\*,NH,!,//O,!,@2,*\,O,!,/!,!2,@4,\,//O,!,O,!2
+<30,?6,3=dl,6:*/NH2,@1,\*,NH!,?O!,@2,*\,O!,/!,!2,4:/?O!+O!2
;
%------------------------------------------------------------------------------
CAT:biological;EN:Paclitaxel;MW:853.918;EXA:1
:
?6,5=dl,@3,#1,36,45,45,45,45,##,&5,-4=?6,-4=?4,-1=wb,-3=wf,-1:O,
4:??,6:/_,{3^-60,15}:*/OH,8:/*H^-60,9:*/_^60,10://O,
- @1,\,O,!,//O,!,*/OH,!,/Ph,60~wf,NH,-60,//O,60,Ph,
- @7,\*,O,-45,//O,60,Ph,{11>rl,12'^-15>lr}:*/OCO!
+ @1,\,O!,?O!,*/OH,!,/Ph,60~wf,NH,-60,//O,60,Ph,
+ @7,\*,O,-45,//O,60,Ph,{11>rl,12'^-15>lr}:*/O!+?O!
;
%------------------------------------------------------------------------------
CAT:biological;EN:Mevastatin;MW:390.52;EXA:1
:
<30,?6,2=dl,4:*/H^60,-4=?6,-4=dl,9:*/_,
- @10,*\,!,60~wb,?6,6:O,-2://O,-4:/*OH,@5,\*,O,60,//O,!,*/_,!2
+ @10,*\,!,60~wb,?6,6:O,-2://O,-4:/*OH,@5,\*,O,60,?O!,*/_,!2
;
%------------------------------------------------------------------------------
CAT:biological;EN:Sesamine;MW:354.35;EXA:1
@@ -706,7 +706,7 @@ CAT:biological;EN:Sesamine;MW:354.35;EXA:1
CAT:biological;EN:Morphine;MW:285.343;EXA:1
:
<30,Ph,{2,-4}=?6,1---12=?5,-1:O,-1=zb,
- @7,60~wf`0.75,70~si_`1.3,45,N!,&9~wb,15=dl,6:/OH,8^180:*/H,12:/*OH
+ @7,60~wf`0.75,70~si_`1.3,45,N?,&9~wb,15=dl,6:/OH,8^180:*/H,12:/*OH
;
%------------------------------------------------------------------------------
CAT:biological;EN:Quinine;MW:324.424;EXA:1
@@ -717,12 +717,12 @@ CAT:biological;EN:Quinine;MW:324.424;EXA:1
%------------------------------------------------------------------------------
CAT:biological;EN:Atoropin;MW:289.375;EXA:1
:
-<30,O,!,//O,!2,Ph,@$1,\~zb^-60,|,?7`1.1,@6,*\^190`1.25,N!,&3~wb,$3:/!OH~wv
+<30,O!,?O!2,Ph,@$1,\~zb^-60,|,?7`1.1,@6,*\^190`1.25,N?,&3~wb,$3:/!OH~wv
;
%------------------------------------------------------------------------------
CAT:biological;EN:Colchicine;MW:399.443;EXA:1
:
-<30,Ph,{1,2,6}:/O!,{-4,-5}=?7,{-1,-4,-6}=dl,-2://O,-3:/O!,9:/NHCO!
+<30,Ph,{1,2,6}:/O!,{-4,-5}=?7,{-1,-4,-6}=dl,-2://O,-3:/O!,9:/NH!+?O!
;
%------------------------------------------------------------------------------
CAT:biological;EN:Lycorine;MW:287.315;EXA:1
@@ -733,7 +733,7 @@ CAT:biological;EN:Lycorine;MW:287.315;EXA:1
%------------------------------------------------------------------------------
CAT:biological;EN:Ibotenic acid;MW:158.113;EXA:1
:
-<18,?5,4=dl,3:O,2:NH,1://O,@4,-24,/NH2,!COOH
+<18,?5,4=dl,3:O,2:NH,1://O,4:/?NH2+!COOH^-24
;
%------------------------------------------------------------------------------
CAT:biological;EN:Illudin S;MW:264.3;EXA:1
@@ -749,7 +749,7 @@ CAT:biological;EN:Muscarine;MW:174.26;EXA:1
%------------------------------------------------------------------------------
CAT:biological;EN:Psilocybin;MW:284.248;EXA:1
:
-<30,Ph,3=?5,8=dl,9:NH,@2,\,O,-60,P,//O^-45,/OH^45,90,OH,@7,\,!,-60,N?!
+<30,Ph,3=?5,8=dl,9:NH,@2,\,O,-60,P,//O^-45,/OH^45,90,OH,7:/!2+N?!>lr
;
%------------------------------------------------------------------------------
CAT:biological;EN:Tetrodotoxine;MW:319.27;EXA:1
@@ -797,7 +797,7 @@ CAT:biological;EN:Aflatoxin M2;MW:330.29;EXA:-
%------------------------------------------------------------------------------
CAT:biological;EN:Ochratoxin A;MW:403.813;EXA:1
:
-<30,Ph,@4,\,!,/*COOH,!`1.2,NH,!`1.2,//O,!,
+<30,Ph,@4,\,!,/*COOH,!`1.2,NH,!`1.2,?O!,
Ph,-2:/Cl,-5:/OH,-4=?6,-3:O,-2:*/_,-4://O
;
%------------------------------------------------------------------------------
@@ -824,7 +824,7 @@ CAT:biological;EN:Zearalenone;MW:318.364;EXA:1
%------------------------------------------------------------------------------
CAT:biological;EN:Fumonisin B1;MW:721.83;EXA:1
:
-<30,!19,@6,*\,O,!,//O,!2,/COOH,!2,COOH,@7,\*`1.2,O,!,//O,!2,/COOH,!2,COOH,
+<30,!19,@6,*\,O!,?O!2,/COOH,!2,COOH,@7,\*`1.2,O!,?O!2,/COOH,!2,COOH,
{5,9}:/*_,{11,16,18'}:*/OH,19:/*NH2
;
%==============================================================================
@@ -853,32 +853,32 @@ CAT:synthetic;EN:Hexaphenylbenzene;MW:534.6876;EXA:1
<30,Ph,{1,2,3,4,5,6}:/Ph
;
%==============================================================================
-CAT:synthetic;EN:Naphthalene;MW:128.17;EXA:-
+CAT:synthetic;EN:Naphthalene;MW:128.17;EXA:1
:
<30,Ph,3=Ph
;
%------------------------------------------------------------------------------
-CAT:synthetic;EN:Anthracene;MW:178.23;EXA:-
+CAT:synthetic;EN:Anthracene;MW:178.23;EXA:1
:
<30,Ph,{3,6}=Ph
;
%------------------------------------------------------------------------------
-CAT:synthetic;EN:Phenanthrene;MW:178.23;EXA:-
+CAT:synthetic;EN:Phenanthrene;MW:178.23;EXA:1
:
<30,Ph,{4,6}=Ph
;
%------------------------------------------------------------------------------
-CAT:synthetic;EN:Naphthacene;MW:228.3;EXA:-
+CAT:synthetic;EN:Naphthacene;MW:228.3;EXA:1
:
<30,Ph,{6,3,-3}=Ph
;
%------------------------------------------------------------------------------
-CAT:synthetic;EN:Chrysene;MW:228.3;EXA:-
+CAT:synthetic;EN:Chrysene;MW:228.3;EXA:1
:
<30,Ph2,{6,4,-4}=Ph
;
%------------------------------------------------------------------------------
-CAT:synthetic;EN:Pyrene;MW:202.25;EXA:-
+CAT:synthetic;EN:Pyrene;MW:202.25;EXA:1
:
<30,Ph2,{6,4}=Ph,16---7=?6,-2=dl
;
@@ -924,7 +924,7 @@ CAT:synthetic;EN:Sulflower;MW:448.69;EXA:1
%------------------------------------------------------------------------------
CAT:synthetic;EN:Arsphenamine x5;MW:915.2;EXA:1
:
-<18,?5,{1,2,3,4,5}:As,{1,2,3,4,5}:/'(Ph,3:/NH2,4:/OH)
+<18,?5,{1,2,3,4,5}:As,{1,2,3,4,5}:/Ph+(3:/NH2)+(4:/OH)
;
%------------------------------------------------------------------------------
CAT:synthetic;EN:Melamine;MW:126.12;EXA:1
@@ -935,7 +935,22 @@ CAT:synthetic;EN:Melamine;MW:126.12;EXA:1
CAT:synthetic;EN:Tartrazine;MW:534.3;EXA:1
:
<30,Ph,1:/SO3Na,@4,\,N,!!,N,!,<-12,?5,{-2,-5}=dl,{-2,-3}:N,-1:/COONa,-4:/OH,
- @-3,-12,Ph,-3:/SO3Na
+ -3:/Ph+(4:/SO3Na)
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Disperse yellow 3;MW:269.30;EXA:1
+:
+<30,Ph,2:/_,5:/OH,@4,\,N,!!,N,!Ph,-3:/NH!+?O!
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Disperse orenge 30;MW:450.27;EXA:1
+:
+<30,Ph,1:/NO2,{3,5}:/Cl,@4,\,N,!!,N,!Ph,@-3,\,N,/!2+CN,!2,O!,//O,!O!
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Disperse red 65;MW:371.82;EXA:1
+:
+<30,Ph,1:/NO2,3:/Cl,@4,\,N,!!,N,!Ph,-1:/_,@-3,\,N,/!2+CN,!2
;
%------------------------------------------------------------------------------
CAT:synthetic;EN:Erythrosine;MW:835.9;EXA:1
@@ -945,17 +960,27 @@ CAT:synthetic;EN:Erythrosine;MW:835.9;EXA:1
%------------------------------------------------------------------------------
CAT:synthetic;EN:Sudan red 1;MW:248.28;EXA:1
:
-<30,Ph,1=Ph,4:/OH,@3,\,N,!!,N,!,Ph
+<30,Ph,1=Ph,4:/OH,@3,\,N,!!,N,!Ph
;
%------------------------------------------------------------------------------
-CAT:synthetic;EN:Basic blue 1;MW:319.86;EXA:-
+CAT:synthetic;EN:Basic blue 1;MW:319.86;EXA:1
:
<30,Ph,3=Ph,6=Ph,2:S,5:N,{8,13}:/N?!,2:p_,@2,@(3.5,1.5),Cl,n_^15
;
%------------------------------------------------------------------------------
-CAT:synthetic;EN:Disperse violet 1;MW:238.25;EXA:1
+CAT:synthetic;EN:Disperse red 11;MW:268.274;EXA:1
+:
+<30,Ph,3=?6,-3=dr,9=Ph,{7,10}://O,{-1,-4}:/NH2,-2:/O!
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Disperse red 60;MW:331.326;EXA:1
:
-<30,Ph,3=?6,-3=dr,9=Ph,{7,10}://O,{-1,-4}:/NH2
+<30,Ph,3=?6,-3=dr,9=Ph,{7,10}://O,{-1,-4}:/NH2,-2:/O!+Ph
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Disperse violet 26;MW:422.438;EXA:1
+:
+<30,Ph,3=?6,-3=dr,9=Ph,{7,10}://O,{-1,-4}:/NH2,{-2>-30,-3>30}:/O!+Ph
;
%------------------------------------------------------------------------------
CAT:synthetic;EN:Vat blue 1;MW:262.27;EXA:1
@@ -966,25 +991,25 @@ CAT:synthetic;EN:Vat blue 1;MW:262.27;EXA:1
CAT:antibiotics;EN:Amoxicillin;MW:365.4042;EXA:1
:
<45,?4,-3=?5,2:N,7:S,3^45:/*H,1://O^15,5:/*COOH^-18,6:??,
- @4,*\^15,NH,!,//O,!,*/NH2,!,Ph,-3:/OH
+ @4,*\^15,NH!,?O!,*/NH2,!Ph,-3:/OH
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Ampicillin;MW:349.405;EXA:1
:
<45,?4,-3=?5,2:N,7:S,3^45:/*H,1://O^15,5:/*COOH^-18,6:??,
- @4,*\^15,NH,!,//O,!,/*NH2,!,Ph
+ @4,*\^15,NH!,?O!,/*NH2,!Ph
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Penicillin G;MW:334.4;EXA:1
:
<45,?4,-3=?5,2:N,7:S,3^45:/*H,1://O^15,5:/*COOH^-18,6:??,
- @4,*\^15,NH,!,//O,!2,Ph
+ @4,*\^15,NH!,?O!2,Ph
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Penicillin V;MW:350.3895;EXA:1
:
<45,?4,-3=?5,2:N,7:S,3^45:/*H,1://O^15,5:/*COOH^-18,6:??,
- @4,*\^15,NH,!,//O,!2,O,!,Ph
+ @4,*\^15,NH!,?O!2,O,!Ph
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Mecillinam;MW:325.4264;EXA:1
@@ -996,74 +1021,72 @@ CAT:antibiotics;EN:Mecillinam;MW:325.4264;EXA:1
CAT:antibiotics;EN:Nafcillin;MW:414.4748;EXA:1
:
<45,?4,-3=?5,2:N,7:S,3^45:/*H,1://O^15,5:/*COOH^-18,6:??,
- @4,*\^15,NH,!,//O,!,Ph,-2=Ph,-9:/O!2
+ @4,*\^15,NH!,//O,!Ph,-2=Ph,-9:/O!2
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Oxacillin;MW:401.4363;EXA:1
:
<45,?4,-3=?5,2:N,7:S,3^45:/*H,1://O^15,5:/*COOH^-18,6:??,
- @4,*\^15,NH,!,//O,!,<-24,?5,{-2,-5}=dl,-2:N,-3:O,-4:/_,@-1,-24,Ph
+ @4,*\^15,NH!,?O!,<-24,?5,{-2,-5}=dl,-2:N,-3:O,-4:/_,@-1,-24,Ph
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Cloxacillin;MW:435.8813;EXA:1
:
<45,?4,-3=?5,2:N,7:S,3^45:/*H,1://O^15,5:/*COOH^-18,6:??,
- @4,*\^15,NH,!,//O,!,<-24,?5,{-2,-5}=dl,-2:N,-3:O,-4:/_,@-1,-24,Ph,-5:/Cl
+ @4,*\^15,NH!,?O!,<-24,?5,{-2,-5}=dl,-2:N,-3:O,-4:/_,@-1,-24,Ph,-5:/Cl
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Dicloxacillin;MW:470.3264;EXA:1
:
<45,?4,-3=?5,2:N,7:S,3^45:/*H,1://O^15,5:/*COOH^-18,6:??,
- @4,*\^15,NH,!,//O,!,<-24,?5,{-2,-5}=dl,-2:N,-3:O,-4:/_,
- @-1,-24,Ph,{-1,-5}:/Cl
+ @4,*\^15,NH!,?O!,<-24,?5,{-2,-5}=dl,-2:N,-3:O,-4:/_,-1:/Ph+({2,6}:/Cl)^-24
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Cefalexin;MW:347.3889;EXA:1
:
<45,?4,-3=?6,-4=dl,2:N,8:S,3^45:/*H,1://O^15,5:/*COOH,6:/_,
- @4,*\^15,NH,!,//O,!,*/NH2,!,Ph
+ @4,*\^15,NH!,?O!,*/NH2,!Ph
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Cefalonium;MW:458.5107;EXA:1
:
-<45,?4,-3=?6,-4=dl,2:N,8:S,3^45:/*H,1://O^15,@5,\*,//O,!,O,n_^40,
- @4,*\^15,NH,!,//O,!2,?5,{-1,-3}=dl,-4:S,
- @6,\,!,|,Ph,1:N,1:p_^180,@4,\,//O,!,NH2
+<45,?4,-3=?6,-4=dl,2:N,8:S,3^45:/*H,1://O^15,@5,\*,?O!,O,n_^40,
+ @4,*\^15,NH!,?O!2,?5,{-1,-3}=dl,-4:S,
+ @6,\,!,|,Ph,1:N,1:p_^180,4:/?O!+NH2
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Cefazorin;MW:454.51;EXA:1
:
<45,?4,-3=?6,-4=dl,2:N,8:S,3^45:/*H,1://O^15,5:/*COOH,
- @4,*\^15,NH,!,//O,!2,?5,{-2,-4}=dl,{-1,-2,-3,-5}:N,
+ @4,*\^15,NH!,?O!2,?5,{-2,-4}=dl,{-1,-2,-3,-5}:N,
@6,\,!,S,!,?5,{-3,-5}=dl,-1:S,-2:/_,{-3,-4}:N
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Cefoperazone;MW:645.67;EXA:1
:
<45,?4,-3=?6,-4=dl,2:N,8:S,3^45:/*H,1://O^15,5:/*COOH,
- @4,*\^15,NH,!,//O,!2,NH,!,//O,!,?6,{-3,-6}:N,{-4,-5}://O,-3:/!,
+ @4,*\^15,NH!,?O!,/*Ph+(4:/OH),!NH!,?O!,?6,{-3,-6}:N,{-4,-5}://O,-3:/!,
@6,\,!,S,!,?5,{-3,-5}=dl,-1:/_,{-1,-2,-3,-4}:N,
- @11,\*,Ph,-3:/OH
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Cefquinome;MW:528.6;EXA:1
:
-<45,?4,-3=?6,-4=dl,2:N,8:S,3^45:/*H,1://O^15,@5,\*,//O,!,O,n_^40,
- @4,*\^15,NH,!,//O,!,//'(N,!,O,!),!,?5,{-2,-5}=dl,-3:S,-1:N,-2:/NH2,
- @6,\,!,Ph,-2=?6,-10:N,-10:p_^180
+<45,?4,-3=?6,-4=dl,2:N,8:S,3^45:/*H,1://O^15,@5,\*,?O!,O,n_^40,
+ @4,*\^15,NH!,?O!,//N!+O!,!,?5,{-2,-5}=dl,-3:S,-1:N,-2:/NH2,
+ @6,\,!Ph,-2=?6,-10:N,-10:p_^180
;
%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Ceftiofur;MW:523.5626;EXA:-
+CAT:antibiotics;EN:Ceftiofur;MW:523.5626;EXA:1
:
<45,?4,-3=?6,-4=dl,2:N,8:S,3^45:/*H,1://O^15,5:/*COOH,
- @4,*\^15,NH,!,//O,!,//'(N,!,O,!),!,?5,{-2,-5}=dl,-3:S,-1:N,-2:/NH2,
- @6,\,!,S,!,//O,!,?5,{-1,-3}=dl,-4:O
+ @4,*\^15,NH!,?O!,//N!+O!,!,?5,{-2,-5}=dl,-3:S,-1:N,-2:/NH2,
+ @6,\,!,S,!,?O!,?5,{-1,-3}=dl,-4:O
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Cefuroxime;MW:424.3852;EXA:1
:
<45,?4,-3=?6,-4=dl,2:N,8:S,3^45:/*H,1://O^15,5:/*COOH,
- @4,*\^15,NH,!,//O,!,//'(N,!,O,!),!,?5,{-1,-3}=dl,-4:O,@6,\,!,O,!,//O,!,NH2
+ @4,*\^15,NH!,?O!,//N!+O!,!,?5,{-1,-3}=dl,-4:O,@6,\,!O!,?O!,NH2
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Apramycin;MW:539.58;EXA:1
@@ -1076,7 +1099,7 @@ CAT:antibiotics;EN:Apramycin;MW:539.58;EXA:1
CAT:antibiotics;EN:Gentamycin;MW:477.596;EXA:1
:
<-30,?6,@1,\*,O,0~zb,?6,-5:O,@5,\*,O,0~zb,?6,-5:O,{2,4,20'}:*/NH2,6:*/OH,
- 11:*/OH^-35,11:/*_^35,12:*/NH!,13:/*OH,17:/'(*/_,!NH!)
+ 11:*/OH^-35,11:/*_^35,12:*/NH!,13:/*OH,17:*/?!+NH!
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Kanamycin;MW:484.499;EXA:1
@@ -1096,22 +1119,21 @@ CAT:antibiotics;EN:Neomycin;MW:614.644;EXA:1
CAT:antibiotics;EN:Streptmycin;MW:581.574;EXA:1
:
<54,?5,3:O,4:/*_,5:/OH^45,@1,\*,O,-24~wb,?6,-5:O,@2,*\,O,24~zb,?6,
- @5,-48,!!,O,{10,11',15,16',18'}:*/OH,9:/*!OH,12:*/NH!,
- @17,*\^-18,NH,!,//NH,!,NH2,@19,*\,NH,!,//NH,!,NH2
+ 5:/!!+O^-48,{10,11',15,16',18'}:*/OH,9:/*!OH,12:*/NH!,
+ {17^-18,19}:*/NH!+?NH+!NH2
;
%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Streptmycin_H2O;MW:599.574;EXA:-
+CAT:antibiotics;EN:Streptmycin-H2O;MW:599.574;EXA:-
:
<54,?5,3:O,4:/*_,5:/OH^60,@1,\*,O,-24~wb,?6,-5:O,@2,*\,O,24~zb,?6,
@5,-18,/OH^15,45,OH,{10,11',15,16',18'}:*/OH,9:/*!OH,12:*/NH!,
- @17,*\^-18,NH,!,//NH,!,NH2,@19,*\,NH,!,//NH,!,NH2
+ {17^-18,19}:*/NH!+?NH+!NH2
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:dihydro-Streptmycin;MW:583.574;EXA:1
:
<54,?5,3:O,4:/*_,5:/!OH^-48,5:/*OH^35,@1,\*,O,-24~wb,?6,-5:O,@2,*\,O,24~zb,?6,
- {10,11',15,16',18'}:*/OH,9:/*!OH,12:*/NH!,
- @17,*\^-18,NH,!,//NH,!,NH2,@19,*\,NH,!,//NH,!,NH2
+ {10,11',15,16',18'}:*/OH,9:/*!OH,12:*/NH!,{17^-18,19}:*/NH!+?NH+!NH2
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Spectinomycin;MW:332.35;EXA:1
@@ -1129,47 +1151,42 @@ CAT:antibiotics;EN:Tobramycin;MW:467.51;EXA:1
CAT:antibiotics;EN:Spiramycin;MW:843.1;EXA:1
:
<-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,
- {12,14}=dl,2:O,{1,10^-30}:/*_,5:/*OH,3://O,6:/*O!>vt,
+ {12,14}=dl,2:O,{1,10^-30}:/*_,5:/*OH,3://O,6:/*O!>vt,8:/*!+!!+O,
@-6,\*^-30,O,!~wb,?6`.7,-5:O,#.5,-3:/*N?!,-4:*/_,##,
@7,\*,O,0~wb,?6`.7,-5:O,#.5,-2:*/N?!,-1:/*OH,-4:*/_,##,
@-3,\*`1,O,60~wb,?6`.7,-5:O,#.5,{-2^35,-3}:*/OH,{-2^-35,-4}:/*_,##,
- @8,\*,!,!!,O
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Neospiramycin;MW:698.9;EXA:1
:
<-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,
- {12,14}=dl,2:O,{1,10^-30}:/*_,5:/*OH,3://O,6:/*O!>vt,
+ {12,14}=dl,2:O,{1,10^-30}:/*_,5:/*OH,3://O,6:/*O!>vt,8:/*!+!!+O,
@-6,\*^-30,O,!~wb,?6`.7,-5:O,#.5,-3:/*N?!,-4:*/_,##,
@7,\*,O,0~wb,?6`.7,-5:O,#.5,-2:*/N?!,-4:*/_,{-1,-3}:/*OH,##,
- @8,\*,!,!!,O
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Josamycin;MW:827.995;EXA:1
:
<-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,
- {12,14}=dl,2:O,1:/*_,3://O,10:/*_,6:/*O!>vt,-6:/*OH,
- @5,\*^-25,O,!,//O,!,
+ {12,14}=dl,2:O,1:/*_,3://O,10:/*_,6:/*O!>vt,-6:/*OH,5:/*O!+?O!^-25,8:/*!+!!+O,
@7,\*,O,0~wb,?6`.7,-5:O,#.5,-2:*/N?!,-1:/*OH,-4:*/_,##,
@-3,\*`1,O,60~wb,?6`.7,-5:O,#.5,-2^35:*/OH,{-2^-35,-4}:/*_,##,
@-3,*\,O,60,//O,60,-60,/_,!,
- @8,\*,!,!!,O
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Leucomycin A5;MW:771.942;EXA:1
:
<-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,
- {12,14}=dl,2:O,1:/*_,3://O,10:/*_,6:/*O!>vt,-6:/*OH,5:/*OH,
+ {12,14}=dl,2:O,1:/*_,3://O,10:/*_,6:/*O!>vt,-6:/*OH,5:/*OH,8:/*!+!!+O,
@7,\*,O,0~wb,?6`.7,-5:O,#.5,-2:*/N?!,-1:/*OH,-4:*/_,##,
@-3,\*`1,O,60~wb,?6`.7,-5:O,#.5,-2^35:*/OH,{-2^-35,-4}:/*_,##,
@-3,*\,O,60,//O,60,-60,60,
- @8,\*,!,!!,O
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Erythromycin;MW:733.93;EXA:1
:
<30,#1,<-120,60,60,60,-60,60,60,-60,60,60,60,-60,60,60,##,&1,
- 14:O,13:/*Et,{1,9}://O,{2',4,6^-35,8,10',12^35}:/*_,
+ 14:O,13:/*!,{1,9}://O,{2',4,6^-35,8,10',12^35}:/*_,
{6^35,11,12^-35}:*/OH,
@$3,\*,O,30~zb,|,?6`.7,6:O,#.5,{5~wf,3^35}:/_,4:/*OH,3^-35:/*O!,##,
@$5,\*^30`1.7,O,!~zb,|,?6`.7,6:O,#.5,5:/*_,2:*/OH,3:/*N?!
@@ -1181,7 +1198,7 @@ CAT:antibiotics;EN:Emamectine;MW:886.133;EXA:1
@5,#1.04,6,//O,-60,O,60~wb,60,-60,60~wf,60,-60,60,60,60,-60,60,##,&7,
{-1,-3,-7}=dl,-11--(-10)=?6,@-2,?6,-6=wf,-1=zb,-5=dl,
{-1,-6}:O,-3:*/_,@-2,\,*/_,!2,
- 17:/_,19:/*_,@18,\,O,!,?6`.7,-1:O,#.5,-2:*/_,-4:*/O!,##,
+ 17:/_,19:/*_,@18,\,O!,?6`.7,-1:O,#.5,-2:*/_,-4:*/O!,##,
@-3,\,O,60,?6`.7,-5:O,#.5,-4:*/_,-3:/*NH!,-2:*/O!
;
%------------------------------------------------------------------------------
@@ -1206,11 +1223,10 @@ CAT:antibiotics;EN:Natamycin;MW:665.733;EXA:1
CAT:antibiotics;EN:Tylocin;MW:916.10;EXA:1
:
<-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,
- {12,14}=dl,2:O,1:/*!,5:/*OH,3://O,10:/*_,6:/*_,-6://O,-3:/_,
+ {12,14}=dl,2:O,1:/*!,5:/*OH,3://O,10:/*_,6:/*_,-6://O,-3:/_,8:/*!+!!+O,
@-1,*\,-60,O,0~wb,?6`.7,-5:O,#.5,-3:/*OH,-4:*/_,{-1,-2}:/*O!,##,
@7,\*,O,0~wb,?6`.7,-5:O,#.5,-2:*/N?!,-1:/*OH,-4:*/_,##,
@-3,\*`1,O,60~wb,?6`.7,-5:O,#.5,{-2^35,-3}:*/OH,{-2^-35,-4}:/*_,##,
- @8,\*,!,!!,O
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Tilmicosin;MW:869.133;EXA:1
@@ -1233,32 +1249,32 @@ CAT:antibiotics;EN:Mirosamicin;MW:727.8791;EXA:1
CAT:antibiotics;EN:Chlortetracyclin;MW:478.88;EXA:1
:
<30,Ph,{-4,-3,-3}=?6,{16,19}=dl,{10,18}://O,7:*/_^-35,2:/Cl,
- {5,7~zf^35,13~wf^60,14,16}:/OH,15:*/N?!,17:/CONH2
+ {5,7~zf^35,13~wf^60,14,16}:/OH,15:*/N?!,17:/?O!+NH2
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Oxytetracyclin;MW:460.434;EXA:1
:
<30,Ph,{-4,-3,-3}=?6,{16,19}=dl,{10,18}://O,7:*/_^-35,11:*/OH,
- {5,7~zf^35,13~wf^60,14,16}:/OH,15:*/N?!,17:/CONH2
+ {5,7~zf^35,13~wf^60,14,16}:/OH,15:*/N?!,17:/?O!+NH2
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Tetracyclin;MW:444.435;EXA:1
:
<30,Ph,{-4,-3,-3}=?6,{16,19}=dl,{10,18}://O,7:*/_^-35,
- {5,7~zf^35,13~wf^60,14,16}:/OH,15:*/N?!,17:/CONH2
+ {5,7~zf^35,13~wf^60,14,16}:/OH,15:*/N?!,17:/?O!+NH2
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Doxycyclin;MW:444.43;EXA:1
:
<30,Ph,{-4,-3,-3}=?6,{16,19}=dl,{10,18}://O,7:*/_,
- {5,13~wf^60,11~wf,14,16}:/OH,15:*/N?!,@17,\,//O,!,NH2
+ {5,13~wf^60,11~wf,14,16}:/OH,15:*/N?!,17:/?O!+NH2
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Tiamulin;MW:493.74;EXA:1
:
<-45.5,?8,-3=?5,@8,#.8,-210~zf,/_^60,45,56,##,&6~zb,
{3^-45,5,8}:*/_,@3,\*^30,!~dl,4:/*OH,11://O,7:*/H^60,
- @1,15,O,!,//O,!2,S,60,60,-60,N!2,60,-60
+ @1,15,O!,?O!2,S,60,60,-60,N?2,!2
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Rifampicin;MW:822.94;EXA:2
@@ -1267,746 +1283,801 @@ CAT:antibiotics;EN:Rifampicin;MW:822.94;EXA:2
#1,@-2,\,NH,60,-60,60~dl,60,60~dl,-60,
60,-60,60,60,-60,60,-53,66,-53~dl,66`1.2,O,##,&$8,
||,{9,15}://O,16:/_,{20,24^30}:*/_,{21,23}:/*OH,{8^60,22,26^30}:/*_,
- -4:/*O!,@-6,-30,O,!,//O,!,@$11,\,!!,N,!,|,?6,1:N,4:N!
+ -4:/*O!,@-6,-30,O!,?O!,@$11,\,!!,N,!,|,?6,1:N,4:N?
;
%==============================================================================
-CAT:pesticide;EN:BHC;MW:290.83;EXA:-
+CAT:pesticide;EN:BHC;MW:290.83;EXA:1
:
<30,?6,{1,2',3,4,5',6}:*/Cl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:pp-DDT;MW:354.49;EXA:-
+CAT:pesticide;EN:pp-DDT;MW:354.49;EXA:1
:
-<30,Ph,6:/Cl,@3,\,/CCl3,!,Ph,-3:/Cl
+<30,Ph,6:/Cl,@3,\,/CCl3,!Ph,-3:/Cl
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:op-DDT;MW:354.49;EXA:-
:
-<30,Ph,4:/Cl,@3,\,/CCl3,!,Ph,-3:/Cl
+<30,Ph,4:/Cl,@3,\,/CCl3,!Ph,-3:/Cl
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:pp-DDD;MW:320;EXA:-
:
-<30,Ph,6:/Cl,@3,\,/CCl2,!,Ph,-3:/Cl
+<30,Ph,6:/Cl,@3,\,/CCl2,!Ph,-3:/Cl
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:pp-DDE;MW:318;EXA:-
:
-<30,Ph,6:/Cl,@3,\,//CCl2,!,Ph,-3:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:EPN;MW:323.303;EXA:-
-:
-<30,!2,O,!,P,//S,/Ph^170,!,O,!,Ph,-3:/NO2
+<30,Ph,6:/Cl,@3,\,//CCl2,!Ph,-3:/Cl
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:XMC;MW:179.2;EXA:-
:
-<30,Ph,{1,5}:/_,@3,\,O,!,//O,!,NH,!
+<30,Ph,{1,5}:/_,@3,\,O!,?O!,NH!
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Acrinathrin;MW:541.45;EXA:1
:
<-30,?3,{2^-35,2'^35}:*/_,
- @1,\,!~dl,!,//O,!,O,!,/CF3,!,CF3,@3,\,//O,!,O,!,/CN,!,Ph,-4:/OPh>rl
+ @1,\,!~dl,!,//O,!O!,/CF3,!,CF3,@3,\,//O,!O!,/CN,!Ph,-4:/O!+Ph>rl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Azaconazole;MW:300.139;EXA:-
+CAT:pesticide;EN:Azaconazole;MW:300.139;EXA:1
:
<30,Ph,{4,6}:/Cl,@3,\,!2,?5,{-2,-4}=dl,{-2,-4,-5}:N,@7,?5,{-1,-4}:O
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Acetochlor;MW:269.769;EXA:-
+CAT:pesticide;EN:Acetochlor;MW:269.769;EXA:1
:
-<30,Ph,2:/_,4:/!,@3,\,N,!2,O,!2,@7,\,//O,!2,Cl
+<30,Ph,2:/_,4:/!,@3,\,N,/?O!2+Cl,!2,O!2
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Atrazine;MW:215.7;EXA:-
+CAT:pesticide;EN:Atrazine;MW:215.7;EXA:1
:
-<30,Ph,{2,4,6}:N,5:/Cl,1:/NH!2,@3,\,NH,!?!
+<30,Ph,{2,4,6}:N,5:/Cl,1:/NH!2,3:/NH+!?!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Anilofos;MW:367.9;EXA:-
+CAT:pesticide;EN:Alachrol;MW:269.8;EXA:1
:
-<-30,!,O,!,P,//S,/O!^160,!,S,!2,//O,!,N,/?!,!,Ph,-3:/Cl
+<-30,!,O!2,N,/Ph+({-5,-1}:/!),!,?O!2,Cl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Alachrol;MW:269.8;EXA:-
+CAT:pesticide;EN:Isoprcarb;MW:193.246;EXA:1
:
-<-30,!,O,!2,N,!,//O,!2,Cl,@4,\,|,Ph,{2,6}:/!
+<30,Ph,2:/?!,3:/O!+?O!+NH!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Isazofos;MW:313.74;EXA:-
+CAT:pesticide;EN:Isoprothiolane;MW:290.4;EXA:1
:
-<30,!2,O,!,P,//S,/O!2^160>rl,!,O,!,|,?5,{2,5}=dl,{2,4,5}:N,4:/Cl,3:/?!
+<30,!?!,O!,?O!,//?5+({2,5}:S),!?O,!O,!?!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Isoprcarb;MW:193.246;EXA:-
+CAT:pesticide;EN:Iprobenfos;MW:288.34;EXA:1
:
-<30,Ph,2:/?!,@3,\,O,!,//O,!,NH,!
+<30,!?!,O!,P,//O,/O+!?!^170,!,S,!2,Ph
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Isoprothiolane;MW:290.4;EXA:-
+CAT:pesticide;EN:Uninnazole-P;MW:291.779;EXA:1
:
-<30,!?!,O,!,//O,!2,//O,!,O,!?!,@5,\\,|,?5,{2,5}:S
+<30,Ph,6:/Cl,@3,\,!~dl,!,/OH,!,??!,@8,\,|,?5,{2,4}=dl,{1,2,4}:N
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Iprobenfos;MW:288.34;EXA:-
+CAT:pesticide;EN:Esprocarb;MW:265.4;EXA:1
:
-<30,!?!,O,!,P,//O,/O!?!^170,!,S,!2,Ph
+<30,Ph,@3,\,!S!,?O!,N?2!,?!,?!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Uninnazole-P;MW:291.779;EXA:-
+CAT:pesticide;EN:Ethalfluralin;MW:333.3;EXA:1
:
-<30,Ph,6:/Cl,@3,\,!~dl,!,/OH,!,??!,@8,\,|,?5,{2,4}=dl,{1,2,4}:N
+<30,Ph,{1,3}:/NO2,5:/CF3,@2,\`1.1,/!,N,!2,/_,!!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Esprocarb;MW:265.4;EXA:-
+CAT:pesticide;EN:Ethofenprox;MW:376.5;EXA:1
:
-<30,Ph,@3,\,!,S,!,//O,!,N,/!,!,/?!,!
+<30,Ph,@5,\,O,!Ph,@10,\,O!3,??,!Ph,-3:/O!2
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Ethalfluralin;MW:333.3;EXA:-
+CAT:pesticide;EN:Endrin;MW:380.91;EXA:1
:
-<30,Ph,{1,3}:/NO2,5:/CF3,@2,\`1.1,/!,N,!2,/_,!!
+<30,?6`1.3,3=?6,6=dl,9=?3,-1:O,
+ @2,210~wf`1.5,&5~wb,@7,210~zf`1.5,&10~zb,{1,2,5,6,12^-210,12^-150}:/Cl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Ethion;MW:384.46;EXA:-
+CAT:pesticide;EN:Oxadiazon;MW:345.2;EXA:1
:
-<30,!2,O,!,P,//S,/O!2^160>rl,!,S,!2,S,!,P,//S,/O!2^200>lr,!,O,!2
+<30,Ph,{4,6}:/Cl,1:/O+!?!,@3,\,|,?5,2=dl,{1,2}:N,4:O,5://O,3:/??!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Edifenphos;MW:310.37;EXA:-
+CAT:pesticide;EN:Oxadixyl;MW:278.3;EXA:1
:
-<30,Ph,@3,\,O,!,P,//S,/O!2>rl^160,!,S,!,Ph
+<30,Ph,{2,4}:/_,@3,\,N,!1,?O!2,O!,@7,\,|,?5,1:N,2:O,5://O
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Ethofenprox;MW:376.5;EXA:-
+CAT:pesticide;EN:Oxyfluorfen;MW:361.701;EXA:1
:
-<30,Ph,@5,\,O,!,Ph,@10,\,O,!3,??,!,Ph,-3:/O!2
+<30,Ph,6:/CF3,4:/Cl,@3,\,O,!Ph,-3:/NO2,-4:/O!2
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Ethoprophos;MW:242.33;EXA:-
+CAT:pesticide;EN:Cafenstrole;MW:350.4;EXA:1
:
-<-30,!3,S,!,P,//O,/S!3^160>rl,!,O,!2
+<30,Ph,{2,4,6}:/_,@3,\,S?O?O,!,|,?5,{2,5}=dl,{2,4,5}:N,-2:/?O!+N?2+!2
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Ethrimfos;MW:292.29;EXA:-
+CAT:pesticide;EN:Carfentrazone-ethyl;MW:412.19;EXA:1
:
-<-30,!,O,!,P,//S,/O!^160,!,O,!,|,Ph,{2,4}:N,5:/!,3:/O!2
+<30,Ph,4:/F,6:/Cl,@1,\,!,/Cl,!,?O!,O!2,
+ @3,\,|,?5,4=dl,{1,3,5}:N,-4://O,-3:/CF2,-2:/_
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Endrin;MW:380.91;EXA:-
+CAT:pesticide;EN:Carboxin;MW:235.301;EXA:1
:
-<30,?6`1.3,3=?6,6=dl,9=?3,-1:O,
- @2,210~wf`1.5,&5~wb,@7,210~zf`1.5,&10~zb,{1,2,5,6,12^-210,12^-150}:/Cl
+<30,?6,3=dl,2:S,5:O,4:/_,@3,\,//O,!NH!,Ph
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Oxadiazon;MW:345.2;EXA:-
+CAT:pesticide;EN:Quinoxyfen;MW:308.13;EXA:1
:
-<30,Ph,{4,6}:/Cl,1:/O!?!,@3,\,|,?5,2=dl,{1,2}:N,4:O,5://O,3:/??!
+<30,Ph,4=Ph,10:N,{2,6}:/Cl,@7,\,O,!Ph,-3:/F
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Oxadixyl;MW:278.3;EXA:-
+CAT:pesticide;EN:Quitozene;MW:295.3;EXA:1
:
-<30,Ph,{2,4}:/_,@3,\,N,!1,//O,!2,O,!,@7,\,|,?5,1:N,2:O,5://O
+<30,Ph,{1,2,3,4,6}:/Cl,5:/NO2
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Oxyfluorfen;MW:361.701;EXA:-
+CAT:pesticide;EN:Kresoxim-Methyl;MW:313.348;EXA:1
:
-<30,Ph,6:/CF3,4:/Cl,@3,\,O,!,Ph,-3:/NO2,@-4,\,O,!2
+<30,Ph,@3,\,/?O!+O!,!!,N,!O!,@4,\,!,O,!Ph,-1:/_
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cadusafos;MW:270.386;EXA:-
+CAT:pesticide;EN:Clomazone;MW:239.7;EXA:1
:
-<-30,!2,?!,S,!,P,//O,/O!2^160>rl,!,S,!?,!2
+<30,Ph,2:/Cl,@3,\,!,|,?5,1:N,2:O,-2:??,-1://O
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cafenstrole;MW:350.4;EXA:-
+CAT:pesticide;EN:Chlorfenapyr;MW:407.62;EXA:1
:
-<30,Ph,{2,4,6}:/_,@3,\,SOO,!,|,?5,{2,5}=dl,{2,4,5}:N,@-2,\,//O,!,N,/!,!2
+<18,?5,3=dl,5=dl,2:N,4:/CN,5:/Br,1:/CF3,2:/!O!2,3:/Ph+(-3:/Cl)
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Carfentrazone-ethyl;MW:412.19;EXA:-
+CAT:pesticide;EN:Chlorfenson;MW:303.153;EXA:1
:
-<30,Ph,4:/F,6:/Cl,@1,\,!,/Cl,!,//O,!,O,!2,
- @3,\,|,?5,4=dl,{1,3,5}:N,-4://O,-3:/CF2,-2:/_
+<30,Ph,@3,\,O!,S?O?O,!Ph,{6,12}:/Cl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Carboxin;MW:235.301;EXA:-
+CAT:pesticide;EN:Chlorpropham;MW:213.7;EXA:1
:
-<30,?6,3=dl,2:S,5:O,4:/_,@3,\,//O,!,NH,!,Ph
+<30,Ph,6:/Cl,@4,\,NH!,?O!,O,!?!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Quinalphos;MW:298.30;EXA:-
+CAT:pesticide;EN:Chlorbenside;MW:269.183;EXA:1
:
-<30,!,O,!2,P,//S,/O!2^160>rl,!,O,!,|,Ph,3=Ph,{2,5}:N
+<30,Ph,@3,\,S,!2,Ph,{6,12}:/Cl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Quinoxyfen;MW:308.13;EXA:-
+CAT:pesticide;EN:Chlorobenzilate;MW:325.2;EXA:1
:
-<30,Ph,4=Ph,10:N,{2,6}:/Cl,@7,\,O,!,|,Ph,4:/F
+<30,Ph,@3,\,/OH^-35,/?O!+O!2^30>lr,!Ph,{6,11}:/Cl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Quitozene;MW:295.3;EXA:-
+CAT:pesticide;EN:Chlorantraniliprole;MW:483.15;EXA:1
:
-<30,Ph,{1,2,3,4,6}:/Cl,5:/NO2
+<30,Ph,1:/Cl,3:/_,@5,\,//O,60,NH!,@4,\,NH!,?O!,<24,?5,
+ {-1,-3}=db,{-3,-4}:N,-2:/Br,
+ @-4,24,Ph,-5:N,-1:/Cl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Kresoxim-Methyl;MW:313.348;EXA:-
+CAT:pesticide;EN:Azoxystrobin;MW:403.4;EXA:1
:
-<30,Ph,@3,\,/COO!,!!,N,!,O,!,@4,\,!,O,!,Ph,-1:/_
+<30,Ph,2:/CN,@3,\,O,!Ph,{-1,-3}:N,@-4,\,O,!Ph,@-5,\,/?O!+O!,!!,!O!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Clomazone;MW:239.7;EXA:-
+CAT:pesticide;EN:Thiuram;MW:240.43;EXA:1
:
-<30,Ph,2:/Cl,@3,\,!,|,?5,1:N,2:O,-2:??,-1://O
+<30,!,N?!,//S,!,S,!,S,!,//S,!,N?!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chlorpyrifos;MW:350.59;EXA:-
+CAT:pesticide;EN:Probenazole;MW:223.25;EXA:1
:
-<30,!2,O,!,P,//S,/O!2^160>rl,!,O,!,|,Ph,6:N,{2,4,5}:/Cl
+<12,Ph,3=?5,9=dl,7:S,8:N,{7^35,7^-35}://O,9:/O!2+!!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chlorpyrifos-methyl;MW:322.53;EXA:-
+CAT:pesticide;EN:Penflufen;MW:317.41;EXA:1
:
-<-30,!,O,!,P,//S,/O!^160>rl,!,O,!,|,Ph,6:N,{2,4,5}:/Cl
+<30,Ph,@3,\,NH!,?O!,?5,{-1,-4}=db,{-2,-3}:N,{-2,-4}:/_,-1:/F,@4,\,/_,60,!?!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chlorfenapyr;MW:407.62;EXA:-
+CAT:pesticide;EN:MCPA;MW:200.62;EXA:1
:
-<18,?5,3=dl,5=dl,2:N,4:/CN,5:/Br,1:/CF3,@2,\,!,O,!2,@3,\,Ph,-3:/Cl
+<30,Ph,1:/Cl,5:/_,4:/O!2+COOH
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chlorfenson;MW:303.153;EXA:-
+CAT:pesticide;EN:Asulam;MW:230.2;EXA:1
:
-<30,Ph,@3,\,O,!,SOO,!,Ph,{6,12}:/Cl
+<30,Ph,1:/NH2,@3,\,S?O?O,!NH!,?O!,O!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chlorfenvinphos;MW:359.58;EXA:-
+CAT:pesticide;EN:Imazosulfuron;MW:412.81;EXA:1
:
-<30,!2,O,!,P,//O,/O!2^160>rl,!,O,!,!!,!,Cl,@6,\`1,|,Ph,{2,4}:/Cl
+<-11.8,?6,3=?5,{1,5,7,9}=db,{4,7}:N,8:/Cl,
+ @-1,\,S?O?O,!NH!,//O,!NH!,Ph,{-1,-5}:N,{-2,-4}:/O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Triaziflam;MW:333.4;EXA:1
+:,
+<30,Ph,{2,6}:/_,@4,\,O!2,?!,NH!,Ph,{-1,-3,-5}:N,-2:/NH2,-4:/??+!F
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Trichlopyr;MW:256.47;EXA:1
+:,
+<30,Ph,2:N,{1,4,6}:/Cl,3:/O!2+COOH
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Halosulfuron-methyl;MW:434.82;EXA:1
+:,
+<6,?5,{3,5}=db,{1,2}:N,2:/_,5:/Cl,@3,\,S?O?O,!NH!,//O,!NH!,Ph,{-2,-4}:/O!,
+ 4:/?O!+O!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chlorpropham;MW:213.7;EXA:-
+CAT:pesticide;EN:Flupoxam;MW:460.8;EXA:2
:
-<30,Ph,6:/Cl,@4,\,NH,!,//O,!,O,!?!
+<30,Ph,4:/Cl,@1,\,?5,{-2,-4}=db,{-2,-4,-5}:N,-1:/Ph,-3:/?O!+NH2,
+ @3,\,!,O!2,/F^35,/F^-35,!,CF3
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chlorbenside;MW:269.183;EXA:-
+CAT:pesticide;EN:Cyanazine;MW:240.7;EXA:1
:
-<30,Ph,@3,\,S,!2,Ph,{6,12}:/Cl
+<30,Ph,{2,4,6}:N,5:/Cl,1:/NH!2,3:/NH!+??+!CN
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chlorobenzilate;MW:325.2;EXA:-
+CAT:pesticide;EN:Diethofencarb;MW:267.3;EXA:1
:
-<30,Ph,@3,\,/OH^-35,/COO!2^30>lr,!,Ph,{6,11}:/Cl
+<30,Ph,@4,\,NH!,?O!,O,!?!,{1,6}:/O!2
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chlorantraniliprole;MW:483.15;EXA:-
+CAT:pesticide;EN:Diclofop-methyl;MW:341.2;EXA:1
:
-<30,Ph,@5,\,//O,60,NH,!,@4,\,NH,!,//O,!,<24,?5,{-1,-3}=db,{-3,-4}:N,-2:/Br,
- @-4,24,Ph,-5:N,-1:/Cl
+<30,Ph,{4,6}:/Cl,@3,\,O,!Ph,@-4,\,O,!?!,//O,!O!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Azoxystrobin;MW:403.4;EXA:-
+CAT:pesticide;EN:Cyhalothrin;MW:449.86;EXA:1
:
-<30,Ph,2:/OH,@3,\,O,!,Ph,{-1,-3}:N,@-4,\,O,!,Ph,@-5,\,/O!,!,//O,!,O!
+<-30,?3,{2^-35,2'^35}:*/_,@1,\,!~dl,/CF3,!Cl,@3,\,//O,!O!,/CN,!Ph,-4:/O!+Ph>rl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Thiuram;MW:240.43;EXA:-
+CAT:pesticide;EN:Cyhalofop-Buthyl;MW:357.381;EXA:1
:
-<30,!,N!,!,//S,!,S,!,S,!,//S,!,N!,!
+<30,Ph,1:/CN,4:/F,@3,\,O,!Ph,@-3,\,O,!?!,?O!,O,!4
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Probenazole;MW:223.25;EXA:-
+CAT:pesticide;EN:Diphenamid;MW:239.3;EXA:1
:
-<12,Ph,3=?5,9=dl,7:S,8:N,{7^35,7^-35}://O,@9,\,O,!2,!!
+<30,Ph,@3,\,!Ph,-5:/?O!+N?!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Penflufen;MW:317.41;EXA:-
+CAT:pesticide;EN:Cyfluthrin;MW:434.3;EXA:1
:
-<30,Ph,@3,\,NH,!,//O,!,?5,{-1,-4}=db,{-2,-3}:N,{-2,-4}:/_,-1:/F,@4,\,/_,60,!?!
+<-30,?3,{2^-35,2'^35}:*/_,
+ @1,\,!~dl,/Cl,!Cl,@3,\,//O,!O!,/CN,!Ph,-3:/F,-4:/O!+Ph>rl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:MCPA;MW:200.62;EXA:-
+CAT:pesticide;EN:Diflufenican;MW:394.29;EXA:1
:
-<30,Ph,1:/Cl,5:/_,@4,\,O,!2,COOH
+<30,Ph,{1,5}:/F,@4,\,NH!,//O,!Ph,6:N,-5:/O!+Ph+(-3:/CF3)
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Asulam;MW:230.2;EXA:-
+CAT:pesticide;EN:Cyproconazole;MW:291.8;EXA:1
:
-<30,Ph,@3,\,SOO,!,NH,!,//O,!,O!
+<30,?3,@2,\,?!,/OH^30,-90,!,|,<-18,?5,{2,4}=dl,{1,3,5}:N,@$5,-30,Ph,-3:/Cl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Imazasulfuron;MW:412.81;EXA:-
+CAT:pesticide;EN:Cypermethrin;MW:416.3;EXA:1
:
-<-11.8,?6,3=?5,{1,5,7,9}=db,-3:N,8:/Cl,
- @-1,\,SOO,!,NH,!,//O,!,NH,!,Ph,{-1,-5}:N,{-2,-4}:/O!
+<-30,?3,{2^-35,2'^35}:*/_,@1,\,!~dl,/Cl,!Cl,@3,\,//O,!O!,/CN,!Ph,-4:/O!+Ph>rl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Triaziflam;MW:333.4;EXA:-
-:,
-<30,Ph,{2,6}:/_,@4,\,O,!2,?!,NH,!,Ph,{-1,-3,-5}:N,-2:/NH2,@-4,\,??,!,F
+CAT:pesticide;EN:Simazine;MW:201.7;EXA:1
+:
+<30,Ph,{2,4,6}:N,5:/Cl,1:/NH!2,3:/NH!2
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Trichlopyr;MW:256.47;EXA:-
-:,
-<30,Ph,2:N,{1,4,6}:/Cl,@3,\,O,!2,COOH
+CAT:pesticide;EN:Dimethametryn;MW:255.4;EXA:1
+:
+<30,Ph,{2,4,6}:N,5:/S!,1:/NH!2,3:/NH+!?!+?!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Halosulfuron-methyl;MW:434.82;EXA:-
-:,
-<6,?5,{3,5}=db,{1,2}:N,2:/_,5:/Cl,@3,\,SOO,!,NH,!,//O,!,NH,!,Ph,{-2,-4}:/O!,
- @4,\,//O,!,O,!
+CAT:pesticide;EN:Dimethenamid;MW:275.8;EXA:1
+:
+<-6,?5,{3,5}=dl,2:S,{3,5}:/_,@4,\,N,!,?O!2,Cl,6:/?!2+O!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Flupoxam;MW:460.8;EXA:2
+CAT:pesticide;EN:Simetryn;MW:213.3;EXA:1
:
-<30,Ph,4:/Cl,@1,\,?5,{-2,-4}=db,{-2,-4,-5}:N,-1:/Ph,@-3,\,//O,!,NH2,
- @3,\,!,O,!2,/F^35,/F^-35,!,CF3
+<30,Ph,{2,4,6}:N,5:/S!,{1,3}:/NH!2
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cyanazine;MW:240.7;EXA:-
+CAT:pesticide;EN:Dimepiperate;MW:263.4;EXA:1
:
-<30,Ph,{2,4,6}:N,5:/Cl,1:/NH!2,@3,\,NH,!,??,!,CN
+<30,Ph,@3,\,??,!,S,!,?O!,?6,-6:N
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cyanophos;MW:243.22;EXA:-
+CAT:pesticide;EN:Diazinon;MW:304.35;EXA:1
:
-<-30,!,O,!,P,//S,/O!^160,!,O,!,|,Ph,4:/CN
+<30,!2,O!,P,//S,/O!2^160>rl,!O!,|,Ph,{4,6}:N,5:/_,3:/?!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Diethofencarb;MW:267.3;EXA:-
+CAT:pesticide;EN:Thiobencarb;MW:257.776;EXA:1
:
-<30,Ph,@4,\,NH,!,//O,!,O,!?!,{1,6}:/O!2
+<30,Ph,1:/Cl,@4,\,!,S,!,?O!,N?2,!2
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Dichlofenthion;MW:315.2;EXA:-
+CAT:pesticide;EN:Thiometon;MW:246.34;EXA:1
:
-<30,!2,O,!,P,//S,/O!2^160>rl,!,O,!,|,Ph,{2,4}:/Cl
+<-30,!O!,P,//S,/O!^160,!,S,!3,S,!2
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Diclofop-methyl;MW:341.2;EXA:-
+CAT:pesticide;EN:Thifluzamide;MW:528.08;EXA:1
:
-<30,Ph,{4,6}:/Cl,@3,\,O,!,Ph,@-4,\,O,!?!,COO!
+<-12,?5,{3,5}=dl,2:S,5:N,3:/CF3,1:/_,@4,\,//O,!NH!,<6,Ph,{-5,-1}:/Br,-3:/O!+CF3
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cyhalothrin;MW:449.86;EXA:-
+CAT:pesticide;EN:Dieldrin;MW:380.895;EXA:1
:
-<-30,?3,{2^-35,2'^35}:*/_,@1,\,!~dl,/CF3,!,Cl,
- @3,\,//O,!,O,!,/CN,!,Ph,-4:/OPh>rl
+<30,?6`1.2,3=?6,6=dl,9=?3,-1:O,@2,148~wf`1.4,&5~wb,
+ @7,*\^145`1.3,&10~zb,{1,2,5,6,12^-210,12^-150}:/Cl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cyhalofop-Buthyl;MW:357.381;EXA:-
+CAT:pesticide;EN:Aldrin;MW:364.908;EXA:1
:
-<30,Ph,1:/CN,4:/F,@3,\,O,!,|,Ph,@-3,\,O,!?!,//O,!,O,!4
+<30,?6`1.3,3=?6,{6,9}=dl,
+ @2,210~wf`1.5,&5~wb,@7,210~zf`1.5,&10~zb,{1,2,5,6,11^-210,11^-150}:/Cl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Diphenamid;MW:239.3;EXA:-
+CAT:pesticide;EN:Tecnazene;MW:260.879;EXA:1
:
-<30,Ph,@3,\,!,Ph,@-5,\,//O,!,N,?!
+<30,Ph,{1,3,4,6}:/Cl,5:/NO2
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cyfluthrin;MW:434.3;EXA:-
+CAT:pesticide;EN:Tetrachlorvinfos;MW:365.97;EXA:1
:
-<-30,?3,{2^-35,2'^35}:*/_,
- @1,\,!~dl,/Cl,!,Cl,@3,\,//O,!,O,!,/CN,!,Ph,-3:/F,-4:/OPh>rl
+<-30,!O!,P,//O,/O!^160,!O!,/Ph+({2,4,5}:/Cl),!!,!Cl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Diflufenican;MW:394.29;EXA:-
+CAT:pesticide;EN:Tetraconazole;MW:372.14;EXA:1
:
-<30,Ph,{1,5}:/F,@4,\,NH,!,//O,!,Ph,6:N,@-5,\,O,!,Ph,-3:/CF3
+<-6,?5,{2,5}=dl,{1,2,4}:N,@4,\,!3,O!,/F^35,/F^-35,!,CF2,7:/Ph+({4,6}:/Cl)
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cyproconazole;MW:291.8;EXA:-
+CAT:pesticide;EN:Tetradifon;MW:356.038;EXA:1
:
-<30,?3,@2,\,?!,/OH^30,-90,!,|,<-18,?5,{2,4}=dl,{1,3,5}:N,@$5,-30,Ph,-3:/Cl
+<30,Ph,@3,\,S?O?O,!Ph,{6,10,11,13}:/Cl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cypermethrin;MW:416.3;EXA:-
+CAT:pesticide;EN:Thenylchlor;MW:323.835;EXA:1
:
-<-30,?3,{2^-35,2'^35}:*/_,
- @1,\,!~dl,/Cl,!,Cl,@3,\,//O,!,O,!,/CN,!,Ph,-4:/OPh>rl
+<6,?5,{2,5}=dl,4:S,2:/O!,@3,\,!,N,7:/Ph+({6,2}:/_)^-15,!,//O,!2,Cl,
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Simazine;MW:201.7;EXA:-
+CAT:pesticide;EN:Tebuconazole;MW:307.8;EXA:1
:
-<30,Ph,{2,4,6}:N,5:/Cl,1:/NH!2,3:/NH!2
+<36,?5,{1,4}=dl,{1,3,5}:N,@3,30,!4,Ph,-3:/Cl,7^-30:/??!,7^30:/OH
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Dimethametryn;MW:255.4;EXA:-
+CAT:pesticide;EN:Tebufenpyrad;MW:333.86;EXA:1
:
-<30,Ph,{2,4,6}:N,5:/S!,1:/NH!2,@3,\,NH,!?!,?!
+<6,?5,{3,5}=dl,{1,2}:N,4:/Cl,5:/!,2:/_,@3,\,?O!,NH,!2,Ph,-3:/??!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Dimethylvinphos;MW:331.52;EXA:-
+CAT:pesticide;EN:Tefluthrin;MW:418.736;EXA:1
:
-<-30,!,O,!,P,//O,/O!^160,!,O,!,!~dl,!,Cl,@5,\`1,Ph,{-5,-3}:/Cl
+<-30,?3,{2^-35,2'^35}:*/_,@1,\,!!,/CF3,!Cl,@3,\,?O!,O!2,|,Ph,{2,3,5,6}:/F,4:/_
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Dimethenamid;MW:275.8;EXA:-
+CAT:pesticide;EN:Terbutryn;MW:241.4;EXA:1
:
-<-6,?5,{3,5}=dl,2:S,{3,5}:/_,@4,\,N,!,//O,!2,Cl,@6,\,?!2,O,!
+<30,Ph,{2,4,6}:N,5:/S!,1:/NH!2,3:/NH!+??!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Dimethoate;MW:229.25;EXA:-
+CAT:pesticide;EN:Terbufos;MW:288.42;EXA:1
:
-<-30,!,O,!,P,//S,/O!^160,!,S,!2,//O,!,NH,!
+<30,!2,O!,P,//S,/O!2^160>rl,!,S,!2,S,!,??!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Simetryn;MW:213.3;EXA:-
+CAT:pesticide;EN:Triadimefon;MW:293.8;EXA:1
:
-<30,Ph,{2,4,6}:N,5:/S!,{1,3}:/NH!2
+<30,Ph,6:/Cl,@3,\,O!2,?O!,??!,@8,\,|,?5,{2,4}=dl,{1,2,4}:N
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Dimepiperate;MW:263.4;EXA:-
+CAT:pesticide;EN:Triazophos;MW:313.31;EXA:1
:
-<30,Ph,@3,\,??,!,S,!,//O,!,|,?6,1:N
+<30,!2,O!,P,//S,/O!2^160>rl,!O!,<-12,|,?5,{2,5}=dl,{2,4,5}:N,4:/Ph
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Diazinon;MW:304.35;EXA:-
+CAT:pesticide;EN:Triallate;MW:304.7;EXA:1
:
-<30,!2,O,!,P,//S,/O!2^160>rl,!,O,!,|,Ph,{4,6}:N,5:/_,3:/?!
+<-30,!?!,N,/?!,!,?O!,S,!2,/Cl,!!,/Cl,!Cl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Thiobencarb;MW:257.776;EXA:-
+CAT:pesticide;EN:Dimethylvinphos;MW:331.52;EXA:1
:
-<30,Ph,1:/Cl,@4,\,!,S,!,//O,!,N,/!,!2
+<-30,!O!,P,//O,/O!^160,!O!,/Ph+({2,4}:/Cl)`1,!!,!Cl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Thiometon;MW:246.34;EXA:-
+CAT:pesticide;EN:Trifluralin;MW:335.3;EXA:1
:
-<-30,!,O,!,P,//S,/O!^160,!,S,!3,S,!2
+<30,Ph,{1,3}:/NO2,5:/CF3,@2,\,N,/!2,!3
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Thifluzamide;MW:528.08;EXA:-
+CAT:pesticide;EN:Napropamide;MW:271.4;EXA:1
:
-<-12,?5,{3,5}=dl,2:S,5:N,3:/CF3,1:/_,
- @4,\,//O,!,NH,!,<6,|,Ph,{2,6}:/Br,@-3,\,O,!,CF3
+<-30,Ph,4=Ph,@10,\,O!,?!,?O!,N?2,!2
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Dieldrin;MW:380.895;EXA:-
+CAT:pesticide;EN:Nitrothal-isopropyl;MW:295.3;EXA:-
:
-<30,?6`1.2,3=?6,6=dl,9=?3,-1:O,@2,148~wf`1.4,&5~wb,
- @7,*\^145`1.3,&10~zb,{1,2,5,6,12^-210,12^-150}:/Cl
+<30,Ph,5:/NO2,{1,3}:/?O!+O!+?!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Aldrin;MW:364.908;EXA:-
+CAT:pesticide;EN:Norflurazon;MW:303.7;EXA:-
:
-<30,?6`1.3,3=?6,{6,9}=dl,
- @2,210~wf`1.5,&5~wb,@7,210~zf`1.5,&10~zb,{1,2,5,6,11^-210,11^-150}:/Cl
+<30,?6,{1,5}=dl,{4,5}:N,1:/NH!,3://O,2:/Cl,4:/Ph+(3:/CF3)
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tecnazene;MW:260.879;EXA:-
+CAT:pesticide;EN:Paclobutrazole;MW:293.795;EXA:-
:
-<30,Ph,{1,3,4,6}:/Cl,5:/NO2
+<30,Ph,6:/Cl,@3,\,!2,/OH,!,??!,@8,\,|,?5,{2,4}=dl,{1,2,4}:N
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tetrachlorvinfos;MW:365.97;EXA:-
+CAT:pesticide;EN:Picolinafen;MW:376.331;EXA:-
:
-<-30,!,O,!,P,//O,/O!^160,!,O,!,!!,!,Cl,@5,\`1,|,Ph,{2,4,5}:/Cl
+<30,Ph,5:/CF3,@3,\,O,!Ph,-5:N,@-4,\,//O,!NH!,Ph,-3:/F
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tetraconazole;MW:372.14;EXA:-
+CAT:pesticide;EN:Bitertanol;MW:337.4;EXA:-
:
-<-6,?5,{2,5}=dl,{1,2,4}:N,@4,\,!3,O,!,/F^35,/F^-35,!,CF2,@7,\,|,Ph,{4,6}:/Cl
+<30,Ph,@3,\,Ph,@-3,\,O!2,/OH,!,??!,@14,\,|,?5,{2,4}=dl,{1,2,4}:N
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tetradifon;MW:356.038;EXA:-
+CAT:pesticide;EN:Bifenox;MW:342.14;EXA:-
:
-<30,Ph,@3,\,SOO,!,Ph,{6,10,11,13}:/Cl
+<30,Ph,{4,6}:/Cl,@3,\,O,!Ph,-4:/?O!+O!,-3:/NO2
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Thenylchlor;MW:323.835;EXA:-
+CAT:pesticide;EN:Bifenthrin;MW:422.88;EXA:-
:
-<6,?5,{2,5}=dl,4:S,2:/O!,@3,\,!,N,!,//O,!2,Cl,@7,-15,Ph,{-1,-5}:/_
+<-30,?3,{2^-35,2'^35}:*/_,
+ @1,\,!~dl,/Cl,!,CF3,@3,\,//O,!O!,-60,Ph,-1:/_,-2:/Ph
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tebuconazole;MW:307.8;EXA:-
+CAT:pesticide;EN:Pyraflufen-ethyl;MW:413.174;EXA:-
:
-<36,?5,{1,4}=dl,{1,3,5}:N,@3,30,!4,Ph,-3:/Cl,7^-30:/??!,7^30:/OH
+<30,Ph,6:/Cl,4:/F,@3,\,|,?5,{1,4}=dl,{2,3}:N,-3:/_,5:/Cl,
+ @-2,\,O!,/F,!F,@$1,\,O!2,?O!,O!2
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tebufenpyrad;MW:333.86;EXA:-
+CAT:pesticide;EN:Pyridaben;MW:364.9;EXA:-
:
-<6,?5,{3,5}=dl,{1,2}:N,4:/Cl,5:/!,2:/_,@3,\,//O,!,NH,!2,Ph,-3:/??!
+<30,?6,{2,4}=dl,{5,6}:N,6:/??!,1://O,2:/Cl,@-4,\,S,!2,Ph,-3:/??!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tefluthrin;MW:418.736;EXA:-
+CAT:pesticide;EN:Pyridaphenthion;MW:340.34;EXA:1
:
-<-30,?3,{2^-35,2'^35}:*/_,@1,\,!!,/CF3,!,Cl,
- @3,\,//O,!,O,!2,|,Ph,{2,3,5,6}:/F,4:/_
+<30,!2,O!,P,//S,/O!2^160>rl,!O!,|,?6,{1,5}=dl,{2,3}:N,4://O,3:/Ph
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Terbutryn;MW:241.4;EXA:-
+CAT:pesticide;EN:Pyributicarb;MW:330.4;EXA:1
:
-<30,Ph,{2,4,6}:N,5:/S!,1:/NH!2,@3,\,NH,!,??!
+<30,Ph,5:/??!,@3,\,?O!,S,!,N?!,Ph,-5:N,-4:/O!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Terbufos;MW:288.42;EXA:-
+CAT:pesticide;EN:Pyriproxyfen;MW:321.5;EXA:1
:
-<30,!2,O,!,P,//S,/O!2^160>rl,!,S,!2,S,!,??!
+<30,Ph,@5,\,O,!Ph,@-3,\,O!2,?!,O,-60,Ph,-5:N
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Triadimefon;MW:293.8;EXA:-
+CAT:pesticide;EN:Pyriminobac-Methyl;MW:361.354;EXA:-
:
-<30,Ph,6:/Cl,@3,\,O,!2,//O,!,??!,@8,\,|,?5,{2,4}=dl,{1,2,4}:N
+<30,Ph,2:/O!+?O!,@5,\,/_,!!,N,!O!,@3,\,O!,|,Ph,{2,6}:N,{3,5}:/O!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Triazophos;MW:313.31;EXA:-
+CAT:pesticide;EN:Pyrimethanil;MW:199.257;EXA:-
:
-<30,!2,O,!,P,//S,/O!2^160>rl,!,O,!,<-12,|,?5,{2,5}=dl,{2,4,5}:N,4:/Ph
+<30,Ph,@3,\,NH!,|,Ph,{2,6}:N,{3,5}:/_
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Triallate;MW:304.7;EXA:-
+CAT:pesticide;EN:Pyroquilon;MW:173.2;EXA:1
:
-<-30,!?!,N,/?!,!,//O,!,S,!2,/Cl,!!,/Cl,!,Cl
+<30,Ph,3=?6,10:N,9://O,11--4=?5
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tribufos;MW:314.50;EXA:-
+CAT:pesticide;EN:Vinclozolin;MW:286.108;EXA:1
:
-<30,!4,S,!,P,//O,/'(S,!4)^160>rl,!,S,!4
+<36,?5,3:N,5:O,{2,4}://O,1:/_^54,@1,-30,!!,3:/Ph+({3,5}:/Cl)
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tolclofos-methyl;MW:301.13;EXA:-
+CAT:pesticide;EN:Fipronil;MW:437.2;EXA:-
:
-<-30,!,O,!,P,//S,/O!^160,!,O,!,|,Ph,{2,6}:/Cl,4:/_
+<30,Ph,{2,4}:/Cl,6:/CF3,@3,\,|,?5,{2,4}=dl,{1,2}:N,3:/CN,5:/NH2,-2:/S?O+!CF3
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Trifluralin;MW:335.3;EXA:-
+CAT:pesticide;EN:Fenomiphos;MW:303.36;EXA:-
:
-<30,Ph,{1,3}:/NO2,5:/CF3,@2,\,N,/!2,!3
+<30,!2,O!,P,//O,/NH+!?!^160,!,O,!Ph,-4:/_,-3:/S!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Napropamide;MW:271.4;EXA:-
+CAT:pesticide;EN:Fenarimol;MW:331.2;EXA:-
:
-<-30,Ph,4=Ph,@10,\,O,!,??,!,//O,!,N,/!,!
+<30,Ph,@3,\,!Ph,{4,11}:/Cl,7:/OH^30,7:/Ph+({3,5}:N)^-30
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Nitrothal-isopropyl;MW:295.3;EXA:-
+CAT:pesticide;EN:Fenothiocarb;MW:253.4;EXA:-
:
-<30,Ph,5:/NO2,@1,\,//O,!,O,!?!,@3,\,//O,!,O,!?!
+<30,Ph,@3,\,O,!5,S,!,?O!,N?!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Norflurazon;MW:303.7;EXA:-
+CAT:pesticide;EN:Fensulfothion;MW:308.35;EXA:-
:
-<30,?6,{1,5}=dl,{4,5}:N,1:/NH!,3://O,2:/Cl,@4,\,Ph,-4:/CF3
+<30,!2,O!,P,//S,/O!2^160>rl,!,O,!Ph,-3:/S+?O!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Paclobutrazole;MW:293.795;EXA:-
+CAT:pesticide;EN:Fenitrothion;MW:277.23;EXA:-
:
-<30,Ph,6:/Cl,@3,\,!2,/OH,!,??!,@8,\,|,?5,{2,4}=dl,{1,2,4}:N
+<-30,!O!,P,//S,/O!^160,!,O,!Ph,-4:/_,-3:/NO2
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Picolinafen;MW:376.331;EXA:-
+CAT:pesticide;EN:Parathion-methyl;MW:263.2;EXA:-
:
-<30,Ph,5:/CF3,@3,\,O,!,|,|,Ph,2:N,@3,\,//O,!,NH,!,|,Ph,4:/F
+<-30,!O!,P,//S,/O!^160,!,O,!Ph,-3:/NO2
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Bitertanol;MW:337.4;EXA:-
+CAT:pesticide;EN:Parathion;MW:291.3;EXA:-
:
-<30,Ph,@3,\,Ph,@-3,\,O,!2,/OH,!,??!,@14,\,|,?5,{2,4}=dl,{1,2,4}:N
+<30,!2,O!,P,//S,/O!2^160>rl,!,O,!Ph,-3:/NO2
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Bifenox;MW:342.14;EXA:-
+CAT:pesticide;EN:Fenthion;MW:278.33;EXA:-
:
-<30,Ph,{4,6}:/Cl,@3,\,O,!,Ph,-4:/COO!,-3:/NO2
+<-30,!O!,P,//S,/O!^160,!O!,|,Ph,3:/_,4:/S!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Bifenthrin;MW:422.88;EXA:-
+CAT:pesticide;EN:Butamifos;MW:332.36;EXA:-
:
-<-30,?3,{2^-35,2'^35}:*/_,
- @1,\,!~dl,/Cl,!,CF3,@3,\,//O,!,O,!,-60,Ph,-1:/_,-2:/Ph
+<-30,!2,?!,NH!,P,//S,/O!2^170>rl,!O!,|,Ph,2:/NO2,5:/_
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Piperophos;MW:353.48;EXA:-
+CAT:pesticide;EN:Phenthoate;MW:320.358;EXA:-
:
-<-30,!3,O,!,P,//S,/O!?!^160>rl,!,S,!2,//O,!,|,?6,1:N,6:/_
+<-30,!O!,P,//S,/O!^160,!,S,!,/Ph,!,?O!,O!2
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyraclofos;MW:360.80;EXA:-
+CAT:pesticide;EN:Prothyophos;MW:329.18;EXA:-
:
-<30,!2,O,!,P,//O,/S!3^160>rl,!,O,!,
- <-12,|,?5,{1,4}=dl,{3,4}:N,@-3,-12,|,Ph,4:/Cl
+<-30,!3,O!,P,//S,/O!2^160>rl,!O!,Ph,{-5,-3}:/Cl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyrazophos;MW:373.37;EXA:-
+CAT:pesticide;EN:Propaphos;MW:304.343;EXA:-
:
-<30,!2,O,!,P,//S,/O!2^160>rl,!,O,!,
- |,?5,3=?6,{2,5,7,9}=dl,{4,5,6}:N,7:/_,-2:/COO!2
+<-30,!3,O!,P,//O,/O!3^160>rl,!O!,Ph,-3:/S!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyraflufen-ethyl;MW:413.174;EXA:-
+CAT:pesticide;EN:Profenofos;MW:373.6;EXA:-
:
-<30,Ph,6:/Cl,4:/F,@3,\,|,?5,{1,4}=dl,{2,3}:N,-3:/_,5:/Cl,
- @-2,\,O,!,/F,!,F,@$1,\,O,!2,//O,!,O,!2
+<30,!2,O!,P,//S,/O!3^160>rl,!,O,!Ph,-5:/Cl,-3:/Br
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyridaben;MW:364.9;EXA:-
+CAT:pesticide;EN:Bromophos;MW:365.99;EXA:-
:
-<30,?6,{2,4}=dl,{5,6}:N,6:/??!,1://O,2:/Cl,@-4,\,S,!2,|,Ph,4:/??!
+<-30,!O!, P,//S,/O!^160,!O!,|,Ph,{3,6}:/Cl,4:/Br
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyridaphenthion;MW:340.34;EXA:-
+CAT:pesticide;EN:Phosalone;MW:367.80;EXA:-
:
-<30,!2,O,!,P,//S,/O!2^160>rl,!,O,!,|,?6,{1,5}=dl,{2,3}:N,4://O,3:/Ph
+<30,!2,O!,P,//S,/O!2^160>rl,!,S,!2,|,?5,4=Ph,4=dr,1:N,2://O,3:O,8:/Cl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyributicarb;MW:330.4;EXA:-
+CAT:pesticide;EN:Phosmet;MW:317.32;EXA:-
:
-<30,Ph,5:/??!,@3,\,//O,!,S,!,N,?!,|,Ph,2:N,3:/O!
+<-30,!O!,P,//S,/O!^160,!,S,!2,|,?5,3=Ph2,1:N,{2,5}://O
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyriproxyfen;MW:321.5;EXA:-
+CAT:pesticide;EN:Phorate;MW:260.4;EXA:-
:
-<30,Ph,@5,\,O,!,Ph,@-3,\,O,!2,?!,O,-60,|,Ph,2:N
+<30,!2,O!,P,//S,!,S,!2,S,!2,4:/O!2^160>rl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyriminobac-Methyl;MW:361.354;EXA:-
+CAT:pesticide;EN:Malathion;MW:330.35;EXA:-
:
-<30,Ph,2:/OCO!,@5,\,/_,!!,N,!,O,!,@3,\,O,!,|,Ph,{2,6}:N,{3,5}:/O!
+<-30,!O!,P,//S,/O!^160,!,S,!,/!?O!+O!2`1,!,?O!,O!2
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pirimiphos-methyl;MW:305.333;EXA:-
+CAT:pesticide;EN:Methidathion;MW:302.32;EXA:-
:
-<-30,!,O,!,P,//S,/O!^160,!,O,!,|,Ph,{2,4}:N,5:/_,@-4,\,N,/!,!2
+<-30,!O!,P,//S,/O!^160,!,S,!2,|,?5,4=dl,{1,5}:N,3:S,2://O,4:/O!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyrimethanil;MW:199.257;EXA:-
+CAT:pesticide;EN:Mevinphos;MW:224.15;EXA:-
:
-<30,Ph,@3,\,NH,!,|,Ph,{2,6}:N,{3,5}:/_
+<-30,!O!,P,//O,/O!^160,!,O,!?,!!,!,?O!,O!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyroquilon;MW:173.2;EXA:-
+CAT:pesticide;EN:Chlorpyrifos;MW:350.59;EXA:-
:
-<30,Ph,3=?6,10:N,9://O,11--4=?5
+<30,!2,O!,P,//S,/O!2^160>rl,!O!,|,Ph,6:N,{2,4,5}:/Cl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Vinclozolin;MW:286.108;EXA:-
+CAT:pesticide;EN:Chlorpyrifos-methyl;MW:322.53;EXA:-
:
-<36,?5,3:N,5:O,{2,4}://O,1:/_^54,@1,-30,!!,@3,\,|,Ph,{3,5}:/Cl
+<-30,!O!,P,//S,/O!^160>rl,!O!,|,Ph,6:N,{2,4,5}:/Cl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fipronil;MW:437.2;EXA:-
+CAT:pesticide;EN:Cadusafos;MW:270.386;EXA:-
:
-<30,Ph,{2,4}:/Cl,6:/CF3,@3,\,|,?5,{2,4}=dl,{1,2}:N,3:/CN,5:/NH2,
- @-2,\,S,//O,!,CF3
+<-30,!2,?!,S,!,P,//O,/O!2^160>rl,!,S,!?,!2
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fenomiphos;MW:303.36;EXA:-
+CAT:pesticide;EN:Dimethoate;MW:229.25;EXA:-
:
-<30,!2,O,!,P,//O,/NH!?!^160,!,O,!,|,Ph,3:/_,4:/S!
+<-30,!O!,P,//S,/O!^160,!,S,!2,//O,!NH!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fenarimol;MW:331.2;EXA:-
+CAT:pesticide;EN:Tribufos;MW:314.50;EXA:-
:
-<30,Ph,@3,\,!,Ph,{4,11}:/Cl,7:/OH^30,@7,-30,|,Ph,{3,5}:N
+<30,!4,S,!,P,//O,/S+!4^160>rl,!,S,!4
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fenitrothion;MW:277.23;EXA:-
+CAT:pesticide;EN:Tolclofos-methyl;MW:301.13;EXA:-
:
-<-30,!,O,!,P,//S,/O!^160,!,O,!,|,Ph,3:/_,2:/NO2
+<-30,!O!,P,//S,/O!^160,!O!,|,Ph,{2,6}:/Cl,4:/_
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fenothiocarb;MW:253.4;EXA:-
+CAT:pesticide;EN:Piperophos;MW:353.48;EXA:-
:
-<30,Ph,@3,\,O,!5,S,!,//O,!,N,?!
+<-30,!3,O!,P,//S,/O+!?!^160>rl,!,S,!2,?O!,|,?6,1:N,6:/_
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fensulfothion;MW:308.35;EXA:-
+CAT:pesticide;EN:Pyraclofos;MW:360.80;EXA:-
:
-<30,!2,O,!,P,//S,/O!2^160>rl,!,O,!,|,Ph,@-3,\,S,//O,!
+<30,!2,O!,P,//O,/S!3^160>rl,!O!,
+ <-12,|,?5,{1,4}=dl,{3,4}:N,@-3,-12,Ph,-3:/Cl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fenthion;MW:278.33;EXA:-
+CAT:pesticide;EN:Pyrazophos;MW:373.37;EXA:-
:
-<-30,!,O,!,P,//S,/O!^160,!,O,!,|,Ph,3:/_,4:/S!
+<30,!2,O!,P,//S,/O!2^160>rl,!O!,
+ |,?5,3=?6,{2,5,7,9}=dl,{4,5,6}:N,7:/_,-2:/?O!+O!2
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Phenthoate;MW:320.358;EXA:-
+CAT:pesticide;EN:EPN;MW:323.303;EXA:-
+:
+<30,!2,O!,P,//S,/Ph^170,!,O,!Ph,-3:/NO2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Anilofos;MW:367.9;EXA:-
+:
+<-30,!O!,P,//S,/O!^160,!,S,!2,?O!,N,/?!,!Ph,-3:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Isazofos;MW:313.74;EXA:-
+:
+<30,!2,O!,P,//S,/O!2^160>rl,!O!,|,?5,{2,5}=dl,{2,4,5}:N,4:/Cl,3:/?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Ethion;MW:384.46;EXA:-
+:
+<30,!2,O!,P,//S,/O!2^160>rl,!,S,!2,S,!,P,//S,/O!2^200>lr,!,O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Edifenphos;MW:310.37;EXA:-
+:
+<30,Ph,@3,\,O!,P,//S,/O!2>rl^160,!,S,!Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Ethoprophos;MW:242.33;EXA:-
+:
+<-30,!3,S,!,P,//O,/S!3^160>rl,!,O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Ethrimfos;MW:292.29;EXA:-
:
-<-30,!,O,!,P,//S,/O!^160,!,S,!,/Ph,!,//O,!,O,!2
+<-30,!O!,P,//S,/O!^160,!O!,|,Ph,{2,4}:N,5:/!,3:/O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Quinalphos;MW:298.30;EXA:-
+:
+<30,!,O!2,P,//S,/O!2^160>rl,!O!,|,Ph,3=Ph,{2,5}:N
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Chlorfenvinphos;MW:359.58;EXA:-
+:
+<30,!2,O!,P,//O,/O!2^160>rl,!O!,/Ph+({2,4}:/Cl)`1,!!,!Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pirimiphos-methyl;MW:305.333;EXA:-
+:
+<-30,!O!,P,//S,/O!^160,!,O,!Ph,{-5,-3}:N,-2:/_,-4:/N?2+!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Cyanophos;MW:243.22;EXA:-
+:
+<-30,!O!,P,//S,/O!^160,!,O,!Ph,-3:/CN
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Dichlofenthion;MW:315.2;EXA:-
+:
+<30,!2,O!,P,//S,/O!2^160>rl,!,O,!Ph,{-5,-3}:/Cl
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Fenvalerate;MW:419.91;EXA:-
:
-<30,Ph,6:/Cl,@3,\,/?!,!,//O,!,O,!,/CN,!,Ph,@-4,\,O,-60,Ph
+<30,Ph,6:/Cl,@3,\,/?!,!,//O,!O!,/CN,!Ph,-4:/O+!Ph>rl
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Fenpropathrin;MW:349.4;EXA:-
:
-<-30,?3,{1^35,2^-35}:*/_,{1^-35,2^35}:/*_,
- @3,\,//O,!,O,!,/CN,!,Ph,@-4,\,O,-60,Ph
+<-30,?3,{1^35,2^-35}:*/_,{1^-35,2^35}:/*_,@3,\,//O,!O!,/CN,!Ph,-4:/O!+Ph>rl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fenpropimorph;MW:303.49;EXA:-
+CAT:pesticide;EN:Fenpropimorph;MW:303.49;EXA:1
:
-<30,?6,3:N,6:O,{1,5}:*/_,@3,\,!?,!2,|,Ph,4:/??!
+<30,?6,3:N,6:O,{1,5}:*/_,@3,\,!?,!2,Ph,-3:/??!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Phthalide;MW:271.9;EXA:-
+CAT:pesticide;EN:Phthalide;MW:271.9;EXA:1
:
<30,Ph,3=?5,8:O,9://O,{1,2,5,6}:/Cl
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Butachlor;MW:311.85;EXA:-
:
-<30,!4,O,!2,N,!,//O,!2,Cl,@7,\,Ph,{-1,-5}:/!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Butamifos;MW:332.36;EXA:-
-:
-<-30,!2,?!,NH,!,P,//S,/O!2^170>rl,!,O,!,|,Ph,2:/NO2,5:/_
+<30,!4,O!2,N,/Ph+({-1,-5}:/!)`1,!,?O!2,Cl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Bupirimate;MW:316.42;EXA:-
+CAT:pesticide;EN:Bupirimate;MW:316.42;EXA:1
:
-<30,Ph,{4,6}:N,1:/_,@3,\,O,!,SOO,!,N,?!,2:/!3,@5,\,NH,!2
+<30,Ph,{4,6}:N,1:/_,@3,\,O!,S?O?O,!,N?!,2:/!3,5:/NH!2
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Buprofezin;MW:305.4;EXA:-
+CAT:pesticide;EN:Buprofezin;MW:305.4;EXA:1
:
-<-30,?6,{1,5}:N,1:/Ph,3:S,6://O,5:/?!,@4,\~dm,N,!,??!
+<-30,?6,{1,5}:N,1:/Ph,3:S,6://O,5:/?!,4://N+!??!
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Flamprop-methyl;MW:335.8;EXA:-
:
-<30,Ph,1:/Cl,6:/F,@3,\,N,!?!,//O,!,O,!,@7,\,//O,-60,Ph
+<30,Ph,1:/Cl,6:/F,@3,\,N,/?O!+Ph>rl,!?!,//O,!O!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fluacrypyrim;MW:426.392;EXA:-
+CAT:pesticide;EN:Fluacrypyrim;MW:426.392;EXA:1
:
-<30,Ph,{4,6}:N,1:/CF3,5:/O!?!,@3,\,O,!2,Ph,@-1,\,|,!!,!,O,!,1:/COO!
+<30,Ph,{4,6}:N,1:/CF3,5:/O+!?!,@3,\,O!2,Ph,@-1,\,|,!!,!O!,1:/?O!+O!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fluquinconazole;MW:376.2;EXA:-
+CAT:pesticide;EN:Fluquinconazole;MW:376.2;EXA:1
:
<30,Ph,3=?6,8=dl,{7,9}:N,6:/F,10://O,@8,\,
- |,?5,{2,4}=dl,{1,3,5}:N,@$9,\,|,Ph,{4,6}:/Cl
+ |,?5,{2,4}=dl,{1,3,5}:N,$9:/Ph+({4,6}:/Cl)
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fludioxonil;MW:248.2;EXA:-
+CAT:pesticide;EN:Fludioxonil;MW:248.2;EXA:1
:
<30,Ph,5=?5,{7,9}:O,{8^-40,8^40}:/F,@4,\,|,?5,{2,5}=dl,-2:NH,-4:/CN
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Flucythrinate;MW:451.5;EXA:-
+CAT:pesticide;EN:Flucythrinate;MW:451.5;EXA:1
:
-<30,Ph,@6,\,O,!,/F,!,F,@3,\,/?!,!,//O,!,O,!,/CN,!,Ph,@-4,\,O,-60,Ph
+<30,Ph,@6,\,O!,/F,!,F,@3,\,/?!,!,//O,!O!,/CN,!Ph,-4:/O!+Ph>rl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Flutolanil;MW:323.3;EXA:-
+CAT:pesticide;EN:Flutolanil;MW:323.3;EXA:1
:
-<30,Ph,2:/CF3,@3,\,//O,!,NH,!,Ph,-1:/O!?!
+<30,Ph,2:/CF3,@3,\,//O,!NH!,Ph,-1:/O+!?!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fluvalinate;MW:502.92;EXA:-
+CAT:pesticide;EN:Fluvalinate;MW:502.92;EXA:1
:
-<30,Ph,5:/Cl,1:/CF3,@4,\,NH,!,/?!,!,//O,!,O,!,/CN,!,Ph,@-4,\,O,-60,Ph
+<30,Ph,5:/Cl,1:/CF3,@4,\,NH!,/?!,!,//O,!O!,/CN,!Ph,-4:/O!+Ph>rl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Flumioxazin;MW:354.337;EXA:-
+CAT:pesticide;EN:Flumioxazin;MW:354.337;EXA:1
:
<30,Ph,6:/F,3=?6,-1:O,-4:N,-3://O,@-4,\,!,!!!,
@1,\,|,?5,3=?6,3=dr,1:N,{2,5}://O
@@ -2014,42 +2085,32 @@ CAT:pesticide;EN:Flumioxazin;MW:354.337;EXA:-
%------------------------------------------------------------------------------
CAT:pesticide;EN:Pretilachlor;MW:311.85;EXA:-
:
-<30,Ph,{2,4}:/!,@3,\,N,!3,O,!3,@$7,\,//O,!2,Cl
+<30,Ph,{2,4}:/!,@3,\,N,/?O!2+Cl`1,!3,O!3
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Procymidone;MW:284.136;EXA:-
:
-?6,1:N,@3,&5,{2,6}://O,{3,5}:/_,@1,\,|,Ph,{3,5}:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Prothyophos;MW:329.18;EXA:-
-:
-<-30,!3,O,!,P,//S,/O!2^160>rl,!,O,!,|,Ph,{2,4}:/Cl
+?6,1:N,@3,&5,{2,6}://O,{3,5}:/_,1:/Ph+({3,5}:/Cl)
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Propachlor;MW:211.689;EXA:-
:
-<30,Ph,@3,\,N,/?!,!,//O,!2,Cl
+<30,Ph,@3,\,N,/?!,!,?O!2,Cl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Propazine;MW:229.7;EXA:-
+CAT:pesticide;EN:Propazine;MW:229.7;EXA:1
:
-<30,Ph,{2,4,6}:N,5:/Cl,{1,3}:/NH!?!
+<30,Ph,{2,4,6}:N,5:/Cl,{1,3}:/NH+!?!
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Propanil;MW:218.077;EXA:-
:
-<30,Ph,{1,6}:/Cl,@3,\,NH,!,//O,!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Propaphos;MW:304.343;EXA:-
-:
-<-30,!3,O,!,P,//O,/O!3^160>rl,!,O,!,|,Ph,4:/S!
+<30,Ph,{1,6}:/Cl,3:/NH!+?O!2
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Propyzamide;MW:256.1;EXA:-
+CAT:pesticide;EN:Propyzamide;MW:256.1;EXA:1
:
-<30,Ph,{1,5}:/Cl,@3,\,//O,!,NH,!,??,!,!!!
+<30,Ph,{1,5}:/Cl,@3,\,//O,!NH!,??,!,!!!
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Propiconazole;MW:342.22;EXA:-
@@ -2059,42 +2120,32 @@ CAT:pesticide;EN:Propiconazole;MW:342.22;EXA:-
%------------------------------------------------------------------------------
CAT:pesticide;EN:Prohydrojasmon;MW:254.37;EXA:-
:
-<18,?5,2://O,3:*\^-12,!4,@4,\*,!,//O,!,O,!3
+<18,?5,2://O,3:*/!4^-12,4:/*!?O!+O!3
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Profenofos;MW:373.6;EXA:-
-:
-<30,!2,O,!,P,//S,/O!3^160>rl,!,O,!,|,Ph,2:/Cl,4:/Br
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Bromacil;MW:261.119;EXA:-
+CAT:pesticide;EN:Bromacil;MW:261.119;EXA:1
:
<30,?6,6=dl,3:N,1:/Br,{2,4}://O,5:NH,6:/_,3:/?!2
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Prometryn;MW:241.4;EXA:-
:
-<30,Ph,{2,4,6}:N,5:/S!,{1,3}:/NH!?!
+<30,Ph,{2,4,6}:N,5:/S!,{1,3}:/NH+!?!
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Bromobutide;MW:312.2;EXA:-
:
-<30,Ph,@3,\,??,!,NH,!,//O,!,/Br,!,??!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Bromophos;MW:365.99;EXA:-
-:
-<-30,!,O,!, P,//S,/O!^160,!,O,!,|,Ph,{3,6}:/Cl,4:/Br
+<30,Ph,@3,\,??,!NH!,?O!,/Br,!??!
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Bromopropylate;MW:428.12;EXA:-
:
-<30,Ph,@3,\,!,Ph,{6,11}:/Br,7:/OH^-45,@7,30,//O,!,O,-60,?!
+<30,Ph,@3,\,!Ph,{6,11}:/Br,7:/OH^-45,@7,30,?O!,O,-60,?!
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Hexaconazole;MW:314.2;EXA:-
:
-<36,?5,{1,4}=dl,{1,3,5}:N,@3,30,!5,-4^30:/OH,@-5,-30,|,Ph,{4,6}:/Cl
+<36,?5,{1,4}=dl,{1,3,5}:N,@3,30,!5,-4^30:/OH,@-5,-30,Ph,{-3,-1}:/Cl
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Hexazinone;MW:252.31;EXA:-
@@ -2104,23 +2155,22 @@ CAT:pesticide;EN:Hexazinone;MW:252.31;EXA:-
%------------------------------------------------------------------------------
CAT:pesticide;EN:Benalaxyl;MW:325.4;EXA:-
:
-<30,Ph,@3,\,!,//O,!,N,!?!,//O,!,O,!,@-5,\,|,Ph,{2,6}:/_
+<30,Ph,@3,\,!,?O!,N,/Ph+({-5,-1}:/_),!?!,?O,!O!
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Benoxacor;MW:260.1;EXA:-
:
-<90,Ph,3=?6,7:N,10:O,8:/_,@7,\,//O,!,/Cl,!,Cl
+<90,Ph,3=?6,7:N,10:O,8:/_,@7,\,?O!,?Cl,!Cl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Heptachlor;MW:373.35;EXA:-
+CAT:pesticide;EN:Heptachlor;MW:373.35;EXA:1
:
<30,?6`1.3,3=?5,{6,8}=dl,@2,210~wf`1.5,&5~wb,{1,2,5,6,9,10^-210,10^-150}:/Cl
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Permethrin;MW:391.30;EXA:-
:
-<-30,?3,{2^-35,2'^35}:*/_,@1,\,!~dl,/Cl,!,Cl,
- @3,\,//O,!,O,!2,Ph,@-4,\,O,-60,Ph
+<-30,?3,{2^-35,2'^35}:*/_,@1,\,!!,/Cl,!Cl,@3,\,?O!,O!2,Ph,-4:/O!+Ph>rl
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Penconazole;MW:284.184;EXA:-
@@ -2133,90 +2183,59 @@ CAT:pesticide;EN:Pendimethalin;MW:281.3;EXA:-
<30,Ph,{3,5}:/NO2,{1,2}:/_,@4,\,NH,!?,!2
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Benfluralin;MW:335.3;EXA:-
-:
-<30,Ph,{1,3}:/NO2,5:/CF3,@2,\,N,/!,!4
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Benfuresate;MW:256.3;EXA:-
-:
-<30,Ph,3=?5,7:O,9:??,@6,\,O,!,SOO,!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Bensulide;MW:397.5;EXA:-
+CAT:pesticide;EN:Benfluralin;MW:335.3;EXA:1
:
-<30,!?!,O,!,P,//S,/O!?!^160>rl,!,S,!3,NH,!,SOO,!,Ph
+<30,Ph,{1,3}:/NO2,5:/CF3,2:/N?2+!4
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Phosalone;MW:367.80;EXA:-
+CAT:pesticide;EN:Benfuresate;MW:256.3;EXA:1
:
-<30,!2,O,!,P,//S,/O!2^160>rl,!,S,!2,|,?5,4=Ph,4=dr,1:N,2://O,3:O,8:/Cl
+<30,Ph,3=?5,7:O,9:??,@6,\,O!,S?O?O,!2
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Phosmet;MW:317.32;EXA:-
+CAT:pesticide;EN:Bensulide;MW:397.5;EXA:1
:
-<-30,!,O,!,P,//S,/O!^160,!,S,!2,|,?5,3=Ph2,1:N,{2,5}://O
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Phorate;MW:260.4;EXA:-
-:
-<30,!2,O,!,P,//S,!,S,!2,S,!2,4^160>rl:/O!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Malathion;MW:330.35;EXA:-
-:
-<-30,!,O,!,P,//S,/O!^160,!,S,!2,//O,!,O,!2,@5,\`1,!,//O,!,O,!2
+<30,!?!,O!,P,//S,/O+!?!^160>rl,!,S,!3,NH!,S?O?O,!Ph
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Myclobutanil;MW:288.8;EXA:-
:
-<36,?5,{1,4}=dl,{1,3,5}:N,@3,30,!5,7:/CN^30,@7,-30,|,Ph,4:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Methidathion;MW:302.32;EXA:-
-:
-<-30,!,O,!,P,//S,/O!^160,!,S,!2,|,?5,4=dl,{1,5}:N,3:S,2://O,4:/O!
+<36,?5,{1,4}=dl,{1,3,5}:N,@3,30,!,/CN^30,/Ph+(4:/Cl)^-30,!4
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Methoxychlor;MW:345.644;EXA:-
:
-<30,Ph,@3,\,!,Ph,{6,11}:/O!,7:/CCl3
+<30,Ph,@3,\,!Ph,{6,11}:/O!,7:/CCl3
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Metolachlor;MW:283.8;EXA:-
:
-<30,Ph,5:/!,3:/_,@4,\,N,!,//O,!2,Cl,@7,\,?!2,O,!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Mevinphos;MW:224.15;EXA:-
-:
-<-30,!,O,!,P,//O,/O!^160,!,O,!?,!!,!,//O,!,O,!
+<30,Ph,5:/!,3:/_,@4,\,N,/?!2+O!,!,?O!2,Cl
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Mefenacet;MW:298.4;EXA:-
:
-<12,Ph,3=?5,9=dl,9:N,7:S,@8,\,O,!2,//O,!,N,?!,Ph
+<12,Ph,3=?5,9=dl,9:N,7:S,@8,\,O!2,?O!,N?!,Ph
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Mefenpyr-diethyl;MW:373.23;EXA:-
:
-<18,?5,5=dl,{4,5}:N,3^65:/_,{1^12,3^-12}:/COO!2,@4,-24,|,Ph,{4,6}:/Cl
+<18,?5,5=dl,{4,5}:N,3^65:/_,{1^12,3^-12}:/?O!+O!2,@4,-24,Ph,{-3,-1}:/Cl
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Mepronil;MW:269.3;EXA:-
:
-<30,Ph,2:/_,@3,\,//O,!,NH,!,|,Ph,5:/O!?!
+<30,Ph,2:/_,@3,\,//O,!NH!,Ph,-2:/O+!?!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Molinate;MW:187.3;EXA:-
+CAT:pesticide;EN:Molinate;MW:187.3;EXA:1
:
-<47,?7,3:N,@3,\,//O,!,S,!2
+<47,?7,3:N,@3,\,?O!,S!2
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Resmethrin;MW:338.4;EXA:-
+CAT:pesticide;EN:Resmethrin;MW:338.4;EXA:1
:
-<-30,?3,{2^-35,2'^35}:*/_,@1,\,!!,?!,@3,\,//O,!,O,!2,
- |,?5,{3,5}=dl,2:O,@3,\,!,Ph
+<-30,?3,{2^-35,2'^35}:*/_,@1,\,!!,?!,3:/?O!+O!2,|,?5,{3,5}=dl,2:O,3:/!Ph
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Lenacil;MW:234.3;EXA:-
@@ -2224,132 +2243,132 @@ CAT:pesticide;EN:Lenacil;MW:234.3;EXA:-
<30,?6,3=?5,3=dl,6:N,2:NH,{1,5}://O,6:/?6
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Halfenprox;MW:477.4;EXA:-
+CAT:pesticide;EN:Halfenprox;MW:477.4;EXA:1
:
-<30,Ph,@6,\,O,!,/F^35,/F^-35,!,Br,@3,\,!,??,!,O,!2,Ph,@-2,\,O,60,Ph
+<30,Ph,@6,\,O!,/F^35,/F^-35,!,Br,@3,\,!??!,O!2,Ph,-2:/O!+Ph>rl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Paraquat;MW:257.16;EXA:-
+CAT:pesticide;EN:Paraquat;MW:257.16;EXA:1
:
-Ph,@4,\,Ph,{1,10}:N!,1:p_^-90,10:p_^90,@1,@(0,1.2),Cl,n_^15,
+Ph,@4,\,Ph,{1,10}:N?,1:p_^-90,10:p_^90,@1,@(0,1.2),Cl,n_^15,
@10,@(0,1.2),Cl,n_^15
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Oxine-Copper;MW:351.852;EXA:-
+CAT:pesticide;EN:Oxine-Copper;MW:351.852;EXA:1
:
-Ph,4:N,5=Ph,@-4,\,O,-60,<90,Cu,-90,O,60,|,Ph,5=Ph,10:N,||,@4,&12~vf,@23,&12~vf
+Ph,4:N,5=Ph,@-4,\,O,-60,<90,Cu,-90,O,60,Ph,-2=Ph,10:N,@4,&12~vf,@23,&12~vf
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Endosulfan;MW:406.904;EXA:-
+CAT:pesticide;EN:Endosulfan;MW:406.904;EXA:1
:
<26,?7,7=?6[13],@11,208~wf`1.45,&8~wb,10=dl,{3,5}:O,4:S,4://O,
{8,9,10,11,12^-210,12^-150}:/Cl
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Uniconazole-P;MW:291.779;EXA:-
+CAT:pesticide;EN:Uniconazole-P;MW:291.779;EXA:1
:
-<30,Ph,6:/Cl,@3,\,!~dl,!,/OH,!,??!,@8,\,|,?5,{2,4}=dl,{1,2,4}:N
+<30,Ph,6:/Cl,@3,\,!~dl,!,/OH,!??!,@8,\,|,?5,{2,4}=dl,{1,2,4}:N
;
%******************************************************************************
CAT:pesticide;EN:Azinphos-methyl;MW:317.318;EXA:-
:
-<-30,!,O,!,P,//S,/O!^160,!,S,!2,|,?6,-3=?6,{2,4,8,10}=dl,{1:3}:N,6://O
+<-30,!O!,P,//S,/O!^160,!,S,!2,|,?6,-3=?6,{2,4,8,10}=dl,{1:3}:N,6://O
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Azoxystorbin;MW:403.394;EXA:-
+CAT:pesticide;EN:Azoxystorbin;MW:403.394;EXA:1
:
-<30,Ph,2:/CN,@3,\,O,!,Ph,{-1,-3}:N,@-4,\,O,!,Ph,@-5,\,//!O!,!,//O,!,O,!
+<30,Ph,2:/CN,@3,\,O,!Ph,{-1,-3}:N,@-4,\,O,!Ph,@-5,\,//!O!,!,?O!,O!
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Aramite;MW:334.859;EXA:-
:
-<30,Ph,6:/??!,@3,\,O,!2,?!,O,!,S,//O,!,O,!3,Cl
+<30,Ph,6:/??!,@3,\,O!2,?!,O!,S,//O,!,O!3,Cl
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Aldicarb;MW:190.3;EXA:-
:
-<-30,!,S,!,??,!,!!,N,!,O,!,//O,!,NH,!
+<-30,!,S,!,??,!,!!,N,!O!,//O,!NH!
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Aldoxycarb;MW:222.3;EXA:-
:
-<30,!,//O,!,NH,!,O,!,N,!!,!,??,!,SOO,!
+<30,!,//O,!NH!,O!,N,!!,!,??,!,S?O?O,!
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Isoxaflutole;MW:359.319;EXA:-
:
-<30,Ph,6:/CF3,@4,\,SOO,!,@3,\`1,//O,!`1,<-12,|,?5,{1,4}=dl,3:O,4:N,2:/?3
+<30,Ph,6:/CF3,@4,\,S?O?O,!,@3,\`1,//O,!`1,<-12,|,?5,{1,4}=dl,3:O,4:N,2:/?3
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Iprovalicarb;MW:320.4;EXA:-
:
-<30,Ph,6:/_,@3,\,!?!,NH,!,//O,!,??,!,NH,!,//O,!,O,!?!
+<30,Ph,6:/_,@3,\,!?!,NH!,?O!,??,!NH!,?O!,O,!?!
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Imazalil;MW:297.2;EXA:-
+CAT:pesticide;EN:Imazalil;MW:297.2;EXA:1
:
-<-30,!2,O,!2,!!,@1,60,|,?5,{2,4}=dl,{1,3}:N,@$2,\,|,Ph,{4,6}:/Cl
+<-30,!,/Ph+({4,6}:/Cl),!,O!2,!!,@1,60,|,?5,{2,4}=dl,{1,3}:N
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Imidacloprid;MW:255.662;EXA:-
+CAT:pesticide;EN:Imidacloprid;MW:255.662;EXA:1
:
-<30,Ph,1:N,6:/Cl,@3,\,!,|,?5,1:N,3:NH,@2,\\,N,!,NO2
+<30,Ph,1:N,6:/Cl,@3,\,!,|,?5,1:N,3:NH,2://N+!NO2
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Indanofan;MW:340.80;EXA:-
:
-<30,Ph,3=?5,{7,9}://O,8^55>lr:/!,@8,-30,!2,|,Ph,5:/Cl,||,@11,?3,-2:O
+<30,Ph,3=?5,{7,9}://O,8^55>lr:/!,@8,-30,!2,Ph,-2:/Cl,@11,?3,-2:O
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Indoxacarb;MW:527.837;EXA:-
:
-<-6,Ph,3=?5,9=?6,15=dl,10:O,{12,13}:N,1:/Cl,8`1^-54:/COO!,
- @12,\,//O,!,N,/COO!,!,Ph,@-3,\,O,!,CF3
+<-6,Ph,3=?5,9=?6,15=dl,10:O,{12,13}:N,1:/Cl,8`1^-54:/?O!+O!,
+ @12,\,?O!,N,/?O!+O!,!Ph,-3:/O!+CF3
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Oxamyl;MW:219.3;EXA:-
:
-<-30,!,N,?!,//O,!,/S!,!!,N,!,O,!,//O,!,NH,!
+<-30,!,N?!,?O!,/S!,!!,N,!O!,?O!,NH!
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Oryzalin;MW:346.4;EXA:-
:
-<30,Ph,{1,3}:/NO2,@5,\,SOO,!,NH2,@2,\,/!2,N,!3
+<30,Ph,{1,3}:/NO2,5:/S?O?O+!NH2,2:/N?2+!3
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Carbaryl;MW:201.22;EXA:-
:
-<30,Ph,5=Ph,@4,\,//O,!,O,!,NH,!
+<30,Ph,5=Ph,@4,\,//O,!O!,NH!
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Carpropamid;MW:334.665;EXA:-
:
-<-30,?3,1:/_,{2^-35,2'^35}:*/Cl,3^70:/!,@3,\,//O,!,NH,!?!,Ph,-3:/Cl
+<-30,?3,1:/_,{2^-35,2'^35}:*/Cl,3^70:/!,@3,\,?O!,NH,!?!,Ph,-3:/Cl
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Cumyluron;MW:302.802;EXA:-
:
-<30,Ph,@4,\,??,!,NH,!,//O,!,NH,!2,|,Ph,6:/Cl
+<30,Ph,@4,\,??,!NH!,?O!,NH,!2,Ph,-1:/Cl
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Cloquintocet-methyl;MW:335.83;EXA:-
:
-<90,Ph,4=Ph,2:N,10:/Cl,@7,\,O,!2,//O,!,O,!?,!5
+<90,Ph,4=Ph,2:N,10:/Cl,@7,\,O!2,?O!,O,!?,!5
;
%------------------------------------------------------------------------------
-CAT:pesticide;EN:Clotianidin;MW:249.673;EXA:-
+CAT:pesticide;EN:Clotianidin;MW:249.673;EXA:1
:
-<6,?5,{3,5}=dl,2:S,5:N,1:/Cl,@3,\,!,NH,!,/NH!,!!,N,!,NO2
+<6,?5,{3,5}=dl,2:S,5:N,1:/Cl,@3,\,!NH!,/NH!,!!,N,!NO2
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Chromafenozide;MW:394.515;EXA:-
:
-<30,?6,3=?6,5:O,{7,9,11}=dl,7:/_,@8,\,//O,!,NH,!,N,/??!,!,//O,!,|,Ph,{3,5}:/_
+<30,?6,3=?6,5:O,{7,9,11}=dl,7:/_,@8,\,//O,!NH!,N,/??!,!,//O,!Ph,{-4,-3}:/_
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Clomeprop;MW:324.2;EXA:-
:
-<30,Ph,{4,6}:/Cl,5:/_,@3,\,O,!?!,//O,!,NH,!,Ph
+<30,Ph,{4,6}:/Cl,5:/_,@3,\,O,!?!,//O,!NH!,Ph
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Chloridazon;MW:221.6;EXA:-
@@ -2359,37 +2378,37 @@ CAT:pesticide;EN:Chloridazon;MW:221.6;EXA:-
%------------------------------------------------------------------------------
CAT:pesticide;EN:Chloroxuron;MW:290.745;EXA:-
:
-<30,Ph,6:/Cl,@3,\,O,!,Ph,@-3,\,NH,!,//O,!,N,?!
+<30,Ph,6:/Cl,@3,\,O,!Ph,@-3,\,NH!,?O!,N?!
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Cyazofamid;MW:324.783;EXA:-
:
-<18,?5,{2,5}=dl,{2,4}:N,1:/Cl,3:/CN,@4,\,SOO,!,N,?!,@5,\,Ph,-3:/_
+<18,?5,{2,5}=dl,{2,4}:N,1:/Cl,3:/CN,@4,\,S?O?O,!,N?!,5:/Ph+(4:/_)
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Diuron;MW:233.1;EXA:-
:
-<30,Ph,{1,6}:/Cl,@3,\,NH,!,//O,!,N,?!
+<30,Ph,{1,6}:/Cl,@3,\,NH!,?O!,N?!
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Cyflufenamid;MW:412.36;EXA:-
:
-<30,Ph,4^20:/CF3,{1,2}:/F,@3,\,!,NH,!,//O,!2,Ph,@-10,\\,N,!,<-12,O,!2,?3
+<30,Ph,4^20:/CF3,{1,2}:/F,@3,\,!NH!,?O!2,Ph,@-10,\\,N,!,<-12,O!2,?3
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Diflubenzuron;MW:310.7;EXA:-
:
-<30,Ph,{2,4}:/F,@3,\,//O,!,NH,!,//O,!,NH,!,Ph,-3:/Cl
+<30,Ph,{2,4}:/F,@3,\,//O,!NH!,//O,!NH!,Ph,-3:/Cl
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Cyprodinil;MW:225.295;EXA:-
:
-<30,Ph,{2,4}:N,5:/_,1:/?3,@3,\,NH,!,Ph
+<30,Ph,{2,4}:N,5:/_,1:/?3,3:/NH!+Ph
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Simeconazole;MW:293.417;EXA:-
:
-<36,?5,{1,3,5}:N,{1,4}=dl,@3,30,!,/OH^30,!2,Si,??!,@7,-30,Ph,-3:/F
+<36,?5,{1,3,5}:N,{1,4}=dl,@3,30,!,/OH^30,!2,Si,??!,7:/Ph+(4:/F)^-30,
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Dimethirimol;MW:209.29;EXA:-
@@ -2399,27 +2418,27 @@ CAT:pesticide;EN:Dimethirimol;MW:209.29;EXA:-
%------------------------------------------------------------------------------
CAT:pesticide;EN:Dimethomorph;MW:387.86;EXA:-
:
-<30,?6,1:O,4:N,@4,\,//O,!,!!`1,!,|,Ph,{4,5}:/O!,||,@9,\,Ph,-3:/Cl
+<30,?6,1:O,4:N,@4,\,?O!,!!`1,/Ph+(4:/Cl),!,|,Ph,{4,5}:/O!
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Silafluofen;MW:408.588;EXA:-
:
-<30,Ph,@5,\,O,!,Ph,-1:/F,@10,\,!3,Si,??,!,Ph,-3:/O!2
+<30,Ph,@5,\,O,!Ph,-1:/F,@10,\,!3,Si,??,!Ph,-3:/O!2
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Di-allate;MW:270.212;EXA:-
:
-<-30,!?!,N,!,//O,!,S,!2,!!,!,Cl,3:/?!,7:/Cl
+<-30,!?!,N,!,?O!,S,!2,!!,!Cl,3:/?!,7:/Cl
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Daimuron;MW:268.4;EXA:-
:
-<30,Ph,@4,\,??,!,NH,!,//O,!,NH,!,Ph,-3:/_
+<30,Ph,@4,\,??,!NH!,//O,!NH!,Ph,-3:/_
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Thiacloprid;MW:252.72;EXA:-
:
-<30,Ph,1:N,6:/Cl,@3,\,!,<-12,|,?5,1:N,3:S,@-4,\\,N,!,CN
+<30,Ph,1:N,6:/Cl,@3,\,!,<-12,|,?5,1:N,3:S,-4://N+!CN
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Thiabendazole;MW:201.247;EXA:-
@@ -2429,22 +2448,22 @@ CAT:pesticide;EN:Thiabendazole;MW:201.247;EXA:-
%------------------------------------------------------------------------------
CAT:pesticide;EN:Thiamethoxam;MW:291.71;EXA:-
:
-<30,?6,2:O,{4,6}:N,6:/_,@5,\\,N,!,NO2,@4,\,!,|,?5,{1,3}=dl,3:N,5:S,4:/Cl
+<30,?6,2:O,{4,6}:N,6:/_,@5,\\,N,!NO2,@4,\,!,|,?5,{1,3}=dl,3:N,5:S,4:/Cl
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Tebuthiuron;MW:228.3;EXA:-
:
-<18,?5,{3,5}=dl,{4,5}:N,2:S,1:/??!,@3,\,N,?!,//O,!,NH,!
+<18,?5,{3,5}=dl,{4,5}:N,2:S,1:/??!,@3,\,N?!,//O,!NH!
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Tebufenozide;MW:352.5;EXA:-
:
-<30,Ph,6:/!,@3,\,//O,!,NH,!,N,/??!,!,//O,!,|,Ph,{3,5}:/_
+<30,Ph,6:/!,@3,\,//O,!NH!,N,/??!,!,//O,!Ph,{-4,-2}:/_
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Teflubenzuron;MW:381.1;EXA:-
:
-<30,Ph,{2,4}:/F,@3,\,//O,!,NH,!,//O,!,NH,!,|,Ph,{3,5}:/Cl,{4,6}:/F
+<30,Ph,{2,4}:/F,@3,\,//O,!NH!,//O,!NH!,|,Ph,{3,5}:/Cl,{4,6}:/F
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Tridemorph;MW:297.5;EXA:-
@@ -2454,76 +2473,76 @@ CAT:pesticide;EN:Tridemorph;MW:297.5;EXA:-
%------------------------------------------------------------------------------
CAT:pesticide;EN:Triflumuron;MW:358.701;EXA:-
:
-<30,Ph,4:/Cl,@3,\,//O,!,NH,!,//O,!,NH,!,|,Ph,@5,\,O,!,CF3
+<30,Ph,4:/Cl,@3,\,//O,!NH!,//O,!NH!,Ph,-2:/O!+CF3
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Naproanilide;MW:291.35;EXA:-
:
-<30,Ph,4=Ph,@8,\,O,!?!,//O,!,NH,!,Ph
+<30,Ph,4=Ph,@8,\,O,!?!,//O,!NH!,Ph
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Novaluron;MW:492.706;EXA:-
:
-<30,Ph,{2,4}:/F,@3,\,//O,!,NH,!,//O,!,NH,!,
- Ph,-4:/Cl,@-3,\,O,!,/F^-35,/F^35,!,/F,!,O,!,CF3
+<30,Ph,{2,4}:/F,@3,\,//O,!NH!,//O,!NH!,
+ Ph,-4:/Cl,@-3,\,O!,/F^-35,/F^35,!,/F,!O!,CF3
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Pyraclostrobin;MW:387.817;EXA:-
:
-<30,Ph,@3,\,!,O,!,<12,|,?5,{2,5}=dl,{4,5}:N,
-@4,12,Ph,-3:/Cl,||,@2,\,N,/O!,!,COO!
+<30,Ph,@3,\,!O!,<12,|,?5,{2,5}=dl,{4,5}:N,
+ @4,12,Ph,-3:/Cl,||,@2,\,N,/O!,!?O,!O!
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Pirimicarb;MW:238.291;EXA:-
:
-<30,Ph,{1,5}:N,{2,3}:/_,6:/N?!,@4,\,O,!,//O,!,N,?!
+<30,Ph,{1,5}:N,{2,3}:/_,6:/N?!,@4,\,O!,?O!,N?!
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Fenoxycarb;MW:301.35;EXA:-
:
-<30,Ph,@5,\,O,!,Ph,@-3,\,O,!3,NH,!,//O,!,O,!2
+<30,Ph,@5,\,O,!Ph,@-3,\,O!3,NH!,?O!,O!2
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Fenobucarb;MW:207.3;EXA:-
:
-<30,Ph,5:/?!2,@4,\,O,!,//O,!,NH!
+<30,Ph,5:/?!2,@4,\,O!,//O,!NH!
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Ferimzone;MW:254.337;EXA:-
:
-<30,Ph,4:/_,@3,\,/_,!!,N,!,NH,!,|,Ph,{2,6}:N,{3,5}:/_
+<30,Ph,4:/_,@3,\,/_,!!,N,!NH!,|,Ph,{2,6}:N,{3,5}:/_
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Fenamidone;MW:311.403;EXA:-
:
-<18,?5,4=dl,{3,5}:N,2://O,@3,\,NH,!,Ph,4:/S!,1^52:*/_,1^-48:/*Ph
+<18,?5,4=dl,{3,5}:N,2://O,@3,\,NH!,Ph,4:/S!,1^52:*/_,1^-48:/*Ph
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Fenpyroximate;MW:421.49;EXA:-
:
-<-6,?5,{3,5}=db,{1,2}:N,{2,5}:/_,@3,-15,O,!,Ph,
- @4,\,!!,N,!,O,!2,|,Ph,@4,\,//O,-60,O,!4
+<-6,?5,{3,5}=db,{1,2}:N,{2,5}:/_,@3,-15,O,!Ph,
+ @4,\,!!,N,!,O,!2,Ph,@-3,\,//O,-60,O,!4
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Phenmedipham;MW:300.32;EXA:-
:
-<30,Ph,5:/_,@3,\,NH,!,//O,!,O,!,Ph,@-4,\,NH,!,//O,!,O!
+<30,Ph,5:/_,@3,\,NH!,?O!,O,!Ph,-4:/NH!+?O!+O!
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Butafenacil;MW:474.817;EXA:-
:
-<30,?6,6=dl,{3,5}:N,{2,4}://O,5:/_,6:/CF3,
- @3,\,Ph,-3:/Cl,@-2,\,//O,!,O,!,??,!,//O,!,O,!2,!!
+<30,?6,6=dl,{3,5}:N,{2,4}://O,6:/CF3,
+ 3:/Ph+(4:/Cl),@-2,\,//O,!O!,??,!,?O!,O,!2,!!
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Flufenacet;MW:363.331;EXA:-
:
-<6,?5,{2,5}=dl,{1,2}:N,4:S,5:/CF3,@3,\,O,!,-60,//O,!,N,/?!,!,|,Ph,4:/F
+<6,?5,{2,5}=dl,{1,2}:N,4:S,5:/CF3,@3,\,O!,-60,?O!,N,/?!,!Ph,-3:/F
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Flufenoxuron;MW:488.77;EXA:-
:
-<30,Ph,{2,4}:/F,@3,\,//O,!,NH,!,//O,!,NH,!,Ph,-1:/F,@-3,\,O,!,|,Ph,4:/CF3,6:/Cl
+<30,Ph,{2,4}:/F,@3,\,//O,!NH!,//O,!NH!,Ph,-1:/F,@-3,\,O,!Ph,-3:/CF3,-1:/Cl
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Fluridone;MW:329.3;EXA:-
@@ -2534,79 +2553,79 @@ CAT:pesticide;EN:Fluridone;MW:329.3;EXA:-
CAT:pesticide;EN:Propaquizafop;MW:443.884;EXA:-
:
<90,Ph,3=?6,{8,10}=dl,{7,10}:N,1:/Cl,
- @8,\,O,!,|,Ph,@4,\,O,|,!2,//O,!,O,!,-60,!,O,-60,N,-60~dr,!,{2,9}:/_
+ @8,\,O,!Ph,@-3,\,O,|,!2,//O,!O!,-60,!,O,-60,N,-60~dr,!,{2,9}:/_
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Hexaflumuron;MW:461.14;EXA:-
:
-<30,Ph,{2,4}:/F,@3,\,//O,!,NH,!,//O,!,NH,!,
- |,Ph,{3,5}:/Cl,@4,\,O,!,/F^-35,/F^35,!,/F,!,F
+<30,Ph,{2,4}:/F,@3,\,//O,!NH!,//O,!NH!,
+ |,Ph,{3,5}:/Cl,@4,\,O!,/F^-35,/F^35,!,/F,!F
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Hexathiazox;MW:352.877;EXA:-
:
-<30,?6,@3,\,NH,!,//O,!,<-24,|,?5,1:N,3:S,2://O,5:/_,@4,\,Ph,-3:/Cl
+<30,?6,@3,\,NH!,?O!,<-24,|,?5,1:N,3:S,2://O,5:/_,4:/Ph+(4:/Cl)
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Pencycuron;MW:328.84;EXA:-
:
-<30,Ph,6:/Cl,@3,\,!,N,/?5,!,//O,!,NH,!,Ph
+<30,Ph,6:/Cl,@3,\,!N,/?5,!,//O,!NH!,Ph
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Bendiocarb;MW:223.228;EXA:-
:
-<30,Ph,5=?5,{7,9}:O,8:??,@4,\,O,!,//O,!,NH!
+<30,Ph,5=?5,{7,9}:O,8:??,@4,\,O!,//O,!NH!
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Pentoxazone;MW:353.774;EXA:-
:
-<66,?5,5://?!,1:O,3:N,{2,4}://O,@3,\,|,Ph,4:/Cl,6:/F,@3,\,O,!,?5
+<66,?5,5://?!,1:O,3:N,{2,4}://O,@3,\,|,Ph,4:/Cl,6:/F,3:/O!+?5
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Boscalid;MW:343.21;EXA:-
:
-<30,Ph,5:N,4:/Cl,@3,\,//O,!,NH,!,Ph,@-1,\,Ph,-3:/Cl
+<30,Ph,5:N,4:/Cl,@3,\,//O,!NH!,Ph,-1:/Ph+(4:/Cl)
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Methabenzthiazuron;MW:221.3;EXA:-
:
-Ph,3=?5,9=dl,7:S,9:N,@8,\,N,?!,//O,!,NH,!
+Ph,3=?5,9=dl,7:S,9:N,@8,\,N?!,//O,!NH!
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Methoxyfenozide;MW:368.48;EXA:-
:
-<30,Ph,2:/_,1:/O!,@3,\,//O,!,NH,!,N,/??!,!,//O,!,|,Ph,{3,5}:/_
+<30,Ph,2:/_,1:/O!,@3,\,//O,!NH!,N,/??!,!,//O,!Ph,{-4,-2}:/_
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Monolinuron;MW:214.6;EXA:-
:
-<30,Ph,6:/Cl,@3,\,NH,!,//O,!,N,?!,O,!
+<30,Ph,6:/Cl,@3,\,NH!,?O!,N?!,O!
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Lactofen;MW:461.78;EXA:-
:
-<30,Ph,4:/Cl,6:/CF3,@3,\,O,!,Ph,-3:/NO2,@-4,\,//O,!,O,!?!,//O,!,O,!2
+<30,Ph,4:/Cl,6:/CF3,@3,\,O,!Ph,-3:/NO2,@-4,\,?O!,O,!?!,?O!,O!2
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Linuron;MW:249.1;EXA:-
:
-<30,Ph,{1,6}:/Cl,@3,\,NH,!,//O,!,N,?!,O,!
+<30,Ph,{1,6}:/Cl,@3,\,NH!,?O!,N?!,O!
;
%------------------------------------------------------------------------------
CAT:pesticide;EN:Lufenuron;MW:511.15;EXA:-
:
<30,Ph,{2,4}:/F,
- @3,\,//O,!,NH,!,//O,!,NH,!,Ph,{-1,-4}:/Cl,@-3,\,O,!,/F^35,/F^-35,!,/F,!,CF3
+ @3,\,//O,!NH!,//O,!NH!,Ph,{-1,-4}:/Cl,@-3,\,O!,/F^35,/F^-35,!,/F,!,CF3
;
%******************************************************************************
CAT:antibacterial;EN:Sulfacetamide;MW:214.239;EXA:-
:
-<30,Ph,1:/NH2,@4,\,SOO,!,NH,!,//O,!
+<30,Ph,1:/NH2,@4,\,S?O?O,!NH!,?O!
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Sulfatiazole;MW:255.31;EXA:-
:
-<30,Ph,1:/NH2,@4,\,SOO,!,NH,!,|,?5,{1,3}=dl,2:N,5:S
+<30,Ph,1:/NH2,@4,\,S?O?O,!NH!,|,?5,{1,3}=dl,2:N,5:S
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Chlopidol;MW:192.039;EXA:-
@@ -2616,12 +2635,12 @@ CAT:antibacterial;EN:Chlopidol;MW:192.039;EXA:-
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Sulfadiadine;MW:250.276;EXA:-
:
-<30,Ph,1:/NH2,@4,\,SOO,!,NH,!,|,Ph,{2,6}:N
+<30,Ph,1:/NH2,@4,\,S?O?O,!NH!,Ph,{-5,-1}:N
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Levamisole;MW:204.29;EXA:-
:
-?5,3=?5,6=dl,2:S,{4,6}:N,@7,\,Ph
+?5,3=?5,6=dl,2:S,{4,6}:N,7:/Ph
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:5-(Propylsulphonyl)-1-H-Benzimidazole-2-Amine;MW:239.29;EXA:-
@@ -2631,39 +2650,39 @@ CAT:antibacterial;EN:5-(Propylsulphonyl)-1-H-Benzimidazole-2-Amine;MW:239.29;EXA
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Sulfapyrizine;MW:249.288;EXA:-
:
-<30,Ph,1:/NH2,@4,\,SOO,!,NH,!,|,Ph,6:N
+<30,Ph,1:/NH2,@4,\,S?O?O,!NH!,Ph,-1:N
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Marbofloxacin;MW:362.361;EXA:-
:
<30,Ph,{3,2--7}=?6,9=dl,6:/F,{7,13}:N,11:O,9:/COOH,10://O,13:/_,
- @1,\,|,?6,{1,4}:N,4:/_
+ 1:/?6+(1:N)+(4:N?)
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Sulfamerazine;MW:264.303;EXA:-
:
-<30,Ph,1:/NH2,@4,\,SOO,!,NH,!,|,Ph,{2,6}:N,3:/_
+<30,Ph,1:/NH2,@4,\,S?O?O,!NH!,Ph,{-5,-1}:N,-4:/_
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Trimethoprim;MW:290.323;EXA:-
:
-<30,Ph,{1,5}:N,{2,6}:/NH2,@3,\,!,|,Ph,{3,4,5}:/O!
+<30,Ph,{1,5}:N,{2,6}:/NH2,3:/!Ph+({4,5,6}:/O!)
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Ofloxacin;MW:361.373;EXA:-
:
<30,Ph,{3,2--7}=?6,9=dl,7:N,11:O,
- 6:/F,9:/COOH,10://O,13:/_,@1,\,|,?6,{1,4}:N,4:/_
+ 6:/F,9:/COOH,10://O,13:/_,1:/?6+(1:N)+(4:N?)
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Ciprofloxacin;MW:331.347;EXA:-
:
-<30,Ph,-4=?6,9=dl,7:N,6:/F,7:/?3,9:/COOH,10://O,@1,\,|,?6,1:N,4:NH
+<30,Ph,-4=?6,9=dl,7:N,6:/F,7:/?3,9:/COOH,10://O,1:/?6+(1:N)+(4:NH)
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Enrofloxacin;MW:359.401;EXA:-
:
-<30,Ph,-4=?6,9=dl,7:N,6:/F,7:/?3,9:/COOH,10://O,@1,\,|,?6,{1,4}:N,4:/!
+<30,Ph,-4=?6,9=dl,7:N,6:/F,7:/?3,9:/COOH,10://O,1:/?6+(1:N)+(4:N?2)
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Danofloxacin;MW:357.385;EXA:-
@@ -2679,7 +2698,7 @@ CAT:antibacterial;EN:Ormetoprim;MW:274.324;EXA:-
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Sulfadimidine;MW:278.33;EXA:-
:
-<30,Ph,1:/NH2,@4,\,SOO,!,NH,!,|,Ph,{2,4}:N,{3,5}:/_
+<30,Ph,1:/NH2,@4,\,S?O?O,!NH!,|,Ph,{2,4}:N,{3,5}:/_
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Orbifloxacin;MW:395.382;EXA:-
@@ -2690,38 +2709,37 @@ CAT:antibacterial;EN:Orbifloxacin;MW:395.382;EXA:-
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Sulfamethoxypyridazine;MW:280.302;EXA:-
:
-<30,Ph,1:/NH2,@4,\,SOO,!,NH,!,|,Ph,{5,6}:N,4:/O!
+<30,Ph,1:/NH2,@4,\,S?O?O,!NH!,|,Ph,{5,6}:N,4:/O!
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Sarafloxacin;MW:385.371;EXA:-
:
-<30,Ph,3=?6,9=dl,7:N,6:/F,9:/COOH,10://O,@1,\,?6,-6:N,-3:NH,@7,\,Ph,-3:/F
+<30,Ph,3=?6,9=dl,7:N,6:/F,9:/COOH,10://O,@1,\,?6,-6:N,-3:NH,7:/Ph+(4:/F)
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Difloxacin;MW:399.398;EXA:-
:
-<30,Ph,-4=?6,9=dl,7:N,6:/F,9:/COOH,10://O,@1,\,|,?6,{1,4}:N,4:/_,
- ||,@7,\,Ph,-3:/F
+<30,Ph,-4=?6,9=dl,7:N,6:/F,9:/COOH,10://O,7:/Ph+(4:/F),1:/?6+(1:N)+(4:N?)
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Sulfamonomethoxine;MW:280.302;EXA:-
:
-<30,Ph,1:/NH2,@4,\,SOO,!,NH,!,|,Ph,{2,4}:N,3:/O!
+<30,Ph,1:/NH2,@4,\,S?O?O,!NH!,|,Ph,{2,4}:N,3:/O!
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Sulfachlorpyridazine;MW:284.723;EXA:-
:
-<30,Ph,1:/NH2,@4,\,SOO,!,NH,!,|,Ph,{5,6}:N,4:/Cl
+<30,Ph,1:/NH2,@4,\,S?O?O,!NH!,|,Ph,{5,6}:N,4:/Cl
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Sulfadoxine;MW:310.328;EXA:-
:
-<30,Ph,1:/NH2,@4,\,SOO,!,NH,!,|,Ph,{4,6}:N,{2,3}:/O!
+<30,Ph,1:/NH2,@4,\,S?O?O,!NH!,|,Ph,{4,6}:N,{2,3}:/O!
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Sulfamethoxazole;MW:253.276;EXA:-
:
-<30,Ph,1:/NH2,@4,\,SOO,!,NH,!,|,?5,{2,5}=dl,4:O,5:N,3:/_
+<30,Ph,1:/NH2,@4,\,S?O?O,!NH!,|,?5,{2,5}=dl,4:O,5:N,3:/_
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Pirimethamin;MW:248.714;EXA:-
@@ -2731,7 +2749,7 @@ CAT:antibacterial;EN:Pirimethamin;MW:248.714;EXA:-
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Oxibendazole;MW:249.27;EXA:-
:
-<30,Ph,-4=?5,9=dl,7:NH,9:N,1:/O!3,@8,\,NH,!,COOH
+<30,Ph,-4=?5,9=dl,7:NH,9:N,1:/O!3,8:/NH!+COOH
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Oxolinic acid;MW:261.233;EXA:-
@@ -2741,22 +2759,22 @@ CAT:antibacterial;EN:Oxolinic acid;MW:261.233;EXA:-
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Sulfabenzamide;MW:276.31;EXA:-
:
-<30,Ph,1:/NH2,@4,\,SOO,!,NH,!,//O,!,Ph
+<30,Ph,1:/NH2,@4,\,S?O?O,!NH!,//O,!Ph
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Ethopabate;MW:237.255;EXA:-
:
-<30,Ph,1:/NHCO!,3:/O!2,4:/COO!
+<30,Ph,1:/NH!+?O!,3:/O!2,4:/?O!+O!
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Sulfadimethoxine;MW:310.33;EXA:-
:
-<30,Ph,1:/NH2,@4,\,SOO,!,NH,!,|,Ph,{2,4}:N,{3,5}:/O!
+<30,Ph,1:/NH2,@4,\,S?O?O,!NH!,|,Ph,{2,4}:N,{3,5}:/O!
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Sulfaquinoxaline;MW:300.337;EXA:-
:
-<30,Ph,1:/NH2,@4,\,SOO,!,NH,!,|,Ph,3=Ph,{2,5}:N
+<30,Ph,1:/NH2,@4,\,S?O?O,!NH!,Ph,-4=Ph,{-5,-2}:N
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Nalidixic acid;MW:232.239;EXA:-
@@ -2766,7 +2784,7 @@ CAT:antibacterial;EN:Nalidixic acid;MW:232.239;EXA:-
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Flubendazole;MW:313.288;EXA:-
:
-<30,Ph,-4=?5,9=dl,7:NH,9:N,@1,\,O,!,Ph,@8,\,NH,!,COO!
+<30,Ph,-4=?5,9=dl,7:NH,9:N,@1,\,O,!Ph,8:/NH!+?O!+O!
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Flumequine;MW:261.225;EXA:-
@@ -2776,70 +2794,70 @@ CAT:antibacterial;EN:Flumequine;MW:261.225;EXA:-
%------------------------------------------------------------------------------
34;CAT:antibacterial;EN:Sulfanitran;MW:335.334;EXA:-
:
-<30,Ph,@1,\,NH,!,//O,!,@4,\,SOO,!,NH,!,|,Ph,4:/NO2
+<30,Ph,@1,\,NH!,?O!,@4,\,S?O?O,!NH!,Ph,-3:/NO2
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Xylazine;MW:220.334;EXA:-
:
-<30,?6,3=dl,2:S,4:N,@3,\,NH,!,|,Ph,{2,6}:/_
+<30,?6,3=dl,2:S,4:N,@3,\,NH!,Ph,{-5,-1}:/_
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Famphur;MW:325.3;EXA:-
:
-<-30,!,O,!,P,//S,/O!^160,!,O,!,Ph,@-3,\,SOO,!,N!,!
+<-30,!O!,P,//S,/O!^160,!,O,!Ph,-3:/S?O?O!+N?!
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Lincomycin;MW:406.54;EXA:1
:
<6,?5,5:N,5:*/_,2:*/!2,
- @3,\*,//O,!,NH,!,!~wb,?6,-1:O,{-3',-4,-5}:*/OH,-2:/*S!,@8,-30,/_,60,OH
+ @3,\*,//O,!NH!,!~wb,?6,-1:O,{-3',-4,-5}:*/OH,-2:/*S!,8:/?!+OH^-30>lr
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:2-acethylamino-5-nitrothiazole;MW:187.178;EXA:-
:
-<18,?5,{2,5}=dl,2:N,4:S,3:/NHCO!,5:/NO2
+<18,?5,{2,5}=dl,2:N,4:S,3:/NH!+?O!,5:/NO2
;
%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Chlorsulron;MW:357.77;EXA:-
+CAT:antibacterial;EN:Chlorsulon;MW:380.66;EXA:-
:
-<30,Ph,6:/NH2,@1,\,SOO,!,NH2,@3,\,SOO,!,NH2,@4,\,/Cl,60~dl,/Cl,!,Cl
+<30,Ph,6:/NH2,{1,3}:/S?O?O+!NH2,@4,\,/Cl,60~dl,/Cl,!Cl
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Florfenicol;MW:358.21;EXA:-
:
-<30,Ph,@1,\,SOO,!,@4,\,/OH,!,/!F,!,NH,!,//O,!,/Cl,!,Cl
+<30,Ph,1:/S?O?O!,@4,\,/OH,!,/!F,!NH!,?O!,/Cl,!Cl
;
%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Thiamphenicol;MW:355;EXA:-
+CAT:antibacterial;EN:Thiamphenicol;MW:356.22;EXA:-
:
-<30,Ph,@1,\,SOO,!,@4,\,/OH,!,/!OH,!`1.1,NH,!`1.1,//O,!,/Cl,!,Cl
+<30,Ph,1:/S?O?O!,@4,\,/OH,!,/!OH,!`1.1,NH,!`1.1,?O!,/Cl,!Cl
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Oxadiargyl;MW:341.19;EXA:-
:
-<30,Ph,{1,3}:/Cl,6:/'(O,!2,!!!),@4,\,|,?5,2=dl,{1,2}:N,4:O,5://O,3:/??!
+<30,Ph,{1,3}:/Cl,6:/O!2+!!!,@4,\,|,?5,2=dl,{1,2}:N,4:O,5://O,3:/??!
;
%------------------------------------------------------------------------------
CAT:antibacterial;EN:Oxaziclomefone;MW:376.277;EXA:-
:
-<30,?6,6=dl,4:N,2:O,1:/_,5://O,6:/Ph,@4,\,??,!,|,Ph,{3,5}:/Cl
+<30,?6,6=dl,4:N,2:O,1:/_,5://O,6:/Ph,@4,\,??,!Ph,{-4,-2}:/Cl
;
%******************************************************************************
CAT:biological;EN:Okadaic acid;MW:805.00;EXA:2
:
<30,?6,@4,?6,@-4,\,!3,<-12,?5,@-3,<-12,?6,-3=?6,@-3,*\,!3,
- ?6,@-4,?6,@6,\,!,/*_^-40,*/OH^20,!,//O,!1,OH,
+ ?6,@-4,?6,@6,\,!,/*_^-40,*/OH^20,!,?O!,OH,
3=wb,11=dl,15=dr,17=wf,19=wf,38=wb,{5,7,16,24,25,33,42}:O,
32:*/H^60,10:/_,{12,31,37'}:*/_,27://_,28:/OH,{3,29}:/*OH
;
%------------------------------------------------------------------------------
CAT:antibiotics;EN:Vancomycin;MW:1449.25;EXA:2
:
-<-30,#1,!12,{1,3,12}=zf,7=wf,60,60,Ph,@-3,\,O,!,Ph,@-4,\,O,!,Ph,@-3,\,&1,
+<-30,#1,!12,{1,3,12}=zf,7=wf,60,60,Ph,@-3,\,O,!Ph,@-4,\,O,!Ph,@-3,\,&1,
@7,&26,@$1,60,60,NH,60,-60,Ph,@-1,\,Ph,@-2,&4,##,
{36,3^40,6,9,12}://O,{2,5,8,11}:NH,{1,4^180,7'^-60,10'^60,14'^60,35^-60}:*/H,
{41,43,46}:/OH,{14,35'}:*/OH,{17,34^15}:/Cl,38^180:*/COOH,
- @10,*\^-60,60,//O,!,NH2,@13,*\,NH,!,//O,!,/??!,*/H^60,!~zf,NH,!,
+ @10,*\^-60,60,?O!,NH2,@13,*\,NH!,?O!,/??!,*/H^60,!~zf,NH!,
@23,\,O,!~zf,|,?6`.7,2:O,3^10:*/!OH,{4',5}:*/OH,
@-1,\*,O,!~wb,|,?6`.7,6:O,{3'^35,5}:*/_,3^-35:/NH2,4:/*OH,
;
diff --git a/graphics/mcf2graph/mcf2graph.mp b/graphics/mcf2graph/mcf2graph.mp
index cf2eb5683f..cffbaa6fe6 100644
--- a/graphics/mcf2graph/mcf2graph.mp
+++ b/graphics/mcf2graph/mcf2graph.mp
@@ -1,5 +1,5 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mcf2graph ver 5.02 Copyright (c) 2013-2023 Akira Yamaji
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% mcf2graph ver 5.10 Copyright (c) 2013-2024 Akira Yamaji
%
% Permission is hereby granted, free of charge, to any person obtaining a copy of this software
% and associated documentation files (the "Software"), to deal in the Software without restriction,
@@ -15,71 +15,64 @@
% AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
% DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%-------------------------------------------------------------------------------------------------
% mcf2graph is MetaPost macro package convert Molecular Coding Format(MCF) to graphic file
% sgv/eps/png/mdl molfile
-%--------------------------------------------------------------------------------------------------
+%-------------------------------------------------------------------------------------------------
% This package is located at : http://www.ctan.org/pkg/mcf2graph
% Suggestion or request mail to : mcf2graph@gmail.com
-%--------------------------------------------------------------------------------------------------
-% Set outputformat to "svg" (.svg) : mpost FILENAME *default
-% Set outputformat to "png" (.png) : mpost -s ahangle=1 FILENAME
-% Set outputformat to "eps" (.eps) : mpost -s ahangle=2 FILENAME
-% Set outputformat to "eps" (.mps) : mpost -s ahangle=3 FILENAME
-% Set output MOL file (V2000) : mpost -s ahlength=5 FILENAME
-% Set output MOL file (V3000) : mpost -s ahlength=6 FILENAME
-% Set output report : mpost -s ahlength=7 FILENAME
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-message "* This is mcf2graph ver 5.02 2023.05.28";
+message "* This is mcf2graph ver 5.10 2024.01.03";
tracingstats:=1; prologues:=3; warningcheck:=0;
%-------------------------------------------------------------------------------------------------
newinternal string EN_;
-numeric save_num[],parts_com[][],parts_par[][],parts_cnt[],tbl_atom[],tbl_group[][],tbl_atom_wt[],
+numeric save_num[],pcode_com[][],pcode_par[][],pcode_cnt[],tbl_atom[],tbl_group[][],tbl_atom_wt[],
tbl_atom_mi[],tbl_char_wd[],tbl_char_ht[],at_char[],mc_indent[],op_indent[],ex_indent[],
- ad_indent[],unit_lines[],info[];
-string row[][],save_str[],tbl_atom_str[],str_tbl[],arg_s[],mc[],ex[],ad[],op[],tag[],
- lib_tag[][],lib_val[][],mc,ex,ad,op,aux_delimiter,default_library,sC,sI,sS,sT,sV,
- EN,FM,MW,MI,CAT,JN,CAS,USE,EXA,EXB,
- file_input,file_output,default_temp_file,mpfont,atomfont,tempc,temps,blanks;
+ ad_indent[],unit_lines[],info[],tbl_asc[],lenw[];
+string row[][],save_str[],tbl_atom_str[],str_tbl[],arg_s[],mc[],ex[],ad[],op[],tag[],rw[],
+ lib_tag[][],lib_val[][],mc,ex,ad,op,aux_delimiter,default_library,EN,FM,MW,MI,CAT,JN,CAS,
+ USE,EXA,EXB,file_input,file_output,default_temp_file,mpfont,atomfont,tempc,temps,blanks,
+ sC,sI,sS,sT,sV,forbiddens;
pair save_pair[],msize,mposition,fsize,fmargin,dum,save_mposition;
%-------------------------------------------------------------------------------------------------
-fig_num:=str_cnt:=tbl_cnt:=mangle:=sw_expand:=sw_frame:=sw_trimming:=sw_ext_all:=sw_abbreviate:=0;
-sw_comment:=sw_output:=sw_numbering:=tag_cnt:=0; numbering_start:=1; numbering_end:=4095;
+fig_num:=str_cnt:=tbl_cnt:=mangle:=sw_frame:=sw_trimming:=sw_ext_all:=sw_abbreviate:=sw_expand:=0;
+sw_comment:=sw_output:=sw_numbering:=tag_cnt:=rw_cnt:=pcode_all:=0;
+numbering_start:=1; numbering_end:=4095;
%-------------------------------------------------------------------------------------------------
-aux_delimiter:=";"; blanks:= " "; dum:=(-4091,0);
+aux_delimiter:=";"; blanks:= " "; forbiddens:=" &()[]{}^=;!'+,`~"; dum:=(-4091,0);
for s="No","EN","JN","MW","MI","FM","CAT","CAS","USE","EXA","EXB": tag[incr tag_cnt]:=s; endfor
-Fig:=1; Mcode:=2; Calc:=4; Info:=8; Table:=16; Report:=32; MOL2k:=64; MOL3k:=128;
+MW_n:=0; Fig:=1; Mcode:=2; Calc:=4; Info:=8; Table:=16; Report:=32; MOL2k:=64; MOL3k:=128;
Atom:=8; Bond:=16; Group:=32; Mol:=64; Outside:=1; Inside:=2; Bothside:=Outside+Inside;
%-------------------------------------------------------------------------------------------------
-a_prn_s:=ASCII("("); a_prn_e:=ASCII(")"); a_brc_s:=ASCII("{"); a_brc_e:=ASCII("}");
-a_brk_s:=ASCII("["); a_brk_e:=ASCII("]"); a_cmm:=ASCII(","); a_equ:=ASCII("=");
-a_ast:=ASCII("*"); a_sls:=ASCII("/"); a_gtn:=ASCII("<"); a_ltn:=ASCII(">"); a_and:=ASCII("&");
-a_dol:=ASCII("$"); a_hsh:=ASCII("#"); a_hat:=ASCII("^"); a_tld:=ASCII("~"); a_bqt:=ASCII("`");
-a_cln:=ASCII(":"); a_amk:=ASCII("@"); a_zero:=ASCII("0"); a_nine:=ASCII("9"); a_qut:=ASCII("'");
-a_bar:=ASCII("|"); a_plus:=ASCII("+"); a_minus:=ASCII("-");
+PRS:=ASCII("(");PRE:=ASCII(")");BRS:=ASCII("{");BRE:=ASCII("}");BKS:=ASCII("[");BKE:=ASCII("]");
+CMA:=ASCII(",");EQU:=ASCII("=");AST:=ASCII("*");SLS:=ASCII("/");GTN:=ASCII("<");LTN:=ASCII(">");
+AMP:=ASCII("&");HSH:=ASCII("#");HAT:=ASCII("^");TLD:=ASCII("~");BQT:=ASCII("`");CLN:=ASCII(":");
+AMK:=ASCII("@");QUT:=ASCII("'");BAR:=ASCII("|");PLS:=ASCII("+");MIS:=ASCII("-");BLK:=ASCII(" ");
+BSL:=ASCII("\");QES:=ASCII("?");
+%-------------------------------------------------------------------------------------------------
+for s="??!","!?!","!!!","!?","?!","??","*/*","/*","*/","//","**","##","||","\\":
+ rw[incr rw_cnt]:=s; lenw[rw_cnt]:=length(s); endfor
%-------------------------------------------------------------------------------------------------
let DIV= /; let MUL= *; let LT= <; let GT= >; let AND= &; let :: = : ; let == = =; let ef=elseif;
-let ISP=intersectionpoint; def ]]]=] ] ] enddef;
+let ISP=intersectionpoint; def ]]]=] ] ] enddef; let +++ = ++; let +- = +;
%-------------------------------------------------------------------------------------------------
def ext(text t)= sw_ext_all:=1; def EXT_ALL = t enddef; enddef;
def ext_clear= sw_ext_all:=0; def EXT_ALL = enddef; enddef;
+def wpcs expr n= withpen pencircle scaled n enddef;
+def ppcs expr n= pickup pencircle scaled n enddef;
+def sbp(expr m,n)expr p=subpath(m*length(p),n*length(p)) of p enddef;
+def printf expr s= write s to file_output enddef;
+def warning(expr s)= message "% "&decimal(fig_num)&fdr(3)(incr warning_cnt)&")"&s; enddef;
%-------------------------------------------------------------------------------------------------
vardef frac primary n= n-floor n enddef;
vardef iif(expr a,b,c)=if a: b else: c fi enddef;
vardef subc(expr i,s)= substring(i-1,i) of s enddef;
vardef sfrt(expr a,b,c)= a shifted ((b,0) rotated c) enddef;
-%-------------------------------------------------------------------------------------------------
-def wpcs expr n= withpen pencircle scaled n enddef;
-def ppcs expr n= pickup pencircle scaled n enddef;
-def sbp(expr m,n)expr p=subpath(m*length(p),n*length(p)) of p enddef;
-%-------------------------------------------------------------------------------------------------
vardef fsr(expr n)(expr s)= (substring(0,n-length(s)) of blanks)&s enddef;
vardef fsl(expr n)(expr s)= s&(substring(0,n-length(s)) of blanks) enddef;
vardef fdr(expr n)(expr s)=
if length(decimal(s))>n: substring (0,n) of decimal(s) else: fsr(n)(decimal(s)) fi enddef;
vardef fdl(expr n)(expr s)= fsl(n)(decimal(s)) enddef;
-def printf expr s= write s to file_output enddef;
-def warning(expr s)= message "% "&decimal(fig_num)&fdr(3)(incr warning_cnt)&")"&s; enddef;
%=================================================================================================
default_library:="main_lib.mcf"; default_temp_file:="temp.mcf";
mpfont:="uhvr8r"; atomfont:="draw"; defaultfont:=mpfont;
@@ -91,16 +84,17 @@ ef ahangle=3: outputformat:="eps"; % eps format(.mps)
ef ahangle=45: outputformat:="svg"; % svg format *default
fi
%--default ahlength=4---------------------------------------------------------------------
-if ahlength=4: sw_output:=Fig; % output figure *default
-ef ahlength=5: sw_output:=MOL2k; % output MOL(V2000)
-ef ahlength=6: sw_output:=MOL3k; % output MOL(V3000)
+if ahlength=3: sw_output:=Fig; sw_expand:=1; % output figure(expanded)
+ef ahlength=4: sw_output:=Fig; % output figure *default
+ef ahlength=5: sw_output:=MOL2k; sw_expand:=1; % output MOL(V2000)
+ef ahlength=6: sw_output:=MOL3k; sw_expand:=1; % output MOL(V3000)
ef ahlength=7: sw_output:=Report; % output report
fi
%-- default bboxmargin=2------------------------------------------------------------------
if bboxmargin=3: ext(defaultfont:=mpfont; defaultscale:=.3; label.rt(EN,(0,0));)
ef bboxmargin=4: sw_output:=Fig+Calc;
ext(defaultfont:=mpfont; defaultscale:=.3;
- label.rt(EN&" / "&MW&" / "&decimal(num_MW-scantokens(MW)),(0,0));) fi
+ label.rt(EN&" / "&MW&" / "&decimal(MW_n-scantokens(MW)),(0,0));) fi
%--default outputtemplate:="%j-%3c."&"svg"------------------------------------------------
if outputformat="svg": outputtemplate:="s%3c-%{EN_}.svg";
ef outputformat="png": outputtemplate:="p%3c-%{EN_}.png";
@@ -113,8 +107,7 @@ message "* outputformat="&outputformat;
message "* outputtemplate="&outputtemplate;
if ahlength=5: message "* output MOL file(V2000)"; message "* "&jobname&"-nnn-"&"EN"&".mol";
ef ahlength=6: message "* output MOL file(V3000)"; message "* "&jobname&"-nnn-"&"EN"&".mol";
-ef ahlength=7: message "* output report file"; message "* file name="&jobname&"-report.txt";
-fi
+ef ahlength=7: message "* output report file"; message "* file name="&jobname&"-report.txt"; fi
clearit;
%--------------------------------------------------------------------------------------------------
?3:=?20:=Ph:=Ph1:=Ph2:=hz:=0; vt:=1;
@@ -124,17 +117,15 @@ ratio_hashgap_bond:=0.12; ratio_hash_black:=0.4; ratio_wedge_bond:=0.12; ratio_a
offset_thickness:=0.2; offset_bond_gap:=0.3; offset_hash_gap:=0.1; offset_atom:=0.8;
offset_wedge:=0.4; thickness_frame:=0.2;
max_blength:=10mm; blength:=mangle:=0; max_labelsize:=20mm; dottedline_gap:=1.5;
-%--------------------------------------------------------------------------------------------------
fsize:=(30mm,20mm); fmargin:=(0.4mm,0.4mm); msize:=(1,1); mposition:=(0.5,0.5);
-%=== bboxmargin:=0; % 2bp => 0 ====================================================================
ahangle:=45; ahlength:=4; defaultsize:=8; defaultscale:=1; labeloffset:=3; ext_defaultline:=0.5;
-outputformatoptions:="";
lonepairdiam:=lonepairspace:=circlediam:=circlepen:=bboxmargin:=0; mc_length:=100;
+outputformatoptions:="";
%==================================================================================================
-parts_emb_start:=1000; % 1001 => 2000 for embedded parts (max 1900)
-parts_emi_start:=1900; % 1901 => 2000 for embedded internal parts (max 100)
-parts_usr_start:=2000; % 2001 => 3000 for user parts (max 1000)
-parts_int_start:=3000; % 3001 => 4000 for internal parts (max 1000)
+pcode_emb_start:=1000; % 1001 => 1900 for embedded pcode (max 1900)
+pcode_emi_start:=1900; % 1901 => 2000 for embedded internal pcode (max 100)
+pcode_usr_start:=2000; % 2001 => 3000 for user pcode (max 1000)
+pcode_int_start:=3000; % 3001 => 4000 for internal pcode (max 1000)
%--------------------------------------------------------------------------------------------------
def def_com(expr n)(text tx)= nA:=n; forsuffixes list=tx:: list:=nA; nA:=nA+1; endfor enddef;
def_com(-4090)(_com,_jp_atom,_jp_absA,_jp_bond,_cyc,_cyc_sB,_cyc_eB,_set_line,_tmp_line,_chg_len,
@@ -142,8 +133,8 @@ def_com(-4090)(_com,_jp_atom,_jp_absA,_jp_bond,_cyc,_cyc_sB,_cyc_eB,_set_line,_t
_group_si,_group_dm,_group_wf,_group_zf,_set_adr,_mk_bond,_set_atom,_arrange_ang,_chg_atom,
_tmp_rot,_fuse,_size_atom,_numeric,_jump_at,_set_add,_chg_add,_nop,_mark,_moff,_term,_len_s,
_len_e,_len_ss,_len_ee,_group_s,_group_e,_rest,_charge,_from,_until,
- si,dl,dl_,dr,dr_,db,dm,dm_,tm,wf,wb,bd,bz,zf,zb,dt,wv,nl,vf,vb,nb,wf_r,wb_r,bd_r,
- arc_lb,arc_br,arc_lbr,arc_ltr,si_,wf_,wb_,zf_,zb_,wv_,bd_);
+ si,dl,dl_,dr,dr_,db,dm,dm_,tm,wf,wb,bd,bz,zf,zb,dt,wv,nl,vf,vb,nb,wf_r,wb_r,bd_r,arc_lb,arc_br,
+ arc_lbr,arc_ltr,si_,wf_,wb_,zf_,zb_,wv_,bd_);
%--------------------------------------------------------------------------------------------------
def parameter_list=
sw_numbering,sw_expand,sw_output,sw_ext_all,sw_frame,sw_trimming,sw_abbreviate,ratio_atom_bond,
@@ -151,31 +142,37 @@ def parameter_list=
ratio_hashgap_bond,ratio_thickness_char,ratio_wedge_bond,ratio_atomgap_atom,lonepairdiam,
lonepairspace,offset_atom,offset_wedge,max_blength,offset_hash_gap,offset_bond_gap,
thickness_frame,offset_thickness,numbering_start,numbering_end,defaultsize,defaultscale,
- labeloffset,mangle,blength,fsize,fmargin,msize,mposition,defaultfont,atomfont,dottedline_gap,
- Me,Et,CH3,NH,NH2,NO,NO2,OH,CHO,COOH,CN,SH,!CH3,!NH2,!NO2,!OH,!CHO,!COOH,!CN,!SH enddef;
+ labeloffset,mangle,blength,fsize,fmargin,msize,mposition,defaultfont,atomfont,dottedline_gap
+enddef;
%--------------------------------------------------------------------------------------------------
def init_par(text t)= nA:=nB:=nC:=0;
for list=t: if numeric list: save_num[incr nA]:=list;
ef pair list: save_pair[incr nB]:=list;
- ef string list: save_str[incr nC]:=list; fi endfor enddef;
+ ef string list: save_str[incr nC]:=list;
+ fi
+ endfor
+enddef;
%--------------------------------------------------------------------------------------------------
def store_par(text t)= nA:=nB:=nC:=0;
for list=t: if numeric list: if save_num[incr nA]<>list: save_num[nA]:=list; fi
ef pair list: if save_pair[incr nB]<>list: save_pair[nB]:=list; fi
- ef string list: if save_str[incr nC]<>list: save_str[nC]:=list; fi fi endfor
+ ef string list: if save_str[incr nC]<>list: save_str[nC]:=list; fi
+ fi
+ endfor
enddef;
%--------------------------------------------------------------------------------------------------
def restore_par(text t)= nA:=nB:=nC:=0;
forsuffixes list=t: if numeric list: if list<>save_num[incr nA]: list:=save_num[nA]; fi
ef pair list: if list<>save_pair[incr nB]: list:=save_pair[nB]; fi
- ef string list: if list<>save_str[incr nC]: list:=save_str[nC]; fi fi
+ ef string list: if list<>save_str[incr nC]: list:=save_str[nC]; fi
+ fi
endfor
enddef;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
def beginfigm=
begingroup
- save ','',//,@,#,#@,##,\,\\,\*,|=,|<,**,_,f_ext,blen,ext,add,ang_br,fw_n,bw_n,at_colon,at_dot,
- info_cnt,group_cnt,bond_cntA,firstc,warning_cnt,hideH,hideH_cnt,cntM,cntA,cntB,
+ save ','',//,@,#,#@,##,\,\\,\*,|=,|<,**,++,_,f_ext,blen,ext,add,ang_br,fw_n,bw_n,
+ info_cnt,bond_cntA,firstc,warning_cnt,hideH,hideH_cnt,cntM,cntA,cntB,
minX,minY,maxX,maxY,posA,posM,lineB,sB,eB,angB,angA,lenB,angX,numS,sumA,bond_num,wdM,htM,
chargeA,addA,add_rot,mol_pic,color_list,filter_s,no,mw,mi,fm;
numeric hideH[],lineB[],sB[],eB[],angB[],angA[],lenB[],angX[],strA[],sumA[],bond_num[],
@@ -188,20 +185,19 @@ def beginfigm=
store_par(parameter_list);
no:=mc:=ex:=ad:=op:=temps:=mw:=mi:=fm:=filter_s:="";
EN:=JN:=MW:=FM:=MI:=CAS:=CAT:=EXA:=EXB:=USE:="-";
- f_ext:=cntM:=mc_row:=ex_row:=ad_row:=op_row:=info_cnt:=0;
- let ext=ext_to_fig; let add=add_to_molecule;
+ f_ext:=cntM:=mc_row:=ex_row:=ad_row:=op_row:=info_cnt:=err_cnt:=0;
+ let ext=ext_to_fig; let add=add_to_molecule; let ++=add_to_molecule; let **=ext_to_fig;
def ' = read_ud enddef; def '' = readm enddef; def \ = drawm enddef; def \\ = putm enddef;
def \* = checkm enddef; def $ = getm enddef; def @ expr p = mposition:=p; enddef;
def # expr p = fsize:=p; enddef; def #@ expr p = fmargin:=p; enddef;
def ## expr p = msize:=p; enddef; def |=(expr n) = blength:=n; enddef;
def |<(expr n) = max_blength:=n; enddef; def _ expr s = EN:=s; enddef;
- parts_num:=parts_usr_start; parts_int:=parts_int_start;
- fig_num:=fig_num+1;
+ pcode_num:=pcode_usr_start; pcode_int:=pcode_int_start; fig_num:=fig_num+1;
mol_pic[0]:=nullpicture;
enddef;
%--------------------------------------------------------------------------------------------------
def endfigm=
- %---------------------------------------------------------------------------------------------
+ %--------------------------------------------------------------------------------------------
if cntM>=1:
%--------------------------------------------------------------------------------------------
if scan_bit(sw_output,Fig):
@@ -224,8 +220,7 @@ def endfigm=
fi
%----------------------------------------------------------------------------------------
if scan_bit(sw_frame,Outside): draw_frame((0,0),fsize,thickness_frame);
- else: draw_corner(fsize,0.004);
- fi
+ else: draw_corner(fsize,0.004); fi
if scan_bit(sw_frame,Inside): draw_frame(fmargin,fsize-2fmargin,thickness_frame); fi
for i=1 upto cntM:
addto currentpicture also mol_pic[i] shifted posM[0][i]; mol_pic[i]:=nullpicture;
@@ -241,27 +236,25 @@ def endfigm=
if scan_bit(sw_output,MOL2k): proc_mol_out(2000); fi
if scan_bit(sw_output,MOL3k): proc_mol_out(3000); fi
%---------------------------------------------------------------------------------------------
- %% message "* parts_num (0)="& decimal(parts_num) &" "& decimal(parts_usr-parts_usr_start);
- %% message "* parts_int (0)="& decimal(parts_int) &" "& decimal(parts_int-parts_int_start);
- %---------------------------------------------------------------------------------------------
ef scan_bit(sw_output,Fig):
- EN_:="no_figure";
- beginfig(fig_num)
- defaultscale:=.6; draw_frame((0,0),fsize,thickness_frame) label("no figure",0.5fsize);
- endfig;
- clearit;
- %---------------------------------------------------------------------------------------------
+ EN_:="no_figure";
+ beginfig(fig_num)
+ defaultscale:=.6; draw_frame((0,0),fsize,thickness_frame) label("no figure",0.5fsize);
+ endfig;
+ clearit;
fi
%---------------------------------------------------------------------------------------------
- if scan_bit(sw_output,Mcode): proc_mc_out; fi
- if scan_bit(sw_output,Report): proc_report_out; fi
- if scan_bit(sw_output,MOL2k): proc_mol_out(2000); fi
- if scan_bit(sw_output,MOL3k): proc_mol_out(3000); fi
+ if err_cnt=0:
+ if scan_bit(sw_output,Mcode): proc_mc_out; message "["&decimal(fig_num)&"]:"&EN; fi
+ if scan_bit(sw_output,Report): proc_report_out; message "["&decimal(fig_num)&"]:"&EN; fi
+ if scan_bit(sw_output,MOL2k): proc_mol_out(2000); message "["&decimal(fig_num)&"]:"&EN; fi
+ if scan_bit(sw_output,MOL3k): proc_mol_out(3000); message "["&decimal(fig_num)&"]:"&EN; fi
+ fi
%---------------------------------------------------------------------------------------------
restore_par(parameter_list);
endgroup;
enddef;
-%==================================================================================================
+%=================================================================================================
def readm(text s)=
save fw_n,bw_n;
for list=s:
@@ -283,8 +276,7 @@ def read_unit(expr n)=
if firstc=":": nF:=1; ef firstc="=": nF:=2; ef firstc="*": nF:=3; ef firstc="+": nF:=4;
ef firstc="%":
else:
- fw_n:=scan_char(" ",temps,1,1)-1;
- temps:=substring(fw_n,length(temps)) of temps;
+ fw_n:=scan_char(" ",temps,1,1)-1; temps:=substring(fw_n,length(temps)) of temps;
if nF=1: mc_indent[incr mc_row]:=fw_n; mc[mc_row]:=temps; mc:=mc&temps;
ef nF=2: op_indent[incr op_row]:=fw_n; op[op_row]:=temps; op:=op&temps;
ef nF=3: ex_indent[incr ex_row]:=fw_n; ex[ex_row]:=temps; ex:=ex&temps;
@@ -292,7 +284,7 @@ def read_unit(expr n)=
fi
fi
endfor
- fi
+ fi
enddef;
%=================================================================================================
vardef get_adr(expr t,v)=
@@ -314,16 +306,17 @@ def putm=
if ex_row>=1: ext(scantokens(ex)) fi
enddef;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-vardef '(text t)= parts_num:=parts_num+1; read_mcf(parts_num)(t); parts_num enddef;
-vardef read_id(text t)= parts_num:=parts_num+1;
- read_mcf(parts_num)(|,#rate_cr,t,##,(_com,_rest)); parts_num enddef;
-vardef read_ud(text t)= parts_num:=parts_num+1;
- read_mcf(parts_num)(dum,dum,|,t,(_com,_rest)); parts_num enddef;
-vardef abs_adress primary n = if n LT 0:: (n+360)-4095 else:: n-4095 fi enddef;
+vardef '(text t)= pcode_num:=pcode_num+-1; read_mcf(pcode_num)(t); pcode_num enddef;
+vardef read_id(text t)= pcode_num:=pcode_num+-1;
+ read_mcf(pcode_num)(|,#rate_cr,t,##,(_com,_rest)); pcode_num enddef;
+vardef read_ud(text t)= pcode_num:=pcode_num+-1;
+ read_mcf(pcode_num)(dum,dum,|,t,(_com,_rest)); pcode_num enddef;
+vardef abs_adress primary n = if n LT 0:: (n+-360)-4095 else:: n-4095 fi enddef;
primarydef a from_until b = (_from,a),(_until,b) enddef;
+primarydef a op_plus b = read_id(a,b) enddef;
tertiarydef a bond__bond b = (a,b) enddef;
-tertiarydef a bond___bond b = (a+0.5,b) enddef;
-tertiarydef a bond____bond b = (a+0.5,b+0.5) enddef;
+tertiarydef a bond___bond b = (a+-2000,b) enddef;
+tertiarydef a bond____bond b = (a+-2000,b+-2000) enddef;
tertiarydef a op_equ b = if (known a)and(known b):: change_bond(a,b) else:: _nop fi enddef;
tertiarydef a op_col b = if (known a)and(known b):: change_atom(a,b) else:: _nop fi enddef;
tertiarydef a op_hat b = if known b:: (_tmp_rot,b),a else:: _nop,a fi enddef;
@@ -344,208 +337,232 @@ def group_wv secondary n = /n~wv enddef; def group_nb secondary n = /n~nb endde
%=================================================================================================
def read_mcf(expr n)(text t)=
begingroup
- save nCP;
if unknown inside_mc::
- save /,//,/*,*/,**,*/*,~,^,',`,<,>,:,=,\,\\,*\,\*,*\*,@,@$,$,&,&$,#,##,{,},|,||,_,CP,CA,
- --,---,----,inside_mc;
- | :=mark_adress; || :=reset_adress; ##:=reset_length; _:=Me;
+ save /,//,/*,*/,**,*/*,~,^,',`,<,>,:,=,+,\,\\,*\,\*,*\*,@,@$,$,&,&$,#,##,{,},|,||,_,
+ --,---,----,CP,CA,CC,DL,FR,inside_mc;
+ inside_mc:=1; | :=mark_adress; || :=reset_adress; ##:=reset_length; _:=Me;
\:=0; \\:=zero_dm; *\:=zero_wf; \*:=zero_zf; *\*:=zero_wv;
let = ==op_equ; let : ==op_col; let ^==op_hat; let ~==op_til; let > ==op_lth; let `==op_bqu;
let -- == bond__bond; let --- == bond___bond; let ---- == bond____bond;
- def $==abs_adress enddef; def &$==&.$ enddef; def '==read_id enddef;
- def {==read_number( enddef; def CP == com_par enddef; def CA == com_par_adr enddef;
let }==); let @$==jump_atom_abs; let < ==rot_angle; let @==jump_atom; let &==cyc_atom;
let #==chg_length; let /==group_si; let //==group_dm; let */==group_wf; let /*==group_zf;
- let */*==group_wv; let **==group_nb;
- inside_mc:=1;
+ let */*==group_wv; let **==group_nb; let CP == pcode_add; let CA == pcode_add_adr;
+ let FR == fuse_ring_bonds; def DL(expr p)==CA(_set_line,dl,p) enddef;
+ def CB(expr p)==CP(_mk_bond,p) enddef; def CC(expr p)==CP(_com,p) enddef;
+ def $==abs_adress enddef; def &$==&.$ enddef; def '==read_id enddef; let +==op_plus;
+ def {==read_number( enddef;
fi
%----------------------------------------------------------------------------------------------
- nCP:=0;
+ pcode_cnt[n]:=0;
for list==t::
if known list::
- if pair list:: parts_com[n][incr nCP]:=xpart(list); parts_par[n][nCP]:=ypart(list);
+ if pair list:: pcode_cnt[n]:= pcode_cnt[n]+-1;
+ pcode_com[n][pcode_cnt[n]]:=xpart(list);
+ pcode_par[n][pcode_cnt[n]]:=ypart(list);
ef numeric list::
if list==_nop:: message "unknown command in "AND decimal(n);
- ef list>=parts_emb_start::
- for i==1 upto parts_cnt[list]::
- parts_com[n][incr nCP]:=parts_com[list][i]; parts_par[n][nCP]:=parts_par[list][i];
- endfor
- else:: parts_com[n][incr nCP]:=_mk_bond; parts_par[n][nCP]:=list; fi
+ ef list>=pcode_emb_start:: expand_pcode(n,list);
+ else::
+ pcode_cnt[n]:=pcode_cnt[n]+-1;
+ pcode_com[n][pcode_cnt[n]]:=_mk_bond; pcode_par[n][pcode_cnt[n]]:=list;
fi
+ fi
else:: message "unknown command in "AND decimal(n);
fi
endfor
- parts_cnt[n]:=nCP;
endgroup
enddef;
%-------------------------------------------------------------------------------------------------
+def expand_pcode(expr n,a)=
+ if n==0::
+ for i==1 upto pcode_cnt[a]::
+ if pcode_com[a][i]>=pcode_emb_start:: expand_pcode(n,pcode_com[a][i]);
+ else:: pcode_cnt[n]:=pcode_cnt[n]+-1;
+ pcode_com[n][pcode_cnt[n]]:=pcode_com[a][i];
+ pcode_par[n][pcode_cnt[n]]:=pcode_par[a][i];
+ fi
+ endfor
+ else::
+ pcode_cnt[n]:=pcode_cnt[n]+-1; pcode_com[n][pcode_cnt[n]]:=a;
+ fi
+enddef;
+%-------------------------------------------------------------------------------------------------
vardef read_number(text t)=
save :,','`;
- let : == from_until; def ' == +0.5 enddef; def '` == +0.5` enddef; parts_int:=parts_int+1;
+ let : == from_until; def ' == +-2000 enddef; def '` == +-2000` enddef;
+ pcode_int:=pcode_int+-1;
nA:=0;
for list==t::
if known list::
if numeric list::
- if list==_nop:: message "unknown command in "AND decimal(parts_int);
- else:: parts_com[parts_int][incr nA]:=_numeric; parts_par[parts_int][nA]:=list;
+ if list==_nop:: message "unknown command in "AND decimal(pcode_int);
+ else:: nA:=nA+-1; pcode_com[pcode_int][nA]:=_numeric; pcode_par[pcode_int][nA]:=list;
fi
ef pair list::
if xpart(list)==_from:: nB:=ypart(list);
ef xpart(list)==_until:: nC:=ypart(list);
for i==nB upto nC::
- parts_com[parts_int][incr nA]:=_numeric; parts_par[parts_int][nA]:=i;
+ nA:=nA+-1; pcode_com[pcode_int][nA]:=_numeric; pcode_par[pcode_int][nA]:=i;
endfor
- else:: parts_com[parts_int][incr nA]:=xpart(list); parts_par[parts_int][nA]:=ypart(list);
+ else:: nA:=nA+-1;
+ pcode_com[pcode_int][nA]:=xpart(list); pcode_par[pcode_int][nA]:=ypart(list);
fi
fi
- else:: message "unknown command in "AND decimal(parts_int);
+ else:: message "unknown command in "AND decimal(pcode_int);
fi
endfor
- parts_cnt[parts_int]:=nA; parts_int
+ pcode_cnt[pcode_int]:=nA; pcode_int
enddef;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
def fuse_ring(expr a,b) =
- CP(_jp_bond,a) CP(_rot_ang,180) CP(_get_len,a) CP(_com,_len_s) CP(_chg_len,_ring_len)
- for i==1 upto b-2:: CP(_mk_bond,360 DIV b) endfor
- CP(_com,_len_e) if a<=0:: CP(_cyc_eB,a-b+2) else:: CP(_cyc_eB,a) fi enddef;
+ CP(_jp_bond,a) CP(_rot_ang,180) CP(_get_len,a) CC(_len_s) CP(_chg_len,_ring_len)
+ for i==1 upto b-2:: CB(360 DIV b) endfor
+ CC(_len_e) if a<=0:: CP(_cyc_eB,a-b+-2) else:: CP(_cyc_eB,a) fi
+enddef;
%-------------------------------------------------------------------------------------------------
def fuse_ring_bonds(expr s,e,b,c) =
- CP(_jp_bond,s) CP(_rot_ang,180) CP(_com,_len_s)
- if b==6:: CP(_chg_len,1) for i==1 upto c-1:: CP(_mk_bond,60) endfor
- ef b==5:: if c==2:: CP(_chg_len,1.25) CP(_mk_bond,80)
- ef c==3:: CP(_chg_len,1.1) CP(_mk_bond,78) CP(_mk_bond,72) fi
- ef b==4:: CP(_chg_len,1.225) CP(_mk_bond,105) fi
- CP(_com,_len_e) if e<=0:: CP(_cyc_eB,e-c+1) else:: CP(_cyc_eB,e) fi
+ CP(_jp_bond,s) CP(_rot_ang,180) CC(_len_s)
+ if b==6:: CP(_chg_len,1) for i==1 upto c-1:: CB(60) endfor
+ ef b==5:: if c==2:: CP(_chg_len,1.25) CB(80) ef c==3:: CP(_chg_len,1.1) CB(78) CB(72) fi
+ ef b==4:: CP(_chg_len,1.225) CB(105)
+ fi
+ CC(_len_e) if e<=0:: CP(_cyc_eB,e-c+-1) else:: CP(_cyc_eB,e) fi
enddef;
%-------------------------------------------------------------------------------------------------
def fuse_ring_size(expr a,b,c) =
- CP(_jp_bond,a) CP(_rot_ang,180) CP(_com,_len_s) CP(_chg_len,c DIV 10)
- if b==5:: CP(_mk_bond,72-((c-9) MUL 1.5)) CP(_mk_bond,72+(c-9)) CP(_mk_bond,72+(c-9))
- ef b==6:: CP(_mk_bond,60-(c-8)) for i==1 upto 3:: CP(_mk_bond,60+((c-8) DIV 2)) endfor
- ef b==7:: CP(_mk_bond,360 DIV 7-(c-8))
- for i==1 upto 4:: CP(_mk_bond,360 DIV 7+((c-8) DIV 2.5)) endfor
- ef b==8:: CP(_mk_bond,45-(c-8)) for i==1 upto 5:: CP(_mk_bond,45+((c-8) DIV 3)) endfor fi
- CP(_com,_len_e) if a<=0:: CP(_cyc_eB,a-b+2) else:: CP(_cyc_eB,a) fi enddef;
+ CP(_jp_bond,a) CP(_rot_ang,180) CC(_len_s) CP(_chg_len,c DIV 10)
+ if b==5:: CB(72-((c-9) MUL 1.5)) CB(72+-(c-9)) CB(72+-(c-9))
+ ef b==6:: CB(60-(c-8)) for i==1 upto 3:: CB(60+-((c-8) DIV 2)) endfor
+ ef b==7:: CB(360 DIV 7-(c-8)) for i==1 upto 4:: CB(360 DIV 7+-((c-8) DIV 2.5)) endfor
+ ef b==8:: CB(45-(c-8)) for i==1 upto 5:: CB(45+-((c-8) DIV 3)) endfor
+ fi
+ CC(_len_e) if a<=0:: CP(_cyc_eB,a-b+-2) else:: CP(_cyc_eB,a) fi
+enddef;
%=================================================================================================
vardef change_bond(expr a,b) =
- if known b:: parts_int:=parts_int+1; nC:=0;
+ if known b:: pcode_int:=pcode_int+-1; nC:=0;
if numeric b::
if (b>=si)and(b<=bd_)::
- if a>=parts_int_start::
- for i==1 upto parts_cnt[a]::
- if parts_com[a][i]==_numeric::
- if frac parts_par[a][i]==0:: CA(_set_line,b,parts_par[a][i])
- ef b==dl:: CA(_set_line,dr,floor parts_par[a][i])
- ef b==dr:: CA(_set_line,dl,floor parts_par[a][i])
- else:: CA(_set_line,b,floor parts_par[a][i]) fi fi
+ if a>=pcode_int_start::
+ for i==1 upto pcode_cnt[a]::
+ if pcode_com[a][i]==_numeric::
+ if pcode_par[a][i]<=1800:: CA(_set_line,b,pcode_par[a][i])
+ ef b==dl:: CA(_set_line,dr,pcode_par[a][i]-2000)
+ ef b==dr:: CA(_set_line,dl,pcode_par[a][i]-2000)
+ else:: CA(_set_line,b,pcode_par[a][i]-2000)
+ fi
+ fi
endfor
- else:: CP(_set_adr,a) CP(_set_line,b) fi
+ else:: CP(_set_adr,a) CP(_set_line,b)
+ fi
elseif (b>=?3)and(b<=?8[15])::
if numeric a::
- if a>=parts_int_start::
- for i==1 upto parts_cnt[a]::
- if parts_com[a][i]==_numeric::
- if b==Ph1:: fuse_ring(parts_par[a][i],6) CA(_set_line,dl,-2) CA(_set_line,dl,-4)
- ef b==Ph2:: fuse_ring(parts_par[a][i],6) CA(_set_line,dl,-1) CA(_set_line,dl,-3)
- CA(_set_line,dl,-5)
- ef (b>=?5[11])and(b<=?5[15]):: fuse_ring_size(a,5,b-?5[11]+11)
- ef (b>=?6[11])and(b<=?6[15]):: fuse_ring_size(a,6,b-?6[11]+11)
- ef (b>=?7[11])and(b<=?7[15]):: fuse_ring_size(a,7,b-?7[11]+11)
- ef (b>=?8[11])and(b<=?8[15]):: fuse_ring_size(a,8,b-?8[11]+11)
- else:: fuse_ring(parts_par[a][i],b-?3+3) fi
+ if a>=pcode_int_start::
+ for i==1 upto pcode_cnt[a]::
+ if pcode_com[a][i]==_numeric::
+ if b==Ph1:: fuse_ring(pcode_par[a][i],6) DL(-2) DL(-4)
+ ef b==Ph2:: fuse_ring(pcode_par[a][i],6) DL(-1) DL(-3) DL(-5)
+ ef (b>=?5[11])and(b<=?8[15]):: fuse_ring_size(a,pcode_com[b][1],pcode_par[b][1])
+ else:: fuse_ring(pcode_par[a][i],b-?3+-3) fi
else::
if b==?6::
- if (frac parts_com[a][i]==0)and(frac parts_par[a][i]==0)::
- fuse_ring_bonds(parts_com[a][i],parts_par[a][i],6,4)
- ef frac parts_par[a][i]==0::
- fuse_ring_bonds(floor parts_com[a][i],parts_par[a][i],6,3)
- else:: fuse_ring_bonds(floor parts_com[a][i],floor parts_par[a][i],6,2) fi
+ if (pcode_com[a][i]<=1800)and(pcode_par[a][i]<=1800)::
+ FR(pcode_com[a][i],pcode_par[a][i],6,4)
+ ef pcode_par[a][i]<=1800:: FR(pcode_com[a][i]-2000,pcode_par[a][i],6,3)
+ else:: FR(pcode_com[a][i]-2000,pcode_par[a][i]-2000,6,2)
+ fi
ef b==?5::
- if (frac parts_com[a][i]==0)and(frac parts_par[a][i]==0)::
- fuse_ring_bonds(parts_com[a][i],parts_par[a][i],5,3)
- ef frac parts_par[a][i]==0::
- fuse_ring_bonds(floor parts_com[a][i],parts_par[a][i],5,2) fi
- ef b==?4:: fuse_ring_bonds(parts_com[a][i],parts_par[a][i],4,2)
- ef b==Ph1:: fuse_ring_bonds(parts_com[a][i],parts_par[a][i],6,4)
- CA(_set_line,dl,-1) CA(_set_line,dl,-3)
- ef b==Ph2:: fuse_ring_bonds((parts_com[a][i],parts_par[a][i]),6,4)
- CA(_set_line,dl,-2) CA(_set_line,dl,-4) fi fi endfor
+ if (pcode_com[a][i]<=1800)and(pcode_par[a][i]<=1800)::
+ FR(pcode_com[a][i],pcode_par[a][i],5,3)
+ ef pcode_par[a][i]<=1800:: FR(pcode_com[a][i]-2000,pcode_par[a][i],5,2)
+ fi
+ ef b==?4:: FR(pcode_com[a][i],pcode_par[a][i],4,2)
+ ef b==Ph1:: FR(pcode_com[a][i],pcode_par[a][i],6,4) DL(-1) DL(-3)
+ ef b==Ph2:: FR(pcode_com[a][i],pcode_par[a][i],6,4) DL(-2) DL(-4)
+ fi
+ fi
+ endfor
else::
- if b==Ph1:: fuse_ring(a,6) CA(_set_line,dl,-2) CA(_set_line,dl,-4)
- ef b==Ph2:: fuse_ring(a,6) CA(_set_line,dl,-1) CA(_set_line,dl,-3) CA(_set_line,dl,-5)
- ef (b>=?5[11])and(b<=?5[15]):: fuse_ring_size(a,5,b-?5[11]+11)
- ef (b>=?6[11])and(b<=?6[15]):: fuse_ring_size(a,6,b-?6[11]+11)
- ef (b>=?7[11])and(b<=?7[15]):: fuse_ring_size(a,7,b-?7[11]+11)
- ef (b>=?8[11])and(b<=?8[15]):: fuse_ring_size(a,8,b-?8[11]+11)
- else:: fuse_ring(a,b-?3+3)
+ if b==Ph1:: fuse_ring(a,6) DL(-2) DL(-4)
+ ef b==Ph2:: fuse_ring(a,6) DL(-1) DL(-3) DL(-5)
+ ef (b>=?5[11])and(b<=?8[15]):: fuse_ring_size(a,pcode_com[b][1],pcode_par[b][1])
+ else:: fuse_ring(a,b-?3+-3)
fi
fi
ef pair a::
- if b==?6::
- if (frac xpart a==0)and(frac ypart a==0):: fuse_ring_bonds(xpart a,ypart a,6,4)
- ef frac ypart a==0:: fuse_ring_bonds(floor xpart a,ypart a,6,3)
- else:: fuse_ring_bonds(floor xpart a,floor ypart a,6,2) fi
- ef b==?5::
- if (frac xpart a==0)and(frac ypart a==0):: fuse_ring_bonds(xpart a,ypart a,5,3)
- ef frac ypart a==0:: fuse_ring_bonds(floor xpart a,ypart a,5,2) fi
- ef b==?4:: fuse_ring_bonds(xpart a,ypart a,4,2)
- fi
+ if b==?6:: if (xpart a<=1800)and(ypart a<=1800):: FR(xpart a,ypart a,6,4)
+ ef ypart a<=1800:: FR((xpart a)-2000,ypart a,6,3)
+ else:: FR((xpart a)-2000,(ypart a)-2000,6,2)
+ fi
+ ef b==?5:: if (xpart a<=1800)and(ypart a<=1800):: FR(xpart a,ypart a,5,3)
+ ef ypart a<=1800:: FR((xpart a)-2000,ypart a,5,2)
+ fi
+ ef b==?4:: FR(xpart a,ypart a,4,2)
fi
fi
- elseif color b:: color_list[incr cntC]:=b; CA(_set_colorB,cntC,a) fi
- parts_cnt[parts_int]:=nC; parts_int fi
+ fi
+ elseif color b:: cntC:=cntC+-1; color_list[cntC]:=b; CA(_set_colorB,cntC,a) fi
+ pcode_cnt[pcode_int]:=nC; pcode_int
+ fi
enddef;
%-------------------------------------------------------------------------------------------------
vardef change_atom(expr a,b)=
- if known b:: parts_int:=parts_int+1; nC:=0;
+ if known b:: pcode_int:=pcode_int+-1; nC:=0;
if numeric b::
- if (b GT parts_emb_start)and(b<=parts_atom_end):: CA(_chg_atom,b,a)
- ef b==NH:: CA(_chg_atom,N,a) CP(_tmp_line,nl)
- CP(_com,_group_s) CA(_group_si,H,a) CP(_com,_group_e)
- ef b==N!:: CA(_chg_atom,N,a) CP(_com,_group_s) CA(_group_si,_,a) CP(_com,_group_e)
- ef b==N!2:: CA(_chg_atom,N,a) CP(_com,_group_s) CA(_group_si,!,a) CP(_com,_group_e)
- ef b==??:: CP(_com,_group_s) CP(_tmp_rot,35) CA(_group_si,_,a)
- CP(_tmp_rot,-35) CA(_group_si,_,a) CP(_com,_group_e)
- ef b==SOO:: CA(_chg_atom,S,a) CP(_com,_group_s) CP(_tmp_rot,35) CA(_group_dm,O,a)
- CP(_tmp_rot,-35) CA(_group_dm,O,a) CP(_com,_group_e)
- ef b==SO:: CA(_chg_atom,S,a) CP(_com,_group_s) CA(_group_dm,O,a) CP(_com,_group_e)
- ef b==n_:: CP(_com,_group_s) CP(_set_add,a_minus) CP(_chg_add,a) CP(_com,_group_e)
- ef b==p_:: CP(_com,_group_s) CP(_set_add,a_plus) CP(_chg_add,a) CP(_com,_group_e) fi
+ if (b GT pcode_emb_start)and(b<=pcode_atom_end):: CA(_chg_atom,b,a)
+ ef b==NH:: CA(_chg_atom,N,a) if sw_expand==0:: CP(_tmp_line,nl) fi
+ CC(_group_s) CA(_group_si,H,a) CC(_group_e)
+ ef b==N?:: CA(_chg_atom,N,a) CC(_group_s) CA(_group_si,_,a) CC(_group_e)
+ ef b==N?2:: CA(_chg_atom,N,a) CC(_group_s) CA(_group_si,!,a) CC(_group_e)
+ ef b==??:: CP(_tmp_rot, 35) CC(_group_s) CA(_group_si,_,a) CC(_group_e)
+ CP(_tmp_rot,-35) CC(_group_s) CA(_group_si,_,a) CC(_group_e)
+ ef b==n_:: CC(_group_s) CP(_set_add,MIS) CP(_chg_add,a) CC(_group_e)
+ ef b==p_:: CC(_group_s) CP(_set_add,PLS) CP(_chg_add,a) CC(_group_e)
+ fi
ef pair b::
- CP(_com,_group_s)
- if a>=parts_emb_start::
- for i==1 upto parts_cnt[a]::
- if parts_com[a][i]==_numeric::
- if frac parts_par[a][i]==0:: CA(xpart(b),ypart(b),parts_par[a][i])
- ef xpart(b)==_group_wf:: CA(_group_zf,ypart(b),floor parts_par[a][i])
- ef xpart(b)==_group_zf:: CA(_group_wf,ypart(b),floor parts_par[a][i])
- else:: CA(xpart(b),ypart(b),parts_par[a][i]) fi
- else:: CP(parts_com[a][i],parts_par[a][i]) fi
+ CC(_group_s)
+ if a>=pcode_emb_start::
+ for i==1 upto pcode_cnt[a]::
+ if pcode_com[a][i]==_numeric::
+ if pcode_par[a][i]<=1800:: CA(xpart(b),ypart(b),pcode_par[a][i])
+ ef xpart(b)==_group_wf:: CA(_group_zf,ypart(b),pcode_par[a][i]-2000)
+ ef xpart(b)==_group_zf:: CA(_group_wf,ypart(b),pcode_par[a][i]-2000)
+ else:: CA(xpart(b),ypart(b),pcode_par[a][i])
+ fi
+ else:: CP(pcode_com[a][i],pcode_par[a][i])
+ fi
endfor
else:: CA(xpart(b),ypart(b),a) fi
- CP(_com,_group_e)
- ef color b:: color_list[incr cntC]:=b; CA(_set_colorA,cntC,a) fi
- parts_cnt[parts_int]:=nC; parts_int fi
+ CC(_group_e)
+ ef color b:: cntC:=cntC+-1; color_list[cntC]:=b; CA(_set_colorA,cntC,a)
+ fi
+ pcode_cnt[pcode_int]:=nC; pcode_int
+ fi
enddef;
%-------------------------------------------------------------------------------------------------
-def com_par(expr c,p)= parts_com[parts_int][incr nC]:=c; parts_par[parts_int][nC]:=p; enddef;
-def com_par_adr(expr c,p,a)=
- if a>=parts_emb_start::
- for i==1 upto parts_cnt[a]::
- if parts_com[a][i]==_numeric:: com_par(_set_adr,parts_par[a][i]) com_par(c,p)
- else:: com_par(parts_com[a][i],parts_par[a][i]) fi endfor
- else:: com_par(_set_adr,a) com_par(c,p) fi enddef;
+def pcode_add(expr c,p)=
+ nC:=nC+-1; pcode_com[pcode_int][nC]:=c; pcode_par[pcode_int][nC]:=p; enddef;
+def pcode_add_adr(expr c,p,a)=
+ if a>=pcode_emb_start::
+ for i==1 upto pcode_cnt[a]::
+ if pcode_com[a][i]==_numeric:: pcode_add(_set_adr,pcode_par[a][i]) pcode_add(c,p)
+ else:: pcode_add(pcode_com[a][i],pcode_par[a][i])
+ fi
+ endfor
+ else:: pcode_add(_set_adr,a) pcode_add(c,p)
+ fi
+enddef;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
def ext_setup=
pickup pencircle scaled ext_defaultline;
dotlabeldiam:=3; labeloffset:=3; em:=defaultscale*defaultsize; defaultfont:=mpfont;
- let ** = scaled; let << = rotated; let => = shifted; __ = (1,0); An:=cntA; Bn:=cntB;
+ let # = scaled; let << = rotated; let => = shifted; __ = (1,0); An:=cntA; Bn:=cntB;
primarydef a /* b = point b of a enddef;
enddef;
%-------------------------------------------------------------------------------------------------
def add_to_molecule(text t)=
begingroup
- save w,h,n,l,p,am,aw,A,B,plus,minus,lonepair,__,**,=>,<<,/*;
+ save w,h,n,l,p,am,aw,A,B,An,Bn,plus,minus,lonepair,__,#,=>,<<,/*;
numeric A[]dir,B[]up,A[]ang,B[]ang;
pair __,p[],A[],B[]s,B[]e,B[]m,A[]up,A[]left,A[]right,A[]down,B[]up,B[]left,B[]right,B[]down;
path B[];
@@ -556,18 +573,20 @@ def add_to_molecule(text t)=
lonepairdiam:=0.3aw; lonepairspace:=.7aw; circlediam:=.6aw; circlepen:=.2;
for i=1 upto cntA:
A[i]:=posA[i]; A[i]ang:=angX[i]; A[i]up:=dir(angX[i]);
- A[i]left:=dir(angX[i]+90); A[i]right:=dir(angX[i]-90); A[i]down:=dir(angX[i]+180); endfor
+ A[i]left:=dir(angX[i]+90); A[i]right:=dir(angX[i]-90); A[i]down:=dir(angX[i]+180);
+ endfor
for i=1 upto cntB:
B[i]s:=posA[sB[i]]; B[i]e:=posA[eB[i]]; B[i]m:=0.5[B[i]s,B[i]e]; B[i]:=B[i]s--B[i]e;
B[i]ang:=angB[i]; B[i]up:=dir(angB[i]);
- B[i]down:=dir(angB[i]+180); B[i]left:=dir(angB[i]+90); B[i]right:=dir(angB[i]-90); endfor
+ B[i]down:=dir(angB[i]+180); B[i]left:=dir(angB[i]+90); B[i]right:=dir(angB[i]-90);
+ endfor
t addto mol_pic[cntM] also currentpicture; clearit;
endgroup;
enddef;
%-------------------------------------------------------------------------------------------------
def ext_to_fig(text t)=
begingroup
- save w,h,An,Bn,wd,ht,n,p,am,aw,__,**,<<,=>,/*;
+ save w,h,An,Bn,wd,ht,n,p,am,aw,__,#,<<,=>,/*;
pair __,p[];
ext_setup;
w:=xpart(fsize); h:=ypart(fsize);
@@ -579,10 +598,12 @@ enddef;
%-------------------------------------------------------------------------------------------------
vardef circled_plus_add= nA:=circlediam; nB:=circlepen;
image(draw fullcircle scaled nA wpcs nB;
- draw (-.5nA,0)--(.5nA,0) wpcs nB; draw (0,-.5nA)--(0,.5nA) wpcs nB;) enddef;
+ draw (-.5nA,0)--(.5nA,0) wpcs nB; draw (0,-.5nA)--(0,.5nA) wpcs nB;)
+enddef;
%-------------------------------------------------------------------------------------------------
vardef circled_minus_add= nA:=circlediam; nB:=circlepen;
- image(draw fullcircle scaled nA wpcs nB; draw (-.5nA,0)--(.5nA,0) wpcs nB;) enddef;
+ image(draw fullcircle scaled nA wpcs nB; draw (-.5nA,0)--(.5nA,0) wpcs nB;)
+enddef;
%-------------------------------------------------------------------------------------------------
vardef lone_pair_add expr n=
image(draw (0,0) wpcs lonepairdiam; draw ((0,lonepairspace) rotated n) wpcs lonepairdiam;)
@@ -592,24 +613,21 @@ def drawm(text t)=
begingroup
save f_bra,temp_strA,temp_lenE,temp_lenF,temp_cntB,f_term,f_at,f_lineT,f_rotT,angL,lenL,cpos,
tpos,f_lenT,f_envT,factor,m_wd,m_ht,raise_pos,slen,sdir,char_wd,char_ht,tcol,f_col,knownA,
- markA,markB,saveA,saveB,bondL,lenT,lineT,angT,rotT,envT,envB,rate_cr,posBs,posBe,
- group_par,group_cnt,group_com,colorA,colorB,aW,aH,fW,fH,hW,hW,hH,qH,fP,hP,
- ww,aw,ap,am,Ls,Le,pA,zA,zL,cC,cH,cO,cN,cS,cF,cP;
+ group_num,markA,markB,saveA,saveB,bondL,lenT,lineT,angT,rotT,envT,envB,rate_cr,posBs,posBe,
+ group_par,group_cnt,group_com,colorA,colorB,aW,aH,fW,fH,hW,hW,hH,qH,fP,hP,ww,aw,ap,am,
+ Ls,Le,pA,zA,zL;
numeric group_com[][],group_par[][],group_cnt[],colorA[],colorB[];
- string cC,cH,cO,cN,cS,cF,cP;
pair cpos,tpos,raise_pos,posBs,posBe,pA,Ls,Le;
path frameA[],zA,zL;
%-----------------------------------------------------------------------------------------------
- if (sw_expand=1)or(scan_bit(sw_output,MOL2k))or(scan_bit(sw_output,MOL3k)):
- expand_set; rate_cr:=1; else: rate_cr:=-ratio_chain_ring; fi
- cC:="C"; cH:="H"; cO:="O"; cN:="N"; cS:="S"; cF:="F"; cP:="P";
- cntA:=cntB:=cntC:=group_cnt:=0; str_tbl[0]:=cC; str_cnt:=2000;
+ if sw_expand=1: rate_cr:=1; else: rate_cr:=-ratio_chain_ring; fi
+ cntA:=cntB:=cntC:=group_num:=0; str_tbl[0]:="C"; str_cnt:=2000;
%-----------------------------------------------------------------------------------------------
fig_wd:=xpart(fsize); fig_ht:=ypart(fsize);
%===============================================================================================
read_mcf(0)(t,(_com,_term));
proc_bond_atom(0)(1);
- if (group_cnt>0)and(not scan_bit(sw_abbreviate,Group)): read_group(0)(1); fi
+ if (group_num>0)and(not scan_bit(sw_abbreviate,Group)): expand_group(1); fi
%-scaling---------------------------------------------------------------------------------------
if blength>1: blen:=blength; proc_size_setup; proc_skeleton(0); proc_scaling;
elseif blength>0: blen:=fig_wd*blength; proc_size_setup; proc_skeleton(0); proc_scaling;
@@ -635,7 +653,9 @@ def drawm(text t)=
if addA[i]<>0:
tempc:=char(addA[i]);
if tempc="+": chargeA[i]:=1; ef tempc="-": chargeA[i]:=-1; else: chargeA[i]:=0; fi
- else: chargeA[i]:=0; fi endfor
+ else: chargeA[i]:=0;
+ fi
+ endfor
%===============================================================================================
if scan_bit(sw_output,Fig):
%-draw atom-----------------------------------------------------------------------------------
@@ -671,7 +691,7 @@ def drawm(text t)=
erase fill unitsquare xscaled nW yscaled nH shifted (tpos-(nW/2,nH/2));
draw unitsquare xscaled nW yscaled nH shifted (tpos-(nW/2,nH/2)) wpcs 0.1;
label(decimal(i),tpos);
- fi
+ fi
endfor
fi
%---------------------------------------------------------------------------------------------
@@ -679,8 +699,7 @@ def drawm(text t)=
else: nX:=xpart(fmargin)-minX+(fig_wd-mol_wd-2xpart(fmargin))*xpart(mposition); fi
if ypart(mposition)>1: nY:=ypart(mposition)-minY;
else: nY:=ypart(fmargin)-minY+(fig_ht-mol_ht-2ypart(fmargin))*ypart(mposition); fi
- posM[0][incr cntM]:=(nX,nY);
- posM[1][cntM]:=(minX+nX,minY+nY); posM[2][cntM]:=(maxX+nX,maxY+nY);
+ posM[0][incr cntM]:=(nX,nY); posM1[cntM]:=(minX+nX,minY+nY); posM2[cntM]:=(maxX+nX,maxY+nY);
wdM[cntM]:=mol_wd; htM[cntM]:=mol_ht;
mol_pic[cntM]:=currentpicture;
clearit;
@@ -689,44 +708,22 @@ def drawm(text t)=
endgroup;
enddef;
%-------------------------------------------------------------------------------------------------
-def add_group=
- if f_at=1: nE:=getA(adrT); check_adrA(nE); else: nE:=cntA+1; fi
- group_cnt[incr group_cnt]:=0; store_group(_jp_absA,nE) store_group(_com,_len_s)
- if lineT<>nb: store_group(_tmp_line,lineT) fi
- if rotT<>0: store_group(_rot_ang,rotT) fi
- if lenT<>rate_cr: store_group(_chg_len,lenT)
- ef bondL<>rate_cr:
- if bondL>=0: store_group(_chg_len,-bondL) else: store_group(_chg_len,bondL) fi
- fi
- if envT<>hz: store_group(_chg_env,envT) fi
- if lineT=nl: store_group(_chg_len,_size_atom) store_group(_adj_ang,0) fi
- if lineT<>nb: store_group(_mk_bond,0) fi
- for i=1 upto parts_cnt[nP]: store_group(parts_com[nP][i],parts_par[nP][i]) endfor
- store_group(_com,_len_e) store_group(_chg_env,hz) store_group(_com,_term)
- if f_lineT=0: lineT:=si; fi
- if f_lenT=0: lenT:=rate_cr; fi
- if f_rotT=0: rotT:=0; fi
- if f_envT=0: envT:=hz; fi
-enddef;
-%-------------------------------------------------------------------------------------------------
-def store_group(expr a,b)=
- group_com[group_cnt][incr group_cnt[group_cnt]]:=a;
- group_par[group_cnt][group_cnt[group_cnt]]:=b; enddef;
-%=================================================================================================
-def read_group(expr a)(expr n)=
- save_group_cnt:=group_cnt; save_cntD:=parts_cnt[a];
- for i=n upto group_cnt:
+def expand_group(expr n)=
+ save_group_num:=group_num; save_pcode_cnt:=pcode_cnt[0];
+ for i=n upto group_num:
for j=1 upto group_cnt[i]:
- parts_com[a][incr parts_cnt[a]]:=group_com[i][j];
- parts_par[a][parts_cnt[a]]:=group_par[i][j];
+ if group_com[i][j]>=pcode_emb_start: expand_pcode(0,group_com[i][j]);
+ else: pcode_com[0][incr pcode_cnt[0]]:=group_com[i][j];
+ pcode_par[0][pcode_cnt[0]]:=group_par[i][j];
+ fi
endfor
endfor
- proc_bond_atom(a)(save_cntD+1);
- if group_cnt>save_group_cnt: read_group(a)(save_group_cnt+1); fi enddef;
+ proc_bond_atom(0)(save_pcode_cnt+1);
+ if group_num>save_group_num: expand_group(save_group_num+1); fi
+enddef;
%=================================================================================================
def draw_frame(expr o,p,n)=
- draw ((0,0)--(xpart p,0)--p--(0,ypart p)--cycle) shifted o withpen pensquare scaled n;
-enddef;
+ draw ((0,0)--(xpart p,0)--p--(0,ypart p)--cycle) shifted o withpen pensquare scaled n; enddef;
%-------------------------------------------------------------------------------------------------
def draw_corner(expr p,n)=
draw (0,0) wpcs n; draw(xpart p,0) wpcs n; draw p wpcs n; draw(0,ypart p) wpcs n; enddef;
@@ -747,9 +744,9 @@ def proc_scaling=
nU:=nD:=nP:=nL:=nR:=0;
for j=1 upto length(str_tbl[strA[i]]):
tempc:=subc(j,str_tbl[strA[i]]);
- if tempc="^": nU:=.5atom_wd;
- ef tempc="_": nD:=.5atom_wd;
- ef (tempc<>"{")and(tempc<>"}"): nP:=nP+atom_wd*tbl_char_wd[ASCII(tempc)]; fi
+ if tempc="^": nU:=.5atom_wd; ef tempc="_": nD:=.5atom_wd;
+ ef (tempc<>"{")and(tempc<>"}"): nP:=nP+atom_wd*tbl_char_wd[ASCII(tempc)];
+ fi
endfor
if (angX[i]<=90)or(angX[i]>=270): nR:=nP; else: nL:=nP; fi
if (nX-nL+.5atom_wd)<minX: minX:=nX-nL+.5atom_wd; fi
@@ -768,59 +765,84 @@ def proc_bond_atom(expr a)(expr n)=
bondL:=rate_cr; lenT:=rate_cr; sB[0]:=0; eB[0]:=1; lineT:=si;
addAT:=markA:=markB:=saveA:=saveB:=0;
%-----------------------------------------------------------------------------------------------
- for i=n upto parts_cnt[a]: nC:=parts_com[a][i]; nP:=parts_par[a][i];
- if nC=_mk_bond: if (nP=0)and(rotT<>0): rotT:=0; fi add_atom(0);
- ef nC=_set_adr: adrT:=nP;
- ef nC=_com: if nP=_mark: saveA:=markA; saveB:=markB; markA:=cntA; markB:=cntB;
- ef nP=_rest: markA:=saveA; markB:=saveB;
- ef nP=_moff: markA:=markB:=0;
- ef nP=_term: termA;
- ef nP=_len_s: temp_lenE:=bondL; ef nP=_len_e: bondL:=temp_lenE;
- ef nP=_len_ss: temp_lenF:=bondL; ef nP=_len_ee: bondL:=temp_lenF;
- ef nP=_group_s: f_at:=1; if lineT<>si: f_lineT:=1; fi if rotT<>0: f_rotT:=1; fi
- if lenT<>rate_cr: f_lenT:=1; fi if envT<>hz: f_envT:=1; fi
- ef nP=_group_e: f_at:=0; f_lineT:=f_rotT:=f_lenT:=f_envT:=rotT:=envT:=0;
- lineT:=si; lenT:=rate_cr; fi
- ef nC=_set_atom: temp_strA:=nP;
- ef nC=_group_si: add_group;
- ef nC=_group_dm: lineT:=dm; add_group;
- ef nC=_group_wf: lineT:=wf; add_group;
- ef nC=_group_zf: lineT:=zf; add_group;
- ef nC=_jp_bond: termA; nA:=getB(nP); check_adrB(nA); sB[cntB+1]:=sB[nA]; f_bra:=1;
- ef nC=_jp_atom: termA; nA:=getA(nP); check_adrA(nA); sB[cntB+1]:=nA; f_bra:=1;
- ef nC=_jp_absA: sB[cntB+1]:=nP; f_bra:=1; temp_cntB:=cntB;
- ef nC=_chg_atom: strA[getA(adrT)]:=parts_par[nP][1];
- ef nC=_chg_len: if nP=_ring_len: bondL:=ringL; else: bondL:=nP; fi
- ef nC=_get_len: if nP=_tmp_len: if bondL=rate_cr: bondL:=lenT; fi
- ef nP=_ring_len:
- if lenT<>rate_cr: bondL:=lenT; else: if bondL<0: bondL:=1; fi fi
- else: ringL:=lenB[getB(nP)]; fi
- ef nC=_tmp_len: lenT:=nP;
- ef nC=_set_line: lineB[getB(adrT)]:=nP;
- ef nC=_tmp_line: lineT:=nP;
- ef nC=_tmp_rot: rotT:=nP;
- ef nC=_cyc: check_adrA(getA(nP)); add_atom(getA(nP));
- ef nC=_cyc_eB: add_atom(eB[getB(nP)]);
- ef nC=_cyc_sB: add_atom(sB[getB(nP)]);
- ef nC=_chg_env: envB:=nP;
- ef nC=_tmp_env: envT:=nP;
- ef nC=_set_colorA: colorA[getA(adrT)]:=nP;
- ef nC=_set_colorB: colorB[getB(adrT)]:=nP;
- ef nC=_set_add: addAT:=nP;
- ef nC=_chg_add: addA[getA(nP)]:=addAT; addAT:=0; if rotT<>0: add_rot[getA(nP)]:=rotT; fi
- else:
- fi
+ for i=n upto pcode_cnt[a]: nC:=pcode_com[a][i]; nP:=pcode_par[a][i];
+ if nC=_mk_bond: if (nP=0)and(rotT<>0): rotT:=0; fi add_atom(0);
+ ef nC=_set_adr: adrT:=nP;
+ ef nC=_com: if nP=_mark: saveA:=markA; saveB:=markB; markA:=cntA; markB:=cntB;
+ ef nP=_rest: markA:=saveA; markB:=saveB;
+ ef nP=_moff: markA:=markB:=0;
+ ef nP=_term: termA;
+ ef nP=_len_s: temp_lenE:=bondL; ef nP=_len_e: bondL:=temp_lenE;
+ ef nP=_len_ss: temp_lenF:=bondL; ef nP=_len_ee: bondL:=temp_lenF;
+ ef nP=_group_s: f_at:=1; if lineT<>si: f_lineT:=1; fi if rotT<>0: f_rotT:=1; fi
+ if lenT<>rate_cr: f_lenT:=1; fi if envT<>hz: f_envT:=1; fi
+ ef nP=_group_e: f_at:=0; f_lineT:=f_rotT:=f_lenT:=f_envT:=rotT:=envT:=0;
+ lineT:=si; lenT:=rate_cr; fi
+ ef nC=_set_atom: temp_strA:=nP;
+ ef nC=_group_si: add_group;
+ ef nC=_group_dm: lineT:=dm; add_group;
+ ef nC=_group_wf: lineT:=wf; add_group;
+ ef nC=_group_zf: lineT:=zf; add_group;
+ ef nC=_jp_bond: termA; nA:=getB(nP); check_adrB(nA); sB[cntB+1]:=sB[nA]; f_bra:=1;
+ ef nC=_jp_atom: termA; nA:=getA(nP); check_adrA(nA); sB[cntB+1]:=nA; f_bra:=1;
+ ef nC=_jp_absA: sB[cntB+1]:=nP; f_bra:=1; temp_cntB:=cntB;
+ ef nC=_chg_atom: strA[getA(adrT)]:=pcode_par[nP][1];
+ ef nC=_chg_len: if nP=_ring_len: bondL:=ringL; else: bondL:=nP; fi
+ ef nC=_get_len: if nP=_tmp_len: if bondL=rate_cr: bondL:=lenT; fi
+ ef nP=_ring_len:
+ if lenT<>rate_cr: bondL:=lenT; else: if bondL<0: bondL:=1; fi fi
+ else: ringL:=lenB[getB(nP)]; fi
+ ef nC=_tmp_len: lenT:=nP;
+ ef nC=_set_line: lineB[getB(adrT)]:=nP;
+ ef nC=_tmp_line: lineT:=nP;
+ ef nC=_tmp_rot: rotT:=nP;
+ ef nC=_cyc: check_adrA(getA(nP)); add_atom(getA(nP));
+ ef nC=_cyc_eB: add_atom(eB[getB(nP)]);
+ ef nC=_cyc_sB: add_atom(sB[getB(nP)]);
+ ef nC=_chg_env: envB:=nP;
+ ef nC=_tmp_env: envT:=nP;
+ ef nC=_set_colorA: colorA[getA(adrT)]:=nP;
+ ef nC=_set_colorB: colorB[getB(adrT)]:=nP;
+ ef nC=_set_add: addAT:=nP;
+ ef nC=_chg_add: addA[getA(nP)]:=addAT; addAT:=0; if rotT<>0: add_rot[getA(nP)]:=rotT; fi
+ else:
+ fi
endfor
enddef;
%-------------------------------------------------------------------------------------------------
+def add_group=
+ if f_at=1: nE:=getA(adrT); check_adrA(nE); else: nE:=cntA+1; fi
+ group_cnt[incr group_num]:=0; store_group(_jp_absA,nE) store_group(_com,_len_s)
+ if lineT<>nb: store_group(_tmp_line,lineT) fi
+ if rotT<>0: store_group(_rot_ang,rotT) fi
+ if lenT<>rate_cr: store_group(_chg_len,lenT)
+ ef bondL<>rate_cr:
+ if bondL>=0: store_group(_chg_len,-bondL) else: store_group(_chg_len,bondL) fi fi
+ if envT<>hz: store_group(_chg_env,envT) fi
+ if lineT=nl: store_group(_chg_len,_size_atom) store_group(_adj_ang,0) fi
+ if lineT<>nb: store_group(_mk_bond,0) fi
+ for i=1 upto pcode_cnt[nP]: store_group(pcode_com[nP][i],pcode_par[nP][i]) endfor
+ store_group(_com,_len_e) store_group(_chg_env,hz) store_group(_com,_term)
+ if f_lineT=0: lineT:=si; fi
+ if f_lenT=0: lenT:=rate_cr; fi
+ if f_rotT=0: rotT:=0; fi
+ if f_envT=0: envT:=hz; fi
+enddef;
+%-------------------------------------------------------------------------------------------------
+def store_group(expr a,b)=
+ group_com[group_num][incr group_cnt[group_num]]:=a;
+ group_par[group_num][group_cnt[group_num]]:=b;
+enddef;
+%-------------------------------------------------------------------------------------------------
def add_atom(expr n)=
lineB[incr cntB]:=lineT; lineT:=si;
if lenT=rate_cr: lenB[cntB]:=bondL; else: lenB[cntB]:=lenT; lenT:=rate_cr; fi
- if f_bra=0: sB[cntB]:=incr cntA; strA[cntA]:=temp_strA;
+ if f_bra=0: strA[incr cntA]:=temp_strA; sB[cntB]:=cntA;
addA[cntA]:=addAT; addAT:=temp_strA:=add_rot[cntA]:=0;
if rotT<>0: add_rot[cntA]:=rotT; rotT:=0; fi
else: f_bra:=0; fi
- if n=0: eB[cntB]:=cntA+1; f_term:=0; else: eB[cntB]:=n; f_term:=1; fi enddef;
+ if n=0: eB[cntB]:=cntA+1; f_term:=0; else: eB[cntB]:=n; f_term:=1; fi
+enddef;
%-------------------------------------------------------------------------------------------------
def check_adrA(expr n)=
if (n>iif(f_term=0,cntA+1,cntA))or(n<=0): errmessage("cntA=[ "&decimal(n)&" ]"); fi enddef;
@@ -831,28 +853,26 @@ def proc_skeleton(expr n)=
envT:=envB:=f_lineT:=f_rotT:=f_lenT:=f_envT:=0; lineT:=si; angT:=mangle;
angA[0]:=angB[0]:=angX[0]:=0; posA[0]:=posBs:=posBe:=(0,0);
%-----------------------------------------------------------------------------------------------
- for i=1 upto parts_cnt[n]: nC:=parts_com[n][i]; nP:=parts_par[n][i];
- if nC=_mk_bond: if (nP=0)and(rotT<>0):nP:=rotT; rotT:=0; fi add_bond(nP,1);
- ef nC=_com: if nP=_mark: saveA:=markA; saveB:=markB; markA:=cntA; markB:=cntB;
- ef nP=_rest: markA:=saveA; markB:=saveB;
- ef nP=_moff: markA:=markB:=0; ef nP=_term: termB;
- ef nP=_group_e: lineT:=si; lenT:=rate_cr; rotT:=envT:=0; fi
- ef nC=_jp_bond: termB; nA:=getB(nP); posBs:=posA[sB[nA]]; angT:=angB[nA]; f_bra:=1; rotT:=0;
- ef nC=_jp_atom: termB; adrT:=getA(nP); posBs:=posA[adrT]; angT:=angX[adrT]; f_bra:=1; rotT:=0;
- ef nC=_jp_absA: adrT:=nP; posBs:=posA[adrT]; angT:=angX[adrT];
- f_bra:=1; rotT:=0; temp_cntB:=cntB;
- ef nC=_adj_ang: angT:=adjust_ang(angT);
- ef nC=_rot_ang: if nP>-3700: angT:=(angT+nP) mod 360; else: angT:=(nP+4095) mod 360; fi
- ef nC=_tmp_rot: rotT:=nP;
- ef nC=_group_si: rotT:=0;
- ef nC=_group_wf: rotT:=0;
- ef nC=_chg_env: envB:=nP;
- ef nC=_tmp_env: envT:=nP;
- ef nC=_cyc: add_bond(angle(posA[getA(nP)]-posBs)-angT,0);
- ef nC=_cyc_sB: add_bond(angle(posA[sB[getB(nP)]]-posBs)-angT,0);
- ef nC=_cyc_eB: add_bond(angle(posA[eB[getB(nP)]]-posBs)-angT,0);
- else:
- fi
+ for i=1 upto pcode_cnt[n]: nC:=pcode_com[n][i]; nP:=pcode_par[n][i];
+ if nC=_mk_bond: if (nP=0)and(rotT<>0):nP:=rotT; rotT:=0; fi add_bond(nP,1);
+ ef nC=_com: if nP=_mark: saveA:=markA; saveB:=markB; markA:=cntA; markB:=cntB;
+ ef nP=_rest: markA:=saveA; markB:=saveB;
+ ef nP=_moff: markA:=markB:=0; ef nP=_term: termB;
+ ef nP=_group_e: lineT:=si; lenT:=rate_cr; rotT:=envT:=0; fi
+ ef nC=_jp_bond: termB; nA:=getB(nP); posBs:=posA[sB[nA]]; angT:=angB[nA]; f_bra:=1; rotT:=0;
+ ef nC=_jp_atom: termB; adrT:=getA(nP); posBs:=posA[adrT]; angT:=angX[adrT]; f_bra:=1; rotT:=0;
+ ef nC=_jp_absA: adrT:=nP; posBs:=posA[adrT]; angT:=angX[adrT];
+ f_bra:=1; rotT:=0; temp_cntB:=cntB;
+ ef nC=_adj_ang: angT:=adjust_ang(angT);
+ ef nC=_rot_ang: if nP>-3700: angT:=(angT+nP) mod 360; else: angT:=(nP+4095) mod 360; fi
+ ef nC=_tmp_rot: rotT:=nP;
+ ef nC=_chg_env: envB:=nP;
+ ef nC=_tmp_env: envT:=nP;
+ ef nC=_cyc: add_bond(angle(posA[getA(nP)]-posBs)-angT,0);
+ ef nC=_cyc_sB: add_bond(angle(posA[sB[getB(nP)]]-posBs)-angT,0);
+ ef nC=_cyc_eB: add_bond(angle(posA[eB[getB(nP)]]-posBs)-angT,0);
+ else:
+ fi
endfor
enddef;
%-------------------------------------------------------------------------------------------------
@@ -876,10 +896,13 @@ enddef;
%-------------------------------------------------------------------------------------------------
vardef arrange_ang(expr n)=
if cntB=0: angT:=(angT-180) mod 360; 180
- else: if envB>=parts_emb_start: parts_par[envB][cntB-temp_cntB+3]
+ else: if envB>=pcode_emb_start: pcode_par[envB][cntB-temp_cntB+3]
else: if envB=hz: if n=0: 60 ef n<=90: -60 ef n<=180: 60 ef n<270: -60 else: 60 fi
ef envB=vt: if n=0: -60 ef n<90: 60 ef n<=180: -60 ef n<=270: 60 else: -60 fi
- ef abs(envB)<=180: envB fi fi fi
+ ef abs(envB)<=180: envB
+ fi
+ fi
+ fi
enddef;
%-------------------------------------------------------------------------------------------------
vardef adjust_ang(expr n)= if (n<40)or(n>320): 0 ef n<140: 90 ef n<220: 180 else: 270 fi enddef;
@@ -891,14 +914,16 @@ def termA=
if f_term=0:
if f_bra=0: strA[incr cntA]:=temp_strA; addA[cntA]:=addAT; add_rot[cntA]:=rotT;
addAT:=temp_strA:=rotT:=0;
- else: f_bra:=0; fi
- f_term:=1; fi
+ else: f_bra:=0;
+ fi
+ f_term:=1;
+ fi
enddef;
%-------------------------------------------------------------------------------------------------
def termB= if f_term=0: if f_bra=0: angX[incr cntA]:=angT; else:f_bra:=0; fi f_term:=1; fi enddef;
%-------------------------------------------------------------------------------------------------
vardef glu_atom(expr n)=
- if strA[n]<>0: nE:=angT mod 90; nF:=0.5atom_wd; (iif(nE<45,sind nE,cosd nE)*nF)++nF else: 0 fi
+ if strA[n]<>0: nE:=angT mod 90; nF:=0.5atom_wd; (iif(nE<45,sind nE,cosd nE)*nF)+++nF else: 0 fi
enddef;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
def draw_atom(expr n)=
@@ -908,7 +933,8 @@ def draw_atom(expr n)=
for i=1 upto slen:
if nC=0: tempc:=subc(i,temps);
if (sdir=-1)and(tempc="{"):
- nD:=i; nC:=0; for j=nD upto slen: nC:=nC+1; exitif subc(j+1,temps)="}"; endfor fi
+ nD:=i; nC:=0; for j=nD upto slen: nC:=nC+1; exitif subc(j+1,temps)="}"; endfor
+ fi
else: nC:=nC-1; tempc:=subc(nD+nC,temps); fi
if tempc="_": raise_pos:=iif(raise_pos=(0,0),(0,-.5atom_wd),(0,0));
ef tempc="^": raise_pos:=iif(raise_pos=(0,0),(0, .5atom_wd),(0,0));
@@ -920,11 +946,13 @@ def draw_atom(expr n)=
if known tcol: if tcol<>0: drawoptions(withcolor color_list[tcol]); f_col:=1; fi fi
if atomfont="draw": draw_char(tempc,tpos+raise_pos); else: label(tempc,tpos+raise_pos); fi
if f_col=1: drawoptions(); fi
- tpos:=tpos+(.5char_wd*sdir,0); fi
+ tpos:=tpos+(.5char_wd*sdir,0);
+ fi
endfor
nA:=0.56atom_wd; nB:=0.06atom_wd;
if sdir=1: frameA[n]:=posA[n]-(nA,nA)--tpos+(nB,-nA)--tpos+(nB,nA)--posA[n]+(-nA,nA)--cycle;
- else: frameA[n]:=tpos-(nB,nA)--posA[n]+(nA,-nA)--posA[n]+(nA,nA)--tpos+(-nB,nA)--cycle; fi
+ else: frameA[n]:=tpos-(nB,nA)--posA[n]+(nA,-nA)--posA[n]+(nA,nA)--tpos+(-nB,nA)--cycle;
+ fi
if scan_bit(sw_frame,Atom): draw frameA[n] wpcs thickness_frame; fi
enddef;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1003,11 +1031,15 @@ enddef;
%------------------------------------------------------------------------------------------------
def wz_put(expr a,b,c)= nB:=round(lenL/hash_gap);
for i=1 upto nB: nA:=i/nB; if i=1: nD:=0; else: nD:=(i-ratio_hash_black)/nB; fi
- fill nD[a,b]--nD[a,c]--nA[a,c]--nA[a,b]--cycle; endfor enddef;
+ fill nD[a,b]--nD[a,c]--nA[a,c]--nA[a,b]--cycle;
+ endfor
+enddef;
%------------------------------------------------------------------------------------------------
def bz_put(expr a,b,c,d)= nB:=round(lenL/hash_gap);
for i=0 upto nB-1: nA:=i/nB; nD:=nA+ratio_hash_black/nB;
- fill nA[b,a]--nA[d,c]--nD[d,c]--nD[b,a]--cycle; endfor enddef;
+ fill nA[b,a]--nA[d,c]--nD[d,c]--nD[b,a]--cycle;
+ endfor
+enddef;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
def char_size_set(expr w,h)(expr s)=
for j=1 upto length(s): nN:=ASCII(subc(j,s)); tbl_char_wd[nN]:=w; tbl_char_ht[nN]:=h; endfor
@@ -1053,13 +1085,13 @@ def draw_char(expr s,p)=
hP:=fP/2; qP:=fP/4; fW:=aW-hP; hW:=aW/2; fH:=aH-hP; hH:=aH/2; qH:=aH/4;
%-----------------------------------------------------------------------------------------------
pickup pencircle scaled fP;
- if s=cC: cdw sbp(.05,.95)circ_O;
- ef s=cH: dwv Z_b--Z_w; dw Z_m--Z_o; dwv Z_e--Z_t;
- ef s=cO: dw circ_O;
- ef s=cN: dwv Z_b--Z_w; dwv Z_e--Z_t; dwvs(1.4)(1.4hP,aH)--(aW-1.4hP,0);
- ef s=cS: cdw sbp(.05,.45)circ_O; cdw sbp(.55,.95)circ_O; dw (fW,.3aH){up}..{up}(hP,.7aH);
- ef s=cF: dwh Z_q--Z_u; dwh (0,.45aH)--(fW,.45aH); dw Z_b--Z_r;
- ef s=cP: dwv Z_b--Z_w; dw Z_r--(.65aW,fH){right}..(fW,.7aH)..{left}(.65aW,.44aH)..(hP,.44aH);
+ if s="C": cdw sbp(.05,.95)circ_O;
+ ef s="H": dwv Z_b--Z_w; dw Z_m--Z_o; dwv Z_e--Z_t;
+ ef s="O": dw circ_O;
+ ef s="N": dwv Z_b--Z_w; dwv Z_e--Z_t; dwvs(1.4)(1.4hP,aH)--(aW-1.4hP,0);
+ ef s="S": cdw sbp(.05,.45)circ_O; cdw sbp(.55,.95)circ_O; dw (fW,.3aH){up}..{up}(hP,.7aH);
+ ef s="F": dwh Z_q--Z_u; dwh (0,.45aH)--(fW,.45aH); dw Z_b--Z_r;
+ ef s="P": dwv Z_b--Z_w; dw Z_r--(.65aW,fH){right}..(fW,.7aH)..{left}(.65aW,.44aH)..(hP,.44aH);
ef s="I": dwv Z_x--Z_s; dwh (hW-fP,hP)--(hW+fP,hP); dwh (hW-fP,fH)--(hW+fP,fH);
ef s="l": dwv Z_g--Z_f; dwh Z_s--Z_r; dwh Z_x--Z_z;
ef s="2": cdw (hP,1.3hP)..(.4fW,.35fH)..(fW,.65aH)..Z_s..(hP,.65aH); dwh Z_d--Z_a;
@@ -1127,22 +1159,27 @@ enddef;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
def warning_bond(expr a)=
if addA[a]=0:
- warning("A"&decimal(a)&" ( "&fsl(8)(str_tbl[strA[a]])&") has"&fdr(2)(bond_cntA)&" bonds"); fi
+ warning("A"&decimal(a)&" ( "&fsl(8)(str_tbl[strA[a]])&") has"&fdr(2)(bond_cntA)&" bonds");
+ fi
enddef;
%-------------------------------------------------------------------------------------------------
-vardef erase_char(expr s)= sS:="";
+vardef erase_char(expr s)=
+ sS:="";
if (length(s)>=4)and(s<>"COOH"):
for i=1 upto length(s): sC:=subc(i,s); if scan_c(sC,"{}_^+-")=0: sS:=sS&sC; fi endfor sS
- else: s fi
+ else: s
+ fi
enddef;
%-------------------------------------------------------------------------------------------------
-vardef forbidden_to_underbar(expr t)= sS:="";
+vardef forbidden_to_underbar(expr t)= sS:="";
for i=1 upto length(t):
- sC:=subc(i,t); if scan_c(sC," &()[]{}^=;!'+,`~")>0: sS:=sS&"_"; else: sS:=sS&sC; fi endfor sS
+ sC:=subc(i,t); if scan_c(sC,forbiddens)>0: sS:=sS&"_"; else: sS:=sS&sC; fi
+ endfor
+ sS
enddef;
%=================================================================================================
def proc_calc(expr n)=
- num_MW:=num_MI:=tbl_atom_max:=warning_cnt:=hideH_cnt:=0; nE:=parts_emb_start;
+ MW_n:=MI_n:=tbl_atom_max:=warning_cnt:=hideH_cnt:=0; nE:=pcode_emb_start;
for i=1 upto tbl_atom_end: sumA[i]:=0; endfor
for i=1 upto cntA:
knownA:=bond_cntA:=0; nS:=strA[i];
@@ -1176,41 +1213,39 @@ def proc_calc(expr n)=
for k=1 upto tbl_atom[j]:
sumA[tbl_group[j][k]]:=sumA[tbl_group[j][k]]+1;
if tbl_group[j][k]>tbl_atom_max: tbl_atom_max:=tbl_group[j][k]; fi
- endfor fi
- knownA:=1; fi
+ endfor
+ fi
+ knownA:=1;
+ fi
exitif knownA=1;
endfor
- if knownA=0: warning(" Unknown Str("&str_tbl[strA[i]]&") is used "&decimal(i)); fi endfor
+ if knownA=0: warning(" Unknown Str("&str_tbl[strA[i]]&") is used "&decimal(i)); fi
+ endfor
%-------------------------------------------------------------------------------------
- sumA[2]:=sumA[2]+hideH_cnt;
- if (tbl_atom_max=1)and(sumA[2]>0): tbl_atom_max:=2; fi
+ sumA[2]:=sumA[2]+hideH_cnt; if (tbl_atom_max=1)and(sumA[2]>0): tbl_atom_max:=2; fi
for i=1 upto tbl_atom_max:
if sumA[i]>=1:
- num_MW:= num_MW+tbl_atom_wt[i]*sumA[i]; num_MI:= num_MI+tbl_atom_mi[i]*sumA[i];
- fm:=fm&erase_char(tbl_atom_str[i]) if sumA[i]>=2: &decimal(sumA[i]) fi; fi
+ MW_n:= MW_n+tbl_atom_wt[i]*sumA[i]; MI_n:= MI_n+tbl_atom_mi[i]*sumA[i];
+ fm:=fm&erase_char(tbl_atom_str[i]) if sumA[i]>=2: &decimal(sumA[i]) fi;
+ fi
endfor
- mw:=substring(0,8) of decimal(num_MW); MI:=substring(0,10) of decimal(num_MI);
+ mw:=substring(0,8) of decimal(MW_n); MI:=substring(0,10) of decimal(MI_n);
enddef;
%=================================================================================================
def proc_report_out=
- message "["&decimal(fig_num)&"]:"&EN;
file_output:=jobname&"-report.txt";
printf "===========================================================================";
printf " No["&decimal(fig_num)&"],Name<"& EN&">,Category<"&CAT&">,File<"&file_input&">";
- if mc_row>=1:
- printf "---------------------------------------------------------------------------";
- for i=1 upto mc_row: printf (substring(0,mc_indent[i]) of blanks)&mc[i]; endfor
- printf "---------------------------------------------------------------------------";
- printf " Row["&decimal(mc_row)&"],Length["&decimal(length(mc))&"],Commands["&decimal(cnt_cmm)&
- "],&Code["&decimal(parts_cnt[0])&"],Warning["&decimal(warning_cnt)&"]";
- printf "---------------------------------------------------------------------------";
- printf " =["&decimal(cnt_equ)&"]({}=["&decimal(cnt_chgB)&"]), :["&decimal(cnt_cln)&
- "]({}:["&decimal(cnt_chgA)&"]), '()["&decimal(cnt_inline_def)&"]";
- printf " @["&decimal(cnt_at)&"],&["&decimal(cnt_and)&"],<["&decimal(cnt_gtn)&
- "],~["&decimal(cnt_tld)&"],^["&decimal(cnt_hat)&"],`["&decimal(cnt_bqt)&
- "],>["&decimal(cnt_ltn)&
- "],|["&decimal(cnt_bar-cnt_bars)&"],||["&decimal(cnt_bars)&
- "],#["&decimal(cnt_hsh-cnt_hshs)&"],##["&decimal(cnt_hshs)&"]"; fi
+ printf "---------------------------------------------------------------------------";
+ for i=1 upto mc_row: printf (substring(0,mc_indent[i]) of blanks)&mc[i]; endfor
+ printf "---------------------------------------------------------------------------";
+ printf " Row["&decimal(mc_row)&"],Length["&decimal(length(mc))&"],Block"&
+ "["&decimal(block_cnt+1)&"]"&",Code pair["&decimal(pcode_cnt[0])&
+ "],Warning["&decimal(warning_cnt)&"]";
+ printf "---------------------------------------------------------------------------";
+ printf "" for i=EQU,CLN,QES,AMK,AMP,HSH,GTN,BAR,QUT,TLD,HAT,BQT,LTN:
+ if tbl_asc[i]>=1: &" "&char(i)&"["&decimal(tbl_asc[i])&"]" fi
+ endfor ;
printf "---------------------------------------------------------------------------";
printf " Width["&fdr(8)(mol_wd)&"],Height["&fdr(8)(mol_ht)&"],"&
" Shift x["& fdr(8)(minX)&"],Shift y["&fdr(8)(minY)&"]";
@@ -1223,8 +1258,8 @@ def proc_report_out=
printf " A"&fdl(6)(i)&fsl(8)(erase_char(str_tbl[strA[i]]))&
" ("&fdr(10)(round(xpart(posA[i])/blen))&" , "&
fdr(10)(round(ypart(posA[i])/blen))&" ) "&fdr(4)(Bcnt[i])&
- iif(hideH[i]>0,fdr(6)(hideH[i])," ")
- if chargeA[i]<>0: &fdr(4)(chargeA[i]) fi; endfor
+ iif(hideH[i]>0,fdr(6)(hideH[i])," ") if chargeA[i]<>0: &fdr(4)(chargeA[i]) fi;
+ endfor
printf "---------------------------------------------------------------------------";
printf "< NO. >< bond (sdt)><angle +( +- )><length ( pt )>";
for i=1 upto cntB:
@@ -1232,26 +1267,25 @@ def proc_report_out=
nB:=angB[i]; if nB>180: nB:=nB-360; fi
printf " B"&fdl(4)(i)&fdr(3)(sB[i])&" -> "&fdr(3)(eB[i])&
" ("&fdr(3)(bond_num[i])&")"&fdr(8)(round(angB[i]))&
- " ("&fdr(6)(round(nB))&")"&fdr(8)(nC)&" ("&fdr(8)(round(nC*blen))&")"; endfor
+ " ("&fdr(6)(round(nB))&")"&fdr(8)(nC)&" ("&fdr(8)(round(nC*blen))&")";
+ endfor
printf "---------------------------------------------------------------------------";
printf "<atom>( atom wt )[ mi wt ] < cnt > < sum wt >[ sum mi wt ]";
for i=1 upto tbl_atom_max:
if sumA[i]>=1:
printf " "&fsl(5)(erase_char(tbl_atom_str[i]))&
"("&fdr(9)(tbl_atom_wt[i])&")"&"["&fdr(9)(tbl_atom_mi[i])&"]"&" * "&fdr(8)(sumA[i])
- &" "&fdr(7)(tbl_atom_wt[i]*sumA[i])&"["&fdr(12)(tbl_atom_mi[i]*sumA[i])&"]"; fi
+ &" "&fdr(7)(tbl_atom_wt[i]*sumA[i])&"["&fdr(12)(tbl_atom_mi[i]*sumA[i])&"]";
+ fi
endfor
printf " Molecular Weight [Mono Isotopic] = "&fsr(12)(mw)&"["&fsr(12)(MI)&"]";
printf "---------------------------------------------------------------------------";
- printf " Weight Calc: " &mw &" / Input: "
- if MW<>"-": &mw &" / weight gap= " &fdr(9)(num_MW-scantokens(MW)) fi;
- printf " Fomula Calc: "&fm
- if FM<>"-": &" / Input: "&FM&" ( "& iif(fm=FM,"MACTCH )","NOT MACTCH )") fi;
+ printf " Weight Calc: "&mw if MW<>"-": &" - Input: "&MW&" = "&fdr(9)(MW_n-scantokens(MW)) fi;
+ printf " Fomula Calc: "&fm if FM<>"-": &" "&iif(fm=FM,"=","<>")&" Input: "&FM fi;
printf "===========================================================================";
enddef;
%=================================================================================================
def proc_mol_out(expr n)=
- message "["&decimal(fig_num)&"]:"&EN;
if EN<>"-": EN_:=forbidden_to_underbar(EN); fi
file_output:="m"&fit_zero(fig_num)&"-"&EN_&".mol";
%-V2000---------------------------------------------------------------------------------------
@@ -1264,7 +1298,8 @@ def proc_mol_out(expr n)=
endfor
for i=1 upto cntB:
if lineB[i]<>0: printf fdr(3)(sB[i])&fdr(3)(eB[i])&fdr(3)(bond_type(lineB[i]))&
- fdr(3)(bond_stereo(lineB[i]))&" 0 0"; fi
+ fdr(3)(bond_stereo(lineB[i]))&" 0 0";
+ fi
endfor
printf "M END";
%-V3000---------------------------------------------------------------------------------------
@@ -1284,21 +1319,24 @@ def proc_mol_out(expr n)=
if lineB[i]<>0:
printf "M V30 "&decimal(i)&" "&decimal(bond_type(lineB[i]))&
" "&decimal(sB[i])&" "&decimal(eB[i])
- if bond_stereo(lineB[i])<>0: &" CFG="&decimal(bond_config(lineB[i])) fi; fi
+ if bond_stereo(lineB[i])<>0: &" CFG="&decimal(bond_config(lineB[i])) fi;
+ fi
endfor
printf "M V30 END BOND"; printf "M V30 END CTAB"; printf "M END"; fi
enddef;
%=================================================================================================
def proc_mc_out=
- message "["&decimal(fig_num)&"]:"&EN;
file_output:="temp-mc.aux";
if mc_length<100:
nN:=split_str(mc,",")(arg_s); nA:=0; temps:="";
for i=1 upto nN:
if i=nN: temps:=temps&arg_s[i]; printf temps;
ef at_char[i+1]-nA>mc_length: nA:=at_char[i]; printf temps&arg_s[i]&","; temps:="";
- else: temps:=temps&arg_s[i]&","; fi endfor
- else: for i=1 upto mc_row: printf (substring(0,mc_indent[i]) of blanks)&mc[i]; endfor fi
+ else: temps:=temps&arg_s[i]&",";
+ fi
+ endfor
+ else: for i=1 upto mc_row: printf (substring(0,mc_indent[i]) of blanks)&mc[i]; endfor
+ fi
printf EOF;
enddef;
%=================================================================================================
@@ -1312,19 +1350,21 @@ vardef bond_config(expr n)=
if (n=wf)or(n=zb)or(n=bd): 1 ef (n=zf)or(n=wb)or(n=dt): 3 ef n=wv: 2 else: 0 fi enddef;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
vardef TA(expr s,WT,MI)=
- str_cnt:=str_cnt+1; tbl_cnt:=tbl_cnt+1; parts_num:=parts_num+1;
- parts_com[parts_num][1]:=_set_atom; parts_par[parts_num][1]:=str_cnt; parts_cnt[parts_num]:=1;
+ str_cnt:=str_cnt+1; tbl_cnt:=tbl_cnt+1; pcode_num:=pcode_num+1;
+ pcode_com[pcode_num][1]:=_set_atom; pcode_par[pcode_num][1]:=str_cnt; pcode_cnt[pcode_num]:=1;
str_tbl[str_cnt]:=tbl_atom_str[tbl_cnt]:=s; tbl_atom[tbl_cnt]:=0;
- tbl_atom_wt[tbl_cnt]:=WT; tbl_atom_mi[tbl_cnt]:=MI; parts_num enddef;
+ tbl_atom_wt[tbl_cnt]:=WT; tbl_atom_mi[tbl_cnt]:=MI; pcode_num
+enddef;
%-------------------------------------------------------------------------------------------------
vardef TB(expr s)(text t)=
- str_cnt:=str_cnt+1; tbl_cnt:=tbl_cnt+1; parts_num:=parts_num+1;
- parts_com[parts_num][1]:=_set_atom; parts_par[parts_num][1]:=str_cnt; parts_cnt[parts_num]:=1;
+ str_cnt:=str_cnt+1; tbl_cnt:=tbl_cnt+1; pcode_num:=pcode_num+1;
+ pcode_com[pcode_num][1]:=_set_atom; pcode_par[pcode_num][1]:=str_cnt; pcode_cnt[pcode_num]:=1;
str_tbl[str_cnt]:=tbl_atom_str[tbl_cnt]:=s; tbl_atom[tbl_cnt]:=0;
- for list=t: tbl_group[tbl_cnt][incr tbl_atom[tbl_cnt]]:=list-parts_emb_start; endfor parts_num
+ for list=t: tbl_group[tbl_cnt][incr tbl_atom[tbl_cnt]]:=list-pcode_emb_start; endfor
+ pcode_num
enddef;
%=================================================================================================
-parts_int:=parts_emi_start; parts_num:=parts_emb_start;
+pcode_int:=pcode_emi_start; pcode_num:=pcode_emb_start;
%-------------------------------------------------------------------------------------------------
C:= TA("C" ,12.0107, 12.0000000); H:= TA("H" , 1.00794, 1.00782503223);
D:= TA("D" ,2.012, 2.01410177812); Ag:=TA("{Ag}",107.868, 106.905095);
@@ -1353,153 +1393,129 @@ U:= TA("U", 238.0289, 238.05079); V:= TA("V", 50.9415, 50.943957);
W:= TA("W", 183.85, 181.948225); Zn:=TA("{Zn}",65.409, 63.92914201);
tbl_atom_end:=tbl_cnt;
%-------------------------------------------------------------------------------------------------
-CH3:=TB("C{H_3_}")(C,H,H,H); CH2:=TB("C{H_3_}")(C,H,H); CN:=TB("CN")(C,N); OH:=TB("OH")(O,H);
-COOH:=TB("COOH")(C,O,O,H); COONa:=TB("COO{Na}")(C,O,O,Na); CHO:=TB("CHO")(C,H,O);
-NO:=TB("NO")(N,O); NO2:=TB("N{O_2_}")(N,O,O); NH2:=TB("N{H_2_}")(N,H,H);
-SH:= TB("SH")(S,H); SO2H:=TB("S{O_2_}H")(S,O,O,H); SO3H:=TB("S{O_3_}H")(S,O,O,O,H);
-ONa:=TB("O{Na}")(O,Na); SO3Na:=TB("S{O_3_}{Na}")(S,O,O,O,Na);
+if sw_expand=0:
+ CH3:=TB("C{H_3_}")(C,H,H,H); CH2:=TB("C{H_3_}")(C,H,H); CN:=TB("CN")(C,N); OH:=TB("OH")(O,H);
+ COOH:=TB("COOH")(C,O,O,H); COONa:=TB("COO{Na}")(C,O,O,Na); CHO:=TB("CHO")(C,H,O);
+ NO:=TB("NO")(N,O); NO2:=TB("N{O_2_}")(N,O,O); NH2:=TB("N{H_2_}")(N,H,H);
+ SH:= TB("SH")(S,H); SO2H:=TB("S{O_2_}H")(S,O,O,H); SO3H:=TB("S{O_3_}H")(S,O,O,O,H);
+ ONa:=TB("O{Na}")(O,Na); SO3Na:=TB("S{O_3_}{Na}")(S,O,O,O,Na);
+fi
%-------------------------------------------------------------------------------------------------
-tbl_group_end:=tbl_cnt; parts_atom_end:=parts_num;
+tbl_group_end:=tbl_cnt; pcode_atom_end:=pcode_num;
%=================================================================================================
for i=3 upto 20: ?[i]:='((_com,_len_ss),(_get_len,_ring_len),<((-180 DIV i)-90)
- for j==2 upto i:: ,(360 DIV i) endfor,(_cyc_sB,1-i),(_com,_len_ee)); endfor
-Ph:=Ph1:='(?6,-2=dl,-4=dl,-6=dl); Ph2:='(?6,-1=dl,-3=dl,-5=dl);
-for i=5,6,7,8: for j=11 upto 15: ?[i][j]:='(); endfor endfor
+ for j==2 upto i:: ,(360 DIV i) endfor,(_cyc_sB,1-i),(_com,_len_ee));
+endfor
+Ph:=Ph1:='(?6,-2=dl,-4=dl,-6=dl); Ph2:='(?6,-1=dl,-3=dl,-5=dl); Me:='();
+for i=5,6,7,8: for j=11 upto 15: ?[i][j]:='((i,j)); endfor endfor
%-------------------------------------------------------------------------------------------------
-!:=!1:='((_mk_bond,_arrange_ang)); !!:='(!~db); !!!:='(!~tm);
+!:=!1:='((_mk_bond,_arrange_ang)); !!:='(!~db); !!!:='(!~tm); NH:='(N,/H~nl);
for i==2 upto 20:
- ![i]:='((_com,_len_ss),(_get_len,_tmp_len),! for j==2 upto i::,! endfor ,(_com,_len_ee)); endfor
-Me:='(); Et:='(!); iPr:=?!:='(/_,!); ?!2:='(/_,!2); tBu:=??!:='(/_,/_^60,60);
-!?:='(!,/_); !?!:='(!,/_,!); n_:='((_set_add,a_minus)); p_:='((_set_add,a_plus));
+ ![i]:='((_com,_len_ss),(_get_len,_tmp_len),! for j==2 upto i::,! endfor ,(_com,_len_ee));
+endfor
+?!:='(/_,!); ?!!:='(/_,!!); ?!2:='(/_,!2); ??!:='(/_,/_^60,60); ??:='(/_^35,/_^-35);
+!?:='(!,/_); !?!:='(!?,!); !??!:='(!,??,!); ?2:='(/!); !?2:='(!,?2); ?2!:='(?2,!); !?2!:='(!?2,!);
+n_:='((_set_add,MIS)); p_:='((_set_add,PLS));
zero_wf:='(0~wf); zero_zf:='(0~zf); zero_dm:='(0~dm); zero_wv:='(0~wv);
mark_adress:='((_com,_mark)); reset_adress:='((_com,_moff)); reset_length:='((_com,_len_e));
%-------------------------------------------------------------------------------------------------
-NH:='(N,/H~nl); N!:='(N,/_); N!2:='(N,/!); SO:='(S,//O); SOO:='(S,//O^-35,//O^35);
-O!:='(O,!); O!2:='(O,!,!); O!3:='(O,!,!,!); O!?!:='(O,!,?!); O!??!:='(O,!,??!); OPh:='(O,!,Ph);
-S!:='(S,!); S!2:='(S,!,!); S!3:='(S,!,!,!); S!?!:='(S,!,?!); S!??!:='(S,!,??!);
+if sw_expand=1:
+ CH3:='(/H,/H^60,/H^-60); NH:='(N,/H); NH2:='(N,/H^60,/H^-60); NO2:='(N,//O^60,//O^-60);
+ OH:='(O,!,H); NO:='(N,//O); CONH2:='(//O,!,NH2); SH:='(S,!,H); SO2H:='(S,//O^60,/OH^-60);
+ SO3H:='(S,/OH,//O^60,//O^-60); CHO:='(//O^-60,/H^60); COOH:='(//O^-60,/OH^60); CN:='(!~tm,N);
+ ONa:='(O,!,Na); SO3Na:='(S,/ONa,//O^60,//O^-60);
+fi
+%-------------------------------------------------------------------------------------------------
+CF2:='(/F,60,F); CCl2:='(/Cl,60,Cl); CBr2:='(/Br,60,Br); CF3:='(/F,/F^60,60,F);
+CCl3:='(/Cl,/Cl^60,60,Cl); CBr3:='(/Br,/Br^60,60,Br);
%-------------------------------------------------------------------------------------------------
-COO:='(//O,!,O); COO!:='(COO,!); COO!2:='(COO,!,!); COO!??:='(COO,!,?!); COO!3:='(COO,!,!,!);
-CO!:='(//O,!); CO!2:='(//O,!,!); CO!3:='(//O,!,!,!); OCO!:='(O,!,//O,!);
-N?!:='(N,!,@-2,0); N?!2:='(N!,!,!); NH!:='(NH,!); NH!2:='(NH,!,!); NH!3:='(NH,!,!,!);
-NH!?!:='(NH,!,?!); NHCO!:='(NH,!,//O,!); CONH2:='(//O,!,NH2); ??:='(/_^35,/_^-35);
+N!:='(N,!); N?:='(N,/_); N!2:='(N,!3); N!2:='(N,!3); !N:='(!,N);
+N?!:='(N,?!); N?2:='(N,?2); N?2!:='(N?2,!); N?!2:='(N,?!2);
+S?O:='(S,//O); S?O!:='(S?O,!); ?O?O:='(//O^-35,//O^35); S?O?O:='(S,?O?O); S?O?O!:='(S?O?O,!);
+O!:='(O,!); O!2:='(O,!2); O!3:='(O,!3); S!:='(S,!); S!2:='(S,!2); S!3:='(S,!3);
%-------------------------------------------------------------------------------------------------
-!OH:='(!,OH); !SH:='(!,SH); !NH2:='(!,NH2); !CO!:='(!,//O,!); !CO!2:='(!,CO!2); !CO!3:='(!,CO!3);
+?O:='(//O); ?O!:='(?O,!); ?O!2:='(?O,!2); ?O!3:='(?O,!3); !?O:='(!,?O); !?O!:='(!,?O!);
+NH!:='(NH,!); NH!2:='(NH,!2); !NH!:='(!,NH!); ?NH2:='(/NH2); ?NH:='(//NH);
+%-------------------------------------------------------------------------------------------------
+!OH:='(!,OH); !SH:='(!,SH); !NH2:='(!,NH2); !S?O:='(!,S?O); !O:='(!,O);
!O!:='(!,O!); !O!2:='(!,O!2); !O!3:='(!,O!3); !S!:='(!,S!); !S!2:='(!,S!2); !S!3:='(!,S!3);
-!NH!:='(!,NH!); !NH!2:='(!,NH!2); !NH!3:='(!,NH!3);
-!COOH:='(!,COOH); !COO!:='(!,COO!); !COO!2:='(!,COO!2); !CH3:='(!,CH3); !CN:='(!,CN);
-!CHO:='(!,CHO); !NO2:='(!,NO2); !Cl:='(!,Cl); !Br:='(!,Br); !F:='(!,F);
+!COOH:='(!,COOH); ?COOH:='(/COOH); !CH3:='(!,CH3); !CN:='(!,CN); !CHO:='(!,CHO); !NO2:='(!,NO2);
+!Cl:='(!,Cl); !Br:='(!,Br); !F:='(!,F); !CF3:='(!,CF3); !CCl3:='(!,CCl3);
!?3:='(!,?3); !?4:='(!,?4); !?5:='(!,?5); !?6:='(!,?6); !?7:='(!,?7); !?8:='(!,?8); !Ph:='(!,Ph);
+?H:='(/H); ?F:='(/F); ?Cl:='(/Cl); ?OH:='(/OH); !?OH:='(!,?OH); ?OH!:='(?OH,!);
%-------------------------------------------------------------------------------------------------
-CF2:='(/F,60,F); CCl2:='(/Cl,60,Cl); CBr2:='(/Br,60,Br);
-CF3:='(/F,/F^60,60,F); CCl3:='(/Cl,/Cl^60,60,Cl); CBr3:='(/Br,/Br^60,60,Br);
-%-------------------------------------------------------------------------------------------------
-lr:='(0,0,0,60 for i==1 upto 10:: ,-60,60 endfor);
+lr:='(0,0,0,60 for i==1 upto 10:: ,-60,60 endfor);
rl:='(0,0,0,-60 for i==1 upto 10:: ,60,-60 endfor);
%-------------------------------------------------------------------------------------------------
-R:='("R"); R1:='("{R^1^}"); R2:='("{R^2^}"); R3:='("{R^3^}"); R4:='("R^4^"); R5:='("{R^5^}");
-R6:='("R6"); R7:='("{R^7^}"); R8:='("{R^8^}"); R9:='("{R^9^}"); R10:='("R^10^"); R11:='("{R^11^}");
+R:='("R"); R1:='("{R^1^}"); R2:='("{R^2^}"); R3:='("{R^3^}"); R4:='("R^4^"); R5:='("{R^5^}");
+R6:='("R6"); R7:='("{R^7^}"); R8:='("{R^8^}"); R9:='("{R^9^}"); R10:='("R^10^");R11:='("{R^11^}");
%-------------------------------------------------------------------------------------------------
hexose_hp:='(#1.4,-30~wf_r,30~bd_r`1,30~wb_r,120,O,30,&1,##);
Pyranose_hp:='(#1.4,-35~wf_r,35~bd_r`1,30~wb_r,130`1.66,O,&1,##);
-%-------------------------------------------------------------------------------------------------
-xCH3:='(/H,/H^60,/H^-60); xNH:='(N,/H~nl); xNH2:='(N,/H~nl^60,/H~nl^-60);
-xNO2:='(N,//O^60,//O^-60); xOH:='(O,/H~nl); xNO:='(N,//O); xCONH2:='(//O,!,xNH2);
-xSO2H:='(S,//O^60,/OH^-60); xSO3H:='(S,/OH,//O^60,//O^-60);
-xCHO:='(//O^-60,/H^60); xCOOH:='(//O^-60,/xOH^60); xCN:='(/N~tm); xSH:='(S,/H~nl);
-!xOH:='(!,xOH); !xCHO:='(!,xCHO); !xCOOH:='(!,xCOOH); !xCH3:='(!,xCH3); !xCN:='(!,xCN);
-!xNH2:='(!,xNH2); !xNO2:='(!,xNO2); !xSH:='(!,xSH);
%=================================================================================================
init_par(parameter_list);
%-------------------------------------------------------------------------------------------------
-%%%%message "parts_emb =" & decimal(parts_emb_start) &" => " & decimal(parts_num);
-%%%%message "parts_emi =" & decimal(parts_emi_start) &" => " & decimal(parts_int);
-%-------------------------------------------------------------------------------------------------
-def expand_set=
- CH3:=xCH3; NH:=xNH; NH2:=xNH2; NO:=xNO; NO2:=xNO2; OH:=xOH; CHO:=xCHO; COOH:=xCOOH; CN:=xCN;
- CONH2:=xCONH2; xSH:=xSH; SO2H:=xSO2H; SO3H:=xSO3H; !SH:=!xSH;
- !CH3:=!xCH3; !OH:=!xOH; !NH2:=!xNH2; !CHO:=!xCHO; !COOH:=!xCOOH; !CN:=!xCN; !NO2:=!xNO2; enddef;
+for i=pcode_emb_start+1 upto pcode_num: pcode_all:=pcode_all+pcode_cnt[i]; endfor
+message "pcode_emb =" & decimal(pcode_emb_start) &" => " & decimal(pcode_num) &
+ " [ " & decimal(pcode_all) & " ]";
+message "pcode_emi =" & decimal(pcode_emi_start) &" => " & decimal(pcode_int);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
vardef checkm(expr s)=
- save mc_char,err_cnt,char_cnt,f_depth,cnt_prn_s,cnt_prn_e,cnt_brc_s,cnt_brc_e,cnt_brk_s,
- cnt_brk_e,cmm_adr;
- string err_str[],err_type[];
- numeric mc_char[],err_adr[],err_code[],cmm_adr[];
- err_cnt:=char_cnt:=code_cnt:=f_depth:=cnt_cmm:=cnt_chgA:=cnt_chgB:=0;
- err_type[0]:="no mc-row "; err_type[1]:=" '(' > ')' "; err_type[2]:=" '(' < ')' ";
- err_type[3]:=" '{' > '}' "; err_type[4]:=" '{' < '}' "; err_type[5]:=" '[' > ']' ";
- err_type[6]:=" '[' < ']' "; err_type[7]:="missing arg"; err_type[8]:="extra arg ";
+ save mc_char,mc_adr,mc_asc,char_cnt,lens,f_depth;
+ string err_type[];
+ numeric mc_char[],mc_asc[],mc_adr[];
+ err_cnt:=char_cnt:=block_cnt:=f_depth:=0; nA:=1; lens:=length(s);
+ err_type[0]:="no mc-row "; err_type[1]:="mismatch () "; err_type[2]:="mismatch {} ";
+ err_type[3]:="mismatch [] "; err_type[4]:="missing arg "; err_type[5]:="extra arg ";
%---------------------------------------------------------------------------------------------
if mc_row>=1:
- for i=1 upto length(s):
- tempc:=subc(i,s); if tempc<>" ": mc_char[incr char_cnt]:=ASCII(tempc); fi endfor
- mc_char[0]:=mc_char[char_cnt+1]:=mc_char[char_cnt+2]:=a_cmm;
- %-- argument missing chkeck --------------------------------------------------------------
- cnt_prn_s:=cnt_prn_e:=cnt_brc_s:=cnt_brc_e:=cnt_brk_s:=cnt_brk_e:=cnt_inline_def:=0;
- cnt_at:=cnt_cmm:=cnt_and:=cnt_gtn:=cnt_equ:=cnt_cln:=cnt_bar:=cnt_bars:=cnt_tld:=cnt_hat:=0;
- cnt_bqt:=cnt_ltn:=cnt_hsh:=cnt_hshs:=f_depth:=nA:=0;
+ for i=1 upto 128: tbl_asc[i]:=0; endfor
+ for i=1 upto lens: mc_char[i]:=ASCII(subc(i,s)); endfor
forever:
- nA:=nA+1; nB:=mc_char[nA-1]; nC:=mc_char[nA]; nD:=mc_char[nA+1];
- if nC=a_cmm: if f_depth=0: cmm_adr[incr cnt_cmm]:=nA; fi
- ef nC=a_ast:
- if nD=a_sls:
- if mc_char[nA+2]=a_ast: if mc_char[nA+3]=a_cmm: proc_err(7,nA) nA:=nA+2; fi % */* x
- ef mc_char[nA+2]=a_cmm: proc_err(7,nA) nA:=nA+1; fi % */ x
- ef nD=a_ast: if mc_char[nA+2]=a_cmm: proc_err(7,nA) nA:=nA+1; fi fi % ** x
- ef nC=a_sls: if nD=a_sls: if mc_char[nA+2]=a_cmm: proc_err(7,nA) nA:=nA+1; fi % // x
- ef nD=a_ast: if mc_char[nA+2]=a_cmm: proc_err(7,nA) nA:=nA+1; fi % /* x
- ef nD=a_cmm: proc_err(7,nA) fi % / x
- ef nC=a_hsh: cnt_hsh:=cnt_hsh+1; % #+##
- if nD=a_hsh: cnt_hshs:=cnt_hshs+1; nA:=nA+1; % ##
- ef nD=a_cmm: proc_err(7,nA) fi if nB<>a_cmm: proc_err(8,nA) fi % a # x
- ef nC=a_dol: if nD=a_cmm: proc_err(7,nA) fi % $ x
- ef nC=a_equ: cnt_equ:=cnt_equ+1;
- if nD= a_cmm: proc_err(7,nA) fi if nB= a_cmm: proc_err(7,nA) fi % x = x
- ef nC=a_cln: cnt_cln:=cnt_cln+1;
- if nD= a_cmm: proc_err(7,nA) fi if nB= a_cmm: proc_err(7,nA) fi % x : x
- ef nC=a_amk: cnt_at:=cnt_at+1;
- if nD= a_cmm: proc_err(7,nA) fi if nB<>a_cmm: proc_err(8,nA) fi % a @ x
- ef nC=a_and: cnt_and:=cnt_and+1;
- if nD= a_cmm: proc_err(7,nA) fi if nB<>a_cmm: proc_err(8,nA) fi % a & x
- ef nC=a_gtn: cnt_gtn:=cnt_gtn+1;
- ef nC=a_ltn: cnt_ltn:=cnt_ltn+1;
- if nD= a_cmm: proc_err(7,nA) fi if nB= a_cmm: proc_err(7,nA) fi % x > x
- ef nC=a_tld: cnt_tld:=cnt_tld+1;
- if nD= a_cmm: proc_err(7,nA) fi if nB= a_cmm: proc_err(7,nA) fi % x ~ x
- ef nC=a_hat: cnt_hat:=cnt_hat+1;
- if nD= a_cmm: proc_err(7,nA) fi if nB= a_cmm: proc_err(7,nA) fi % x ^ x
- ef nC=a_bqt: cnt_bqt:=cnt_bqt+1;
- if nD= a_cmm: proc_err(7,nA) fi if nB= a_cmm: proc_err(7,nA) fi % x ` x
- ef nC=a_bar: cnt_bar:=cnt_bar+1; % |+||
- if nD= a_bar: cnt_bars:=cnt_bars+1; if mc_char[nA+2]=a_bar: nA:=nA+1; % ||
- ef mc_char[nA+2]<>a_cmm: proc_err(8,nA) fi % | a
- if nB<>a_cmm: proc_err(8,nA) fi fi % a |
- ef nC=a_prn_s: if nD= a_cmm: proc_err(7,nA) fi % ( x
- cnt_prn_s:=cnt_prn_s+1; f_depth:=1;
- if nB=a_qut: cnt_inline_def:=cnt_inline_def+1; fi
- ef nC=a_prn_e: cnt_prn_e:=cnt_prn_e+1; f_depth:=0;
- ef nC=a_brc_s: if nD= a_cmm: proc_err(7,nA) fi cnt_brc_s:=cnt_brc_s+1; f_depth:=1; % { x
- ef nC=a_brc_e: if nD= a_cmm: proc_err(7,nA) fi cnt_brc_e:=cnt_brc_e+1; f_depth:=0; % } x
- if nD=a_cln: cnt_chgA:=cnt_chgA+1; ef nD=a_equ: cnt_chgB:=cnt_chgB+1; fi
- ef nC=a_brk_s: if nD= a_cmm: proc_err(7,nA) fi cnt_brk_s:=cnt_brk_s+1; f_depth:=1; % [ x
- ef nC=a_brk_e: if nB= a_cmm: proc_err(7,nA) fi cnt_brk_e:=cnt_brk_e+1; f_depth:=0; % x ]
+ temps:=substring (nA-1,nA) of s;
+ if (temps<>",")and(temps<>" "): nF:=0;
+ for j=1 upto rw_cnt: nC:=lenw[j]-1;
+ if substring (nA-1,nA+nC) of s=rw[j]:
+ for k=1 upto nC: mc_char[nA]:=j; mc_char[nA+k]:=BLK; endfor
+ nF:=1; nA:=nA+nC;
+ fi
+ exitif nF=1;
+ endfor
+ fi
+ nA:=nA+1; exitif nA>=lens;
+ endfor
+ for i=1 upto lens:
+ if mc_char[i]<>BLK: mc_asc[incr char_cnt]:=mc_char[i]; mc_adr[char_cnt]:=i; fi
+ endfor
+ mc_asc[0]:=mc_asc[char_cnt+1]:=CMA;
+ %-- argument check -------------------------------------------------------------------------
+ for i=1 upto char_cnt:
+ nA:=mc_asc[i-1]; nB:=mc_asc[i]; nC:=mc_asc[i+1]; tbl_asc[nB]:=tbl_asc[nB]+1;
+ if nB=CMA: if f_depth=0: block_cnt:=block_cnt+1; fi
+ ef (nB=EQU)or(nB=CLN)or(nB=HAT)or(nB=BQT)or(nB=TLD)or(nB=LTN): % =,:,^,`,~,>
+ if (nA=CMA)or(nC=CMA): proc_err(4,i) fi
+ ef (nB=AMK)or(nB=AMP)or(nB=GTN)or(nB=HSH): % @,&,<,#
+ if nA<>CMA: proc_err(5,nB) fi if nC=CMA: proc_err(4,i) fi
+ ef (nB=SLS)or((nB>=7)and(nB<=11)): % /,*/*,//,/*,*/,**
+ if (nA<>CMA)and(nA<>CLN)and(nA<>PRS): proc_err(5,i) fi
+ if nC=CMA: proc_err(4,i) fi
fi
- exitif nA>=char_cnt+1;
+ if (nB=PRS)or(nB=BRS): f_depth:=f_depth+1; ef (nB=PRE)or(nB=BRE): f_depth:=f_depth-1; fi
endfor
%-- brackets balance check -----------------------------------------------------------------
- if cnt_prn_s>cnt_prn_e: proc_err(1,0) ef cnt_prn_s<cnt_prn_e: proc_err(2,0) fi
- if cnt_brc_s>cnt_brc_e: proc_err(3,0) ef cnt_brc_s<cnt_brc_e: proc_err(4,0) fi
- if cnt_brk_s>cnt_brk_e: proc_err(5,0) ef cnt_brk_s<cnt_brk_e: proc_err(6,0) fi
+ if tbl_asc[PRS]<>tbl_asc[PRE]: proc_err(1,0) fi % mismatch ()
+ if tbl_asc[BRS]<>tbl_asc[BRE]: proc_err(2,0) fi % mismatch {}
+ if tbl_asc[BKS]<>tbl_asc[BKE]: proc_err(3,0) fi % mismatch []
else: proc_err(0,0) fi
%---------------------------------------------------------------------------------------------
- for i=1 upto err_cnt:
- message "*"&fdr(3)(i)&" "&err_type[err_code[i]]&fdr(4)(err_adr[i])&" '"&err_str[i]&"'";
- endfor
%%%%%%% err_cnt>0: readstring;
err_cnt
enddef;
%-------------------------------------------------------------------------------------------------
-def proc_err(expr e,n)= err_adr[incr err_cnt]:=n; err_code[err_cnt]:=e;
- if e<=6: err_str[err_cnt]:=" "; else: err_str[err_cnt]:=substring(n-3,n+2) of mc; fi
+def proc_err(expr e,n)=
+ err_cnt:=err_cnt+1;
+ message "["&decimal(fig_num)&"]:"&err_type[e]
+ if n>=1: &"("&fdr(3)(n)&") "&substring(mc_adr[n]-2,mc_adr[n]+3) of mc fi ;
enddef;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
def savem(expr s)=
@@ -1519,8 +1535,7 @@ def loadm(text s)=
numeric row_cnt[],order[],order_tbl[],filter_sign[],filter_p[];
lines:=f_mcf:=mc_row:=info_cnt:=filter_cnt:=lib_unit_cnt:=0; unit_cnt:=1;
file_input:=default_library;
- sign_s[1]:="="; sign_s[2]:="<>"; sign_s[3]:="<"; sign_s[4]:=">"; sign_s[5]:="<=";
- sign_s[6]:=">=";
+ sign_s1:="="; sign_s2:="<>"; sign_s3:="<"; sign_s4:=">"; sign_s5:="<="; sign_s6:=">=";
%-----------------------------------------------------------------------------------------------
for list=s:
at_colon:=scan_c(":",list); at_equal:=scan_c("=",list); at_less:=scan_c("<",list);
@@ -1532,20 +1547,17 @@ def loadm(text s)=
else: sign_at:=at_equal; sign_n:=1; at_n:=1; fi
ef at_greater>=2: if (at_greater-1)=at_less: sign_at:=at_greater; sign_n:=2; at_n:=2;
else: sign_at:=at_greater; sign_n:=4; at_n:=1; fi
- ef at_less>=2: sign_at:=at_less; sign_n:=3; at_n:=1;
- fi
+ ef at_less>=2: sign_at:=at_less; sign_n:=3; at_n:=1; fi
sT:=substring(0,sign_at-at_n) of list; sV:=substring(sign_at,length(list)) of list;
%---------------------------------------------------------------------------------------------
if sign_n=0:
if sT="f": if scan_c(".",sV)=0: file_input:=sV&".mcf"; else: file_input:=sV; fi
ef sT="a": key_s:=sV; sort_oder:=0;
- ef sT="d": key_s:=sV; sort_oder:=1;
- fi
+ ef sT="d": key_s:=sV; sort_oder:=1; fi
else:
filter_tag[incr filter_cnt]:=sT; filter_sign[filter_cnt]:=sign_n;
if (sign_n>=3)and(is_num(sV)=1): filter_var[filter_cnt]:=fix_num(sV);
- else: filter_var[filter_cnt]:=sV;
- fi
+ else: filter_var[filter_cnt]:=sV; fi
fi
endfor
%-----------------------------------------------------------------------------------------------
@@ -1580,8 +1592,7 @@ def loadm(text s)=
if filter_n=1: if key_s<>"": sort_tbl[unit_cnt]:=sort_s; fi unit_cnt:=unit_cnt+1; fi
ef (firstc=":")or(firstc="="): f_mcf:=1; mc_row:=1;
ef (firstc<>"%")or(sw_comment=1):
- if f_mcf=1: mc_row:=mc_row+1;
- else: info[unit_cnt]:=info_cnt:=split_str(temps,";")(arg_s);
+ if f_mcf=1: mc_row:=mc_row+1; else: info[unit_cnt]:=info_cnt:=split_str(temps,";")(arg_s);
fi
fi
fi
@@ -1594,22 +1605,22 @@ def loadm(text s)=
for i=1 upto filter_cnt:
message "* Filter("&decimal(i)&"): "&filter_tag[i]&" "&sign_s[filter_sign[i]]&filter_var[i];
endfor
- if key_s<>"":
- message "* Sort key : "&key_s&iif(sort_oder=0," (ascending)"," (descending)");
+ if key_s<>"": message "* Sort key : "&key_s&iif(sort_oder=0," (ascending)"," (descending)");
fi
fi
- message "";
%-----------------------------------------------------------------------------------------
if key_s<>"":
for i=1 upto unit_cnt: order[i]:=0; endfor
for i=1 upto unit_cnt:
if sort_oder=0: temps:="~";
for j=1 upto unit_cnt:
- if order[j]=0: if sort_tbl[j]<temps: temps:=sort_tbl[j]; min_n:=j; fi fi endfor
+ if order[j]=0: if sort_tbl[j]<temps: temps:=sort_tbl[j]; min_n:=j; fi fi
+ endfor
order[min_n]:=i; order_tbl[i]:=min_n;
ef sort_oder=1: temps:=" ";
for j=1 upto unit_cnt:
- if order[j]=0: if sort_tbl[j]>temps: temps:=sort_tbl[j]; max_n:=j; fi fi endfor
+ if order[j]=0: if sort_tbl[j]>temps: temps:=sort_tbl[j]; max_n:=j; fi fi
+ endfor
order[max_n]:=i; order_tbl[i]:=max_n;
fi
endfor
@@ -1636,27 +1647,39 @@ enddef;
vardef fix_num(expr s)=
sS:=s; nN:=scan_c(".",sS);
if nN=0: sS:=fsr(4)(sS); ef nN=1: sS:=" 0"&sS;
- ef nN=2: sS:=" "&sS; ef nN=3: sS:=" "&sS; ef nN=4: sS:=" "&sS; fi sS enddef;
+ ef nN=2: sS:=" "&sS; ef nN=3: sS:=" "&sS; ef nN=4: sS:=" "&sS;
+ fi
+ sS
+enddef;
%-------------------------------------------------------------------------------------------------
vardef is_num(expr s)=
for i=1 upto length(s):
- if ((subc(i,s)>="0")and(subc(i,s)<="9"))or(subc(i,s)="."): nN:=1; else: nN:=0; fi endfor nN
+ if ((subc(i,s)>="0")and(subc(i,s)<="9"))or(subc(i,s)="."): nN:=1; else: nN:=0; fi
+ endfor
+ nN
enddef;
-%--------------------------------------------------------------------------------------------------
+%-------------------------------------------------------------------------------------------------
vardef scan_bit(expr n,b)= if b>=1: odd(floor(n/b)) else: odd(floor((frac n)/b)) fi enddef;
-%--------------------------------------------------------------------------------------------------
+%-------------------------------------------------------------------------------------------------
vardef scan_char(expr c,s,d,n)=
- nN:=0; if d=0: for i=n upto length(s): if subc(i,s)=c: nN:=i; fi exitif nN>0; endfor
- ef d=1: for i=n upto length(s): if subc(i,s)<>c: nN:=i; fi exitif nN>0; endfor
- ef d=-1: for i=length(s) downto n: if subc(i,s)<>c: nN:=i; fi exitif nN>0; endfor fi nN
+ nN:=0;
+ if d=0: for i=n upto length(s): if subc(i,s)=c: nN:=i; fi exitif nN>0; endfor
+ ef d=1: for i=n upto length(s): if subc(i,s)<>c: nN:=i; fi exitif nN>0; endfor
+ ef d=-1: for i=length(s) downto n: if subc(i,s)<>c: nN:=i; fi exitif nN>0; endfor
+ fi
+ nN
enddef;
+%-------------------------------------------------------------------------------------------------
def scan_c(expr c,s)= scan_char(c,s,0,1) enddef;
%-------------------------------------------------------------------------------------------------
vardef split_str(expr s,c)(suffix v)=
at_char[0]:=nN:=0; for i=1 upto length(s): if subc(i,s)=c: at_char[incr nN]:=i; fi endfor
nN:=nN+1; at_char[nN]:=length(s)+1;
- for i=1 upto nN: v[i]:=substring (at_char[i-1],at_char[i]-1) of s; endfor nN enddef;
+ for i=1 upto nN: v[i]:=substring (at_char[i-1],at_char[i]-1) of s; endfor
+ nN
+enddef;
%-------------------------------------------------------------------------------------------------
vardef get_tag_var(expr s)(suffix t,v)=
- nN:=scan_c(":",s); t:=substring(0,nN-1) of s; v:=substring(nN,length(s)) of s; enddef;
+ nN:=scan_c(":",s); t:=substring(0,nN-1) of s; v:=substring(nN,length(s)) of s;
+enddef;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/graphics/mcf2graph/mcf_exa_soc.mp b/graphics/mcf2graph/mcf_exa_soc.mp
index 045e9679a7..108060aa92 100644
--- a/graphics/mcf2graph/mcf_exa_soc.mp
+++ b/graphics/mcf2graph/mcf_exa_soc.mp
@@ -1,18 +1,18 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% MCF metapost souce file example by Akira Yamaji 2023.05.28
+% MCF metapost souce file example by Akira Yamaji 2024.01.03
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-if unknown mcftograph: input mcf2graph; fi %%% it must be version 5.02
-message "* mcf_template 2023.05.28";
+if unknown mcftograph: input mcf2graph; fi %%% it must be version 5.10
+message "* mcf_template 2024.01.03";
message "";
%------------------------------------------------------------------------------
fsize:=(30mm,20mm);
max_blength:=4mm;
%%%%sw_output:=Fig+Info;
%%%%sw_output:=Fig+Calc;
-%ext(defaultscale:=.3; label.rt(EN,(0,0));)
+%%%%ext(defaultscale:=.3; label.rt(EN,(0,0));)
%------------------------------------------------------------------------------
-%ext(defaultfont:=mpfont; defaultscale:=.3;
-%label.rt(EN&" / "&cal_MW&" / "&decimal(num_MW-scantokens(MW)),(0,0));)
+%%%%ext(defaultfont:=mpfont; defaultscale:=.3;
+%%%%label.rt(EN&" / "&mw&" / "&fdr(7)(MW_n-scantokens(MW)),(0,0));)
%------------------------------------------------------------------------------
%%%%loadm("CAT=biological","MW<200","a:MW");
%%%%loadm("CAT=biological","MW<50.0","a:EN");
diff --git a/graphics/mcf2graph/mcf_example.pdf b/graphics/mcf2graph/mcf_example.pdf
index 4b9c5c3461..e282b5b264 100644
--- a/graphics/mcf2graph/mcf_example.pdf
+++ b/graphics/mcf2graph/mcf_example.pdf
Binary files differ
diff --git a/graphics/mcf2graph/mcf_example.tex b/graphics/mcf2graph/mcf_example.tex
index 987ac797dc..53ae0a1e17 100644
--- a/graphics/mcf2graph/mcf_example.tex
+++ b/graphics/mcf2graph/mcf_example.tex
@@ -1,7 +1,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Example of MCF Typeset with LuaLaTeX(luamplib) by A.Yamaji 2023.05.28
+% Example of MCF Typeset with LuaLaTeX(luamplib) by A.Yamaji 2024.01.03
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% ** mcf2graph.mf must be version 5.02
+% ** mcf2graph.mf must be version 5.10
% ** use mcf_library.mcf
% ** typeset by LuaLaTeX(luamplib)
%-------------------------------------------------------------------------
@@ -29,7 +29,7 @@
Author : Akira Yamaji \quad Date : \today \\
Located at : http://www.ctan.org/pkg/mcf2graph
\end{center}
-{\small *use 'mcf2grapf.mp' ver 5.02 \quad
+{\small *use 'mcf2grapf.mp' ver 5.10 \quad
*typeset with LuaLaTeX \quad
*use molecular library file 'main\_lib.mcf' \\
** FM(fm):molecular formula (calculated) \quad
@@ -55,13 +55,13 @@
sw_output:=Fig+Calc;
fsize:=(35mm,24mm);
max_blength:=4mm;
- loadm("EXA>=1","EXA<=2","a:EXA");
+ loadm("EXA=1");
\end{mplibcode}
%-------------------------------------------------------------------------
\loop%
\advance\fig@num\@ne\relax%
\advance\col@num\@ne\relax%
-\ifnum\fig@num=156 \CONT@false%
+\ifnum\fig@num=276 \CONT@false%
\else%
\sbox{\fig@box}{%
\begin{mplibcode}
@@ -89,8 +89,11 @@
\fi%
%------------------------------------------------------------------------
\ifCONT@\repeat%
+\newpage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{mplibcode}
+ loadm("EXA=2");
+ fig_num:=0;
fsize:=(50mm,34mm);
fmargin:=(1mm,1mm);
max_blength:=4mm;
@@ -105,12 +108,13 @@
endfor
enddef;
\end{mplibcode}
-%-------------------------------------------------------------------------
+%------------------------------------------------------------------------------
\noindent%
\CONT@true%
+\fig@num=0%
\loop%
\advance\fig@num\@ne\relax%
-\ifnum\fig@num=165 \CONT@false%
+\ifnum\fig@num=9 \CONT@false%
\else%
\begin{mplibcode}%
beginfigm
diff --git a/graphics/mcf2graph/mcf_manual.pdf b/graphics/mcf2graph/mcf_manual.pdf
index e3ffcc334f..8bf830bd7b 100644
--- a/graphics/mcf2graph/mcf_manual.pdf
+++ b/graphics/mcf2graph/mcf_manual.pdf
Binary files differ
diff --git a/graphics/mcf2graph/mcf_manual.tex b/graphics/mcf2graph/mcf_manual.tex
index 5debd57a43..d5a5359cba 100644
--- a/graphics/mcf2graph/mcf_manual.tex
+++ b/graphics/mcf2graph/mcf_manual.tex
@@ -1,7 +1,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format manual by Akira Yamaji 2023.05.28
+% Molecular Coding Format manual by Akira Yamaji 2024.01.03
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% ** mcf2graph.mf must be version 5.02
+% ** mcf2graph.mf must be version 5.10
% ** use main_lib.mcf
% ** typeset by LuaLaTeX(luamplib)
%----------------------------------------------------------------------------
@@ -37,7 +37,7 @@
\author{Akira Yamaji}
\date{\today}
\maketitle
-\begin{center} mcf2graph version 5.02 \end{center}
+\begin{center} mcf2graph version 5.03 \end{center}
\begin{center} Located at http://www.ctan.org/pkg/mcf2graph \end{center}
\begin{center} Suggestion or request mail to: mcf2graph@gmail.com \end{center}
%-----------------------------------------------------------------------------
@@ -53,7 +53,7 @@ fmargin:=(2mm,1mm);
fsize:=(40mm,24mm);
blength:=5mm;
sw_frame:=0;
-% Glycine",
+% Glycine
beginfigm \(<30,NH2,!2,COOH) endfigm
% L-Alanine
beginfigm \(<30,NH2,!~wb,/_,!,COOH) endfigm
@@ -166,9 +166,9 @@ beginfigm
ratio_chain_ring:=1;
%----------------------------------------------------------------------
\(<15,-30,45,-45,60,$300,$0,
- {1^$15,2^$345,3^$30,4^$345}:/_~dt,{5,6}=vf,
+ {1^$15,2^$345,3^$30,4^$345}:/_~dt,{5,6}=vf
)
- add(
+ ++(
defaultscale:=0.5;
labeloffset:=2bp;
drawarrow B7/*.7{B7right}..{B1right}B1/*.7; label.ulft("-30",B7/*.7);
@@ -199,7 +199,7 @@ beginfigm
\(<-30,!6,
{1^-120,2^60,3^-60,4^60,5^-60,6^60}:/_~dt
)
- add(
+ ++(
defaultscale:=0.5;
labeloffset:=2bp;
drawarrow B7/*.7{B7right}..{B1right}B1/*.7; label.ulft("-60",B7/*.7);
@@ -354,7 +354,7 @@ beginfigm
labeloffset:=2bp;
\(#1,0,0,<90,0,<-90,0,<$315,0,<$90,0,<$0,0,{1:7}=vf,
{3,4^180}:/_~dt)
- add(
+ ++(
drawarrow B8/*.7{B8left}..{B3left}B3/*.7; label.urt("90",B8/*.7);
drawarrow B9/*.7{B9right}..{B4right}B4/*.7; label.urt("-90",B9/*.7);
)
@@ -392,7 +392,7 @@ beginfigm
sw_trimming:=0;
ratio_chain_ring:=1;
\(<-30,!~dm,!,!~dl,!,!~dr,!~db,!~db,!,!~tm)
- add(defaultscale:=0.6; labeloffset:=0;
+ ++(defaultscale:=0.6; labeloffset:=0;
label.rt("(dm)",A1+(0,-0.7l));
label.rt("(dl)",A3+(0,-0.7l));
label.rt("(dr)",A5+(0,-0.7l));
@@ -431,7 +431,7 @@ beginfigm
sw_trimming:=0;
ratio_chain_ring:=1;
\(<-30,!~wf,!,!~wb,!,!~zf,!,!~zb,!,!~vf,!,!~vb)
- add(defaultscale:=0.6; labeloffset:=0;
+ ++(defaultscale:=0.6; labeloffset:=0;
label.rt("(wf)",A1+(0,-0.7l));
label.rt("(wb)",A3+(0,-0.7l));
label.rt("(zf)",A5+(0,-0.7l));
@@ -464,7 +464,7 @@ beginfigm
sw_trimming:=1;
ratio_chain_ring:=1;
\(<-30,!7,1=dt,3=wv,5=bd,7=bz)
- add(defaultscale:=0.6; labeloffset:=0;
+ ++(defaultscale:=0.6; labeloffset:=0;
label.rt("(dt)",A1+(0,-0.6l));
label.rt("(wv)",A3+(0,-0.6l));
label.rt("(bd)",A5+(0,-0.6l));
@@ -531,12 +531,12 @@ beginfigm
@(0.05,0.5)\(#1.25,-30~wf_r,30~bd_r`1,30~wb_r,120,O,30,&1,##,
#.5,{1^$-90,2^$90,3^$-90,4^$90}:/OH,6^$90:/!OH)
defaultscale:=0.6;
- @(0.5,0.7)\(0~wf_r) add(label.lft("wf_r:",A1);)
- @(0.5,0.2)\(0~wf) add(label.lft("wf:",A1);)
- @(0.75,0.7)\(0~bd_r) add(label.lft("bd_r:",A1);)
- @(0.75,0.2)\(0~bd) add(label.lft("bd:",A1);)
- @(1,0.7)\(0~wb_r) add(label.lft("wb_r:",A1);)
- @(1,0.2)\(0~wb) add(label.lft("wb:",A1);)
+ @(0.5,0.7)\(0~wf_r) ++(label.lft("wf_r:",A1);)
+ @(0.5,0.2)\(0~wf) ++(label.lft("wf:",A1);)
+ @(0.75,0.7)\(0~bd_r) ++(label.lft("bd_r:",A1);)
+ @(0.75,0.2)\(0~bd) ++(label.lft("bd:",A1);)
+ @(1,0.7)\(0~wb_r) ++(label.lft("wb_r:",A1);)
+ @(1,0.2)\(0~wb) ++(label.lft("wb:",A1);)
endfigm
\end{mplibcode}
%-----------------------------------------------------------------------------
@@ -817,13 +817,13 @@ beginfigm
sw_numbering:=Bond;
##(1,.9)
@( 0,.5)\(<30,?6,{3,11--4}=?6,{11,4}=dt,{12:15}=bd_r)
- add(defaultscale:=0.4; label("(1)",p0);)
+ ++(defaultscale:=0.4; label("(1)",p0);)
##(1,.9)
@(.5,.5)\(<30,?6,3=?6,{11--4}=?5,{11,4}=dt,{12:14}=bd_r)
- add(defaultscale:=0.4; label("(2)",p0);)
+ ++(defaultscale:=0.4; label("(2)",p0);)
##(1,.9)
@( 1,.5)\(<30,?6,3=?6,{11--4}=?4,{11,4}=dt,{12,13}=bd_r)
- add(defaultscale:=0.4; label("(3)",p0);)
+ ++(defaultscale:=0.4; label("(3)",p0);)
endfigm
\end{mplibcode}
%%%%%%%\vspace{-3mm}%
@@ -845,9 +845,9 @@ beginfigm
#(60mm,20mm) #@(2mm,2mm)
sw_numbering:=Bond;
@(0,1)\(?6,{3,10}=?6,16---4=?6,{16,4}=dt,{17:19}=bd_r)
- add(defaultscale:=0.4; label("(1)",p0);)
+ ++(defaultscale:=0.4; label("(1)",p0);)
@(1,0)\(?6,{3,10}=?6,16---4=?5,{16,4}=dt,{17,18}=bd_r)
- add(defaultscale:=0.4; label("(2)",p0);)
+ ++(defaultscale:=0.4; label("(2)",p0);)
endfigm
\end{mplibcode}
%%%%%%%%\vspace{-3mm}%
@@ -932,7 +932,7 @@ endfigm
beginfigm
#(70mm,14mm);
\(<30,!`1,//O,!2`1,*/H,!2`1,/*H,!2`1,*/*H,!2`1,**?3,!`1)
- add(defaultscale:=0.75;
+ ++(defaultscale:=0.75;
label("//",A2-(0,0.45l));
label("*/",A4-(0,0.45l));
label("/*",A6-(0,0.45l));
@@ -1038,7 +1038,7 @@ beginfigm
\(?4,{3^-90,3^-30,3^90}:/!3>hz,
{1^-60,1,1^60}:/!3>vt
)
- add(defaultscale:=0.5; labeloffset:=2bp;
+ ++(defaultscale:=0.5; labeloffset:=2bp;
label.rt(">hz",A8);
label.top(">hz",A12);
label.top(">hz",A16);
@@ -1114,17 +1114,17 @@ endfigm
\index{SO}%
\index{SOO}%
\begin{verbatim}
-NH : N,/H~nl N! : N,/_ N!2 : N,/!
-SO : S,//O SOO : S,//O^35,//^-35
+NH : N,/H~nl N? : N,/_ N?2 : N,/!
+S?O : S,//O S?O?O : S,//O^35,//^-35
-<-30,!2,NH,!2,N!,!2,N!2,SO,!2,SOO,!
+<-30,!2,NH,!2,N?,!2,N?2,S?O,!2,S?O?O,!
\end{verbatim}
%-----------------------------------------
\begin{mplibcode}
beginfigm
- #(60mm,12mm);
- sw_trimming:=1;
- \(<-30,!2,NH,!2,N!,!2,N!2,!2,SO,!2,SOO,!)
+#(60mm,12mm);
+sw_trimming:=1;
+\(<-30,!2,NH,!2,N?,!2,N?2,!2,S?O,!2,S?O?O,!)
endfigm
\end{mplibcode}
%-----------------------------------------------------------------------------
@@ -1133,48 +1133,51 @@ endfigm
\index{??"!}%
\index{N?"!}%
\begin{verbatim}
-?! : /_,! ?? : /_^35,/_-35
-/?! : isopropyl /??! : tert-butyl
-/N?! : dimethylamino
+?? : /_^35,/_-35 /?! : isopropyl
+/??! : tert-butyl /N?! : dimethylamino
-<30,!9`1,?!,!,??,!,2:??,4:/??,6:/??!,8:/N?!
+<30,!11`1,2:??,4:/!,6:/?!,8:/??!,10:/N?!
\end{verbatim}
%-----------------------------------------
\begin{mplibcode}
beginfigm
- #(60mm,12mm);
- sw_trimming:=1;
- \(<30,!9`1,?!,!,??,!,2:??,4:/?!,6:/??!,8:/N?!)
+#(60mm,10mm);
+sw_trimming:=1;
+\(<30,!11`1,2:??,4:/!,6:/?!,8:/??!,10:/N?!)
endfigm
\end{mplibcode}
%-----------------------------------------------------------------------------
-\subsubsection{Parts definition}
+\subsubsection{User definition}
\begin{verbatim}
'(..) : user defined parts
-iBuOH:='(!,/_,!,OH);
+iBuOH:='(!?!,OH);
\(<30,?6,{4,6}:/iBuOH)
\end{verbatim}
%-----------------------------------------
\begin{mplibcode}
beginfigm
- #(60mm,13mm);
+ #(60mm,10mm);
sw_trimming:=1;
- iBuOH:='(!,/_,!,OH);
+ iBuOH:='(!?!,OH);
\(<30,?6,{4,6}:/iBuOH)
endfigm
\end{mplibcode}
%-----------------------------------------------------------------------------
-\subsubsection{Parts inline definition}
+\subsubsection{Inline definition}
+\index{+}%
\begin{verbatim}
-<30,!8,{2,6}:/'(!,/_,!,OH)
+a+b : '(a,b)
+
+ <30,!8,{2,6}:/!?!+OH
+ <30,!8,{2,6}:/'(!?!,OH)
\end{verbatim}
%-----------------------------------------
\begin{mplibcode}
beginfigm
- #(60mm,13mm) #@(2mm,1mm)
+ #(60mm,12mm) #@(2mm,1mm)
sw_trimming:=1;
- \(<30,!8,{2,6}:/'(!,/_,!,OH))
+ \(<30,!8,{2,6}:/!?!+OH)
endfigm
\end{mplibcode}
%-----------------------------------------------------------------------------
@@ -1190,10 +1193,10 @@ endfigm
%-----------------------------------------
\begin{mplibcode}
beginfigm
- #(70mm,16mm) #@(2mm,1mm)
+ #(70mm,13mm) #@(2mm,1mm)
sw_trimming:=1;
\(<30,?6,@3,\,!3,//O,!,O,n_^60,@$(6,1),H,p_^15)
- add(drawdot A1 withpen pencircle scaled 2bp;
+ ++(drawdot A1 withpen pencircle scaled 2bp;
pickup pencircle scaled 0.1bp;
for i=0 upto 6:
draw (A1+(l*i,l-3bp))--(l*i,l+3bp);
@@ -1213,7 +1216,7 @@ endfigm
%-----------------------------------------
\begin{mplibcode}
beginfigm
- #(75mm,14mm) |<(8mm)
+ #(75mm,13mm) |<(8mm)
sw_numbering:=Atom; numbering_end:=15;
\(<30,!14,{2,6:10,14}:/_~bd_r`0.5)
endfigm
@@ -1284,10 +1287,10 @@ beginfigm
#(50mm,15mm) |=(6mm)
mangle:=0;
@(0.2,0.5)\(Ph)
- add(drawarrow((A1 shifted (aw,0)) rotated A1ang..A1);)
+ ++(drawarrow((A1 shifted (aw,0)) rotated A1ang..A1);)
mangle:=30;
@(0.8,0.5)\(Ph)
- add(drawarrow((A1 shifted (aw,0)) rotated A1ang..A1);)
+ ++(drawarrow((A1 shifted (aw,0)) rotated A1ang..A1);)
endfigm
\end{mplibcode}
%------------------------------------------------------------------------------
@@ -1309,7 +1312,7 @@ beginfigm
sw_frame:=Bothside;
#(40mm,15mm);
\(<30,Ph)
- ext(pickup pencircle scaled 0.2pt;
+ **(pickup pencircle scaled 0.2pt;
for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor
for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor
for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor
@@ -1330,7 +1333,7 @@ beginfigm
sw_frame:=Bothside;
#(40mm,15mm) |=(0.1)
\(<30,Ph)
- ext(pickup pencircle scaled 0.2pt;
+ **(pickup pencircle scaled 0.2pt;
for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor
for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor
for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor
@@ -1351,7 +1354,7 @@ beginfigm
sw_frame:=Bothside;
#(40mm,15mm) |=(8mm)
\(<30,Ph)
- ext(pickup pencircle scaled 0.2pt;
+ **(pickup pencircle scaled 0.2pt;
for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor
for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor
for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor
@@ -1374,7 +1377,7 @@ beginfigm
sw_frame:=Bothside+Mol;
#(40mm,15mm) ##(1,1)
\(<30,Ph)
- ext(pickup pencircle scaled 0.2pt;
+ **(pickup pencircle scaled 0.2pt;
for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor
for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor
for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor
@@ -1394,7 +1397,7 @@ beginfigm
sw_frame:=Bothside+Mol;
#(40mm,15mm) ##(0.25,1)
\(<30,Ph)
- ext(pickup pencircle scaled 0.2pt;
+ **(pickup pencircle scaled 0.2pt;
for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor
for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor
for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor
@@ -1413,7 +1416,7 @@ beginfigm
sw_frame:=Bothside+Mol;
#(40mm,15mm) ##(11mm,11mm)
\(<30,Ph)
- ext(pickup pencircle scaled 0.2pt;
+ **(pickup pencircle scaled 0.2pt;
for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor
for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor
for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor
@@ -1461,7 +1464,7 @@ beginfigm
sw_frame:=sw_frame+Mol;
#(40mm,15mm) ##(1,0.8) @(10mm,4mm)
\(<30,Ph)
- ext(drawdot p1 withpen pencircle scaled 3pt;
+ **(drawdot p1 withpen pencircle scaled 3pt;
pickup pencircle scaled 0.2pt;
for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor
for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor
@@ -1490,7 +1493,7 @@ beginfigm
sw_frame:=Outside;
#(40mm,12mm);
\(<30,Ph)
- ext(pickup pencircle scaled 0.2pt;
+ **(pickup pencircle scaled 0.2pt;
for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor
for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor
for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor
@@ -1516,7 +1519,7 @@ beginfigm
sw_frame:=Bothside+Mol;
#(40mm,12mm) #@(10mm,2mm)
\(<30,Ph)
- ext(pickup pencircle scaled 0.2pt;
+ **(pickup pencircle scaled 0.2pt;
for i=0 upto w/mm: draw (i*mm,0)--(i*mm,-.5mm); endfor
for i=0 upto h/mm: draw (0,i*mm)--(-.5mm,i*mm); endfor
for i=0 upto w/cm: draw (i*cm,0)--(i*cm,-.8mm); endfor
@@ -1539,7 +1542,7 @@ beginfigm
offset_thickness:=0.0pt; @(0.1,0.5)\(<30,Ph)
offset_thickness:=0.2pt; @(0.55,0.5)\(<30,Ph)
offset_thickness:=0.5pt; @(1,0.5)\(<30,Ph)
- ext(defaultscale:=0.6; labeloffset:=1bp;
+ **(defaultscale:=0.6; labeloffset:=1bp;
label.urt("0.0pt",(0,1bp));
label.urt("0.2pt",(0.36w,1bp));
label.urt("0.5pt",(0.7w,1bp));
@@ -1559,7 +1562,7 @@ beginfigm
offset_bond_gap:=0.0pt; @(0.1, 0.5)\(<30,Ph)
offset_bond_gap:=0.3pt; @(0.55,0.5)\(<30,Ph) %<<== default
offset_bond_gap:=1.0pt; @(1, 0.5)\(<30,Ph)
- ext(defaultscale:=0.6; labeloffset:=1bp;
+ **(defaultscale:=0.6; labeloffset:=1bp;
label.urt("0.0pt",(0,1bp));
label.urt("0.3pt",(0.36w,1bp));
label.urt("1.0pt",(0.7w,1bp));
@@ -1579,7 +1582,7 @@ beginfigm
offset_atom:=0.0pt; @(0.1, .5)\(<30,?6,3:O)
offset_atom:=0.8pt; @(.55, .5)\(<30,?6,3:O) %<<== default
offset_atom:=2.0pt; @(1, .5)\(<30,?6,3:O)
- ext(defaultscale:=0.6; labeloffset:=1bp;
+ **(defaultscale:=0.6; labeloffset:=1bp;
label.urt("0.0pt",(0,1bp));
label.urt("0.8pt",(0.36w,1bp));
label.urt("2.0pt",(0.7w,1bp));
@@ -1599,7 +1602,7 @@ beginfigm
offset_wedge:=0.0pt; @(0.1,0.5)\(<30,?6,5:*/_)
offset_wedge:=0.4pt; @(0.55,0.5)\(<30,?6,5:*/_) %<<== default
offset_wedge:=1.0pt; @(1, 0.5)\(<30,?6,5:*/_)
- ext(defaultscale:=0.6; labeloffset:=1bp;
+ **(defaultscale:=0.6; labeloffset:=1bp;
label.urt("0.0pt",(0,1bp));
label.urt("0.4pt",(0.36w,1bp));
label.urt("1.0pt",(0.7w,1bp));
@@ -1622,7 +1625,7 @@ beginfigm
|<(5mm) @(0, .5)\(<45,?4)
|<(8mm) @(.4,.5)\(<45,?4)
|<(10mm) @(1, .5)\(<45,?4) %<<== default
- ext(defaultscale:=0.6; labeloffset:=1bp;
+ **(defaultscale:=0.6; labeloffset:=1bp;
label("5mm", (0.075w,0.5h));
label("8mm", (0.42w,0.5h));
label("10mm",(0.88w,0.5h));
@@ -1644,7 +1647,7 @@ beginfigm
ratio_thickness_bond:=0.005; @(0.1,0.5)\(<30,Ph)
ratio_thickness_bond:=0.015; @(.55,0.5)\(<30,Ph) %<<== default
ratio_thickness_bond:=0.03; @(1, 0.5)\(<30,Ph)
- ext(defaultscale:=0.6; labeloffset:=1bp;
+ **(defaultscale:=0.6; labeloffset:=1bp;
label.urt("0.005",(0,1bp));
label.urt("0.015",(0.36w,1bp));
label.urt("0.030",(0.7w,1bp));
@@ -1664,7 +1667,7 @@ beginfigm
ratio_char_bond:=1.0; @(0, 0.5)\(<30,?6,6:O,3:NH)
ratio_char_bond:=1.5; @(.5,0.5)\(<30,?6,6:O,3:NH) %<<== default
ratio_char_bond:=2.0; @( 1,0.5)\(<30,?6,6:O,3:NH)
- ext(defaultscale:=0.6; labeloffset:=1bp;
+ **(defaultscale:=0.6; labeloffset:=1bp;
label.urt("1.0",(0,1bp));
label.urt("1.5",(0.36w,1bp));
label.urt("2.0",(0.7w,1bp));
@@ -1684,7 +1687,7 @@ beginfigm
ratio_bondgap_bond:=0.10; @(0.1,0.5)\(<30,Ph)
ratio_bondgap_bond:=0.15; @(.55,0.5)\(<30,Ph) %<<== default
ratio_bondgap_bond:=0.20; @(1 ,0.5)\(<30,Ph)
- ext(defaultscale:=0.6; labeloffset:=1bp;
+ **(defaultscale:=0.6; labeloffset:=1bp;
label.urt("0.10",(0,1bp));
label.urt("0.15",(0.36w,1bp));
label.urt("0.20",(0.7w,1bp));
@@ -1704,7 +1707,7 @@ beginfigm
ratio_atom_bond:=0.25; @(0.1,0.5)\(<30,?6,3:O)
ratio_atom_bond:=0.33; @(.55,0.5)\(<30,?6,3:O) %<<== default
ratio_atom_bond:=0.45; @(1, 0.5)\(<30,?6,3:O)
- ext(defaultscale:=0.6; labeloffset:=1bp;
+ **(defaultscale:=0.6; labeloffset:=1bp;
label.urt("0.25",(0,1bp));
label.urt("0.33",(0.36w,1bp));
label.urt("0.45",(0.7w,1bp));
@@ -1724,7 +1727,7 @@ beginfigm
ratio_wedge_bond:=0.1; @(0.05,.5)\(?6,4:*/_)
ratio_wedge_bond:=0.12; @(.55, .5)\(?6,4:*/_) %<<== default
ratio_wedge_bond:=0.2; @(1 , .5)\(?6,4:*/_)
- ext(defaultscale:=0.6; labeloffset:=1bp;
+ **(defaultscale:=0.6; labeloffset:=1bp;
label.urt("0.10",(0,1bp));
label.urt("0.12",(0.36w,1bp));
label.urt("0.20",(0.7w,1bp));
@@ -1747,7 +1750,7 @@ beginfigm
ratio_atomgap_atom:=0.00; @(0, .5)\(scantokens(mc))
ratio_atomgap_atom:=0.050; @(.5,.5)\(scantokens(mc)) %<<== default
ratio_atomgap_atom:=0.12; @(1, .5)\(scantokens(mc))
- ext(defaultscale:=0.75; labeloffset:=1bp;
+ **(defaultscale:=0.75; labeloffset:=1bp;
label.urt("0.00",(0.05w,1bp));
label.urt("0.05",(0.45w,1bp));
label.urt("0.12",(0.85w,1bp));
@@ -1767,7 +1770,7 @@ beginfigm
ratio_chain_ring:= 0.4; @(0.05,.5)\(<30,?6,4:/!)
ratio_chain_ring:= 0.66; @(.45, .5)\(<30,?6,4:/!) %<<== default
ratio_chain_ring:= 1; @(1, .5)\(<30,?6,4:/!)
- ext(defaultscale:=0.6; labeloffset:=1bp;
+ **(defaultscale:=0.6; labeloffset:=1bp;
label.urt("0.40",(0,1bp));
label.urt("0.66",(0.3w,1bp));
label.urt("1.0" ,(0.62w,1bp));
@@ -1788,7 +1791,7 @@ beginfigm
ratio_hashgap_bond:=0.06; @(0.08,.5)\(scantokens(mc))
ratio_hashgap_bond:=0.12; @( .55,.5)\(scantokens(mc)) %<<== default
ratio_hashgap_bond:=0.20; @(1, .5)\(scantokens(mc))
- ext(defaultscale:=0.6; labeloffset:=1bp;
+ **(defaultscale:=0.6; labeloffset:=1bp;
label.urt("0.06",(0,1bp));
label.urt("0.12",(0.4w,1bp));
label.urt("0.20",(0.77w,1bp));
@@ -2135,7 +2138,7 @@ beginfigm \(<30,Ph,2:N) endfigm
(check mcf and compile)
beginfigm
- ''("<30,Ph,}2:N") % ** extra '}'
+ ''("<30,Ph,2:") % ** '2:' missing arg
if \*(mc)=0: \(scantokens(mc)) fi
endfigm
** \*(mc) : error count
@@ -2147,13 +2150,13 @@ beginfigm
''("<30,Ph,2:N")
sw_trimming:=0;
#(12mm,12mm);
- \\
+ if \*(mc)=0: \(scantokens(mc)) fi
endfigm
beginfigm
- ''("<30,Ph,2):N")
+ ''("<30,Ph,2:")
sw_trimming:=0;
#(12mm,12mm);
- \\
+ if \*(mc)=0: \(scantokens(mc)) fi
endfigm
\end{mplibcode}
%-----------------------------------------------------------------------------
@@ -2201,6 +2204,7 @@ putm: put figure
\newpage
\subsection{add()}
\index{add()}%
+\index{++()}%
\index{plus}%
\index{minus}%
\index{lonepair}%
@@ -2239,6 +2243,7 @@ putm: put figure
\begin{verbatim}
(Add label to molecule)
+++(): add()
w: molecular width
h: molecular height
aw: atom font size
@@ -2274,7 +2279,7 @@ lonepair r: ':' rotated r
lonepairdiam = 0.3aw (default)
lonepairspace = 0.7aw (default)
-** : scaled
+# : scaled
<< : rotated
a /* b : point b of a
@@ -2282,7 +2287,7 @@ beginfigm
#(70mm,40mm) ##(.91,.9) |<(10mm)
sw_frame:=sw_frame+Atom+Mol;
@(.5,.85)\(<30,?6,{2,5}:O)
- add(
+ ++(
defaultscale:=.8;
labeloffset:=.3aw;
dotlabel.lft("p0",p0);
@@ -2313,7 +2318,7 @@ beginfigm
#(70mm,40mm) ##(.91,.9) |<(10mm)
sw_frame:=sw_frame+Atom+Mol;
@(.5,.85)\(<30,?6,{2,5}:O)
- add(
+ ++(
defaultscale:=.8;
labeloffset:=.3aw;
dotlabel.lft("p0",p0);
@@ -2345,26 +2350,26 @@ beginfigm
%---------------------------------------
@(0,0)\(<30,Ph,3=dl,4:/NH2)
%---------------------------------------
- add(
+ ++(
labeloffset:=.7aw;
label.top(lone_pair 90,A7);
drawarrow
- (A7+up**1.2aw){A7left}
+ (A7+up#1.2aw){A7left}
..{B7right}B7/*0.3;
drawarrow
- B3m..A3+B2up**1.5aw..{A3down}A3;
+ B3m..A3+B2up#1.5aw..{A3down}A3;
)
%---------------------------------------
@(1,0)\(<30,?6,{1,5}=dl,4://NH2)
%---------------------------------------
- add(
+ ++(
labeloffset:=.7aw;
label.top(plus,A7);
label.urt(minus,A3);
- label(lonepair A3ang,A3+A3up**.7aw);
+ label(lonepair A3ang,A3+A3up#.7aw);
)
%---------------------------------------
- ext(drawdblarrow (.4w,.4h)..(.55w,.4h);)
+ **(drawdblarrow (.4w,.4h)..(.55w,.4h);)
%---------------------------------------
endfigm
\end{verbatim}
@@ -2375,26 +2380,27 @@ beginfigm
%-------------------------------------------
@(0,0)\(<30,Ph,3=dl,4:/NH2)
%-------------------------------------------
- add(labeloffset:=.7aw;
+ ++(labeloffset:=.7aw;
label.top(lonepair 90,A7);
- drawarrow (A7+up**1.2aw){A7left}..{B7right}B7/*0.3;
- drawarrow B3m..A3+B2up**1.5aw..{A3down}A3;
+ drawarrow (A7+up#1.2aw){A7left}..{B7right}B7/*0.3;
+ drawarrow B3m..A3+B2up#1.5aw..{A3down}A3;
)
%-------------------------------------------
@(1,0)\(<30,?6,{1,5}=dl,4://NH2)
%-------------------------------------------
- add(labeloffset:=.7aw;
+ ++(labeloffset:=.7aw;
label.top(plus,A7);
label.urt(minus,A3);
- label(lonepair A3ang,A3+A3up**.7aw);
+ label(lonepair A3ang,A3+A3up#.7aw);
)
- ext(drawdblarrow (0.4w,0.4h)..(0.55w,0.4h);)
+ **(drawdblarrow (0.4w,0.4h)..(0.55w,0.4h);)
endfigm
\end{mplibcode}
%-----------------------------------------------------------------------------
\newpage
\subsection{ext()}
\index{ext()}%
+\index{**()}%
\index{w0}%
\index{h0}%
\index{aw}%
@@ -2405,6 +2411,7 @@ endfigm
\begin{verbatim}
(Extra label to figure)
+**(): ext()
w: figure width
h: figure height
w0: figure width-2xpart(fmargin)
@@ -2428,20 +2435,20 @@ beginfigm
<-210,60`1,60`1,60`1,{1,3}=dl,
1:/R1,4:/R2^-60
)
- add(
+ ++(
defaultscale:=0.6;
label.bot("Diene",p0+(0.5w,0));
)
@(0.4,0.5)\(
<-30,-60`1,1=dl,1:/R3,2:/R4^60)
- add(defaultscale:=0.6;
+ ++(defaultscale:=0.6;
label.bot("Dienophile",p0+(.5w,0));
)
@(0.9,0.5)\(
<30,?6,6=dl,2:/R2,3:/R4,4:/R3,5:/R1
)
%---------------------------------------
- ext(
+ **(
drawarrow (.52w,.5h)..(.6w,.5h);
defaultscale:=0.7;
label("+",(0.25w,0.5h));
@@ -2461,20 +2468,20 @@ beginfigm
<-210,60`1,60`1,60`1,{1,3}=dl,
1:/R1,4:/R2^-60
)
- add(
+ ++(
defaultscale:=0.6;
label.bot("Diene",p0+(0.5w,0));
)
@(0.4,0.5)\(
<-30,-60`1,1=dl,1:/R3,2:/R4^60)
- add(defaultscale:=0.6;
+ ++(defaultscale:=0.6;
label.bot("Dienophile",p0+(.5w,0));
)
@(0.9,0.5)\(
<30,?6,6=dl,2:/R2,3:/R4,4:/R3,5:/R1
)
%---------------------------------------
- ext(
+ **(
drawarrow (.52w,.5h)..(.6w,.5h);
defaultscale:=0.7;
label("+",(0.25w,0.5h));
@@ -2497,7 +2504,7 @@ endfigm
beginfigm
_"?4"@(0.5,1)\(?4)
%-------------------------------
- ext(label.top(EN,(0.5w,0));)
+ **(label.top(EN,(0.5w,0));)
%-------------------------------
endfigm
beginfigm
@@ -2516,7 +2523,7 @@ endfigm
beginfigm
_"?4"#(12mm,15mm)@(0.5,1)\(?4)
%-------------------------------
- ext(label.top(EN,(0.5w,0));)
+ **(label.top(EN,(0.5w,0));)
%-------------------------------
endfigm
beginfigm
@@ -2608,7 +2615,7 @@ beginfigm
''(
"<30,Ph,{1,2,6}:/O!,{-4,-5}=?7, ",
" {-1,-4,-6}=dl,-2://O,-3:/O!, ",
- " @9,\,NH,!,//O,! ")
+ " 9:/NH!+?O! ")
#(40mm,20mm) \\
endfigm
\end{verbatim}
@@ -2619,7 +2626,7 @@ beginfigm
''(
"<30,Ph,{1,2,6}:/O!,{-4,-5}=?7, ",
" {-1,-4,-6}=dl,-2://O,-3:/O!, ",
- " @9,\,NH,!,//O,! ")
+ " 9:/NH!+?O! ")
#(40mm,20mm) \\
endfigm
\end{mplibcode}
@@ -2677,7 +2684,7 @@ beginfigm
" @$5,\*^30`1.7,O,!~zb,|,?6`.7,6:O,#.5,5:/*_,2:*/OH,3:/*N?! ")
%-----------------------------------------------------------------------
\\
- ext(defaultscale:=0.8;
+ **(defaultscale:=0.8;
label.lrt("EN: "&EN,(0,h));
label.lrt("fm: "&fm,(0,h-5mm));
label.lrt("mw: "&mw,(0,h-9mm));
@@ -2701,7 +2708,7 @@ beginfigm
" @$5,\*^30`1.7,O,!~zb,|,?6`.7,6:O,#.5,5:/*_,2:*/OH,3:/*N?! ")
%-----------------------------------------------------------------------
\\
- ext(defaultscale:=0.8;
+ **(defaultscale:=0.8;
label.lrt("EN: "&EN,(0,h));
label.lrt("fm: "&fm,(0,h-5mm));
label.lrt("mw: "&mw,(0,h-9mm));
@@ -2719,7 +2726,7 @@ beginfigm
"?6,5=dl,@3,#1,36,45,45,45,45,##,&5,-4=?6,-4=?4,-1=wb,-3=wf,-1:O, ",
" 4:??,6:/_,{3^-60,15}:*/OH,8:/*H^-60,9:*/_^60,10://O, ",
" @1,\,O,!,//O,!,*/OH,!,/Ph,60~wf,NH,-60,//O,60,Ph, ",
- " @7,\*,O,-45,//O,60,Ph,11:*/OCO!>rl,12:/*OCO!^-15>lr ")
+ " @7,\*,O,-45,//O,60,Ph,{11>rl,12'^-15>lr}:*/O!+?O! ")
%------------------------------------------------------------------
#(140mm,30mm)
if \*(mc)=0:
@@ -2740,7 +2747,7 @@ beginfigm
"?6,5=dl,@3,#1,36,45,45,45,45,##,&5,-4=?6,-4=?4,-1=wb,-3=wf,-1:O, ",
" 4:??,6:/_,{3^-60,15}:*/OH,8:/*H^-60,9:*/_^60,10://O, ",
" @1,\,O,!,//O,!,*/OH,!,/Ph,60~wf,NH,-60,//O,60,Ph, ",
- " @7,\*,O,-45,//O,60,Ph,11:*/OCO!>rl,12:/*OCO!^-15>lr ")
+ " @7,\*,O,-45,//O,60,Ph,{11>rl,12'^-15>lr}:*/O!+?O! ")
%-------------------------------------------------------------------
#(160mm,40mm)
if \*(mc)=0: @(0, 0.5)\(scantokens(mc))
@@ -3230,25 +3237,24 @@ file name = 'temp-mc.aux'
\paragraph{(Output)}
\begin{verbatim}
===========================================================================
- No[3],Name<Cytosine>,Category<biological>,File<main_lib.mcf>
+ No[5],Name<Cytosine>,Category<biological>,File<main_lib.mcf>
---------------------------------------------------------------------------
-<30,?6,{4,6}=dl,4:N,3://O,2:NH,5:/NH2
+<30,?6,{4,6}=db,4:N,3://O,2:NH,5:/NH2
---------------------------------------------------------------------------
- Row[1],Length[37],Commands[7],&Code[59],Warning[0]
+ Row[1],Length[37],Block[7],Code pair[59],Warning[0]
---------------------------------------------------------------------------
- =[1]({}=[1]), :[4]({}:[0]), '()[0]
- @[0],&[0],<[1],~[0],^[0],`[0],>[0],|[0],||[0],#[0],##[0]
+ =[1] :[4] ?[1] <[1]
---------------------------------------------------------------------------
- Width[30.92432],Height[42.36536], Shift x[0],Shift y[-12.99213]
- Bond length[11.33856],Atom size[4.8819]
+ Width[30.92419],Height[42.36527], Shift x[-1.77635],Shift y[-12.9921]
+ Bond length[11.33855],Atom size[4.881881]
---------------------------------------------------------------------------
Atom[9],Bond[9],Ring[1],Hide H[2]
< NO. ><atom(s) >( x axis , y axis )<bond><hideH><chg>
A1 C ( 0 , 0 ) 3 1
- A2 N ( 1 , 0 ) 3
+ A2 N ( 1 , -1 ) 3
A3 C ( 2 , 0 ) 4
A4 N ( 2 , 1 ) 3
- A5 C ( 1 , 2 ) 4
+ A5 C ( 1 , 1 ) 4
A6 C ( 0 , 1 ) 3 1
A7 O ( 3 , 0 ) 2
A8 H ( 1 , -1 ) 1
@@ -3261,19 +3267,19 @@ file name = 'temp-mc.aux'
B4 4 -> 5 ( 2) 150 ( 150) 1 ( 11)
B5 5 -> 6 ( 1) 210 ( -150) 1 ( 11)
B6 6 -> 1 ( 2) 270 ( -90) 1 ( 11)
- B7 3 -> 7 ( 2) 330 ( -30) 0.66 ( 7)
- B8 2 -> 8 ( 1) 270 ( -90) 0.36 ( 4)
- B9 5 -> 9 ( 1) 90 ( 90) 0.66 ( 7)
+ B7 3 -> 7 ( 2) 330 ( -30)0.660000 ( 7)
+ B8 2 -> 8 ( 1) 270 ( -90)0.359999 ( 4)
+ B9 5 -> 9 ( 1) 90 ( 90)0.660000 ( 7)
---------------------------------------------------------------------------
<atom>( atom wt )[ mi wt ] < cnt > < sum wt >[ sum mi wt ]
- C ( 12.0107)[ 12] * 4 48.04279[ 48]
- H ( 1.00793)[ 1.00783] * 5 5.03967[ 5.03914]
- N ( 14.0067)[ 14.00307] * 3 42.0201[ 42.0092]
- O ( 15.9994)[ 15.99492] * 1 15.9994[ 15.99492]
- Molecular Weight [Mono Isotopic] = 111.1019[ 111.04326]
+ C ( 12.0107)[ 12] * 4 48.0428[ 48]
+ H (1.0079400)[1.0078250] * 5 5.03969[5.0391251611]
+ N ( 14.0067)[14.003074] * 3 42.0200[42.009222013]
+ O ( 15.9994)[15.994914] * 1 15.9994[15.994914619]
+ Molecular Weight [Mono Isotopic] = 111.1019[ 111.043261]
---------------------------------------------------------------------------
- Weight Calc: 111.1019 / Input: 111.10 / weight gap= 0.00195
- Fomula Calc: C4H5N3O
+ Weight Calc: 111.1019 - Input: 111.10 = 0.0019999
+ Fomula Calc: C4H5N3O
===========================================================================
\end{verbatim}
\newpage
diff --git a/graphics/mcf2graph/template_lib.mcf b/graphics/mcf2graph/template_lib.mcf
index e06f4a9a72..19f82643ff 100644
--- a/graphics/mcf2graph/template_lib.mcf
+++ b/graphics/mcf2graph/template_lib.mcf
@@ -1,6 +1,7 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mcf template file mcf_template.mcf by Akira Yamaji 2023.05.15
+% mcf template file mcf_template.mcf by Akira Yamaji 2024.01.03
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% must use version 5.10
% tag1:var1;tag2:var2;tag3:var3 .....
% first character of line "%" comment out
% first character of line ":" start MCF
@@ -23,7 +24,7 @@ Cat:biological;EN:Paclitaxel;MW:853.918;EXA:1
?6,5=dl,@3,#1,36,45,45,45,45,##,&5,-4=?6,-4=?4,-1=wb,-3=wf,-1:O,
4:??,6:/_,{3^-60,15}:*/OH,8:/*H^-60,9:*/_^60,10://O,
@1,\,O,!,//O,!,*/OH,!,/Ph,60~wf,NH,-60,//O,60,Ph,
- @7,\*,O,-45,//O,60,Ph,{11>rl,12'^-15>lr}:*/OCO!
+ @7,\*,O,-45,//O,60,Ph,{11>rl,12'^-15>lr}:*/?O!+O!
%-------------------------------------------------------------------
* %%%%%% start ext(...) %%%%%%
defaultscale:=0.5;
diff --git a/graphics/mcf2graph/template_soc.mp b/graphics/mcf2graph/template_soc.mp
index 7354f51d48..6948af9fb6 100644
--- a/graphics/mcf2graph/template_soc.mp
+++ b/graphics/mcf2graph/template_soc.mp
@@ -1,8 +1,8 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% MCF compile template file by Akira Yamaji 2023.05.15
+% MCF compile template file by Akira Yamaji 2024.01.03
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-if unknown mcftograph: input mcf2graph; fi %%% it must be version 5.01
-message "* mcf_template 2023.05.15";
+if unknown mcftograph: input mcf2graph; fi %%% it must be version 5.10
+message "* mcf_template 2024.01.03";
message "";
%------------------------------------------------------------------------------
%%%%ext(defaultscale:=.3; label.rt(EN,(0,0));)