texlive[72915] Master: mcf2graph runtime files (20nov24)
commits+karl at tug.org
commits+karl at tug.org
Wed Nov 20 23:09:01 CET 2024
Revision: 72915
https://tug.org/svn/texlive?view=revision&revision=72915
Author: karl
Date: 2024-11-20 23:09:01 +0100 (Wed, 20 Nov 2024)
Log Message:
-----------
mcf2graph runtime files (20nov24)
Modified Paths:
--------------
trunk/Master/tlpkg/libexec/ctan2tds
Added Paths:
-----------
trunk/Master/texmf-dist/metapost/mcf2graph/
trunk/Master/texmf-dist/metapost/mcf2graph/main_lib.mcf
trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mp
Removed Paths:
-------------
trunk/Master/texmf-dist/doc/metapost/mcf2graph/main_lib.mcf
trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf2graph.mp
Deleted: trunk/Master/texmf-dist/doc/metapost/mcf2graph/main_lib.mcf
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/main_lib.mcf 2024-11-20 21:17:05 UTC (rev 72914)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/main_lib.mcf 2024-11-20 22:09:01 UTC (rev 72915)
@@ -1,2984 +0,0 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% molecular library file main_lib.mcf by Akira Yamaji 2024.11.17
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% must use version 5.14
-% tag1:var1;tag2:var2;tag3:var3 .....
-% first character of line "%" comment out
-% first character of line ":" start MCF
-% first character of line "=" start parameter setting
-% first character of line "*" start ext(...)
-% first character of line "+" start add(...)
-% first character of line ";" stop MCF
-% CAT = CATegory,EN = Name,MW = Molecular weight
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%==============================================================================
-CAT:-;EN:-;MW:0;EXA:-;
-=
- sw_frame:=Atom;
-:
-<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));
-+
- defaultscale:=.3;
- label.bot("A2",A2) withcolor red;
- label.top("A6",A6) withcolor red;
- label.top("A9",A9) withcolor red;
-;
-%==============================================================================
-CAT:biological;EN:Adenine;MW:135.13;EXA:1
-:
-<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=db,2'9:N,6'7:NH,5:?O,1:/NH2
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Cytosine;MW:111.10;EXA:1
-:
-<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=db,2'6:NH,1'5:?O,4:/_
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Uracil;MW:112.09;EXA:1
-:
-<30,?6,6=db,3'5:?O,2'4:NH
-;
-%== Amino acid ================================================================
-CAT:biological;EN:Glycine;MW:75.07;EXA:-
-:
-<30,NH2,!2,COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Glycine;MW:75.07;EXA:-
-:
-<30,NH2,!2,COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Alanine;MW:89.10;EXA:-
-:
-<30,NH2,!wb,?!,COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Valine;MW:117.15;EXA:-
-:
-<30,NH2,!wb,/?!,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Leucine;MW:131.16;EXA:1
-:
-<30,NH2,!wb,/!?!,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Isoleucine;MW:131.16;EXA:-
-:
-<30,NH2,!wb,/?z'!2,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Serine;MW:105.09;EXA:-
-:
-<30,NH2,!wb,/!OH,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Threonine;MW:119.12;EXA:-
-:
-<30,NH2,!wb,/?'!w'OH,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Cysteine;MW:121.16;EXA:-
-:
-<30,NH2,!wb,/!SH,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Methionine;MW:149.21;EXA:-
-:
-<30,NH2,!wb,/!2'S!,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Phenylalanine;MW:165.19;EXA:-
-:
-<30,NH2,!wb,/!Ph,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Tyrosine;MW:181.19;EXA:-
-:
-<30,NH2,!wb,/!Ph'(5:/OH),!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Triptophan;MW:204.21;EXA:-
-:
-<30,NH2,!wb,!COOH, at 2,\,!,<24,|,?5,2=dr,5=dl,2=Ph,4:NH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Proline;MW:115.13;EXA:-
-:
-<18,?5,3:NH,4:*/COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Glutamine;MW:146.15;EXA:-
-:
-<30,NH2,!wb,!COOH, at 2,\`1,!`1,!,?O!,NH2
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Asparagine;MW:132.12;EXA:-
-:
-<30,NH2,!wb,/!?O!'NH2,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Aspartic acid;MW:133.10;EXA:-
-:
-<30,NH2,!wb,/!COOH,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Glutamic acid;MW:147.13;EXA:-
-:
-<30,NH2,!wb,/!2'COOH,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Lysine;MW:146.19;EXA:-
-:
-<30,NH2,!wb,/!4'NH2,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Arginine;MW:174.21;EXA:-
-:
-<30,NH2,!wb,!COOH, at 2,\`1,!`1,!2,NH!,?NH,!NH2
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Hystidine;MW:155.16;EXA:-
-:
-<30,NH2,!wb,!COOH, at 2,\,!,|,?5,1'3=dl,3:N,5:NH
-;
-%==============================================================================
-CAT:biological;EN:L-DOPA;MW:197.19;EXA:-
-:
-<30,NH2,!wb,/!Ph'(4'5:/OH),!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Ornithine;MW:132.16;EXA:-
-:
-<30,NH2,!wb,/!3'NH2,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Citrulline;MW:175.2;EXA:-
-:
-<30,NH2,!wb,/!3'NH!'?O!'NH2,!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:GABA;MW:103.12;EXA:-
-:
-<30,NH2,!4,COOH
-;
-%==============================================================================
-CAT:biological;EN:Citrate;MW:192.12;EXA:-
-:
-<30,COOH,!2,/COOH^30,/OH^-30,!2,COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:cis-Aconitate;MW:174.11;EXA:-
-:
-<30,COOH,!2,/COOH,!d,60,COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Isocitrate;MW:192.12;EXA:-
-:
-<30,COOH,!4,COOH,3:!COOH,4:/OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Oxalosuccinate;MW:190.11;EXA:-
-:
-<30,COOH,!2,/COOH,!?O!,COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:alfa-Ketoglutarate;MW:146.1;EXA:-
-:
-<30,COOH,!3,?O!,COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Succinate;MW:118.09;EXA:-
-:
-<30,COOH,!3,COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Fumarate;MW:116.07;EXA:-
-:
-<30,COOH,!,!d,!COOH
-;
-%------------------------------------------------------------------------------
-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
-;
-%==============================================================================
-CAT:biological;EN:Glucose 1;MW:180.16;EXA:1
-:
-<30,?6,5:O,2:*/OH,1'3:/*OH,4:*/*OH,6:*/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Glucose 2;MW:180.16;EXA:1
-:
-<-30,OH,!2,*/OH,!,/*OH,!,/*OH,!,/*OH,!,?O!,H
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:D-Glucose;MW:180.16;EXA:1
-:
-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
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Fructose 2;MW:180.16;EXA:1
-:
-<-18,?5,5:O,1^-48:*/*!OH,1^48:/OH,*2'3:*/OH,4:/*!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:D-Fluctose;MW:180.16;EXA:1
-:
-Pyranose_hp,#.5,1^$-90:/OH,{2^$-90'3^$90}:/OH,{1^$90'4^$-90}:/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:D-Galactose;MW:180.16;EXA:1
-:
-hexose_hp,#.5,{1^$90'2^$90'3^$-90'4^$-90}:/OH,6^$90:/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:D-Mannose;MW:180.16;EXA:1
-:
-hexose_hp,#.5,{1^$-90'2^$90'3^$90'4^$-90}:/OH,6^$90:/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:L-Fucose;MW:164.16;EXA:1
-:
-hexose_hp,#.5,{1^$-90'2^$-90'3^$90'4^$90}:/OH,6^$-90:/_
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:D-Ribose;MW:150.13;EXA:1
-:
-Pyranose_hp,#.5,{2^$-90'3^$-90'4^$90}:/OH,1^$90:/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:D-Deoxyribose;MW:134.13;EXA:1
-:
-Pyranose_hp,#.5,{2^$-90'4^$90}:/OH,1^$90:/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:D-Glucosamine;MW:179.17;EXA:1
-:
-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:/NH!'?O!,6^$90:/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Glucuronic acid;MW:194.14;EXA:1
-:
-hexose_hp,#.5,{1^$-90'2^$90'3^$-90'4^$-90}:/OH,6^$90:/COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Maltose;MW:342.3;EXA:1
-:
-hexose_hp,#.5,{1^$-90'2^$90'3^$-90}:/OH,6^$90:/!OH,##,
- @4,$-50~arc_lb`1,O,$50~arc_br`1,<$0,
- |,hexose_hp,#.5,{2^$90'3^$-90'4^$-90}:/OH,6^$90:/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Sucrose;MW:342.3;EXA:1
-:
-hexose_hp,#.5,{1^$-90'2^$90'3^$-90}:/OH,6^$90:/!OH,##,
- @4,$-50~arc_lb`1,O,$50~arc_br`1,<$0,
- |,#1.4,-35~wf_r,35~bd_r`1,30~wb_r,130`1.66,O,&1,##,
- #.5,{2^$-90'3^$90}:/OH,{1^$90'4^$-90}:/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Lactose;MW:342.3;EXA:1
-:
-hexose_hp,#.5,{1^$90'2^$90'3^$-90}:/OH,6^$90:/!OH,##,
- @4,$0~arc_ltr,O,$0~arc_lbr,
- |,hexose_hp,#.5,{2^$90'3^$-90'4^$-90}:/OH,6^$90:/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Cellobiose;MW:342.3;EXA:1
-:
-hexose_hp,#.5,{1^$-90'2^$90'3^$-90}:/OH,6^$90:/!OH,##,
- @4,$0~arc_lbr,O,$0~arc_ltr,
- |,hexose_hp,#.5,{2^$90'3^$-90'4^$-90}:/OH,6^$90:/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Trehalose;MW:342.3;EXA:1
-:
-hexose_hp,#.5,{1^$-90'2^$90'3^$-90}:/OH,6^$90:/!OH,##,
- @4,@(1,0),|,hexose_hp,#.5,{1^$-90'2^$90'3^$-90}:/OH,6^$90:/!OH,##,
- ||, at 4,$-37~arc_lb`3.25,O,&10~arc_br
-;
-%==============================================================================
-CAT:biological;EN:Geraniol;MW:154.25;EXA:1
-:
-<30,!8,OH,2'6=dr,2'6:/_
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Limonene;MW:136.24;EXA:-
-:
-<30,?6,2=dl,2:/_,5:*/?!d
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:l-Menthol;MW:156.27;EXA:1
-:
-<30,?6,2:/*?!,5:*/_,3:*/OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Allicin;MW:162.28;EXA:1
-:
-<-30,!d,!2,S?O,!,S,!2,!d
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Benzoic acid;MW:122.12;EXA:-
-:
-<30,Ph,3:/COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Gallic acid;MW:170.12;EXA:-
-:
-<30,Ph,3:/COOH,1'5'6:/OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Salicylic acid;MW:138.12;EXA:-
-:
-<30,Ph,3:/COOH,4:/OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Cinnamic acid;MW:148.16;EXA:-
-:
-<30,Ph,3:/!dr'!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Cinnamaldehyde;MW:132.16;EXA:-
-:
-<30,Ph,3:/!dr'!CHO
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Caffeic acid;MW:180.16;EXA:1
-:
-<30,Ph,1'6:/OH,3:/!d'!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Vanillin;MW:152.15;EXA:1
-:
-<30,Ph,1:/OH,6:/O!,4:/CHO
-;
-CAT:biological;EN:alfa-Terpinene;MW:136.24;EXA:-
-:
-<30,?6,3:/?!,6:/_,3'5=db
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:beta-Terpinene;MW:136.24;EXA:-
-:
-<30,?6,3:/?!,6://_,3=db
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:gamma-Terpinene;MW:136.24;EXA:-
-:
-<30,?6,3:/?!,6:/_,3'6=db
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:delta-Terpinene;MW:136.24;EXA:-
-:
-<30,?6,3://?!,6:/_,5=db
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Eugenol;MW:164.20;EXA:-
-:
-<30,Ph,1:/OH,6:/O!,4:/!'!d
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Thymol;MW:150.22;EXA:-
-:
-<30,Ph,4:/OH,3:/?!,6:/_
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Anisaldehyde;MW:136.15;EXA:-
-:
-<30,Ph,4:/CHO,1:/O!
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Benzaldehyde;MW:106.12;EXA:-
-:
-<30,Ph,4:/CHO
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:gamma-Nonalactone;MW:156.23;EXA:-
-:
-<18,?5,2:O,1:?O,3^-12:/!4
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:gamma-Undecalactone;MW:184.27;EXA:-
-:
-<18,?5,2:O,1:?O,3^-12:/!6
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Muscone;MW:238.40;EXA:-
-:
-<-72,#1,60,-48,60,60,-48,60,60,-48,60,60,-48,60,60,-48,##,&1,9:?O,7:/_
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:alfa-Pinene;MW:136.24;EXA:-
-:
-<30,?6,3:??,5:/_,5=db, at 2,180~zf`1,&4~zb
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:beta-Pinene;MW:136.24;EXA:-
-:
-<30,?6,3:??,5://_, at 2,180~zf`1,&4~zb
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Neral;MW:152.24;EXA:-
-:
-<30,!?,!d,!3,?,!d,-60,CHO
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Geranial;MW:152.24;EXA:-
-:
-<30,!?,!d,!3,?,!d,!,CHO
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:p-Cymene;MW:134.21;EXA:-
-:
-<30,Ph,4:/?!,1:/_
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Benzyl-acetate;MW:150.18;EXA:-
-:
-<30,Ph, at 4,\,?O!,O!,!,Ph
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Benzyl-benzoate;MW:212.25;EXA:-
-:
-<30,Ph,4:/!O!'?O!
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Stearic acid;MW:284.48;EXA:1
-:
-<30,!17,COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Linoleic acid;MW:280.45;EXA:1
-:
-<30,!5,-30,-30,!,-30,-30,!7,COOH,6'9=dr
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Sphingosine;MW:299.50;EXA:1
-:
-<30,!18,OH,14=dr,-3:*/OH,-2:/*NH2
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Tocopherol;MW:430.717;EXA:1
-:
-<30,Ph,3=?6,7:O,1'2'5:/_,8:/*_^60,6:/OH, at 8,\,|,!12,4'8:/*_,12:/_
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Thiamine;MW:265.35;EXA:1
-:
-<30,Ph,4:/NH2, at 3,\`1,!,<-12,?5,-1'-4=dl,1'5'8:N,11:S,6'9:/_,
- -3^-12:/!2'OH,8:p_^72
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Riboflavin;MW:376.37;EXA:1
-:
-<30,Ph,3'9=?6,8'16=dl,7'10'14:N,12:NH,11'13:?O,1'6:/_,
- @10,\`1.5,!,*/OH,!,/*OH,!,*/OH,!2,OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Nicotinic acid;MW:123.11;EXA:1
-:
-<30,Ph,2:N,4:/COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Nicotinamide;MW:122.12;EXA:1
-:
-<30,Ph,2:N,4:/?O'!NH2
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Pantothenic acid;MW:219.23;EXA:1
-:
-<30,OH,!8,COOH,3:??,4^35:/*H,4^-20:*/OH,5:?O,6:NH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Pyridoxine;MW:169.18;EXA:1
-:
-<30,Ph,2:N,3:/_,4:/OH,5'6:/!OH
-;
-%------------------------------------------------------------------------------
-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
-;
-%------------------------------------------------------------------------------
-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, at -3,\,?O,!NH!,/*COOH,!3,COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Carotene;MW:536.8726;EXA:1
-:
-<30,?6, at 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, at 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?
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Nicotine;MW:162.23;EXA:1
-:
-<30,Ph,2:N,4:/?5'(2:N?)
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Capsaicin;MW:305.418;EXA:1
-:
-<30,Ph,1:/OH,6:/O!, at 4,\,!NH!,?O,!7,?!,-3=dl
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Gibberellin A3;MW:346.379;EXA:1
-:
-<18,?5,3=?7,5=?6[12], at 8,160`1.3,&3,13=dl,6=wf,8=wb,
- @5,40~zf`1,O,50,?O^180,&14~zb,2:/COOH,7://_,*8'13:*/OH,14:*/_,1'4:*/H^60
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Cholesterol;MW:386.664;EXA:1
-:
-<30,?6,-4'-2=?6,-4=?5,7=dl,
- 1:*/OH,4'12:*/_^60,{*9^60'10^180'11^-60'-1^-60}:/*H, at -1,17,/*_,!4,?!
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Resveratrol;MW:228.24;EXA:1
-:
-<30,Ph, at 4,\,!d,!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
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Trenbolone;MW:270.37;EXA:1
-:
-<30,?6,3'10=?6,13=?5,2'11'15=dl,1:?O,12:*/_^60,-1:/*OH,{9^60'*11^-60}:*/H
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Luciferin;MW:280.33;EXA:1
-:
-<30,Ph,3=?5, at 8,\,?5,9'16=dl,9'14:N,7'11:S,1:/OH,-2:*/COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Chlorophyll a;MW:893.509;EXA:1
-:
-<-36,#1,?5, at 3,\,54,?5, at -2,\,54,?5, at -2,\,54,?5, at -2,\,&5, at 6,22,70,&8,##,
- 4'6'8'10'14'16'18'21'23'27=dl, at 4,\`1.48~vf,Mg,&17~vb, at 11,&27, at 27,&23,
- 4'11'17'23:N,{1~zf'9'15'21}:/_,14:/!,20:/!d,25:/*?O!'O!,26:?O,
- @2,*\^-6,!2,?O!,O!2,!d,|,!13,1'5'9'13:/_
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Alizarin;MW:240.21;EXA:1
-:
-<30,Ph,3=?6,-3=Ph2,7'10:?O,13'14:/OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Indigo;MW:262.26;EXA:1
-:
-<30,Ph,3=?5, at -2,\\,?5,-3=Ph2,7'14:NH,9'11:?O
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:6,6'-dibromoindigo;MW:420.0549;EXA:1
-:
-<30,Ph,3=?5, at -2,\\,?5,-3=Ph2,7'14:NH,9'11:?O,1'-2:/Br
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Carminic Acid;MW:492.39;EXA:1
-:
-<30,Ph,3=?6,-3=Ph2,7'10:?O,2'5'6'13:/OH,11:/_,12:/COOH,
- @1,\~wb`1,?6,-5:O,-1'*-2'-3:/*OH,-4:*/!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Curcumin;MW:368.38;EXA:1
-:
-<30,Ph, at 3,\,!7,Ph,8'13=dr,9'11:?O,6'-3:/OH,5'-4:/O!
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Berberine;MW:336.36;EXA:1
-:
-<30,Ph,3=Ph,-3=?6,-2=Ph2,-3=?5,8:N,8:p_^60,-1'-3:O,{1>vt'2}:/!OH
-;
-%==============================================================================
-CAT:biological;EN:Apigenin;MW:270.24;EXA:-
-:
-<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,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
-:
-<30,Ph,3=?6,9=dl,10:O,7:?O,9:/Ph,
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Isoflavone;MW:222.24;EXA:-
-:
-<30,Ph,3=?6,9=dl,10:O,7:?O,8:/Ph,
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Flavanone;MW:224.25;EXA:-
-:
-<30,Ph,3=?6,10:O,7:?O,9:/Ph,
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Flavonol;MW:238.24;EXA:1
-:
-<30,Ph,3=?6,9=dl,10:O,7:?O,8:/OH,9:/Ph,
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Cianidanol;MW:290.27;EXA:1
-:
-<30,Ph,3=?6, at 8,*\,Ph,7:O,{1'5'9~zf'13'14}:/OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Quercetin;MW:302.24;EXA:1
-:
-<30,Ph,3=?6, at 9,\,Ph,9=dl,10:O,7:?O,2'6'8'13'14:/OH
-;
-%==============================================================================
-CAT:biological;EN:Limonin;MW:470.518;EXA:1
-:
-<30,?6,-3'-4=?6,-5=?3,-2=wf,-1=wb,6=?5,-4=?6,-5=wf,13'15'17'20:O,
- 3'12'21:?O,{4^60'*8^60}:*/_,18:??,{1^60'5^180'16^60}:/*H,
- @14,\*,|,?5,1'4=dl,3:O
-;
-%------------------------------------------------------------------------------
-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
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Emetine;MW:480.649;EXA:1
-:
-<30,Ph,-4'-4=?6,8:N,1'6:/O!,-2:/*!,{7^-60'12^-60}:/*H,
- @-3,\,!zb,<-60,|,?6,5=dl,2:NH,-6^-60:*/H,|,-2=?6,2'4=dl,-2'-3:/O!
-;
-%------------------------------------------------------------------------------
-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:??
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Piperine;MW:285.343;EXA:1
-:
-<30,Ph,-1=?5,-1'-3:O, at 4,\,!d,!,!d,!,?O!,?6,-6:N
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Febrifugine;MW:301.34;EXA:1
-:
-<30,Ph,3=?6, at 9,8=dl,\,!2,!zb,?6,7'9:N,-5:NH,10'12:?O,-1:*/OH
-;
-%------------------------------------------------------------------------------
-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
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Camphor;MW:152.23;EXA:1
-:
-#1,15,-30,90,90,30,##,&1, at 2,0~si_`1.6,&5,{-1^45'-1^-65'5^-45}:/_,4:?O
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Sparteine;MW:234.3803;EXA:1
-:
-<30,?6,3=?6,9=wf,10=wb, at 8,#1,60,60,N,60,##,&10,-3=?6,3:N,{4^60'*11^-60}:*/H
-;
-%------------------------------------------------------------------------------
-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
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Podophyllotoxin;MW:414.41;EXA:1
-:
-<0,?5,2'5:O,-3=Ph2,-3=?6,-3=?5,-2:O,-1=wb,-3:?O,
- @10,\*,Ph,-2'-3'-4:/O!,13:/*OH,{11^-60'*12^60}:*/H
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Warfarin;MW:308.333;EXA:1
-:
-<30,Ph,3=?6,8=dl,10:O,7:/OH,9:?O, at 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)
-;
-%------------------------------------------------------------------------------
-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
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Reserpine;MW:608.688;EXA:1
-:
-<54,Ph,3=?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:*/?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:*/?!d
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Pyrethrin I;MW:328.452;EXA:1
-:
-<30,?3,{3^35'*3^-35}:*/_, at 1,*\,!d,?!,
- @2,\*,?O!,O,-36~zb,|,?5,-2=dl,-1:/_,-3:?O, at -2,\,!4,-1'-3=dl
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Oseltamivir;MW:312.40;EXA:1
-:
-<30,?6,3=dl,6:*/NH2, at 1,\*,NH!,?O!, at 2,*\,O!,/!,!2,4:/?O!'O!2
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Paclitaxel;MW:853.918;EXA:1
-:
-?6,5=dl, at 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^-60:/*H,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}:*/O!'?O!
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Mevastatin;MW:390.52;EXA:1
-:
-<30,?6,2=dl,4^60:*/H,-4=?6,-4=dl,9:*/_,
- @10,*\,!,60~wb,?6,6:O,-2:?O,-4:/*OH, at 5,\*,O,60,?O!,*/_,!2
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Sesamine;MW:354.35;EXA:1
-:
-<54,?5,1=?5,4'7:O,{1^-54'2^54}:*/H,
- 5^-12:*/Ph'(4=?5)'(7'9:O),8^-12:*/Ph'(4=?5)'(7'9:O)
-;
-%------------------------------------------------------------------------------
-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
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Quinine;MW:324.424;EXA:1
-:
-<30,Ph,3=Ph,7:N,6:/O!,
- @10,\,*/OH,/*H^-60,!,|,?6,2:N,1^60:*/H, at 4,*\,!d, at 2,165~zf,60,&5~zb
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Atoropin;MW:289.375;EXA:1
-:
-<30,O!,?O!2,Ph,@$1,\~zb^-60,|,?7`1.1, at 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:/NH!'?O!
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Lycorine;MW:287.315;EXA:1
-:
-<30,Ph,-4'-2=?6,6'(9--12)=?5,13=dl,8:N,15'17:O,{*9^180'10^60}:*/H,13'*14:*/OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Ibotenic acid;MW:158.113;EXA:1
-:
-<18,?5,4=dl,3:O,2:NH,1:?O,4^-24:/?NH2'!COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Illudin S;MW:264.3;EXA:1
-:
-<30,?6,3=?5,6:**?3,4'7=dl,2:?O,5:/_,{1^35'8^35}:*/_,{*1^-35'9}:*/OH,8^-35:/*!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Muscarine;MW:174.26;EXA:1
-:
-<18,?5,2:O,1:*/_,5:/*OH, at 3,*\,48,N,??,p_^180,!
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Psilocybin;MW:284.248;EXA:1
-:
-<30,Ph,3=?5,8=dl,9:NH, at 2,\,O,-60,P,?O^-45,/OH^45,90,OH,7:/!2'N?!>lr
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Tetrodotoxine;MW:319.27;EXA:1
-:
-#1,<60,-90,60,-30`1.15,150,60,&1, at 3,-135,60,-30`1.15,150,&4,
- @10,\,O,60`1.33,60,&$3~si_, at 8,-15~si_,O,&12,##,
- @9,45,-60,OH,1^120://NH,{5~zf^-15'7'9^-75'12'13~zf}:/OH,2:NH,6^180:NH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Aflatoxin B1;MW:312.27;EXA:1
-:
-<30,Ph,6=?6,-2=?5,4=?5,-2=?5,-2'10=dl,7'14'17:O,
- 2:/O!,8'11:?O,{15^-54'16^54}:*/H
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Aflatoxin B2;MW:314.3;EXA:-
-:
-<30,Ph,6=?6,-2=?5,4=?5,-2=?5,10=dl,7'14'17:O,2:/O!,8'11:?O,{15^-54'16^54}:*/H
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Aflatoxin G1;MW:328.27;EXA:2
-:
-<30,Ph,6=?6,-2=?6,4=?5,-2=?5,-2'10=dl,7'12'15'18:O,
- 2:/O!,8'11:?O,{16^-54'17^54}:*/H
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Aflatoxin G2;MW:330.29;EXA:-
-:
-<30,Ph,6=?6,-2=?6,4=?5,-2=?5,10=dl,7'12'15'18:O,
- 2:/O!,8'11:?O,{16^-54'17^54}:*/H
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Aflatoxin M1;MW:328.3;EXA:-
-:
-<30,Ph,6=?6,-2=?5,4=?5,-2=?5,-2'10=dl,7'14'17:O,
- 2:/O!,8'11:?O,15^-54:*/H,16^54:*/OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Aflatoxin M2;MW:330.29;EXA:-
-:
-<30,Ph,6=?6,-2=?5,4=?5,-2=?5,10=dl,7'14'17:O,
- 2:/O!,8'11:?O,15^-54:*/H,16^54:*/OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Ochratoxin A;MW:403.813;EXA:1
-:
-<30,Ph, at 4,\,!,/*COOH,!`1.2,NH,!`1.2,?O!,
- Ph,-2:/Cl,-5:/OH,-4=?6,-3:O,-2:*/_,-4:?O
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Deoxynivalenol;MW:296.32;EXA:1
-:
-<30,?6,3=?6,5=dl,1:?O,6:/_,-1:O,{*4^60'-2}:*/H,7^30:*/_, at 7,72`.9,80`1.3,&9,
- @8,?3,-3=wf_,-1=si_,-1:O,{2'12^18}:/*OH,3^-60`1:/*!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Patulin;MW:154.12;EXA:1
-:
-<30,?6,3=?5,2'10=dl,6'7:O,5:/OH,8:?O
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Citrinin;MW:250.247;EXA:1
-:
-<30,?6,3=?6,2'5'11=dl,9:O,1:?O,2:/_,7'*8:*/_,5:/OH,6:/COOH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Zearalenone;MW:318.364;EXA:1
-:
-<30,Ph, at 3,#1,\,!5,60,60,!4,&4,##,1'5'8=dl,17:O,16:*/_,1'5:/OH,12'18:?O
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Fumonisin B1;MW:721.83;EXA:1
-:
-<30,!19, at 6,*\,O!,?O!2,/COOH,!2,COOH, at 7,\*`1.2,O!,?O!2,/COOH,!2,COOH,
- 5'9:/*_,11'16'*18:*/OH,19:/*NH2
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Dicumarol;MW:336.295;EXA:-
-:
-<30,Ph,3=?6, at 8,\`1.5,!`1.5,?6,-4=Ph2,8'14=db,10'16:O,9'17:?O,7'13:/OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Dihydroxybergamotin;MW:338.40;EXA:-
-:
-<30,Ph,3=?6,6=?5,10'13=db,7'13:O,8:?O, at 5,\,O,!2,!d,/_,!3,/OH,!,??,!OH
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Bergamotin;MW:338.40;EXA:-
-:
-<30,Ph,3=?6,6=?5,10'13=db,7'13:O,8:?O, at 5,\,O,!2,!d,/_,!3,!d,?!
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Alkannin;MW:288.29;EXA:-
-:
-<30,Ph,3=?6,9=db,2'5:/OH,7'10:?O, at 8,\,/*OH,!2,!d,?!
-;
-%==============================================================================
-CAT:synthetic;EN:Benzene;MW:78.11;EXA:-
-:
-<30,Ph
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Phenol;MW:94.11;EXA:-
-:
-<30,Ph,3:/OH
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Aniline;MW:93.13;EXA:-
-:
-<30,Ph,3:/NH2
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Picric acid;MW:229.10;EXA:-
-:
-<30,Ph,1'3'5:/NO2,2:/OH
-;
-%------------------------------------------------------------------------------
-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:1
-:
-<30,Ph,3=Ph
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Anthracene;MW:178.23;EXA:1
-:
-<30,Ph,3'6=Ph
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Phenanthrene;MW:178.23;EXA:1
-:
-<30,Ph,4'6=Ph
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Naphthacene;MW:228.3;EXA:1
-:
-<30,Ph,6'3'-3=Ph
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Chrysene;MW:228.3;EXA:1
-:
-<30,Ph2,6'4'-4=Ph
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Pyrene;MW:202.25;EXA:1
-:
-<30,Ph2,6'4=Ph,16---7=?6,-2=dl
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Coronene;MW:300.35;EXA:1
-:
-<30,Ph,{1'11--2'15--3'19--4'23--5'27---7}=?6,9'12'14'17'20'22'25'28'30=dl
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Kekulene;MW:600.7;EXA:1
-:
-<30,?6,{3'-3'-2'-3'-2'-3'-2'-3'-2'-3'-2----5'5---- -4}=?6,
- 1'*5'7'9'11'13'17'19'21'23'27'29'31'33'37'39'41'43'47'49'51'53'57'60=dl
-;
-%==============================================================================
-CAT:synthetic;EN:12-Crown-4;MW:176.21;EXA:-
-:
-<-180,O,30,60,60,O,-30,60,60,O,-30,60,60,O,-30,60,&1
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:15-Crown-5;MW:220.26;EXA:2
-:
-<-180,O,48,60,60,O,-48,60,60,O,-48,60,60,O,-48,60,60,O,-48,60,&1
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:18-Crown-6;MW:264.32;EXA:1
-:
-<-180,O,60,60,60,O,-60,60,60,O,-60,60,60,O,-60,60,60,O,-60,60,60,O,-60,60,&1
-;
-%==============================================================================
-CAT:synthetic;EN:Porphyrin;MW:310.4;EXA:1
-:
-<9,#1,?5, at 3,\,54,?5, at -2,\,54,?5, at -2,\,54,?5, at -2,\,&5,##,
- 1'4'6'8'10'14'16'18'21'23'27=dl,4'17:N,11'23:NH
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Sulflower;MW:448.69;EXA:1
-:
-<67.5,?8,1'3'5'7=?5, at 11,30`1.15,&12, at 14,30`1.15,&15,
- @17,30`1.15,&18, at 20,30`1.15,&9,9'12'13'16'17'20'21'24=dl,
- 10'13'16'19'21'22'23'24:S
-;
-%------------------------------------------------------------------------------
-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)
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Melamine;MW:126.12;EXA:1
-:
-<30,Ph,2'4'6:N,1'3'5:/NH2
-;
-%==============================================================================
-CAT:synthetic;EN:Tartrazine;MW:534.3;EXA:1
-:
-<30,Ph,1:/SO3Na, at 4,\,N,!d,N,!,<-12,?5,-2'-5=dl,-2'-3:N,-1:/COONa,-4:/OH,
- -3:/Ph'(4:/SO3Na)
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Disperse yellow 3;MW:269.30;EXA:1
-:
-<30,Ph,2:/_,5:/OH, at 4,\,N,!d,N,!Ph,-3:/NH!'?O!
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Disperse orenge 30;MW:450.27;EXA:1
-:
-<30,Ph,1:/NO2,3'5:/Cl, at 4,\,N,!d,N,!Ph, at -3,\,N,/!2'CN,!3,?O,!O!
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Disperse red 65;MW:371.82;EXA:1
-:
-<30,Ph,1:/NO2,3:/Cl, at 4,\,N,!d,N,!Ph,-1:/_, at -3,\,N,/!2'CN,!2
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Erythrosine;MW:835.9;EXA:1
-:
-<30,Ph,3'9=?6,8'13'16=dl,10:O,-2:?O,1'5'12'14:/I, at 7,\,Ph,-1:/COOH,6:/OH
-;
-%------------------------------------------------------------------------------
-CAT:synthetic;EN:Sudan red 1;MW:248.28;EXA:1
-:
-<30,Ph,1=Ph,4:/OH, at 3,\,N,!d,N,!Ph
-;
-%------------------------------------------------------------------------------
-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_, at 2,@(3.5,1.5),Cl,n_^15
-;
-%------------------------------------------------------------------------------
-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,-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
-:
-<30,Ph,3=?5, at 8,\\,?5,-3=dr,-3=Ph,7'14:NH,9'11:?O
-;
-%==============================================================================
-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
-;
-%------------------------------------------------------------------------------
-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
-;
-%------------------------------------------------------------------------------
-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
-;
-%------------------------------------------------------------------------------
-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
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Mecillinam;MW:325.4264;EXA:1
-:
-<45,?4,-3=?5,2:N,7:S,3^45:/*H,1:?O^15,5:/*COOH^-18,6:??,
- @4,*\^15,N,!d,!,?7,-7:N
-;
-%------------------------------------------------------------------------------
-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
-;
-%------------------------------------------------------------------------------
-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:/_, at -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:/_, at -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'(2'6:/Cl)
-;
-%------------------------------------------------------------------------------
-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
-;
-%------------------------------------------------------------------------------
-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, at 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,
- @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!,/*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,
-;
-%------------------------------------------------------------------------------
-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, at 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: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
-;
-%------------------------------------------------------------------------------
-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, at 6,\,!O!,?O!,NH2
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Apramycin;MW:539.58;EXA:1
-:
-<30,?6,3=?6,2'10:O, at 1,\*,O,60~zb,?6, at 9,\*,O,-60~zb,?6,-5:O,
- 7'13'*14'*-1'-2:*/OH,*6'15'17'*-3:*/NH2,8:*/NH!^-20,
- -4:*/!OH,{*3^-60,4^60}:*/H
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Gentamycin;MW:477.596;EXA:1
-:
-<-30,?6, at 1,\*,O,0~zb,?6,-5:O, at 5,\*,O,0~zb,?6,-5:O,2'4'*20:*/NH2,6:*/OH,
- 11:*/OH^-35,11:/*_^35,12:*/NH!,13:/*OH,17:*/?!'NH!
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Kanamycin;MW:484.499;EXA:1
-:
-<-30,?6, at 1,\*,O,0~zb,?6,-5:O, at 5,\,O,0,?6,-5:O,
- 2'4'12:*/NH2,*6'11'13'18'*19,20:/*OH,10:*/!OH,17:*/!NH2
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Neomycin;MW:614.644;EXA:1
-:
-<30,?6,3:O,2:/*!NH2,1'*6:*/OH,5:*/NH2,
- @4,*\,O,!wb,?6,{-3,-5^15}:/*NH2,-2:*/OH^-15,
- @-1,\*,O,-72~wb,?5,-4:O,-1:/*OH>vt,-3:*/!OH>vt,
- @-2,\*^-24,O,-60~zb,?6,-5:O,-1:/*NH2,-2'*-3:*/OH,-4:/*!NH2>60
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Streptmycin;MW:581.574;EXA:1
-:
-<54,?5,3:O,4:/*_,5:/OH^45, at 1,\*,O,-24~wb,?6,-5:O, at 2,*\,O,24~zb,?6,
- 5:/!dO^-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:-
-:
-<54,?5,3:O,4:/*_,5:/OH^60, at 1,\*,O,-24~wb,?6,-5:O, at 2,*\,O,24~zb,?6,
- @5,-18,/OH^15,45,OH,10'*11'15'*16'*18:*/OH,9:/*!OH,12:*/NH!,
- {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, at 1,\*,O,-24~wb,?6,-5:O, at 2,*\,O,24~zb,?6,
- 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
-:
-<30,?6,3'9=?6,7=zf,11=wb,7'10'14:O,9^60:*/H,11:?O,{1'*5'8^-60}:*/OH,
- 13:/*_,2'6:*/NH!
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Tobramycin;MW:467.51;EXA:1
-:
-<-30,?6, at 1,\*,O,0~zb,?6,-5:O, at 5,\,O,0,?6,-5:O,
- 2'4'12'*20:*/NH2,*6'11'13'18:/*OH,10:*/!OH,17:*/!NH2
-;
-%------------------------------------------------------------------------------
-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,8:/*!'!dO,
- @-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}:/*_,##,
-;
-%------------------------------------------------------------------------------
-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,8:/*!'!dO,
- @-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,##,
-;
-%------------------------------------------------------------------------------
-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:/*O!'?O!^-25,8:/*!'!dO,
- @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,/_,!,
-;
-%------------------------------------------------------------------------------
-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,8:/*!'!dO,
- @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,
-;
-%------------------------------------------------------------------------------
-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:/*!,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?!
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Emamectine;MW:886.133;EXA:1
-:
-<24,?6,6=?5,3=dl,9:O,2:*/OH,3:/_,6:/*OH^-60,
- @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, at -2,?6,-6=wf,-1=zb,-5=dl,
- -1'-6:O,-3:*/_, at -2,\,*/_,!2,
- 17:/_,19:/*_, at 18,\,O!,?6`.7,-1:O,#.5,-2:*/_,-4:*/O!,##,
- @-3,\,O,60,?6`.7,-5:O,#.5,-4:*/_,-3:/*NH!,-2:*/O!
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Spinosad;MW:731.968;EXA:2
-:
-<30,#1,<-120,60,60,-60,60,60,60,-60,60,60,60,-60,&1,##,
- 5=?5,-1=dl,{-2^60'-3^-35}:/*H,-3=?6,-4=dl,
- {-1^35'*-2^-60}:*/H,-2=?5,2:O,{3^25,7^-25}:?O,1:*/!,
- @-2,\*,O,66~zb,?6`.7,-1:O,#.5,-2:*/_,{*-3'-4'-5}:*/O!,8:*/_,5^-65:*/H,##,
- @9,\*,O,!zb,|,?6`.7,6:O,#.5,5:/*_,4:*/N?!
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Natamycin;MW:665.733;EXA:1
-:
-<-90,#1,60,60,-60,60,-60,60,-60,60,-60,60,60,60,O,-60,
- 60,60,-60,60,-60,60,-60,60,60,-60,&1,##,12--13=?6,
- 2'4'6'8'20=dl,11=zb,23:O,-2:/*OH,-3:*/COOH,
- 18=?3,-1=wb,-2=wf,-1:O,22:?O,24:*/_,{14^60'16}:*/OH,
- @10,*\^15,O,90,?6`.7,-1:O,#.5,-3'*-5:*/OH,-4:/*NH2,-2:/*_
-;
-%------------------------------------------------------------------------------
-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:/_,8:/*!'!dO,
- @-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}:/*_,##,
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Tilmicosin;MW:869.133;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'11:?O,6'10:/*_,14:/_,
- @-1,*\,-60,O,0~zb,?6`.7,-5:O,#.5,-1'-2:*/O!,-3:*/OH,-4:/*_,##,
- @7,\*,O,0,?6`.7,-5:O,#.5,-2:*/N?!,-1'-3:/*OH,-4:*/_,##,
- @8,\*,!2,?6`.7,-6:N,#.5,-2'-4:*/_
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Mirosamicin;MW:727.8791;EXA:1
-:
-<-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,
- @8,\*,O,0,?6`.7,-5:O,#.5,-2:*/N?!,-1:/*OH,-4:*/_,##,
- 5'13=dl,15=?3,-2=wf,-1=wb,-1:O,3:O,2:/*!,4'12:?O,7'9'*11:*/_,1:/*OH^-80,
- @1,*\,!,O,!wb,?6`.7,-5:O,#.5,-3:/*OH,-4:*/_,-1'-2:/O!
-;
-%------------------------------------------------------------------------------
-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:/?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:/?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:/?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
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Tiamulin;MW:493.74;EXA:1
-:
-<-45.5,?8,-3=?5, at 8,#.8,-210~zf,/_^60,45,56,##,&6~zb,
- {3^-45'5'8}:*/_, at 3,\*^30,!d,4:/*OH,11:?O,7:*/H^60,
- @1,15,O!,?O!2,S,60,60,-60,N?2,!2
-;
-%------------------------------------------------------------------------------
-CAT:antibiotics;EN:Rifampicin;MW:822.94;EXA:2
-:
-<30,Ph,6:/_^30,5:/OH,-6=?5,-3:O,-8=?6,-2'-4=dl,-1'-4:/OH,
- #1, at -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!, at -6,-30,O!,?O!,@$11,\,!d,N,!,|,?6,1:N,4:N?
-;
-%==============================================================================
-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:1
-:
-<30,Ph,6:/Cl, at 3,\,/?Cl?Cl!Cl,!Ph,-3:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:op-DDT;MW:354.49;EXA:-
-:
-<30,Ph,4:/Cl, at 3,\,/?Cl?Cl!Cl,!Ph,-3:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:pp-DDD;MW:320;EXA:-
-:
-<30,Ph,6:/Cl, at 3,\,/?Cl!Cl,!Ph,-3:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:pp-DDE;MW:318;EXA:-
-:
-<30,Ph,6:/Cl, at 3,\,//?Cl!Cl,!Ph,-3:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:XMC;MW:179.2;EXA:-
-:
-<30,Ph,1'5:/_, at 3,\,O!,?O!,NH!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Acrinathrin;MW:541.45;EXA:1
-:
-<-30,?3,{2^-35,*2^35}:*/_,
- @1,\,!d,!,?O,!O!,/?F?F!F,!,?F?F!F, at 3,\,?O,!O!,/CN,!Ph,-4:/O!'Ph>rl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Azaconazole;MW:300.139;EXA:1
-:
-<30,Ph,4'6:/Cl, at 3,\,!2,?5,-2'-4=dl,-2'-4'-5:N, at 7,?5,-1'-4:O
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Acetochlor;MW:269.769;EXA:1
-:
-<30,Ph,2:/_,4:/!, at 3,\,N,/?O!2'Cl,!2,O!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Atrazine;MW:215.7;EXA:1
-:
-<30,Ph,2'4'6:N,5:/Cl,1:/NH!2,3:/NH'!?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Alachrol;MW:269.8;EXA:1
-:
-<-30,!,O!2,N,/Ph'(-5'-1:/!),!,?O!2,Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Isoprcarb;MW:193.246;EXA:1
-:
-<30,Ph,2:/?!,3:/O!'?O!'NH!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Isoprothiolane;MW:290.4;EXA:1
-:
-<30,!?!,O!,?O!,//?5'(2'5:S),!?O,!O,!?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Iprobenfos;MW:288.34;EXA:1
-:
-<30,!?!,O!,P,?O,/O'!?!^170,!,S,!2,Ph
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Uninnazole-P;MW:291.779;EXA:1
-:
-<30,Ph,6:/Cl, at 3,\,!d,!,/OH,!,??!, at 8,\,|,?5,2'4=dl,1'2'4:N
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Esprocarb;MW:265.4;EXA:1
-:
-<30,Ph, at 3,\,!S!,?O!,N?2!,?!,?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Ethalfluralin;MW:333.3;EXA:1
-:
-<30,Ph,1'3:/NO2,5:/?F?F!F, at 2,\`1.1,/!,N,!2,/_,!d
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Ethofenprox;MW:376.5;EXA:1
-:
-<30,Ph, at 5,\,O,!Ph, at 10,\,O!3,??,!Ph,-3:/O!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Endrin;MW:380.91;EXA:1
-:
-<30,?6`1.3,3=?6,6=dl,9=?3,-1:O,
- @2,210~wf`1.5,&5~wb, at 7,210~zf`1.5,&10~zb,{1'2'5'6'12^-210'12^-150}:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Oxadiazon;MW:345.2;EXA:1
-:
-<30,Ph,4'6:/Cl,1:/O'!?!, at 3,\,|,?5,2=dl,1'2:N,4:O,5:?O,3:/??!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Oxadixyl;MW:278.3;EXA:1
-:
-<30,Ph,2'4:/_, at 3,\,N,!1,?O!2,O!, at 7,\,|,?5,1:N,2:O,5:?O
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Oxyfluorfen;MW:361.701;EXA:1
-:
-<30,Ph,6:/?F?F!F,4:/Cl, at 3,\,O,!Ph,-3:/NO2,-4:/O!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cafenstrole;MW:350.4;EXA:1
-:
-<30,Ph,2'4'6:/_, at 3,\,S?O?O,!,|,?5,2'5=dl,2'4'5:N,-2:/?O!'N?'!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Carfentrazone-ethyl;MW:412.19;EXA:1
-:
-<30,Ph,4:/F,6:/Cl, at 1,\,!,/Cl,!,?O!,O!2,
- @3,\,|,?5,4=dl,1'3'5:N,-4:?O,-3:/?F!F,-2:/_
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Carboxin;MW:235.301;EXA:1
-:
-<30,?6,3=dl,2:S,5:O,4:/_, at 3,\,?O,!NH!,Ph
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Quinoxyfen;MW:308.13;EXA:1
-:
-<30,Ph,4=Ph,10:N,2'6:/Cl, at 7,\,O,!Ph,-3:/F
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Quitozene;MW:295.3;EXA:1
-:
-<30,Ph,1'2'3'4'6:/Cl,5:/NO2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Kresoxim-Methyl;MW:313.348;EXA:1
-:
-<30,Ph, at 3,\,/?O!'O!,!d,N,!O!, at 4,\,!,O,!Ph,-1:/_
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Clomazone;MW:239.7;EXA:1
-:
-<30,Ph,2:/Cl, at 3,\,!,|,?5,1:N,2:O,-2:??,-1:?O
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chlorfenapyr;MW:407.62;EXA:1
-:
-<18,?5,3=dl,5=dl,2:N,4:/CN,5:/Br,1:/?F?F!F,2:/!O!2,3:/Ph'(-3:/Cl)
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chlorfenson;MW:303.153;EXA:1
-:
-<30,Ph, at 3,\,O!,S?O?O,!Ph,6'12:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chlorpropham;MW:213.7;EXA:1
-:
-<30,Ph,6:/Cl, at 4,\,NH!,?O!,O,!?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chlorbenside;MW:269.183;EXA:1
-:
-<30,Ph, at 3,\,S,!2,Ph,6'12:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chlorobenzilate;MW:325.2;EXA:1
-:
-<30,Ph, at 3,\,/OH^-35,/?O!'O!2^30>lr,!Ph,6'11:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chlorantraniliprole;MW:483.15;EXA:1
-:
-<30,Ph,1:/Cl,3:/_, at 5,\,?O,60,NH!, at 4,\,NH!,?O!,<24,?5,-1'-3=db,-3'-4:N,-2:/Br,
- @-4,24,Ph,-5:N,-1:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Azoxystrobin;MW:403.4;EXA:1
-:
-<30,Ph,2:/CN, at 3,\,O,!Ph,-1'-3:N, at -4,\,O,!Ph, at -5,\,/?O!'O!,!d,!O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Thiuram;MW:240.43;EXA:1
-:
-<30,!,N?!,//S,!,S,!,S,!,//S,!,N?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Probenazole;MW:223.25;EXA:1
-:
-<12,Ph,3=?5,9=dl,7:S,8:N,{7^35'7^-35}:?O,9:/O!2'!d
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Penflufen;MW:317.41;EXA:1
-:
-<30,Ph, at 3,\,NH!,?O!,?5,-1'-4=db,-2'-3:N,-2'-4:/_,-1:/F, at 4,\,/_,60,!?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:MCPA;MW:200.62;EXA:1
-:
-<30,Ph,1:/Cl,5:/_,4:/O!2'COOH
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Asulam;MW:230.2;EXA:1
-:
-<30,Ph,1:/NH2, at 3,\,S?O?O,!NH!,?O!,O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Imazosulfuron;MW:412.81;EXA:1
-:
-<-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:/_, at 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, at 3,\,S?O?O,!NH!,?O,!NH!,Ph,-2'-4:/O!,4:/?O!'O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Flupoxam;MW:460.8;EXA:2
-:
-<30,Ph,4:/Cl, at 1,\,?5,-2'-4=db,-2'-4'-5:N,-1:/Ph,-3:/?O!'NH2,
- @3,\,!,O!2,/F^35,/F^-35,!,?F?F!F
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cyanazine;MW:240.7;EXA:1
-:
-<30,Ph,2'4'6:N,5:/Cl,1:/NH!2,3:/NH!'??'!CN
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Diethofencarb;MW:267.3;EXA:1
-:
-<30,Ph, at 4,\,NH!,?O!,O,!?!,1'6:/O!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Diclofop-methyl;MW:341.2;EXA:1
-:
-<30,Ph,4'6:/Cl, at 3,\,O,!Ph, at -4,\,O,!?!,?O,!O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cyhalothrin;MW:449.86;EXA:1
-:
-<-30,?3,{2^-35'*2^35}:*/_, at 1,\,!d,/?F?F!F,!Cl,
- @3,\,?O,!O!,/CN,!Ph,-4:/O!'Ph>rl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cyhalofop-Buthyl;MW:357.381;EXA:1
-:
-<30,Ph,1:/CN,4:/F, at 3,\,O,!Ph, at -3,\,O,!?!,?O!,O,!4
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Diphenamid;MW:239.3;EXA:1
-:
-<30,Ph, at 3,\,!Ph,-5:/?O!'N?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cyfluthrin;MW:434.3;EXA:1
-:
-<-30,?3,{2^-35'*2^35}:*/_,
- @1,\,!d,/Cl,!Cl, at 3,\,?O,!O!,/CN,!Ph,-3:/F,-4:/O!'Ph>rl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Diflufenican;MW:394.29;EXA:1
-:
-<30,Ph,1'5:/F, at 4,\,NH!,?O,!Ph,6:N,-5:/O!'Ph'(-3:/?F?F!F)
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cyproconazole;MW:291.8;EXA:1
-:
-<30,?3, at 2,\,?!,/OH^30,-90,!,|,<-18,?5,2'4=dl,1'3'5:N,@$5,-30,Ph,-3:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cypermethrin;MW:416.3;EXA:1
-:
-<-30,?3,{2^-35'*2^35}:*/_, at 1,\,!d,/Cl,!Cl, at 3,\,?O,!O!,/CN,!Ph,-4:/O!'Ph>rl
-;
-%------------------------------------------------------------------------------
-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:Dimethametryn;MW:255.4;EXA:1
-:
-<30,Ph,2'4'6:N,5:/S!,1:/NH!2,3:/NH'!?!'?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Dimethenamid;MW:275.8;EXA:1
-:
-<-6,?5,3'5=dl,2:S,3'5:/_, at 4,\,N,!,?O!2,Cl,6:/?!2'O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Simetryn;MW:213.3;EXA:1
-:
-<30,Ph,2'4'6:N,5:/S!,1'3:/NH!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Dimepiperate;MW:263.4;EXA:1
-:
-<30,Ph, at 3,\,??,!S!,?O!,?6,-6:N
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Diazinon;MW:304.35;EXA:1
-:
-<30,!2,O!,P,//S,/O!2^160>rl,!O!,|,Ph,4'6:N,5:/_,3:/?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Thiobencarb;MW:257.776;EXA:1
-:
-<30,Ph,1:/Cl, at 4,\,!S!,?O!,N?2,!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Thiometon;MW:246.34;EXA:1
-:
-<-30,!O!,P,//S,/O!^160,!,S!3,S!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Thifluzamide;MW:528.08;EXA:1
-:
-<-12,?5,3'5=dl,2:S,5:N,3:/?F?F!F,1:/_,
- @4,\,?O,!NH!,<6,Ph,-5'-1:/Br,-3:/O!'?F?F!F
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Dieldrin;MW:380.895;EXA:1
-:
-<30,?6`1.2,3=?6,6=dl,9=?3,-1:O, at 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:Aldrin;MW:364.908;EXA:1
-:
-<30,?6`1.3,3=?6,6'9=dl,
- @2,210~wf`1.5,&5~wb, at 7,210~zf`1.5,&10~zb,{1'2'5'6'11^-210'11^-150}:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tecnazene;MW:260.879;EXA:1
-:
-<30,Ph,{1,3,4,6}:/Cl,5:/NO2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tetrachlorvinfos;MW:365.97;EXA:1
-:
-<-30,!O!,P,?O,/O!^160,!O!,/Ph'(2'4'5:/Cl),!d,!Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tetraconazole;MW:372.14;EXA:1
-:
-<-6,?5,2'5=dl,1'2'4:N, at 4,\,!3,O!,/F^35,/F^-35,!,?F!F,7:/Ph'(4'6:/Cl)
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tetradifon;MW:356.038;EXA:1
-:
-<30,Ph, at 3,\,S?O?O,!Ph,6'10'11'13:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Thenylchlor;MW:323.835;EXA:1
-:
-<6,?5,2'5=dl,4:S,2:/O!, at 3,\,!,N,7^-15:/Ph'(6'2:/_),!,?O!2,Cl,
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tebuconazole;MW:307.8;EXA:1
-:
-<36,?5,1'4=dl,1'3'5:N, at 3,30,!4,Ph,-3:/Cl,7^-30:/??!,7^30:/OH
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tebufenpyrad;MW:333.86;EXA:1
-:
-<6,?5,3'5=dl,1'2:N,4:/Cl,5:/!,2:/_, at 3,\,?O!,NH,!2,Ph,-3:/??!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tefluthrin;MW:418.736;EXA:1
-:
-<-30,?3,{2^-35'*2^35}:*/_, at 1,\,!d,/?F?F!F,!Cl, at 3,\,?O!,O!2,|,Ph,2'3'5'6:/F,4:/_
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Terbutryn;MW:241.4;EXA:1
-:
-<30,Ph,2'4'6:N,5:/S!,1:/NH!2,3:/NH!'??!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Terbufos;MW:288.42;EXA:1
-:
-<30,!2,O!,P,//S,/O!2^160>rl,!,S!2,S!,??!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Triadimefon;MW:293.8;EXA:1
-:
-<30,Ph,6:/Cl, at 3,\,O!2,?O!,??!, at 8,\,|,?5,2'4=dl,1'2'4:N
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Triazophos;MW:313.31;EXA:1
-:
-<30,!2,O!,P,//S,/O!2^160>rl,!O!,<-12,|,?5,2'5=dl,2'4'5:N,4:/Ph
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Triallate;MW:304.7;EXA:1
-:
-<-30,!?!,N,/?!,!,?O!,S!2,/Cl,!d,/Cl,!Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Dimethylvinphos;MW:331.52;EXA:1
-:
-<-30,!O!,P,?O,/O!^160,!O!,/Ph'(2'4:/Cl)`1,!d,!Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Trifluralin;MW:335.3;EXA:1
-:
-<30,Ph,1'3:/NO2,5:/?F?F!F, at 2,\,N,/!2,!3
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Napropamide;MW:271.4;EXA:1
-:
-<-30,Ph,4=Ph, at 10,\,O!,?!,?O!,N?2,!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Nitrothal-isopropyl;MW:295.3;EXA:-
-:
-<30,Ph,5:/NO2,1'3:/?O!'O!'?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Norflurazon;MW:303.7;EXA:-
-:
-<30,?6,1'5=dl,4'5:N,1:/NH!,3:?O,2:/Cl,4:/Ph'(3:/?F?F!F)
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Paclobutrazole;MW:293.795;EXA:-
-:
-<30,Ph,6:/Cl, at 3,\,!2,/OH,!,??!, at 8,\,|,?5,2'4=dl,1'2'4:N
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Picolinafen;MW:376.331;EXA:-
-:
-<30,Ph,5:/?F?F!F, at 3,\,O,!Ph,-5:N, at -4,\,?O,!NH!,Ph,-3:/F
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Bitertanol;MW:337.4;EXA:-
-:
-<30,Ph, at 3,\,Ph, at -3,\,O!2,/OH,!,??!, at 14,\,|,?5,2'4=dl,1'2'4:N
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Bifenox;MW:342.14;EXA:-
-:
-<30,Ph,4'6:/Cl, at 3,\,O,!Ph,-4:/?O!'O!,-3:/NO2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Bifenthrin;MW:422.88;EXA:-
-:
-<-30,?3,{2^-35'*2^35}:*/_,
- @1,\,!d,/Cl,!,?F?F!F, at 3,\,?O,!O!,-60,Ph,-1:/_,-2:/Ph
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyraflufen-ethyl;MW:413.174;EXA:-
-:
-<30,Ph,6:/Cl,4:/F, at 3,\,|,?5,1'4=dl,2'3:N,-3:/_,5:/Cl,
- @-2,\,O!,/F,!F,@$1,\,O!2,?O!,O!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyridaben;MW:364.9;EXA:-
-:
-<30,?6,2'4=dl,5'6:N,6:/??!,1:?O,2:/Cl, at -4,\,S,!2,Ph,-3:/??!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyridaphenthion;MW:340.34;EXA:1
-:
-<30,!2,O!,P,//S,/O!2^160>rl,!O!,|,?6,1'5=dl,2'3:N,4:?O,3:/Ph
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyributicarb;MW:330.4;EXA:1
-:
-<30,Ph,5:/??!, at 3,\,?O!,S!,N?!,Ph,-5:N,-4:/O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyriproxyfen;MW:321.5;EXA:1
-:
-<30,Ph, at 5,\,O,!Ph, at -3,\,O!2,?!,O,-60,Ph,-5:N
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyriminobac-Methyl;MW:361.354;EXA:-
-:
-<30,Ph,2:/O!'?O!, at 5,\,/_,!d,N,!O!, at 3,\,O!,|,Ph,2'6:N,3'5:/O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyrimethanil;MW:199.257;EXA:-
-:
-<30,Ph, at 3,\,NH!,|,Ph,2'6:N,3'5:/_
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyroquilon;MW:173.2;EXA:1
-:
-<30,Ph,3=?6,10:N,9:?O,11--4=?5
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Vinclozolin;MW:286.108;EXA:1
-:
-<36,?5,3:N,5:O,2'4:?O,1:/_^54,1:/!d^-30,3:/Ph'(3'5:/Cl)
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fipronil;MW:437.2;EXA:-
-:
-<30,Ph,2'4:/Cl,6:/?F?F!F, at 3,\,|,?5,2'4=dl,1'2:N,3:/CN,5:/NH2,-2:/S?O'!?F?F!F
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fenomiphos;MW:303.36;EXA:-
-:
-<30,!2,O!,P,?O,/NH'!?!^160,!,O,!Ph,-4:/_,-3:/S!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fenarimol;MW:331.2;EXA:-
-:
-<30,Ph, at 3,\,!Ph,4'11:/Cl,7:/OH^30,7^-30:/Ph'(3'5:N)
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fenothiocarb;MW:253.4;EXA:-
-:
-<30,Ph, at 3,\,O,!5,S,!,?O!,N?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fensulfothion;MW:308.35;EXA:-
-:
-<30,!2,O!,P,//S,/O!2^160>rl,!,O,!Ph,-3:/S'?O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fenitrothion;MW:277.23;EXA:-
-:
-<-30,!O!,P,//S,/O!^160,!,O,!Ph,-4:/_,-3:/NO2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Parathion-methyl;MW:263.2;EXA:-
-:
-<-30,!O!,P,//S,/O!^160,!,O,!Ph,-3:/NO2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Parathion;MW:291.3;EXA:-
-:
-<30,!2,O!,P,//S,/O!2^160>rl,!O,!Ph,-3:/NO2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fenthion;MW:278.33;EXA:-
-:
-<-30,!O!,P,//S,/O!^160,!O!,|,Ph,3:/_,4:/S!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Butamifos;MW:332.36;EXA:-
-:
-<-30,!2,?!,NH!,P,//S,/O!2^170>rl,!O!,|,Ph,2:/NO2,5:/_
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Phenthoate;MW:320.358;EXA:-
-:
-<-30,!O!,P,//S,/O!^160,!,S,!,/Ph,!,?O!,O!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Prothyophos;MW:329.18;EXA:-
-:
-<-30,!3,O!,P,//S,/O!2^160>rl,!O!,Ph,-5'-3:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Propaphos;MW:304.343;EXA:-
-:
-<-30,!3,O!,P,?O,/O!3^160>rl,!O!,Ph,-3:/S!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Profenofos;MW:373.6;EXA:-
-:
-<30,!2,O!,P,//S,/O!3^160>rl,!O,!Ph,-5:/Cl,-3:/Br
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Bromophos;MW:365.99;EXA:-
-:
-<-30,!O!, P,//S,/O!^160,!O!,|,Ph,3'6:/Cl,4:/Br
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Phosalone;MW:367.80;EXA:-
-:
-<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:Phosmet;MW:317.32;EXA:-
-:
-<-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:/O!2^160>rl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Malathion;MW:330.35;EXA:-
-:
-<-30,!O!,P,//S,/O!^160,!S!,/!?O!'O!2`1,!,?O!,O!2
-;
-%------------------------------------------------------------------------------
-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!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Mevinphos;MW:224.15;EXA:-
-:
-<-30,!O!,P,?O,/O!^160,!O,!?,!d,!,?O!,O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chlorpyrifos;MW:350.59;EXA:-
-:
-<30,!2,O!,P,//S,/O!2^160>rl,!O!,|,Ph,6:N,2'4'5:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chlorpyrifos-methyl;MW:322.53;EXA:-
-:
-<-30,!O!,P,//S,/O!^160>rl,!O!,|,Ph,6:N,2'4'5:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cadusafos;MW:270.386;EXA:-
-:
-<-30,!2,?!,S!,P,?O,/O!2^160>rl,!,S,!?,!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Dimethoate;MW:229.25;EXA:-
-:
-<-30,!O!,P,//S,/O!^160,!,S!2,?O,!NH!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tribufos;MW:314.50;EXA:-
-:
-<30,!4,S,!,P,?O,/S'!4^160>rl,!,S,!4
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tolclofos-methyl;MW:301.13;EXA:-
-:
-<-30,!O!,P,//S,/O!^160,!O!,|,Ph,2'6:/Cl,4:/_
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Piperophos;MW:353.48;EXA:-
-:
-<-30,!3,O!,P,//S,/O'!?!^160>rl,!,S!2,?O!,|,?6,1:N,6:/_
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyraclofos;MW:360.80;EXA:-
-:
-<30,!2,O!,P,?O,/S!3^160>rl,!O!,<-12,|,?5,1'4=dl,3'4:N, at -3,-12,Ph,-3:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyrazophos;MW:373.37;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:/?O!'O!2
-;
-%------------------------------------------------------------------------------
-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, at 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,!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,!d,!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, at 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}:/*_, at 3,\,?O,!O!,/CN,!Ph,-4:/O!'Ph>rl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fenpropimorph;MW:303.49;EXA:1
-:
-<30,?6,3:N,6:O,1'5:*/_, at 3,\,!?,!2,Ph,-3:/??!
-;
-%------------------------------------------------------------------------------
-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,/Ph'(-1'-5:/!)`1,!,?O!2,Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Bupirimate;MW:316.42;EXA:1
-:
-<30,Ph,4'6:N,1:/_, at 3,\,O!,S?O?O,!,N?!,2:/!3,5:/NH!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Buprofezin;MW:305.4;EXA:1
-:
-<-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, at 3,\,N,/?O!'Ph>rl,!?!,?O,!O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fluacrypyrim;MW:426.392;EXA:1
-:
-<30,Ph,4'6:N,1:/?F?F!F,5:/O'!?!, at 3,\,O!2,Ph, at -1,\,|,!d,!O!,1:/?O!'O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fluquinconazole;MW:376.2;EXA:1
-:
-<30,Ph,3=?6,8=dl,7'9:N,6:/F,10:?O, at 8,\,|,?5,2'4=dl,1'3'5:N,$9:/Ph'(4'6:/Cl)
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fludioxonil;MW:248.2;EXA:1
-:
-<30,Ph,5=?5,7'9:O,{8^-40'8^40}:/F, at 4,\,|,?5,2'5=dl,-2:NH,-4:/CN
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Flucythrinate;MW:451.5;EXA:1
-:
-<30,Ph, at 6,\,O!,/F,!,F, at 3,\,/?!,!,?O,!O!,/CN,!Ph,-4:/O!'Ph>rl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Flutolanil;MW:323.3;EXA:1
-:
-<30,Ph,2:/?F?F!F, at 3,\,?O,!NH!,Ph,-1:/O'!?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fluvalinate;MW:502.92;EXA:1
-:
-<30,Ph,5:/Cl,1:/?F?F!F, at 4,\,NH!,/?!,!,?O,!O!,/CN,!Ph,-4:/O!'Ph>rl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Flumioxazin;MW:354.337;EXA:1
-:
-<30,Ph,6:/F,3=?6,-1:O,-4:N,-3:?O, at -4,\,!,!t, at 1,\,|,?5,3=?6,3=dr,1:N,2'5:?O
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pretilachlor;MW:311.85;EXA:-
-:
-<30,Ph,2'4:/!, at 3,\,N,/?O!2'Cl`1,!3,O!3
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Procymidone;MW:284.136;EXA:-
-:
-?6,1:N, at 3,&5,2'6:?O,3'5:/_,1:/Ph'(3'5:/Cl)
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Propachlor;MW:211.689;EXA:-
-:
-<30,Ph, at 3,\,N,/?!,!,?O!2,Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Propazine;MW:229.7;EXA:1
-:
-<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:Propyzamide;MW:256.1;EXA:1
-:
-<30,Ph,1'5:/Cl, at 3,\,?O,!NH,!??!,!t
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Propiconazole;MW:342.22;EXA:-
-:
-<30,Ph,4'6:/Cl, at 3,\,!2,|,?5,2'4=dl,1'2'4:N,@$7,?5,-1'-4:O,-3:/!2^-15
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Prohydrojasmon;MW:254.37;EXA:-
-:
-<18,?5,2:?O,3:*/!4^-12,4:/*!?O!'O!3
-;
-%------------------------------------------------------------------------------
-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'!?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Bromobutide;MW:312.2;EXA:-
-:
-<30,Ph, at 3,\,??,!NH!,?O!,/Br,!??!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Bromopropylate;MW:428.12;EXA:-
-:
-<30,Ph, at 3,\,!Ph,6'11:/Br,7:/OH^-45, at 7,30,?O!,O,-60,?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Hexaconazole;MW:314.2;EXA:-
-:
-<36,?5,1'4=dl,1'3'5:N, at 3,30,!5,-4^30:/OH, at -5,-30,Ph,-3'-1:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Hexazinone;MW:252.31;EXA:-
-:
-<30,?6,3=dl,2'4'6:N,2:/_,1'5:?O,6:/?6,3:/N?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Benalaxyl;MW:325.4;EXA:-
-:
-<30,Ph, at 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:/_, at 7,\,?O!,/Cl,!Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Heptachlor;MW:373.35;EXA:1
-:
-<30,?6`1.3,3=?5,6'8=dl, at 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}:*/_, at 1,\,!d,/Cl,!Cl, at 3,\,?O!,O!2,Ph,-4:/O!'Ph>rl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Penconazole;MW:284.184;EXA:-
-:
-<30,Ph,4'6:/Cl, at 3,\,/!2,!2,|,<30,?5,2'4=dl,1'2'4:N
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pendimethalin;MW:281.3;EXA:-
-:
-<30,Ph,3'5:/NO2,1'2:/_, at 4,\,NH,!?,!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Benfluralin;MW:335.3;EXA:1
-:
-<30,Ph,1'3:/NO2,5:/?F?F!F,2:/N?2'!4
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Benfuresate;MW:256.3;EXA:1
-:
-<30,Ph,3=?5,7:O,9:??, at 6,\,O!,S?O?O,!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Bensulide;MW:397.5;EXA:1
-:
-<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, at 3,30,!,/CN^30,/Ph'(4:/Cl)^-30,!4
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Methoxychlor;MW:345.644;EXA:-
-:
-<30,Ph, at 3,\,!Ph,6'11:/O!,7:/?Cl?Cl!Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Metolachlor;MW:283.8;EXA:-
-:
-<30,Ph,5:/!,3:/_, at 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, at 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}:/?O!'O!2, at 4,-24,Ph,-3'-1:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Mepronil;MW:269.3;EXA:-
-:
-<30,Ph,2:/_, at 3,\,?O,!NH!,Ph,-2:/O'!?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Molinate;MW:187.3;EXA:1
-:
-<47,?7,3:N, at 3,\,?O!,S!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Resmethrin;MW:338.4;EXA:1
-:
-<-30,?3,{2^-35'*2^35}:*/_, at 1,\,!d,?!,3:/?O!'O!2,|,?5,3'5=dl,2:O,3:/!Ph
-;
-%------------------------------------------------------------------------------
-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:1
-:
-<30,Ph, at 6,\,O!,/F^35,/F^-35,!,Br, at 3,\,!??!,O!2,Ph,-2:/O!'Ph>rl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Paraquat;MW:257.16;EXA:1
-:
-Ph, at 4,\,Ph,1'10:N?,1:p_^-90,10:p_^90, at 1,@(0,1.2),Cl,n_^15,
- @10,@(0,1.2),Cl,n_^15
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Oxine-Copper;MW:351.852;EXA:1
-:
-Ph,4:N,5=Ph, at -4,\,O,-60,<90,Cu,-90,O,60,Ph,-2=Ph,10:N, at 4,&12~vf, at 23,&12~vf
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Endosulfan;MW:406.904;EXA:1
-:
-<26,?7,7=?6[13], at 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:1
-:
-<30,Ph,6:/Cl, at 3,\,!d,!,/OH,!??!, at 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
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Azoxystorbin;MW:403.394;EXA:1
-:
-<30,Ph,2:/CN, at 3,\,O,!Ph,-1'-3:N, at -4,\,O,!Ph, at -5,\,//!O!,!,?O!,O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Aramite;MW:334.859;EXA:-
-:
-<30,Ph,6:/??!, at 3,\,O!2,?!,O!,S,?O,!,O!3,Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Aldicarb;MW:190.3;EXA:-
-:
-<-30,!,S,!,??,!,!d,N,!O!,?O,!NH!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Aldoxycarb;MW:222.3;EXA:-
-:
-<30,!,?O,!NH!,O!,N,!d,!,??,!,S?O?O,!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Isoxaflutole;MW:359.319;EXA:-
-:
-<30,Ph,6:/?F?F!F, at 4,\,S?O?O,!, at 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:/_, at 3,\,!?!,NH!,?O!,??,!NH!,?O!,O,!?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Imazalil;MW:297.2;EXA:1
-:
-<-30,!,/Ph'(4'6:/Cl),!,O!2,!d, at 1,60,|,?5,2'4=dl,1'3:N
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Imidacloprid;MW:255.662;EXA:1
-:
-<30,Ph,1:N,6:/Cl, at 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:/!, at 8,-30,!2,Ph,-2:/Cl, at 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:/?O!'O!,
- @12,\,?O!,N,/?O!'O!,!Ph,-3:/O!'?F?F!F
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Oxamyl;MW:219.3;EXA:-
-:
-<-30,!,N?!,?O!,/S!,!d,N,!O!,?O!,NH!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Oryzalin;MW:346.4;EXA:-
-:
-<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, at 4,\,?O,!O!,NH!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Carpropamid;MW:334.665;EXA:-
-:
-<-30,?3,1:/_,{2^-35'*2^35}:*/Cl,3^70:/!, at 3,\,?O!,NH,!?!,Ph,-3:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cumyluron;MW:302.802;EXA:-
-:
-<30,Ph, at 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, at 7,\,O!2,?O!,O,!?,!5
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Clotianidin;MW:249.673;EXA:1
-:
-<6,?5,3'5=dl,2:S,5:N,1:/Cl, at 3,\,!NH!,/NH!,!d,N,!NO2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chromafenozide;MW:394.515;EXA:-
-:
-<30,?6,3=?6,5:O,7'9'11=dl,7:/_, at 8,\,?O,!NH!,N,/??!,!,?O,!Ph,-4'-3:/_
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Clomeprop;MW:324.2;EXA:-
-:
-<30,Ph,4'6:/Cl,5:/_, at 3,\,O,!?!,?O,!NH!,Ph
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chloridazon;MW:221.6;EXA:-
-:
-<30,?6,3'4:N,2'6=dl,5:?O,1:/NH2,6:/Cl,4:/Ph
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Chloroxuron;MW:290.745;EXA:-
-:
-<30,Ph,6:/Cl, at 3,\,O,!Ph, at -3,\,NH!,?O!,N?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cyazofamid;MW:324.783;EXA:-
-:
-<18,?5,2'5=dl,2'4:N,1:/Cl,3:/CN, at 4,\,S?O?O,!,N?!,5:/Ph'(4:/_)
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Diuron;MW:233.1;EXA:-
-:
-<30,Ph,1'6:/Cl, at 3,\,NH!,?O!,N?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Cyflufenamid;MW:412.36;EXA:-
-:
-<30,Ph,4^20:/?F?F!F,1'2:/F, at 3,\,!NH!,?O!2,Ph, at -10,\\,N,!,<-12,O!2,?3
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Diflubenzuron;MW:310.7;EXA:-
-:
-<30,Ph,2'4:/F, at 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
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Simeconazole;MW:293.417;EXA:-
-:
-<36,?5,1'3'5:N,1'4=dl, at 3,30,!,/OH^30,!2,Si,??!,7^-30:/Ph'(4:/F),
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Dimethirimol;MW:209.29;EXA:-
-:
-<30,?6,3'5=dl,1:?O,2:NH,3:/N?!,4:N,5:/_,6:/??!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Dimethomorph;MW:387.86;EXA:-
-:
-<30,?6,1:O,4:N, at 4,\,?O!,!d`1,/Ph'(4:/Cl),!,|,Ph,4'5:/O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Silafluofen;MW:408.588;EXA:-
-:
-<30,Ph, at 5,\,O,!Ph,-1:/F, at 10,\,!3,Si,??,!Ph,-3:/O!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Di-allate;MW:270.212;EXA:-
-:
-<-30,!?!,N,!,?O!,S,!2,!d,!Cl,3:/?!,7:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Daimuron;MW:268.4;EXA:-
-:
-<30,Ph, at 4,\,??,!NH!,?O,!NH!,Ph,-3:/_
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Thiacloprid;MW:252.72;EXA:-
-:
-<30,Ph,1:N,6:/Cl, at 3,\,!,<-12,|,?5,1:N,3:S,-4://N'!CN
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Thiabendazole;MW:201.247;EXA:-
-:
-<30,Ph,3=?5,8=dl,9:NH,7:N, at 8,\,|,?5,1'4=dl,3:S,5:N
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Thiamethoxam;MW:291.71;EXA:-
-:
-<30,?6,2:O,4'6:N,6:/_, at 5,\\,N,!NO2, at 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:/??!, at 3,\,N?!,?O,!NH!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tebufenozide;MW:352.5;EXA:-
-:
-<30,Ph,6:/!, at 3,\,?O,!NH!,N,/??!,!,?O,!Ph,-4'-2:/_
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Teflubenzuron;MW:381.1;EXA:-
-:
-<30,Ph,2'4:/F, at 3,\,?O,!NH!,?O,!NH!,|,Ph,3'5:/Cl,4'6:/F
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Tridemorph;MW:297.5;EXA:-
-:
-<30,?6,3:N,6:O,1'5:/_,3:/!12
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Triflumuron;MW:358.701;EXA:-
-:
-<30,Ph,4:/Cl, at 3,\,?O,!NH!,?O,!NH!,Ph,-2:/O!'?F?F!F
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Naproanilide;MW:291.35;EXA:-
-:
-<30,Ph,4=Ph, at 8,\,O,!?!,?O,!NH!,Ph
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Novaluron;MW:492.706;EXA:-
-:
-<30,Ph,2'4:/F, at 3,\,?O,!NH!,?O,!NH!,
- Ph,-4:/Cl, at -3,\,O!,/F^-35,/F^35,!,/F,!O!,?F?F!F
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pyraclostrobin;MW:387.817;EXA:-
-:
-<30,Ph, at 3,\,!O!,<12,|,?5,2'5=dl,4'5:N, at 4,12,Ph,-3:/Cl,||, at 2,\,N,/O!,!?O,!O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pirimicarb;MW:238.291;EXA:-
-:
-<30,Ph,1'5:N,2'3:/_,6:/N?!, at 4,\,O!,?O!,N?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fenoxycarb;MW:301.35;EXA:-
-:
-<30,Ph, at 5,\,O,!Ph, at -3,\,O!3,NH!,?O!,O!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fenobucarb;MW:207.3;EXA:-
-:
-<30,Ph,5:/?!2, at 4,\,O!,?O,!NH!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Ferimzone;MW:254.337;EXA:-
-:
-<30,Ph,4:/_, at 3,\,/_,!d,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, at 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:/_, at 3,-15,O,!Ph, at 4,\,!d,N!,O!2,Ph, at -3,\,?O,-60,O,!4
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Phenmedipham;MW:300.32;EXA:-
-:
-<30,Ph,5:/_, at 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,6:/?F?F!F,3:/Ph'(4:/Cl), at -2,\,?O,!O!,??,!,?O!,O!2,!d
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Flufenacet;MW:363.331;EXA:-
-:
-<6,?5,2'5=dl,1'2:N,4:S,5:/?F?F!F, at 3,\,O!,-60,?O!,N,/?!,!Ph,-3:/F
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Flufenoxuron;MW:488.77;EXA:-
-:
-<30,Ph,2'4:/F, at 3,\,?O,!NH!,?O,!NH!,Ph,-1:/F, at -3,\,O,!Ph,-3:/?F?F!F,-1:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Fluridone;MW:329.3;EXA:-
-:
-<30,?6,3'6=dl,2:N,2:/_,5:?O, at 4,\,Ph,-4:/?F?F!F,6:/Ph
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Propaquizafop;MW:443.884;EXA:-
-:
-<90,Ph,3=?6,8'10=dl,7'10:N,1:/Cl, at 8,\,O,!Ph, at -3,\,O,!?!,?O,!O,!3,O!,N,!dr,?!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Hexaflumuron;MW:461.14;EXA:-
-:
-<30,Ph,2'4:/F, at 3,\,?O,!NH!,?O,!NH!,|,Ph,3'5:/Cl, at 4,\,O!,/F^-35,/F^35,!,/F,!F
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Hexathiazox;MW:352.877;EXA:-
-:
-<30,?6, at 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, at 3,\,!N,/?5,!,?O,!NH!,Ph
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Bendiocarb;MW:223.228;EXA:-
-:
-<30,Ph,5=?5,7'9:O,8:??, at 4,\,O!,?O,!NH!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Pentoxazone;MW:353.774;EXA:-
-:
-<66,?5,5://?!,1:O,3:N,2'4:?O, at 3,\,|,Ph,4:/Cl,6:/F,3:/O!'?5
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Boscalid;MW:343.21;EXA:-
-:
-<30,Ph,5:N,4:/Cl, at 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, at 8,\,N?!,?O,!NH!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Methoxyfenozide;MW:368.48;EXA:-
-:
-<30,Ph,2:/_,1:/O!, at 3,\,?O,!NH!,N,/??!,!,?O,!Ph,-4'-2:/_
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Monolinuron;MW:214.6;EXA:-
-:
-<30,Ph,6:/Cl, at 3,\,NH!,?O!,N?!,O!
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Lactofen;MW:461.78;EXA:-
-:
-<30,Ph,4:/Cl,6:/?F?F!F, at 3,\,O,!Ph,-3:/NO2, at -4,\,?O!,O,!?!,?O!,O!2
-;
-%------------------------------------------------------------------------------
-CAT:pesticide;EN:Linuron;MW:249.1;EXA:-
-:
-<30,Ph,1'6:/Cl, at 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, at -3,\,O!,/F^35,/F^-35,!,/F,!,?F?F!F
-;
-%******************************************************************************
-CAT:antibacterial;EN:Sulfacetamide;MW:214.239;EXA:-
-:
-<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,?O!
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Sulfatiazole;MW:255.31;EXA:-
-:
-<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,?5,1'3=dl,2:N,5:S
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Chlopidol;MW:192.039;EXA:-
-:
-<30,Ph,1'3:/_,2:N,4'6:/Cl,5:/OH
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Sulfadiadine;MW:250.276;EXA:-
-:
-<30,Ph,1:/NH2, at 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
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:5-(Propylsulphonyl)-1-H-Benzimidazole-2-Amine;MW:239.29;EXA:-
-:
-<30,Ph,3=?6,8=dl,7:N,9:NH,6:/S!3,8:/NH2
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Sulfapyrizine;MW:249.288;EXA:-
-:
-<30,Ph,1:/NH2, at 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:N)'(4:N?)
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Sulfamerazine;MW:264.303;EXA:-
-:
-<30,Ph,1:/NH2, at 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'(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:N)'(4:N?)
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Ciprofloxacin;MW:331.347;EXA:-
-:
-<30,Ph,3=?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,3=?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:-
-:
-<30,Ph,3=?6,9=dl,7:N,6:/F,7:/?3,9:/COOH,10:?O,
- @1,\,|,?6, at 2,-200`1.1,&5,1'4:N,4:*/_
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Ormetoprim;MW:274.324;EXA:-
-:
-<30,Ph,1'5:N,2'6:/NH2, at 3,\,!,|,Ph,2:/_,4'5:/O!
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Sulfadimidine;MW:278.33;EXA:-
-:
-<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,Ph,2'4:N,3'5:/_
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Orbifloxacin;MW:395.382;EXA:-
-:
-<30,Ph,3=?6,9=dl,7:N,2'5'6:/F,7:/?3,9:/COOH,10:?O, at 1,\,|,?6,1:N,3'5:*/_,4:NH
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Sulfamethoxypyridazine;MW:280.302;EXA:-
-:
-<30,Ph,1:/NH2, at 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, at 1,\,?6,-6:N,-3:NH,7:/Ph'(4:/F)
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Difloxacin;MW:399.398;EXA:-
-:
-<30,Ph,3=?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, at 4,\,S?O?O,!NH!,|,Ph,2'4:N,3:/O!
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Sulfachlorpyridazine;MW:284.723;EXA:-
-:
-<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,Ph,5'6:N,4:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Sulfadoxine;MW:310.328;EXA:-
-:
-<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,Ph,4'6:N,2'3:/O!
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Sulfamethoxazole;MW:253.276;EXA:-
-:
-<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,?5,2'5=dl,4:O,5:N,3:/_
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Pirimethamin;MW:248.714;EXA:-
-:
-<30,Ph,6:/Cl, at 3,\,Ph,-2'-4:N,-1:/!,-3'-5:/NH2
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Oxibendazole;MW:249.27;EXA:-
-:
-<30,Ph,3=?5,9=dl,7:NH,9:N,1:/O!3,8:/NH!'COOH
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Oxolinic acid;MW:261.233;EXA:-
-:
-<30,Ph,3=?6,6=?5,9=dl,7:N,11'13:O,10:?O,7:/!,9:/COOH
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Sulfabenzamide;MW:276.31;EXA:-
-:
-<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,?O,!Ph
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Ethopabate;MW:237.255;EXA:-
-:
-<30,Ph,1:/NH!'?O!,3:/O!2,4:/?O!'O!
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Sulfadimethoxine;MW:310.33;EXA:-
-:
-<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,Ph,2'4:N,3'5:/O!
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Sulfaquinoxaline;MW:300.337;EXA:-
-:
-<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,Ph,-4=Ph,-5'-2:N
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Nalidixic acid;MW:232.239;EXA:-
-:
-<30,Ph,3=?6,9=dl,5'10:N,6:/_,7:?O,8:/COOH,10:/!
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Flubendazole;MW:313.288;EXA:-
-:
-<30,Ph,3=?5,9=dl,7:NH,9:N, at 1,\,O,!Ph,8:/NH!'?O!'O!
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Flumequine;MW:261.225;EXA:-
-:
-<30,Ph,3'(2--7)=?6,9=dl,7:N,6:/F,9:/COOH,10:?O,13:/_
-;
-%------------------------------------------------------------------------------
-34;CAT:antibacterial;EN:Sulfanitran;MW:335.334;EXA:-
-:
-<30,Ph, at 1,\,NH!,?O!, at 4,\,S?O?O,!NH!,Ph,-3:/NO2
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Xylazine;MW:220.334;EXA:-
-:
-<30,?6,3=dl,2:S,4:N, at 3,\,NH!,Ph,-5'-1:/_
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Famphur;MW:325.3;EXA:-
-:
-<-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:/?!'OH^-30>lr
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:2-acethylamino-5-nitrothiazole;MW:187.178;EXA:-
-:
-<18,?5,2'5=dl,2:N,4:S,3:/NH!'?O!,5:/NO2
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Chlorsulon;MW:380.66;EXA:-
-:
-<30,Ph,6:/NH2,1'3:/S?O?O'!NH2, at 4,\,/Cl,60~dl,/Cl,!Cl
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Florfenicol;MW:358.21;EXA:-
-:
-<30,Ph,1:/S?O?O!, at 4,\,/OH,!,/!F,!NH!,?O!,/Cl,!Cl
-;
-%------------------------------------------------------------------------------
-CAT:antibacterial;EN:Thiamphenicol;MW:356.22;EXA:-
-:
-<30,Ph,1:/S?O?O!, at 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'!t, at 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, at 4,\,??,!Ph,-4'-2:/Cl
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Pyrrolnitrin;MW:111;EXA:-
-:
-<30,Ph, at 3,\,?5,8'11=db,1'11:/Cl,9:NH,2:/NO2,
-;
-%******************************************************************************
-CAT:biological;EN:Okadaic acid;MW:805.00;EXA:2
-:
-<30,?6, at 4,?6, at -4,\,!3,<-12,?5, at -3,<-12,?6,-3=?6, at -3,*\,!3,
- ?6, at -4,?6, at 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, at -3,\,O,!Ph, at -4,\,O,!Ph, at -3,\,&1,
- @7,&26,@$1,60,60,NH,60,-60,Ph, at -1,\,Ph, at -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, at 13,*\,NH!,?O!,/??!,*/H^60,!z,NH!,
- @23,\,O,!z,|,?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,
-;
-%------------------------------------------------------------------------------
-CAT:biological;EN:Maitotoxin;MW:3425.86;EXA:2
-:
-<55.8,?6,-4=?7,-4'-3'-3'-3=?6, at -3,\,!3,?6,-4'-3'-3'-3=?6, at -3,\,?6,-3=?6,
- @-3,\,!3,60,<-30,?6,-3=?6, at -3,30,<30,?6,-3'-3=?6,-3=?7,-4'-3'-3=?6,
- @-2,\,?6,-3=?6,-3=?7,-3'-3=?6,-3=?8,-3=dl,-5'-3'-3'-3=?6,
- {5'7'15'16'23'24'32'40'41'48'49'58'59'72'73'82'83'90'91'99'
- 100'107'113'114'122'123'130'131'140'141'148'149}:O,
- {1^60'2'26'28'29'51'54'61'63'68'75^60'78'109}:*/OH,
- 11'20'35'45'52'55'65'69'86:/*OH,
- 3'8'13'17'21'33'38'42'56'70'84'92'101'106'111'128'138'142'146'150:/*H^-60,
- 4'14'22'34'39'43'*47'*57'*71'81'89'98'102'116'121'125'129'133:*/H^60,
- 6'46'50'53'60'67'74:*/H^-60,
- 9'18'85'93'112'139'143'147:*/_^60`1,80'88'97'*108'115'120'124:/*_^-60`1,
- @$6,\,|,!11,60~dr,-60,60,OH,*2'7'10:*/OH,1'3'*8:*/_,11://_,12:/_,
- @6,\,O,30,SO3Na,
- @$36,-45~zf,O,30,SO3Na,
- @$150,\,|,!7,1'2:/*OH,4:*/_,5:/*_,7=dl
-;
-%------------------------------------------------------------------------------
Deleted: trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf2graph.mp
===================================================================
--- trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf2graph.mp 2024-11-20 21:17:05 UTC (rev 72914)
+++ trunk/Master/texmf-dist/doc/metapost/mcf2graph/mcf2graph.mp 2024-11-20 22:09:01 UTC (rev 72915)
@@ -1,1722 +0,0 @@
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% mcf2graph ver 5.14 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,
-% including without limitation the rights to use, copy, modify, merge, publish, distribute,
-% sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
-% furnished to do so, subject to the following conditions:
-%
-% The above copyright notice and this permission notice shall be included in all copies
-% or substantial portions of the Software.
-%
-% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,EXPRESS OR IMPLIED,
-% INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE
-% 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 at gmail.com
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-message "* This is mcf2graph ver 5.14 2024.11.17";
-tracingstats:=1; prologues:=3; warningcheck:=0;
-%-------------------------------------------------------------------------------------------------
-newinternal string EN_;
-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[],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,save_mposition;
-%-------------------------------------------------------------------------------------------------
-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:= " "; forbiddens:=" &()[]{}^=;!'+,`~";
-for s="No","EN","JN","MW","MI","FM","CAT","CAS","USE","EXA","EXB": tag[incr tag_cnt]:=s; endfor
-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;
-%-------------------------------------------------------------------------------------------------
-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 +++ = ++;
-%-------------------------------------------------------------------------------------------------
-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;
-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;
-vardef Incr suffix $ == $:=$+1; $ enddef;
-%=================================================================================================
-default_library:="main_lib.mcf"; default_temp_file:="temp.mcf";
-mpfont:="uhvr8r"; atomfont:="draw"; defaultfont:=mpfont;
-%--default ahangle=45---------------------------------------------------------------------
-if ahangle=1: outputformat:="png"; hppp:=vppp:=0.12; % png format(600dpi)
-ef ahangle=11: outputformat:="png"; hppp:=vppp:=0.06; % png format(1200dpi)
-ef ahangle=2: outputformat:="eps"; % eps format(.eps)
-ef ahangle=3: outputformat:="eps"; % eps format(.mps)
-ef ahangle=45: outputformat:="svg"; % svg format *default
-fi
-%--default ahlength=4---------------------------------------------------------------------
-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(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";
-ef (outputformat="eps")and(ahangle=3): outputtemplate:="%j-%3c.mps";
-else: outputtemplate:="%j-%3c."&outputformat; fi
-%-----------------------------------------------------------------------------------------
-message "* jobname="&jobname;
-message "* numbersystem="&numbersystem;
-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
-clearit;
-%-------------------------------------------------------------------------------------------------
-ratio_chain_ring:=0.66; ratio_atom_bond:=0.36; ratio_thickness_bond:=0.015;
-ratio_thickness_char:=0.1; ratio_char_bond:=1.5; ratio_bondgap_bond:=0.15;
-ratio_hashgap_bond:=0.12; ratio_hash_black:=0.4; ratio_wedge_bond:=0.12; ratio_atomgap_atom:=0.04;
-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);
-ahangle:=45; ahlength:=4; defaultsize:=8; defaultscale:=1; labeloffset:=3; ext_defaultline:=0.5;
-lonepairdiam:=lonepairspace:=circlediam:=circlepen:=bboxmargin:=0; mc_length:=100;
-outputformatoptions:="";
-%=================================================================================================
-pcode_emb_start:=1001; % 1001 => 1900 for embedded pcode (max 900)
-pcode_emi_start:=1901; % 1901 => 2000 for embedded internal pcode (max 100)
-pcode_usr_start:=2001; % 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,
- _get_len,_ring_len,_tmp_len,_rot_ang,_adj_ang,_chg_env,_tmp_env,_set_colorA,_set_colorB,
- _group_si,_group_dm,_group_wf,_group_zf,_set_adr,_mk_bond,_set_atom,_arrange_ang,_chg_atom,
- _tmp_rot,_fuse,_fuse_di,_size_atom,_numeric,_numeric_inv,_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_);
-%-------------------------------------------------------------------------------------------------
-def parameter_list=
- sw_numbering,sw_expand,sw_output,sw_ext_all,sw_frame,sw_trimming,sw_abbreviate,ratio_atom_bond,
- ratio_thickness_bond,ratio_char_bond,ratio_chain_ring,ratio_bondgap_bond,ratio_hash_black,
- 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
-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;
-%-------------------------------------------------------------------------------------------------
-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
-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
- endfor
-enddef;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-def beginfigm=
- begingroup
- 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[],
- wdM[],htM[],chargeA[],addA[],add_rot[];
- pair posA[],posM[][];
- string mi,no,fm,mw,firstc,filter_s;
- picture mol_pic[];
- color color_list[];
- %-----------------------------------------------------------------------------------------------
- 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:=err_cnt:=0;
- let ext=ext_to_fig; let add=add_to_molecule; let ++=add_to_molecule; let **=ext_to_fig;
- def '' = define_parts 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 s) = define_group_string(s)() enddef; def `` = define_group_string 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;
- 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):
- if EN<>"-": EN_:=forbidden_to_underbar(EN); fi
- beginfig(fig_num)
- %------------------------------------------------------------------------------------------
- if sw_ext_all=1: ext_to_fig(EXT_ALL); fi
- if sw_trimming>=1:
- nA:=nC:=4095; nB:=nD:=-4095;
- for i=1 upto cntM:
- if xpart(posM[1][i])<nA: nA:=xpart(posM[1][i]); fi
- if xpart(posM[2][i])>nB: nB:=xpart(posM[2][i]); fi
- if ypart(posM[1][i])<nC: nC:=ypart(posM[1][i]); fi
- if ypart(posM[2][i])>nD: nD:=ypart(posM[2][i]); fi
- endfor
- fig_wd:=nB-nA+2xpart(fmargin); fig_ht:=nD-nC+2ypart(fmargin); fsize:=(fig_wd,fig_ht);
- for i=1 upto cntM:
- posM[0][i]:=posM[0][i]+fmargin-(nA,nC); posM[1][i]:=posM[1][i]+fmargin-(nA,nC);
- endfor
- fi
- %----------------------------------------------------------------------------------------
- if scan_bit(sw_frame,Outside): draw_frame((0,0),fsize,thickness_frame);
- 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;
- if scan_bit(sw_frame,Mol): ext(draw_frame(p[i],(w[i],h[i]),thickness_frame)) fi
- endfor
- if f_ext=1: addto currentpicture also mol_pic[0]; mol_pic[0]:=nullpicture; fi
- %-----------------------------------------------------------------------------------------
- endfig;
- clearit;
- 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
- %---------------------------------------------------------------------------------------------
- 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;
- 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;
- message EN;
-enddef;
-%=================================================================================================
-def readm(text s)=
- save fw_n,bw_n;
- for list=s:
- fw_n:=scan_char(" ",list,1,1)-1; bw_n:=scan_char(" ",list,-1,1);
- mc_indent[incr mc_row]:=fw_n; mc[mc_row]:=substring(fw_n,bw_n) of list; mc:=mc&mc[mc_row];
- endfor
-enddef;
-%=================================================================================================
-def getm(expr a)=if string a: read_unit(get_adr("EN",a)) ef numeric a: read_unit(a) fi enddef;
-%-------------------------------------------------------------------------------------------------
-def read_unit(expr n)=
- save nF; nF:=0;
- if (n>=1)and(n<=ucount):
- for i=1 upto info[n]:
- for j=1 upto tag_cnt: if lib_tag[n][i]=tag[j]: scantokens(tag[j]):=lib_val[n][i]; fi endfor
- endfor
- for i=1 upto unit_lines[n]:
- temps:=row[n][i]; firstc:=subc(1,temps); exitif firstc=";";
- 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;
- 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;
- ef nF=4: ad_indent[incr ad_row]:=fw_n; ad[ad_row]:=temps; ad:=ad&temps;
- fi
- fi
- endfor
- fi
-enddef;
-%=================================================================================================
-vardef get_adr(expr t,v)=
- save adr_n; adr_n:=0;
- for n=1 upto ucount:
- for i=1 upto info[n]:
- for j=1 upto tag_cnt: if (lib_tag[n][i]=t)and(lib_val[n][i]=v): adr_n:=n; fi endfor
- exitif adr_n>=1;
- endfor
- endfor
- message if adr_n>1: "* found [" else: "* not found [" fi &v&"]"&"("&decimal(adr_n)&")";
- adr_n
-enddef;
-%-------------------------------------------------------------------------------------------------
-def putm=
- if op_row>=1: scantokens(op) fi
- if mc_row>=1: if checkm(mc)=0: drawm(scantokens(mc)) fi fi
- if ad_row>=1: add(scantokens(ad)) fi
- if ex_row>=1: ext(scantokens(ex)) fi
-enddef;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-vardef define_parts(text t)= pcode_num:=pcode_num+1; read_mcf(pcode_num)(t); 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_quot b = add_parts(a,b) enddef;
-primarydef a bond__bond b = (a,b) enddef;
-primarydef a bond___bond b = (a+2000,b) enddef;
-primarydef 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;
-tertiarydef a op_til b = if known b:: (_tmp_line,b),a else:: _nop,a fi enddef;
-tertiarydef a op_lth b = if known b:: (_tmp_env,b),a else:: _nop,a fi enddef;
-tertiarydef a op_bqu b = if known b:: (_tmp_len,b),a else:: _nop,a fi enddef;
-def rot_angle primary n = (_rot_ang,n) enddef; def cyc_atom primary n = (_cyc,n) enddef;
-def jump_atom_abs primary a =
- if numeric a:: (_jp_atom,$a) ef pair a:: (_jp_atom,$1),<$0,angle(a)~0`length(a),<$0 fi enddef;
-def jump_atom primary a =
- if numeric a:: (_jp_atom,a) ef pair a:: <$0,angle(a)~0`length(a),<$0 fi enddef;
-def chg_length primary n = (_com,_len_s),(_chg_len,n) enddef;
-def group_si secondary n = if known n:: (_group_si,n) else:: _nop fi enddef;
-def group_dm secondary n = if known n:: (_group_dm,n) else:: _nop fi enddef;
-def group_wf secondary n = if known n:: (_group_wf,n) else:: _nop fi enddef;
-def group_zf secondary n = if known n:: (_group_zf,n) else:: _nop fi enddef;
-def group_wv secondary n = /n~wv enddef; def group_nb secondary n = /n~nb enddef;
-%=================================================================================================
-def read_mcf(expr n)(text t)=
- begingroup
- if unknown inside_mc::
- save /,//,*,/*,*/,**,*/*,~,^,`,',<,>,:,=,\,\\,*\,\*,*\*,@,@$,$,&,&$,#,##,{,},|,||,_,
- --,---,----,CP,CA,CC,DL,FR,inside_mc;
- inside_mc:=1; | :=mark_adress; || :=reset_adress; ##:=reset_length; _:=NO_ATOM;
- \:=0; \\:=zero_dm; *\:=zero_wf; \*:=zero_zf; *\*:=zero_wv; let ' == op_quot;
- 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;
- 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; 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_adress( enddef;
- def * primary p == (_numeric_inv,p) enddef;
- fi
- %----------------------------------------------------------------------------------------------
- pcode_cnt[n]:=0;
- for list==t::
- if known list::
- if pair list::
- pcode_com[n][Incr 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>=pcode_emb_start:: expand_pcode(n,list);
- else:: pcode_com[n][Incr pcode_cnt[n]]:=_mk_bond; pcode_par[n][pcode_cnt[n]]:=list;
- fi
- fi
- else:: message "unknown command in "AND decimal(n);
- fi
- endfor
- 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_com[n][Incr pcode_cnt[n]]:=pcode_com[a][i];
- pcode_par[n][pcode_cnt[n]]:=pcode_par[a][i];
- fi
- endfor
- else:: pcode_com[n][Incr pcode_cnt[n]]:=a;
- fi
-enddef;
-%-------------------------------------------------------------------------------------------------
-vardef read_adress(text t)=
- save :,';
- let ' == , ; let : == from_until;
- 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(pcode_int);
- else:: pcode_com[pcode_int][Incr nA]:=_numeric; pcode_par[pcode_int][nA]:=list;
- fi
- ef pair list::
- if xpart(list)==_from:: nB:=ypart(list);
- ef xpart(list)==_until::
- for i==nB upto ypart(list)::
- pcode_com[pcode_int][Incr nA]:=_numeric; pcode_par[pcode_int][nA]:=i; endfor
- else:: pcode_com[pcode_int][Incr nA]:=xpart(list); pcode_par[pcode_int][nA]:=ypart(list);
- fi
- fi
- else:: message "unknown command in "AND decimal(pcode_int);
- fi
- endfor
- pcode_cnt[pcode_int]:=nA; pcode_int
-enddef;
-%-------------------------------------------------------------------------------------------------
-vardef add_parts(expr a,b)=
- if (pair a)and(pair b)::
- pcode_com[Incr pcode_int][1]:=xpart a; pcode_par[pcode_int][1]:=ypart a;
- pcode_com[Incr pcode_int][2]:=xpart b; pcode_par[pcode_int][2]:=ypart b;
- pcode_cnt[pcode_int]:=2;
- elseif pair a::
- pcode_com[Incr pcode_int][1]:=xpart a; pcode_par[pcode_int][1]:=ypart a;
- if b>=pcode_emb_start:: pcode_com[pcode_int][2]:=b;
- else:: pcode_com[pcode_int][2]:=_numeric; pcode_par[pcode_int][2]:=b;
- fi
- pcode_cnt[pcode_int]:=2;
- elseif pair b::
- if a>=pcode_int_start::
- pcode_com[a][Incr pcode_cnt[a]]:=xpart b; pcode_par[a][pcode_cnt[a]]:=ypart b;
- elseif a>=pcode_emb_start::
- pcode_com[Incr pcode_int][1]:=a;
- pcode_com[pcode_int][2]:=xpart b; pcode_par[pcode_int][2]:=ypart b; pcode_cnt[pcode_int]:=2;
- else::
- pcode_com[Incr pcode_int][1]:=_numeric; pcode_par[pcode_int][1]:=a;
- pcode_com[pcode_int][2]:=xpart b; pcode_par[pcode_int][2]:=ypart b; pcode_cnt[pcode_int]:=2;
- fi
- elseif (a LT pcode_emb_start)and(b LT pcode_emb_start)::
- pcode_com[Incr pcode_int][1]:=_numeric; pcode_par[pcode_int][1]:=a;
- pcode_com[pcode_int][2]:=_numeric; pcode_par[pcode_int][2]:=b; pcode_cnt[pcode_int]:=2;
- elseif (a>=pcode_int_start)and(b LT pcode_int_start)::
- if b>=pcode_emb_start:: pcode_com[a][Incr pcode_cnt[a]]:=b;
- else:: pcode_com[a][Incr pcode_cnt[a]]:=_numeric; pcode_par[a][pcode_cnt[a]]:=b;
- fi
- else:: pcode_com[Incr pcode_int][1]:=a; pcode_com[pcode_int][2]:=b; pcode_cnt[pcode_int]:=2;
- fi
- pcode_int
-enddef;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-def fuse_ring(expr a,b) =
- 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) 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) 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:: pcode_int:=pcode_int+1; nC:=0;
- if numeric b::
- if (b>=si)and(b<=bd_)::
- if a>=pcode_int_start::
- for i==1 upto pcode_cnt[a]::
- if pcode_com[a][i]==_numeric:: CA(_set_line,b,pcode_par[a][i])
- elseif pcode_com[a][i]==_numeric_inv::
- if b==dl:: CA(_set_line,dr,pcode_par[a][i])
- ef b==dr:: CA(_set_line,dl,pcode_par[a][i]) fi
- fi
- endfor
- else:: CP(_set_adr,a) CP(_set_line,b)
- fi
- elseif (b>=?3)and(b<=?8[15])::
- if numeric a::
- 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 (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 (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) 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 (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
- 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:: pcode_int:=pcode_int+1; nC:=0;
- if numeric b::
- if (b GT pcode_emb_start)and(b<=pcode_atm_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==?O:: CC(_group_s) CA(_group_dm,O,a) CC(_group_e)
- ef b==?NH:: CC(_group_s) CA(_group_dm,NH,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::
- CC(_group_s)
- if a>=pcode_emb_start::
- for i==1 upto pcode_cnt[a]::
- if pcode_com[a][i]==_numeric:: CA(xpart(b),ypart(b),pcode_par[a][i])
- elseif pcode_com[a][i]==_numeric_inv::
- if xpart(b)==_group_wf:: CA(_group_zf,ypart(b),pcode_par[a][i])
- ef xpart(b)==_group_zf:: CA(_group_wf,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
- 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 pcode_add(expr c,p)= pcode_com[pcode_int][Incr 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;
- 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,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[];
- def plus = circled_plus_add enddef; def minus = circled_minus_add enddef;
- def lonepair = lone_pair_add enddef;
- ext_setup;
- w:=mol_wd; h:=mol_ht; l:=blen; aw:=atom_wd; p0:=(minX,minY);
- 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
- 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
- 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,__,#,<<,=>,/*;
- pair __,p[];
- ext_setup;
- w:=xpart(fsize); h:=ypart(fsize);
- w0:=w-2xpart(fmargin); h0:=h-2ypart(fmargin); p0:=fmargin; aw:=atom_wd; n:=cntM;
- for i=1 upto n: p[i]:=posM[1][i]; w[i]:=wdM[i]; h[i]:=htM[i]; endfor
- t addto mol_pic[0] also currentpicture; clearit; f_ext:=1;
- endgroup;
-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;
-%-------------------------------------------------------------------------------------------------
-vardef circled_minus_add= nA:=circlediam; nB:=circlepen;
- 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;)
-enddef;
-%=================================================================================================
-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,
- 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[];
- pair cpos,tpos,raise_pos,posBs,posBe,pA,Ls,Le;
- path frameA[],zA,zL;
- %-----------------------------------------------------------------------------------------------
- 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_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;
- else:
- blen:=3mm;
- proc_size_setup;
- if xpart(msize)<1: m_wd:=fig_wd*xpart(msize); else: m_wd:=fig_wd; fi
- if ypart(msize)<1: m_ht:=fig_ht*ypart(msize); else: m_ht:=fig_ht; fi
- for i=1 upto 6:
- proc_skeleton(0); proc_scaling;
- if (mol_ht/mol_wd)>(m_ht/m_wd):
- if ypart(msize)>1: factor:=ypart(msize)/mol_ht;
- else: factor:=((fig_ht-2ypart(fmargin))*ypart(msize))/mol_ht; fi
- else:
- if xpart(msize)>1: factor:=xpart(msize)/mol_wd;
- else: factor:=((fig_wd-2xpart(fmargin))*xpart(msize))/mol_wd; fi fi
- exitif (factor>=1-eps)and(factor<=1+eps); blen:=blen*factor; proc_size_setup;
- endfor
- if blen>max_blength: blen:=max_blength; proc_size_setup; proc_skeleton(0); proc_scaling; fi
- fi
- %-----------------------------------------------------------------------------------------------
- for i=1 upto cntA:
- 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
- %===============================================================================================
- if scan_bit(sw_output,Fig):
- %-draw atom-----------------------------------------------------------------------------------
- if sw_numbering=0: for i=1 upto cntA: if strA[i]<>0: draw_atom(i); fi endfor fi
- %-draw add to atom----------------------------------------------------------------------------
- if (not scan_bit(sw_numbering,Atom))and(not scan_bit(sw_numbering,Bond)):
- for i=1 upto cntA:
- if addA[i]<>0: draw_char(char(addA[i]),sfrt(posA[i],atom_wd,angX[i]+add_rot[i])); fi
- endfor
- fi
- %-draw bond-----------------------------------------------------------------------------------
- for i=1 upto cntB: if lineB[i]<si_ : draw_bond(i); fi endfor
- for i=1 upto cntB: if lineB[i]>=si_: draw_bond(i); fi endfor
- %-atom numbering------------------------------------------------------------------------------
- if scan_bit(sw_numbering,Atom):
- for i=1 upto cntA:
- if (i>=numbering_start)and(i<=numbering_end):
- defaultscale:=.18blen/defaultsize; nH:=1.2defaultsize*defaultscale;
- if i<=9: nW:=nH; ef i<=99: nW:=1.3nH; else: nW:=1.9nH; fi
- erase fill unitsquare xscaled nW yscaled nH shifted (posA[i]-(nW/2,nH/2));
- draw unitsquare xscaled nW yscaled nH shifted (posA[i]-(nW/2,nH/2)) wpcs 0.1;
- label(decimal(i),posA[i]);
- fi
- endfor
- fi
- %-bond numbering------------------------------------------------------------------------------
- if scan_bit(sw_numbering,Bond):
- for i=1 upto cntB:
- if (i>=numbering_start)and(i<=numbering_end):
- defaultscale:=.18blen/defaultsize; nH:=1.2defaultsize*defaultscale;
- if i<=9: nW:=nH; ef i<=99: nW:=1.3nH; else: nW:=1.9nH; fi
- nH:=defaultsize*defaultscale; tpos:=.5[posA[sB[i]],posA[eB[i]]];
- 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
- endfor
- fi
- %---------------------------------------------------------------------------------------------
- if xpart(mposition)>1: nX:=xpart(mposition)-minX;
- 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); 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;
- fi
- if sw_output>=Calc: proc_calc(0); fi
- endgroup;
-enddef;
-%-------------------------------------------------------------------------------------------------
-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]:
- 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(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;
-%-------------------------------------------------------------------------------------------------
-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;
-%-------------------------------------------------------------------------------------------------
-def proc_size_setup=
- atom_wd:= blen*ratio_atom_bond+offset_atom;
- wedge_wd:= blen*ratio_wedge_bond+offset_wedge;
- hash_gap:= blen*ratio_hashgap_bond+offset_hash_gap;
- bondgap:= blen*ratio_bondgap_bond+offset_bond_gap;
- bond_pen_wd:= blen*ratio_thickness_bond+offset_thickness;
-enddef;
-%-------------------------------------------------------------------------------------------------
-def proc_scaling=
- minX:=minY:=4095; maxX:=maxY:=-4095;
- for i=1 upto cntA:
- nX:=xpart(posA[i]); nY:=ypart(posA[i]);
- if strA[i]<>0:
- 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
- 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
- if (nX+nR-.5atom_wd)>maxX: maxX:=nX+nR-.5atom_wd; fi
- if (nY-nD-.5atom_wd)<minY: minY:=nY-nD-.5atom_wd; fi
- if (nY+nU+.5atom_wd)>maxY: maxY:=nY+nU+.5atom_wd; fi
- else: if nX<minX: minX:=nX; fi if nX>maxX: maxX:=nX; fi
- if nY<minY: minY:=nY; fi if nY>maxY: maxY:=nY; fi
- fi
- endfor
- mol_wd:=maxX-minX; mol_ht:=maxY-minY;
-enddef;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-def proc_bond_atom(expr a)(expr n)=
- f_bra:=f_term:=rotT:=f_lineT:=f_rotT:=f_lenT:=f_envT:=envT:=envB:=temp_strA:=f_at:=0;
- bondL:=rate_cr; lenT:=rate_cr; sB[0]:=0; eB[0]:=1; lineT:=si;
- addAT:=markA:=markB:=saveA:=saveB:=0;
- %-----------------------------------------------------------------------------------------------
- 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,_mark)
- 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
- if nP<>NO_ATOM:
- for i=1 upto pcode_cnt[nP]: store_group(pcode_com[nP][i],pcode_par[nP][i]) endfor
- fi
- store_group(_com,_len_e) store_group(_chg_env,hz) store_group(_com,_term)
- store_group(_com,_rest)
- 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: 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;
-%-------------------------------------------------------------------------------------------------
-def check_adrA(expr n)=
- if (n>iif(f_term=0,cntA+1,cntA))or(n<=0): errmessage("cntA=[ "&decimal(n)&" ]"); fi enddef;
-def check_adrB(expr n)= if (n>cntB)or(n<=0): errmessage("cntB=[ "&decimal(n)&" ]"); fi enddef;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-def proc_skeleton(expr n)=
- markA:=markB:=cntA:=cntB:=f_bra:=rotT:=f_term:=0;
- 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 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;
-%-------------------------------------------------------------------------------------------------
-def add_bond(expr n,f)=
- if n=_arrange_ang: nA:=arrange_ang(angT mod 360); else: nA:=n; fi
- if f_bra=0:
- adrT:=incr cntA; posA[cntA]:=posBs; angA[cntA]:=angT;
- angX[cntA]:=(angT+nA/2+iif(nA>=0,-90,90)) mod 360;
- else: f_bra:=0; fi
- cntB:=cntB+1;
- if nA>-3700: angB[cntB]:=angT:=(angT+nA) mod 360; else: angB[cntB]:=angT:=nA+4095; fi
- if f=1:
- if lenB[cntB]=_size_atom: posBe:=sfrt(posBs,atom_wd,angT);
- else:
- nA:=lenB[cntB]; if nA<0: nB:=glu_atom(adrT)+glu_atom(cntA+1); nA:=abs(nA); else: nB:=0; fi
- posBe:=sfrt(posBs,nA*blen+nB,angT); fi
- posA[cntA+1]:=posBe; f_term:=0;
- else: f_term:=1; fi
- posBs:=posBe;
-enddef;
-%-------------------------------------------------------------------------------------------------
-vardef arrange_ang(expr n)=
- if cntB=0: angT:=(angT-180) mod 360; 180
- else: if envB>=pcode_emb_start: pcode_par[envB][cntB-temp_cntB]
- 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
-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;
-%=================================================================================================
-vardef getA(expr n)= if n>=0: markA+n ef n>=-999: cntA+n+1 else: n+4095 fi enddef;
-vardef getB(expr n)= if n>=0: markB+n ef n>=-999: cntB+n+1 else: n+4095 fi enddef;
-%-------------------------------------------------------------------------------------------------
-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
-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
-enddef;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-def draw_atom(expr n)=
- if atomfont<>"draw": defaultfont:=atomfont; defaultsize:=atom_wd; fi
- temps:=str_tbl[strA[n]]; slen:=length(temps); nC:=nS:=0; raise_pos:=(0,0); tpos:=posA[n];
- if (angX[n]<=90)or(angX[n]>=270): sdir:=1; else: sdir:=-1; fi
- 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
- 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));
- ef (tempc<>"{")and(tempc<>"}"):
- nS:=nS+1; char_wd:=atom_wd*tbl_char_wd[ASCII(tempc)]; char_ht:=atom_wd;
- if nS=1: if (sdir=-1)and(char_wd<atom_wd): tpos:=tpos+((atom_wd-char_wd)/2,0); fi
- else: tpos:=tpos+(.5char_wd*sdir,0); fi
- tcol:=colorA[n]; f_col:=0;
- 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
- 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
- if scan_bit(sw_frame,Atom): draw frameA[n] wpcs thickness_frame; fi
-enddef;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-def draw_bond(expr n)=
- nL:=lineB[n]; angL:=angB[n]; nS:=sB[n]; nE:=eB[n]; f_col:=0;
- tcol:=colorB[n]; zL:=posA[nS]--posA[nE]; ww:=wedge_wd; ap:=angL+90; am:=angL-90; aw:=atom_wd;
- %-----------------------------------------------------------------------------------------------
- if (strA[nS]=0)and(strA[nE]=0)or(sw_numbering>=1):
- Ls:=posA[nS]; Le:=posA[nE]; pA:=(.1,.9);
- ef strA[nS]=0: Ls:=posA[nS]; Le:=zL ISP frameA[nE]; pA:=(.15,1);
- ef strA[nE]=0: Ls:=zL ISP frameA[nS]; Le:=posA[nE]; pA:=(0,.85);
- else: Ls:=zL ISP frameA[nS]; Le:=zL ISP frameA[nE]; pA:=(0,1); fi
- zA:=Ls--Le; lenL:=length(Le-Ls);
- %-----------------------------------------------------------------------------------------------
- if known tcol: if tcol<>0: drawoptions(withcolor color_list[tcol]); f_col:=1;fi fi
- pickup pencircle scaled bond_pen_wd;
- if (nL=si)or(scan_bit(sw_abbreviate,Bond)): draw zA;
- ef nL=dl: draw zA; draw sfrt(subpath pA of zA,bondgap,ap);
- ef nL=dr: draw zA; draw sfrt(subpath pA of zA,bondgap,am);
- ef nL=dm: draw sfrt(zA,bondgap/1.75,ap); draw sfrt(zA,bondgap/1.75,am);
- ef nL=db: nA:=iif(((angL-angX[nS]) mod 360)<=180,ap,am);
- draw zA; draw sfrt(subpath pA of zA,bondgap,nA);
- ef nL=tm: draw zA; draw sfrt(zA,bondgap,ap); draw sfrt(zA,bondgap,am);
- ef nL=wf: fill Ls--sfrt(Le,ww,am)--sfrt(Le,ww,ap)--cycle;
- ef nL=wb: fill sfrt(Ls,ww,am)--Le--sfrt(Ls,ww,ap)--cycle;
- ef nL=bd: draw zA withpen penrazor rotated ap scaled bondgap;
- ef nL=bz: bz_put(sfrt(Ls,ww,ap),sfrt(Le,ww,ap),sfrt(Ls,ww,am),sfrt(Le,ww,am));
- ef nL=zf: wz_put(Ls,sfrt(Le,ww,ap),sfrt(Le,ww,am));
- ef nL=zb: wz_put(Le,sfrt(Ls,ww,am),sfrt(Ls,ww,ap));
- ef nL=dt: for i=0 step .75hash_gap/lenL until 1: drawdot i[Ls,Le]; endfor
- ef nL=wv: nA:=.4bondgap; nB:=round(lenL/nA);
- draw Ls for i=1 upto nB: ..controls(point (i-.5)/nB of sfrt(zA,nA,iif(odd i,ap,am)))
- ..point i/nB of zA endfor
- ef nL=wf_r: filldraw Ls--sfrt(Le,.35ww,am)--sfrt(Le,.35ww,ap)--cycle wpcs .05ww;
- ef nL=wb_r: filldraw sfrt(Ls,.35ww,am)--Le--sfrt(Ls,.35ww,ap)--cycle wpcs .05ww;
- ef nL=bd_r: draw zA wpcs .65bondgap;
- ef nL=vf: draw zA;draw sfrt(Le,bondgap,angL-150)--Le--sfrt(Le,bondgap,angL+150);
- ef nL=vb: draw zA;draw sfrt(Ls,bondgap,angL-30)--Ls--sfrt(Ls,bondgap,angL+30);
- ef nL=si_: erase draw subpath (.15,.85) of zA wpcs 0.8bondgap; draw zA;
- ef nL=dl_: erase draw subpath (.15,.85) of sfrt(subpath pA of zA,.5bondgap,ap) wpcs 1.8bondgap;
- draw zA; draw sfrt(subpath pA of zA,bondgap,ap);
- ef nL=dr_: erase draw subpath (.15,.85) of sfrt(subpath pA of zA,.5bondgap,am) wpcs 1.8bondgap;
- draw zA; draw sfrt(subpath pA of zA,bondgap,am);
- ef nL=dm_: erase draw subpath(0.15,0.85) of zA wpcs 1.8 bondgap;
- draw sfrt(zA,bondgap/1.75,ap); draw sfrt(zA,bondgap/1.75,am);
- ef nL=wf_: erase draw subpath (0.15,0.85) of (Ls--sfrt(Le,ww,am)) wpcs 0.8bondgap;
- erase draw subpath (0.15,0.85) of (Ls--sfrt(Le,ww,ap)) wpcs 0.8bondgap;
- fill Ls--sfrt(Le,ww,am)--sfrt(Le,ww,ap)--cycle;
- ef nL=wb_: erase draw subpath (0.15,0.85) of (sfrt(Ls,ww,am)--Le) wpcs 0.8bondgap;
- erase draw subpath (0.15,0.85) of (sfrt(Ls,ww,ap)--Le) wpcs 0.8bondgap;
- fill sfrt(Ls,ww,am)--Le--sfrt(Ls,ww,ap)--cycle;
- ef nL=zf_: erase draw subpath (0.15,0.85) of (Ls--sfrt(Le,ww,am)) wpcs 0.8bondgap;
- erase draw subpath (0.15,0.85) of zA wpcs 0.8bondgap;
- erase draw subpath (0.15,0.85) of (Ls--sfrt(Le,ww,ap)) wpcs 0.8bondgap;
- wz_put(Ls,sfrt(Le,ww,ap),sfrt(Le,ww,am));
- ef nL=zb_: erase draw subpath (0.15,0.85) of (sfrt(Ls,ww,am)--Le) wpcs 0.8bondgap;
- erase draw subpath (0.15,0.85) of zA wpcs 0.8bondgap;
- erase draw subpath (0.15,0.85) of (sfrt(Ls,ww,ap)--Le) wpcs 0.8bondgap;
- wz_put(Le,sfrt(Ls,ww,am),sfrt(Ls,ww,ap));
- ef nL=bd_: erase draw subpath(0.15,0.85) of zA wpcs 1.6bondgap;
- draw zA withpen penrazor rotated ap scaled bondgap;
- ef nL=nb:
- %-- bond type for glycan ----------------------------------------------------------------------
- ef nL=arc_lb: draw Ls--Ls-(0,aw)..posA[nE]+(-1.2aw,0)..posA[nE]-(.6aw,0);
- ef nL=arc_br: draw posA[nS]+(.6aw,0)..posA[nS]+(1.2aw,0)..Le-(0,aw)--Le;
- ef nL=arc_lbr: draw posA[nS]+(0,iif(strA[nS]=0,0,-.6aw))--posA[nS]+(0,-.8aw)
- ..0.5[posA[nS],posA[nE]]+(0,-1.7aw)..posA[nE]+(0,-.8aw)
- --posA[nE]+(0,iif(strA[nE]=0,0,-.6aw));
- ef nL=arc_ltr: draw posA[nS]+(0,iif(strA[nS]=0,0,0.6aw))--posA[nS]+(0,.8aw)
- ..0.5[posA[nS],posA[nE]]+(0,1.7aw)..posA[nE]+(0,.8aw)
- --posA[nE]+(0,iif(strA[nE]=0,0,.6aw));
- %----------------------------------------------------------------------------------------------
- fi
- if f_col=1: drawoptions(); fi
-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;
-%------------------------------------------------------------------------------------------------
-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;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-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
-enddef;
-%-------------------------------------------------------------------------------------------------
-char_size_set( 1, 1)("CGHMNOQW");
-char_size_set( 0.9, 1)("ABDFIJKPRSTUVXY");
-char_size_set( 0.8, 1)("ELZ");
-char_size_set( 0.7, 1)("0123456789nhtfg");
-char_size_set( 0.7, 0.7)("-+");
-char_size_set(0.45,0.95)("l");
-char_size_set(0.75, 0.8)("opq");
-char_size_set( 0.8, 0.8)("e");
-char_size_set( 0.9, 0.8)("wm");
-char_size_set( 0.7, 0.8)("abdcksuvrxyz");
-char_size_set(0.35, 0.9)("i");
-char_size_set( 0.5, 0.9)("j");
-%-------------------------------------------------------------------------------------------------
-def dw expr p = draw p shifted cpos enddef;
-def dwv expr p = draw p withpen penrazor scaled fP shifted cpos enddef;
-def dwvs(expr n) expr p = draw p withpen penrazor scaled (fP*n) shifted cpos enddef;
-def dwh expr p = draw p withpen penrazor rotated 90 scaled fP shifted cpos enddef;
-def cdw expr p = cutdraw p shifted cpos enddef;
-%-------------------------------------------------------------------------------------------------
-def Z_a=( 0,hP) enddef; def Z_b=(hP, 0) enddef; def Z_c=(hP,hP) enddef; def Z_d=(aW,hP) enddef;
-def Z_e=(fW, 0) enddef; def Z_f=(hW,aH) enddef; def Z_g=(hW, 0) enddef; def Z_h=( 0,hH) enddef;
-def Z_i=(hW,fW) enddef; def Z_j=( 0,qH) enddef; def Z_k=(aW,qH) enddef; def Z_l=(.75aW,0) enddef;
-def Z_m=(hP,hH) enddef; def Z_n=(fW,fH) enddef; def Z_o=(fW,hH) enddef; def Z_p=(hW,aW) enddef;
-def Z_q=( 0,fH) enddef; def Z_r=(hP,fH) enddef; def Z_s=(hW,fH) enddef; def Z_t=(fW,aH) enddef;
-def Z_u=(aW,fH) enddef; def Z_v=(aW,hH) enddef; def Z_w=(hP,aH) enddef; def Z_x=(hW,hP) enddef;
-def Z_y=(hW,hH) enddef; def Z_z=(fW,hP) enddef;
-%-------------------------------------------------------------------------------------------------
-def circ_O = Z_o..(.8aW,fH-qP)..tension 1.5..(.2aW,fH-qP)..Z_m..
- (.2aW,1.5hP)..tension 1.5..(.8aW,1.5hP)..cycle enddef;
-def circ_Oh = (hP,qH)..Z_x..(fW,qH)..Z_y..cycle enddef;
-def circ_Oa = (hP,0.35aH)..Z_x..(fW,0.35aH)..(hW,.7aH)..cycle enddef;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-def draw_char(expr s,p)=
- aW:=atom_wd*tbl_char_wd[ASCII(s)]*(1-2ratio_atomgap_atom);
- aH:=atom_wd*tbl_char_ht[ASCII(s)]*(1-2ratio_atomgap_atom);
- cpos:=p-(aW/2,atom_wd/2*(1-2ratio_atomgap_atom));
- fP:=bond_pen_wd*ratio_char_bond;
- 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="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;
- ef s="3": cdw sbp(0,.75)circ_Oh; cdw sbp(.25,.98)circ_Oh shifted (0,hH-hP); dwh (.3aW,hH)--Z_y;
- ef s="4": dwh Z_j--Z_k; dwv Z_l--(0.75aW,aH)--(1.2hP,qH+hP); dwv (.75aW+qP,aH)--(1.7hP,qH+hP);
- ef s="-": dwh Z_m--Z_o;
- ef s="+": dwv Z_x--Z_s; dwh Z_m--Z_o;
- ef s="A": dwvs(1.14)Z_b--Z_f--Z_e; dw .33[Z_b,Z_f]--.33[Z_e,Z_f];
- ef s="B": dw Z_r--Z_s{right}..(.9fH,.75aH)..{left}Z_y--Z_m--Z_y{right}..(.9fH,qH)..
- {left}Z_x--Z_c; dwv Z_b--Z_w;
- ef s="D": dw Z_r--Z_s..Z_o..Z_x--Z_c; dwv Z_b--Z_w;
- ef s="E": pickup pensquare scaled fP; dw Z_z--Z_c--Z_r--Z_n; dw Z_m--Z_o;
- ef s="G": cdw sbp(.06,.97)circ_O; dwh bot Z_y-- bot Z_v;
- ef s="J": cdw Z_m..(hP,.4aH){down}..{right}Z_x{right}..{up}(fW,.4aH)..Z_t;
- ef s="K": cdw Z_b--Z_w; cdw .35[.45[Z_b,Z_w],Z_u]--Z_e; cdw .35[Z_b,Z_w]--Z_u;
- ef s="L": dwh Z_d--Z_a; dwv Z_b--Z_w;
- ef s="M": dwv Z_b--Z_w; dwvs(1.14)Z_w--Z_x--Z_t; dwv Z_t--Z_e;
- ef s="Q": dw circ_O; dw (.6aW,.4aH)--Z_e;
- ef s="R": dwv Z_b--Z_w; dw Z_r--(.65aW,fH){right}..(fW,.7aH)..{left}(.65aW,.44aH)..(hP,.44aH);
- cdw Z_e{up}..{left}(hW,.44aH);
- ef s="T": dwh Z_q--Z_u; dwv .5[Z_q,Z_u]--Z_g;
- ef s="U": cdw Z_w..Z_m{down}..{right}Z_x{right}..{up}Z_o..Z_t;
- ef s="V": dwvs(1.2)Z_w--Z_g--Z_t;
- ef s="W": dwvs(1.08)Z_w--(aW/4,0)--Z_f--Z_l--Z_t;
- ef s="X": dwvs(1.4)Z_w..Z_e; dwvs(1.4) Z_b..Z_t;
- ef s="Y": dwvs(1.2)Z_w--Z_y--Z_t; dwv Z_y--Z_g;
- ef s="Z": dwh Z_q--Z_u; dwvs(1.4)(1.4hP,fP)--(aW-1.4hP,aH-fP); dwh Z_a--Z_d;
- ef s="a": dw Z_x..Z_o..Z_s..Z_m..cycle; dwv Z_e--Z_t;
- ef s="b": dw Z_x..Z_o..Z_p..Z_m..cycle; dwv Z_b--(hP,1.3aH)
- ef s="c": cdw sbp(.06,.94)Z_o..Z_s..Z_m..Z_x..cycle;
- ef s="d": dw Z_x..Z_o..Z_p..Z_m..cycle; dwv Z_e--(fW,1.3aH);
- ef s="e": cdw sbp(0,.92)Z_o..Z_s..Z_m..Z_x..cycle; dw Z_o--Z_m;
- ef s="f": cdw (.4fW,0)--(.4fW,.75aH){up}..(.75aW,fH)..{down}(fW,.8aH); dwh Z_h--Z_v;
- ef s="g": dw circ_Oa; dw sbp(0,.5)circ_Oh shifted (0,-.5fH); cdw (fW,.7aH)--(fW,-qH);
- ef s="h": cdw Z_b..(hP,.3aH){up}..(hW,.7fH)..{down}(fW,.3aH)..Z_e; dwv (hP,.3aH)--Z_w;
- ef s="i": dwv Z_g--(hW,.7aH); ppcs 1.4fP; dw Z_s;
- ef s="j": cdw (fW,.7aH)--Z_z..(aW/4,-.66fP)..Z_c; ppcs 1.4fP; dw Z_n;
- ef s="k": dwv Z_b--(hP,1.3fH); cdw .5[Z_b,Z_w]--Z_e; cdw .5[Z_b,Z_w]--Z_u;
- ef s="m": cdw Z_b..(hP,.3aH){up}..(.28aW,fH)..{down}(hW,.3aH)..Z_g;
- cdw (hW,.6aH){up}..(.7aW,fH)..{down}(fW,.6aH)..Z_e; dwv (hP,.3aH)--Z_w;
- ef s="n": cdw Z_b{up}..(hW,.8fH)..{down}Z_o..Z_e; dwv Z_b--(hP,.8aH);
- ef s="o": dw Z_x..Z_o..Z_s..Z_m..cycle;
- ef s="p": dw Z_x..Z_o..Z_s..Z_m..cycle; dwv Z_w--(hP,-.3aH);
- ef s="q": dw Z_x..Z_o..Z_s..Z_m..cycle; dwv Z_t--(fW,-.3aH);
- ef s="r": cdw (sbp(.33,.72)Z_x..Z_o..Z_s..Z_m..cycle) shifted(0,-hP); dwv Z_b--Z_w;
- ef s="s": cdw sbp(.05,.45)circ_O; cdw sbp(.55,.95)circ_O; dw (fW,.3aH){up}..{up}(hP,.7aH);
- ef s="t": dwv Z_g--Z_f; dwh (0,.66aH)--(aW,.66aH);
- ef s="u": cdw Z_w..(hP,.55aH){down}..Z_x..(fW,.55aH){up}..Z_t; dwv Z_t--Z_e;
- ef s="v": dwv Z_w--Z_g--Z_t;
- ef s="w": dwv Z_w--(aW/4,0)--Z_f--Z_l--Z_t;
- ef s="x": dwvs(1.4)Z_w--Z_e; dwvs(1.4) Z_t--Z_b;
- ef s="y": dwvs(1.4)(Z_w--Z_y) shifted (0,-.3aH); dwvs(1.4)(Z_t--Z_b) shifted (0,-.3aH);
- ef s="z": dwh Z_q--Z_u; dwvs(1.4)(1.4hP,fP)--(aW-1.4hP,aH-fP); dwh Z_a--Z_d;
- ef s="0": dw Z_m...Z_s...Z_o...Z_x...cycle;
- ef s="1": dwv Z_g--(hW,aH-.3hP)--(hW-fP,aH-fP)--(hW-fP,aH-1.5fP);
- ef s="5": dwh Z_q--Z_u; dwv Z_r--(hP,.55fH);
- cdw (qP,.18aH)..(.65aW,1.3hP)..(fW,.4aH)..(hW,.63aH)..(.7hP,.56aH);
- ef s="6": dw Z_x..(fW,.5fW)..Z_i..(hP,.5fW)..cycle; cdw (.8fP,hH)--Z_f;
- ef s="7": dwh (0,.fH)--Z_u; dwvs(1.2)(aW-1.2hP,aH-fP)--(.4aW,0);
- ef s="8": dw circ_Oh; dw (hP,.75aH)...Z_s...(fW,.75aH)...Z_y...cycle;
- ef s="9": dw (Z_x..(fW,.5fW)..Z_i..(hP,.5fW)..cycle) shifted (0,.32aH); cdw (fW-.45fP,hH)--Z_g;
- else:
- fi
-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
-enddef;
-%-------------------------------------------------------------------------------------------------
-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
-enddef;
-%-------------------------------------------------------------------------------------------------
-vardef forbidden_to_underbar(expr t)= sS:="";
- for i=1 upto length(t):
- 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)=
- 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];
- for j=1 upto cntB:
- bond_num[j]:=bond_type(lineB[j]);
- if (sB[j]=i)or(eB[j]=i): bond_cntA:=bond_cntA+bond_num[j]; fi
- endfor
- Bcnt[i]:=bond_cntA;
- if ((nS=0)or(nS=(C-nE)))and(bond_cntA<4):
- hideH[i]:=4-bond_cntA; hideH_cnt:=hideH_cnt+hideH[i]; else: hideH[i]:=0;
- fi
- if nS=0: if bond_cntA>4: warning_bond(i) fi
- ef nS=(O-nE): if bond_cntA<>2: warning_bond(i) fi
- ef nS=(N-nE): if (bond_cntA<>3)and(bond_cntA<>5): warning_bond(i) fi
- ef nS=(S-nE): if (bond_cntA<>2)and(bond_cntA<>4)and(bond_cntA<>6): warning_bond(i) fi
- ef nS=(H-nE): if bond_cntA<>1: warning_bond(i) fi
- ef nS=(OH-nE): if bond_cntA<>1: warning_bond(i) fi
- ef nS=(COOH-nE): if bond_cntA<>1: warning_bond(i) fi
- ef nS=(NH2-nE): if bond_cntA<>1: warning_bond(i) fi
- ef nS=(CN-nE): if bond_cntA<>1: warning_bond(i) fi
- ef nS=(P-nE): if bond_cntA<>5: warning_bond(i) fi
- ef nS=(C-nE): if bond_cntA>4: warning_bond(i) fi
- ef nS=(F-nE): if bond_cntA<>1: warning_bond(i) fi
- ef nS=(Cl-nE): if bond_cntA<>1: warning_bond(i) fi
- ef nS=(Br-nE): if bond_cntA<>1: warning_bond(i) fi
- fi
- for j=1 upto tbl_group_end:
- if str_tbl[nS]=tbl_atom_str[j]:
- if tbl_atom[j]=0: sumA[j]:=sumA[j]+1; if j>tbl_atom_max: tbl_atom_max:=j; fi
- else:
- 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
- exitif knownA=1;
- 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
- for i=1 upto tbl_atom_max:
- if sumA[i]>=1:
- 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(MW_n); MI:=substring(0,10) of decimal(MI_n);
-enddef;
-%=================================================================================================
-def proc_report_out=
- file_output:=jobname&"-report.txt";
- printf "===========================================================================";
- printf " No["&decimal(fig_num)&"],Name<"& EN&">,Category<"&CAT&">,File<"&file_input&">";
- 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)&"]";
- printf " Bond length["&fdr(8)(blen)&"],Atom size["&fdr(8)(atom_wd)&"]";
- printf "---------------------------------------------------------------------------";
- printf " Atom["&decimal(cntA)&"],Bond["&decimal(cntB)&
- "],Ring["&decimal(cntB-cntA+1)&"],Hide H["&decimal(hideH_cnt)&"]";
- printf "< NO. ><atom(s) >( x axis , y axis )<bond><hideH><chg>";
- for i=1 upto cntA:
- 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
- printf "---------------------------------------------------------------------------";
- printf "< NO. >< bond (sdt)><angle +( +- )><length ( pt )>";
- for i=1 upto cntB:
- nC:=lenB[i]; if nC=_size_atom: nC:=ratio_atom_bond; elseif nC<0: nC:=-nC; fi
- 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
- 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
- endfor
- printf " Molecular Weight [Mono Isotopic] = "&fsr(12)(mw)&"["&fsr(12)(MI)&"]";
- printf "---------------------------------------------------------------------------";
- 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)=
- if EN<>"-": EN_:=forbidden_to_underbar(EN); fi
- file_output:="m"&fit_zero(fig_num)&"-"&EN_&".mol";
- %-V2000---------------------------------------------------------------------------------------
- if n=2000:
- printf ""; printf " -MCFtoMOL- "&fsl(20)(EN); printf "";
- printf fdr(3)(cntA)&fdr(3)(cntB)&" 0 0 0 0 0 0 0 0999 V2000";
- for i=1 upto cntA:
- printf fdr(10)(xpart(posA[i])/blen)& fdr(10)(ypart(posA[i])/blen)&fdr(10)(0)&" "&
- fsl(2)(erase_char(str_tbl[strA[i]]))&" 0"&fdr(3)(bond_charge(chargeA[i]))&" 0 0";
- 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
- endfor
- printf "M END";
- %-V3000---------------------------------------------------------------------------------------
- elseif n=3000:
- printf ""; printf " -MCFtoMOL- "&fsl(20)(EN); printf "";
- printf " 0 0 0 0 0 0 0 0 0 0 0 V3000";
- printf "M V30 BEGIN CTAB";
- printf "M V30 COUNTS "&decimal(cntA)&" "&decimal(cntB)&" 0 0 0";
- printf "M V30 BEGIN ATOM";
- for i=1 upto cntA:
- printf "M V30 "&decimal(i)&" "&erase_char(str_tbl[strA[i]])&" "&
- decimal(xpart(posA[i])/blen)&" "&decimal(ypart(posA[i])/blen)&" 0 0"
- if chargeA[i]<>0: &" CHG="&decimal(chargeA[i]) fi;
- endfor
- printf "M V30 END ATOM"; printf "M V30 BEGIN BOND";
- for i=1 upto cntB:
- 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
- endfor
- printf "M V30 END BOND"; printf "M V30 END CTAB"; printf "M END"; fi
-enddef;
-%=================================================================================================
-def proc_mc_out=
- 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
- printf EOF;
-enddef;
-%=================================================================================================
-vardef fit_zero(expr n)= if n<=9: "00" ef n<=99: "0" else: "" fi &decimal(n) enddef;
-vardef bond_type(expr n)=
- if (n>=dl)and(n<=dm_):2 ef n=tm:3 ef (n=0)or(n=vf)or(n=vb): 0 else: 1 fi enddef;
-vardef bond_charge(expr n)= if n=2: 1 ef n=1: 3 ef n=-1: 5 ef n=-2: 6 else: 0 fi enddef;
-vardef bond_stereo(expr n)=
- if (n=wf)or(n=zb)or(n=bd): 1 ef (n=zf)or(n=wb)or(n=dt): 6 ef n=wv: 4 else: 0 fi enddef;
-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 define_atom(expr s,WT,MI)=
- 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; pcode_num
-enddef;
-%-------------------------------------------------------------------------------------------------
-vardef define_group_string(expr s)(text t)=
- 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-pcode_emb_start; endfor
- pcode_num
-enddef;
-%=================================================================================================
-def define_atom_group_parts=
- save `,``,';
- def `=define_atom enddef; def ``=define_group_string enddef; def '= define_parts enddef;
- pcode_int:=pcode_emi_start; pcode_num:=pcode_emb_start;
- ?3:=?20:=Ph:=Ph1:=Ph2:=hz:=0; vt:=1;
- %-----------------------------------------------------------------------------------------------
- C:= `("C" ,12.0107, 12.0000000); H:= `("H" , 1.00794, 1.00782503223);
- D:= `("D" ,2.012, 2.01410177812); Ag:=`("{Ag}",107.868, 106.905095);
- Al:=`("{Al}",26.9815, 26.98153853); As:=`("{As}",74.9216, 74.92159457);
- B:= `("B" ,10.811, 11.00930536); Ba:=`("{Ba}",137.33, 136.905816);
- Be:=`("{Be}",9.01218, 0);
- Bi:=`("{Bi}",208.9804, 208.980338); Br:=`("{Br}",79.904, 78.9183376);
- Ca:=`("{Ca}",40.078, 39.962590863); Cd:=`("{Cd}",112.41, 110.904182);
- Cl:=`("{Cl}",35.453, 34.968852); Co:=`("{Co}",58.933194, 58.93319429);
- Cr:=`("{Cr}",51.9961, 51.94050623); Cs:=`("{Cs}",132.905, 132.90543);
- Cu:=`("{Cu}",63.546, 62.92959772);
- F:= `("F" ,18.9984, 18.99840316273); Fe:=`("{Fe}",55.845, 55.93493633);
- Hg:=`("{Hg}",200.59, 201.97064340); I:= `("I" ,126.90447,126.9044719);
- K:= `("K" ,39.0983, 38.9637064864); Li:=`("{Li}",6.941, 7.0160034366);
- Mg:=`("{Mg}",24.305, 23.985041697); Mn:=`("{Mn}",54.938044, 54.93804391);
- Mo:=`("{Mo}",95.95, 0);
- N:= `("N" ,14.0067, 14.00307400443); Na:=`("{Na}",22.98977, 22.9897692820);
- Ni:=`("{Ni}",58.693, 57.93534241); O:= `("O" ,15.9994, 15.99491461957);
- P:= `("P" ,30.973762, 30.97376199842); Pb:=`("{Pb}",207.2, 205.974455);
- Pd:=`("{Pd}",106.4, 107.905075);
- S:= `("S" ,32.065, 31.9720711744); Sb:=`("{Sb}",121.75, 120.90381);
- Se:=`("{Se}",78.971, 79.9165218); Si:=`("{Si}",28.0855, 27.97692653465);
- Sn:=`("{Sn}",118.71, 119.90220163); Ta:=`("{Ta}",180.948, 0);
- Te:=`("{Te}",127.60, 129.90623); Ti:=`("{Ti}",47.867, 47.94794198);
- U:= `("U", 238.0289, 238.05079); V:= `("V", 50.9415, 50.943957);
- W:= `("W", 183.85, 181.948225); Zn:=`("{Zn}",65.409, 63.92914201);
- NO_ATOM:=`("",0,0);
- tbl_atom_end:=tbl_cnt;
- %-----------------------------------------------------------------------------------------------
- if sw_expand=0:
- CH3:=``("C{H_3_}")(C,H,H,H); CH2:=``("C{H_3_}")(C,H,H); CN:=``("CN")(C,N); OH:=``("OH")(O,H);
- COOH:=``("COOH")(C,O,O,H); COONa:=``("COO{Na}")(C,O,O,Na); CHO:=``("CHO")(C,H,O);
- NO:=``("NO")(N,O); NO2:=``("N{O_2_}")(N,O,O); NH2:=``("N{H_2_}")(N,H,H);
- SH:= ``("SH")(S,H); SO2H:=``("S{O_2_}H")(S,O,O,H); SO3H:=``("S{O_3_}H")(S,O,O,O,H);
- ONa:=``("O{Na}")(O,Na); SO3Na:=``("S{O_3_}{Na}")(S,O,O,O,Na);
- fi
- %-----------------------------------------------------------------------------------------------
- tbl_group_end:=tbl_cnt; pcode_atm_end:=pcode_num;
- ?:='((_group_si,NO_ATOM)); ?wf:=?w:='((_group_wf,NO_ATOM)); ?zf:=?z:='((_group_zf,NO_ATOM));
- ?O:='((_group_dm,O)); NH:='(N,/H~nl); ?NH:='((_group_dm,NH));
- %-----------------------------------------------------------------------------------------------
- ?H:='(/H); ?F:='(/F); ?Cl:='(/Cl); ?OH:='(/OH); ?OH:='(/COOH); ?NH2:='(/NH2);
- 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]:='((i,j)); endfor endfor
- %-----------------------------------------------------------------------------------------------
- !:=!1:='((_mk_bond,_arrange_ang)); !db:=!d:='(!~db); !tm:=!t:='(!~tm); !wf:=!w:='(!~wf);
- !zf:=!z:='(!~zf); !wb:='(!~wb); !zb:='(!~zb); !dl:='(!~dl); !dr:='(!~dr); !dm:='(!~dm);
- for i==2 upto 20:
- ![i]:='((_com,_len_ss),(_get_len,_tmp_len),! for j==2 upto i::,! endfor ,(_com,_len_ee));
- endfor
- ?!:='(/_,!); ?!d:='(/_,!d); ?!2:='(/_,!2); ??!:='(/_,/_^60,60); ??:='(/_^35,/_^-35);
- !?:='(!,/_); !?!:='(!?,!); !??!:='(!,??,!); ?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));
- %-----------------------------------------------------------------------------------------------
- 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
- %-----------------------------------------------------------------------------------------------
- ?F!F:='(/F,60,F); ?Cl!Cl:='(/Cl,60,Cl); ?Br!Br:='(/Br,60,Br); ?F?F!F:='(/F,/F^60,60,F);
- ?Cl?Cl!Cl:='(/Cl,/Cl^60,60,Cl);
- %-----------------------------------------------------------------------------------------------
- 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);
- %-----------------------------------------------------------------------------------------------
- ?O!:='(?O,!); ?O!2:='(?O,!2); ?O!3:='(?O,!3); !?O:='(!,?O); !?O!:='(!,?O!);
- NH!:='(NH,!); NH!2:='(NH,!2); !NH:='(!,NH); !NH!:='(!,NH!);
- %-----------------------------------------------------------------------------------------------
- !OH:='(!,OH); !SH:='(!,SH); !NH2:='(!,NH2); !S?O:='(!,S?O); !O:='(!,O); !dO:='(!d,O);
- !O!:='(!,O!); !O!2:='(!,O!2); !O!3:='(!,O!3); !S!:='(!,S!); !S!2:='(!,S!2); !S!3:='(!,S!3);
- !COOH:='(!,COOH); ?COOH:='(/COOH); !CH3:='(!,CH3); !CN:='(!,CN); !CHO:='(!,CHO); !NO2:='(!,NO2);
- !Cl:='(!,Cl); !Br:='(!,Br); !F:='(!,F); !?F!F:='(!,?F!F); !?Cl!Cl:='(!,?Cl!Cl);
- !?F?F!F:='(!,?F?F!F); !?Cl?Cl!Cl:='(!,?Cl?Cl!Cl);
- !?3:='(!,?3); !?4:='(!,?4); !?5:='(!,?5); !?6:='(!,?6); !?7:='(!,?7); !?8:='(!,?8);
- !Ph:='(!,Ph); !?OH:='(!,?OH); ?OH!:='(?OH,!);
- %-----------------------------------------------------------------------------------------------
- lr:='(60 for i==1 upto 10:: ,-60,60 endfor); rl:='(-60 for i==1 upto 10:: ,60,-60 endfor);
- %-----------------------------------------------------------------------------------------------
- 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,##);
-enddef;
-%-------------------------------------------------------------------------------------------------
-define_atom_group_parts;
-%=================================================================================================
-init_par(parameter_list);
-%-------------------------------------------------------------------------------------------------
-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,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 128: tbl_asc[i]:=0; endfor
- for i=1 upto lens: mc_char[i]:=ASCII(subc(i,s)); endfor
- forever:
- 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
- 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 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
- %---------------------------------------------------------------------------------------------
-%%%%%%% err_cnt>0: readstring;
- err_cnt
-enddef;
-%-------------------------------------------------------------------------------------------------
-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)=
- file_output:=s;
- for i=1 upto ucount: for j=1 upto unit_lines[i]: printf row[i][j]; endfor endfor
- closefrom file_output;
-enddef;
-%-------------------------------------------------------------------------------------------------
-def loadm(text s)=
- begingroup
- save f_mcf,f_line,lines,unit_cnt,row_s,row_cnt,semic_cnt,info_cnt,order,min_n,max_n,firstc,
- sign_at,sign_n,filter_n,filter_tag,filter_var,filter_sign,filter_cnt,filter_p,lib_unit_cnt,
- at_colon,at_equal,at_less,at_greater,at_n,sort_tbl,key_s,sort_s,sign_s,sV,sS,sT,sort_oder,
- tag_s,val_s;
- string row_s[][],sort_s,sort_tbl[],key_s,filter_tag[],filter_var[],sign_s[],sV,sS,sT,firstc,
- tag_s[][],val_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_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);
- at_greater:=scan_c(">",list); key_s:="";
- %---------------------------------------------------------------------------------------------
- if at_colon>=2: sign_at:=at_colon; sign_n:=0; at_n:=1;
- ef at_equal>=2: if (at_equal-1)=at_less: sign_at:=at_equal; sign_n:=5; at_n:=2;
- ef (at_equal-1)=at_greater: sign_at:=at_equal; sign_n:=6; at_n:=2;
- 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
- 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
- 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
- fi
- endfor
- %-----------------------------------------------------------------------------------------------
- forever:
- temps:=readfrom file_input; exitif temps=EOF; firstc:=subc(1,temps);
- if (firstc<>"%")or(sw_comment=1):
- row_s[unit_cnt][incr lines]:=temps;
- if firstc=";":
- row_cnt[unit_cnt]:=lines; f_mcf:=lines:=0; filter_n:=1;
- for i=1 upto filter_cnt: filter_p[i]:=0; endfor
- sort_s:="";
- for i=1 upto info_cnt:
- get_tag_var(arg_s[i])(sT,sV);
- tag_s[unit_cnt][i]:=sT; val_s[unit_cnt][i]:=sV;
- if sT=key_s: if is_num(sV)=1: sort_s:=fix_num(sV); else: sort_s:=sV; fi fi
- for j=1 upto filter_cnt:
- if filter_tag[j]=sT:
- filter_p[j]:=1;
- if (filter_sign[j]>=3)and(is_num(sV)=1): temps:=fix_num(sV); else: temps:=sV; fi
- if filter_sign[j]=1: if not(temps= filter_var[j]): filter_n:=0; fi
- ef filter_sign[j]=2: if not(temps<>filter_var[j]): filter_n:=0; fi
- ef filter_sign[j]=3: if not(temps< filter_var[j]): filter_n:=0; fi
- ef filter_sign[j]=4: if not(temps> filter_var[j]): filter_n:=0; fi
- ef filter_sign[j]=5: if not(temps<=filter_var[j]): filter_n:=0; fi
- ef filter_sign[j]=6: if not(temps>=filter_var[j]): filter_n:=0; fi
- fi
- fi
- endfor
- endfor
- for i=1 upto filter_cnt: if filter_p[i]=0: filter_n:=0; fi endfor
- info_cnt:=0; lib_unit_cnt:=lib_unit_cnt+1;
- 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);
- fi
- fi
- fi
- endfor
- ucount:=unit_cnt:=unit_cnt-1;
- %=============================================================================================
- message "* Input : "&file_input&" ["&decimal(lib_unit_cnt)&"]";
- message "* Output : ucount ["&decimal(ucount)&"]";
- if filter_cnt>=1:
- 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)");
- fi
- fi
- %-----------------------------------------------------------------------------------------
- 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
- 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
- order[max_n]:=i; order_tbl[i]:=max_n;
- fi
- endfor
- %---------------------------------------------------------------------------
- for i=1 upto unit_cnt:
- for j=1 upto info[order_tbl[i]]:
- lib_tag[i][j]:=tag_s[order_tbl[i]][j]; lib_val[i][j]:=val_s[order_tbl[i]][j];
- endfor
- unit_lines[i]:=row_cnt[order_tbl[i]];
- for j=1 upto row_cnt[order_tbl[i]]: row[i][j]:=row_s[order_tbl[i]][j]; endfor
- endfor
- %-------------------------------------------------------------------------
- else:
- for i=1 upto unit_cnt:
- for j=1 upto info[i]: lib_tag[i][j]:=tag_s[i][j]; lib_val[i][j]:=val_s[i][j]; endfor
- unit_lines[i]:=row_cnt[i];
- for j=1 upto row_cnt[i]: row[i][j]:=row_s[i][j]; endfor
- endfor
- fi
- closefrom file_input;
- endgroup;
-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;
-%-------------------------------------------------------------------------------------------------
-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
-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
-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;
-%-------------------------------------------------------------------------------------------------
-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;
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Added: trunk/Master/texmf-dist/metapost/mcf2graph/main_lib.mcf
===================================================================
--- trunk/Master/texmf-dist/metapost/mcf2graph/main_lib.mcf (rev 0)
+++ trunk/Master/texmf-dist/metapost/mcf2graph/main_lib.mcf 2024-11-20 22:09:01 UTC (rev 72915)
@@ -0,0 +1,2984 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% molecular library file main_lib.mcf by Akira Yamaji 2024.11.17
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% must use version 5.14
+% tag1:var1;tag2:var2;tag3:var3 .....
+% first character of line "%" comment out
+% first character of line ":" start MCF
+% first character of line "=" start parameter setting
+% first character of line "*" start ext(...)
+% first character of line "+" start add(...)
+% first character of line ";" stop MCF
+% CAT = CATegory,EN = Name,MW = Molecular weight
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%==============================================================================
+CAT:-;EN:-;MW:0;EXA:-;
+=
+ sw_frame:=Atom;
+:
+<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));
++
+ defaultscale:=.3;
+ label.bot("A2",A2) withcolor red;
+ label.top("A6",A6) withcolor red;
+ label.top("A9",A9) withcolor red;
+;
+%==============================================================================
+CAT:biological;EN:Adenine;MW:135.13;EXA:1
+:
+<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=db,2'9:N,6'7:NH,5:?O,1:/NH2
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Cytosine;MW:111.10;EXA:1
+:
+<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=db,2'6:NH,1'5:?O,4:/_
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Uracil;MW:112.09;EXA:1
+:
+<30,?6,6=db,3'5:?O,2'4:NH
+;
+%== Amino acid ================================================================
+CAT:biological;EN:Glycine;MW:75.07;EXA:-
+:
+<30,NH2,!2,COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Glycine;MW:75.07;EXA:-
+:
+<30,NH2,!2,COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Alanine;MW:89.10;EXA:-
+:
+<30,NH2,!wb,?!,COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Valine;MW:117.15;EXA:-
+:
+<30,NH2,!wb,/?!,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Leucine;MW:131.16;EXA:1
+:
+<30,NH2,!wb,/!?!,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Isoleucine;MW:131.16;EXA:-
+:
+<30,NH2,!wb,/?z'!2,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Serine;MW:105.09;EXA:-
+:
+<30,NH2,!wb,/!OH,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Threonine;MW:119.12;EXA:-
+:
+<30,NH2,!wb,/?'!w'OH,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Cysteine;MW:121.16;EXA:-
+:
+<30,NH2,!wb,/!SH,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Methionine;MW:149.21;EXA:-
+:
+<30,NH2,!wb,/!2'S!,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Phenylalanine;MW:165.19;EXA:-
+:
+<30,NH2,!wb,/!Ph,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Tyrosine;MW:181.19;EXA:-
+:
+<30,NH2,!wb,/!Ph'(5:/OH),!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Triptophan;MW:204.21;EXA:-
+:
+<30,NH2,!wb,!COOH, at 2,\,!,<24,|,?5,2=dr,5=dl,2=Ph,4:NH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Proline;MW:115.13;EXA:-
+:
+<18,?5,3:NH,4:*/COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Glutamine;MW:146.15;EXA:-
+:
+<30,NH2,!wb,!COOH, at 2,\`1,!`1,!,?O!,NH2
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Asparagine;MW:132.12;EXA:-
+:
+<30,NH2,!wb,/!?O!'NH2,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Aspartic acid;MW:133.10;EXA:-
+:
+<30,NH2,!wb,/!COOH,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Glutamic acid;MW:147.13;EXA:-
+:
+<30,NH2,!wb,/!2'COOH,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Lysine;MW:146.19;EXA:-
+:
+<30,NH2,!wb,/!4'NH2,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Arginine;MW:174.21;EXA:-
+:
+<30,NH2,!wb,!COOH, at 2,\`1,!`1,!2,NH!,?NH,!NH2
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Hystidine;MW:155.16;EXA:-
+:
+<30,NH2,!wb,!COOH, at 2,\,!,|,?5,1'3=dl,3:N,5:NH
+;
+%==============================================================================
+CAT:biological;EN:L-DOPA;MW:197.19;EXA:-
+:
+<30,NH2,!wb,/!Ph'(4'5:/OH),!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Ornithine;MW:132.16;EXA:-
+:
+<30,NH2,!wb,/!3'NH2,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Citrulline;MW:175.2;EXA:-
+:
+<30,NH2,!wb,/!3'NH!'?O!'NH2,!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:GABA;MW:103.12;EXA:-
+:
+<30,NH2,!4,COOH
+;
+%==============================================================================
+CAT:biological;EN:Citrate;MW:192.12;EXA:-
+:
+<30,COOH,!2,/COOH^30,/OH^-30,!2,COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:cis-Aconitate;MW:174.11;EXA:-
+:
+<30,COOH,!2,/COOH,!d,60,COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Isocitrate;MW:192.12;EXA:-
+:
+<30,COOH,!4,COOH,3:!COOH,4:/OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Oxalosuccinate;MW:190.11;EXA:-
+:
+<30,COOH,!2,/COOH,!?O!,COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:alfa-Ketoglutarate;MW:146.1;EXA:-
+:
+<30,COOH,!3,?O!,COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Succinate;MW:118.09;EXA:-
+:
+<30,COOH,!3,COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Fumarate;MW:116.07;EXA:-
+:
+<30,COOH,!,!d,!COOH
+;
+%------------------------------------------------------------------------------
+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
+;
+%==============================================================================
+CAT:biological;EN:Glucose 1;MW:180.16;EXA:1
+:
+<30,?6,5:O,2:*/OH,1'3:/*OH,4:*/*OH,6:*/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Glucose 2;MW:180.16;EXA:1
+:
+<-30,OH,!2,*/OH,!,/*OH,!,/*OH,!,/*OH,!,?O!,H
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:D-Glucose;MW:180.16;EXA:1
+:
+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
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Fructose 2;MW:180.16;EXA:1
+:
+<-18,?5,5:O,1^-48:*/*!OH,1^48:/OH,*2'3:*/OH,4:/*!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:D-Fluctose;MW:180.16;EXA:1
+:
+Pyranose_hp,#.5,1^$-90:/OH,{2^$-90'3^$90}:/OH,{1^$90'4^$-90}:/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:D-Galactose;MW:180.16;EXA:1
+:
+hexose_hp,#.5,{1^$90'2^$90'3^$-90'4^$-90}:/OH,6^$90:/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:D-Mannose;MW:180.16;EXA:1
+:
+hexose_hp,#.5,{1^$-90'2^$90'3^$90'4^$-90}:/OH,6^$90:/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:L-Fucose;MW:164.16;EXA:1
+:
+hexose_hp,#.5,{1^$-90'2^$-90'3^$90'4^$90}:/OH,6^$-90:/_
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:D-Ribose;MW:150.13;EXA:1
+:
+Pyranose_hp,#.5,{2^$-90'3^$-90'4^$90}:/OH,1^$90:/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:D-Deoxyribose;MW:134.13;EXA:1
+:
+Pyranose_hp,#.5,{2^$-90'4^$90}:/OH,1^$90:/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:D-Glucosamine;MW:179.17;EXA:1
+:
+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:/NH!'?O!,6^$90:/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Glucuronic acid;MW:194.14;EXA:1
+:
+hexose_hp,#.5,{1^$-90'2^$90'3^$-90'4^$-90}:/OH,6^$90:/COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Maltose;MW:342.3;EXA:1
+:
+hexose_hp,#.5,{1^$-90'2^$90'3^$-90}:/OH,6^$90:/!OH,##,
+ @4,$-50~arc_lb`1,O,$50~arc_br`1,<$0,
+ |,hexose_hp,#.5,{2^$90'3^$-90'4^$-90}:/OH,6^$90:/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Sucrose;MW:342.3;EXA:1
+:
+hexose_hp,#.5,{1^$-90'2^$90'3^$-90}:/OH,6^$90:/!OH,##,
+ @4,$-50~arc_lb`1,O,$50~arc_br`1,<$0,
+ |,#1.4,-35~wf_r,35~bd_r`1,30~wb_r,130`1.66,O,&1,##,
+ #.5,{2^$-90'3^$90}:/OH,{1^$90'4^$-90}:/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Lactose;MW:342.3;EXA:1
+:
+hexose_hp,#.5,{1^$90'2^$90'3^$-90}:/OH,6^$90:/!OH,##,
+ @4,$0~arc_ltr,O,$0~arc_lbr,
+ |,hexose_hp,#.5,{2^$90'3^$-90'4^$-90}:/OH,6^$90:/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Cellobiose;MW:342.3;EXA:1
+:
+hexose_hp,#.5,{1^$-90'2^$90'3^$-90}:/OH,6^$90:/!OH,##,
+ @4,$0~arc_lbr,O,$0~arc_ltr,
+ |,hexose_hp,#.5,{2^$90'3^$-90'4^$-90}:/OH,6^$90:/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Trehalose;MW:342.3;EXA:1
+:
+hexose_hp,#.5,{1^$-90'2^$90'3^$-90}:/OH,6^$90:/!OH,##,
+ @4,@(1,0),|,hexose_hp,#.5,{1^$-90'2^$90'3^$-90}:/OH,6^$90:/!OH,##,
+ ||, at 4,$-37~arc_lb`3.25,O,&10~arc_br
+;
+%==============================================================================
+CAT:biological;EN:Geraniol;MW:154.25;EXA:1
+:
+<30,!8,OH,2'6=dr,2'6:/_
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Limonene;MW:136.24;EXA:-
+:
+<30,?6,2=dl,2:/_,5:*/?!d
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:l-Menthol;MW:156.27;EXA:1
+:
+<30,?6,2:/*?!,5:*/_,3:*/OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Allicin;MW:162.28;EXA:1
+:
+<-30,!d,!2,S?O,!,S,!2,!d
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Benzoic acid;MW:122.12;EXA:-
+:
+<30,Ph,3:/COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Gallic acid;MW:170.12;EXA:-
+:
+<30,Ph,3:/COOH,1'5'6:/OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Salicylic acid;MW:138.12;EXA:-
+:
+<30,Ph,3:/COOH,4:/OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Cinnamic acid;MW:148.16;EXA:-
+:
+<30,Ph,3:/!dr'!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Cinnamaldehyde;MW:132.16;EXA:-
+:
+<30,Ph,3:/!dr'!CHO
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Caffeic acid;MW:180.16;EXA:1
+:
+<30,Ph,1'6:/OH,3:/!d'!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Vanillin;MW:152.15;EXA:1
+:
+<30,Ph,1:/OH,6:/O!,4:/CHO
+;
+CAT:biological;EN:alfa-Terpinene;MW:136.24;EXA:-
+:
+<30,?6,3:/?!,6:/_,3'5=db
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:beta-Terpinene;MW:136.24;EXA:-
+:
+<30,?6,3:/?!,6://_,3=db
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:gamma-Terpinene;MW:136.24;EXA:-
+:
+<30,?6,3:/?!,6:/_,3'6=db
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:delta-Terpinene;MW:136.24;EXA:-
+:
+<30,?6,3://?!,6:/_,5=db
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Eugenol;MW:164.20;EXA:-
+:
+<30,Ph,1:/OH,6:/O!,4:/!'!d
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Thymol;MW:150.22;EXA:-
+:
+<30,Ph,4:/OH,3:/?!,6:/_
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Anisaldehyde;MW:136.15;EXA:-
+:
+<30,Ph,4:/CHO,1:/O!
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Benzaldehyde;MW:106.12;EXA:-
+:
+<30,Ph,4:/CHO
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:gamma-Nonalactone;MW:156.23;EXA:-
+:
+<18,?5,2:O,1:?O,3^-12:/!4
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:gamma-Undecalactone;MW:184.27;EXA:-
+:
+<18,?5,2:O,1:?O,3^-12:/!6
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Muscone;MW:238.40;EXA:-
+:
+<-72,#1,60,-48,60,60,-48,60,60,-48,60,60,-48,60,60,-48,##,&1,9:?O,7:/_
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:alfa-Pinene;MW:136.24;EXA:-
+:
+<30,?6,3:??,5:/_,5=db, at 2,180~zf`1,&4~zb
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:beta-Pinene;MW:136.24;EXA:-
+:
+<30,?6,3:??,5://_, at 2,180~zf`1,&4~zb
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Neral;MW:152.24;EXA:-
+:
+<30,!?,!d,!3,?,!d,-60,CHO
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Geranial;MW:152.24;EXA:-
+:
+<30,!?,!d,!3,?,!d,!,CHO
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:p-Cymene;MW:134.21;EXA:-
+:
+<30,Ph,4:/?!,1:/_
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Benzyl-acetate;MW:150.18;EXA:-
+:
+<30,Ph, at 4,\,?O!,O!,!,Ph
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Benzyl-benzoate;MW:212.25;EXA:-
+:
+<30,Ph,4:/!O!'?O!
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Stearic acid;MW:284.48;EXA:1
+:
+<30,!17,COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Linoleic acid;MW:280.45;EXA:1
+:
+<30,!5,-30,-30,!,-30,-30,!7,COOH,6'9=dr
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Sphingosine;MW:299.50;EXA:1
+:
+<30,!18,OH,14=dr,-3:*/OH,-2:/*NH2
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Tocopherol;MW:430.717;EXA:1
+:
+<30,Ph,3=?6,7:O,1'2'5:/_,8:/*_^60,6:/OH, at 8,\,|,!12,4'8:/*_,12:/_
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Thiamine;MW:265.35;EXA:1
+:
+<30,Ph,4:/NH2, at 3,\`1,!,<-12,?5,-1'-4=dl,1'5'8:N,11:S,6'9:/_,
+ -3^-12:/!2'OH,8:p_^72
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Riboflavin;MW:376.37;EXA:1
+:
+<30,Ph,3'9=?6,8'16=dl,7'10'14:N,12:NH,11'13:?O,1'6:/_,
+ @10,\`1.5,!,*/OH,!,/*OH,!,*/OH,!2,OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Nicotinic acid;MW:123.11;EXA:1
+:
+<30,Ph,2:N,4:/COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Nicotinamide;MW:122.12;EXA:1
+:
+<30,Ph,2:N,4:/?O'!NH2
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Pantothenic acid;MW:219.23;EXA:1
+:
+<30,OH,!8,COOH,3:??,4^35:/*H,4^-20:*/OH,5:?O,6:NH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Pyridoxine;MW:169.18;EXA:1
+:
+<30,Ph,2:N,3:/_,4:/OH,5'6:/!OH
+;
+%------------------------------------------------------------------------------
+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
+;
+%------------------------------------------------------------------------------
+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, at -3,\,?O,!NH!,/*COOH,!3,COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Carotene;MW:536.8726;EXA:1
+:
+<30,?6, at 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, at 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?
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Nicotine;MW:162.23;EXA:1
+:
+<30,Ph,2:N,4:/?5'(2:N?)
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Capsaicin;MW:305.418;EXA:1
+:
+<30,Ph,1:/OH,6:/O!, at 4,\,!NH!,?O,!7,?!,-3=dl
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Gibberellin A3;MW:346.379;EXA:1
+:
+<18,?5,3=?7,5=?6[12], at 8,160`1.3,&3,13=dl,6=wf,8=wb,
+ @5,40~zf`1,O,50,?O^180,&14~zb,2:/COOH,7://_,*8'13:*/OH,14:*/_,1'4:*/H^60
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Cholesterol;MW:386.664;EXA:1
+:
+<30,?6,-4'-2=?6,-4=?5,7=dl,
+ 1:*/OH,4'12:*/_^60,{*9^60'10^180'11^-60'-1^-60}:/*H, at -1,17,/*_,!4,?!
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Resveratrol;MW:228.24;EXA:1
+:
+<30,Ph, at 4,\,!d,!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
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Trenbolone;MW:270.37;EXA:1
+:
+<30,?6,3'10=?6,13=?5,2'11'15=dl,1:?O,12:*/_^60,-1:/*OH,{9^60'*11^-60}:*/H
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Luciferin;MW:280.33;EXA:1
+:
+<30,Ph,3=?5, at 8,\,?5,9'16=dl,9'14:N,7'11:S,1:/OH,-2:*/COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Chlorophyll a;MW:893.509;EXA:1
+:
+<-36,#1,?5, at 3,\,54,?5, at -2,\,54,?5, at -2,\,54,?5, at -2,\,&5, at 6,22,70,&8,##,
+ 4'6'8'10'14'16'18'21'23'27=dl, at 4,\`1.48~vf,Mg,&17~vb, at 11,&27, at 27,&23,
+ 4'11'17'23:N,{1~zf'9'15'21}:/_,14:/!,20:/!d,25:/*?O!'O!,26:?O,
+ @2,*\^-6,!2,?O!,O!2,!d,|,!13,1'5'9'13:/_
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Alizarin;MW:240.21;EXA:1
+:
+<30,Ph,3=?6,-3=Ph2,7'10:?O,13'14:/OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Indigo;MW:262.26;EXA:1
+:
+<30,Ph,3=?5, at -2,\\,?5,-3=Ph2,7'14:NH,9'11:?O
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:6,6'-dibromoindigo;MW:420.0549;EXA:1
+:
+<30,Ph,3=?5, at -2,\\,?5,-3=Ph2,7'14:NH,9'11:?O,1'-2:/Br
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Carminic Acid;MW:492.39;EXA:1
+:
+<30,Ph,3=?6,-3=Ph2,7'10:?O,2'5'6'13:/OH,11:/_,12:/COOH,
+ @1,\~wb`1,?6,-5:O,-1'*-2'-3:/*OH,-4:*/!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Curcumin;MW:368.38;EXA:1
+:
+<30,Ph, at 3,\,!7,Ph,8'13=dr,9'11:?O,6'-3:/OH,5'-4:/O!
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Berberine;MW:336.36;EXA:1
+:
+<30,Ph,3=Ph,-3=?6,-2=Ph2,-3=?5,8:N,8:p_^60,-1'-3:O,{1>vt'2}:/!OH
+;
+%==============================================================================
+CAT:biological;EN:Apigenin;MW:270.24;EXA:-
+:
+<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,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
+:
+<30,Ph,3=?6,9=dl,10:O,7:?O,9:/Ph,
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Isoflavone;MW:222.24;EXA:-
+:
+<30,Ph,3=?6,9=dl,10:O,7:?O,8:/Ph,
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Flavanone;MW:224.25;EXA:-
+:
+<30,Ph,3=?6,10:O,7:?O,9:/Ph,
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Flavonol;MW:238.24;EXA:1
+:
+<30,Ph,3=?6,9=dl,10:O,7:?O,8:/OH,9:/Ph,
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Cianidanol;MW:290.27;EXA:1
+:
+<30,Ph,3=?6, at 8,*\,Ph,7:O,{1'5'9~zf'13'14}:/OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Quercetin;MW:302.24;EXA:1
+:
+<30,Ph,3=?6, at 9,\,Ph,9=dl,10:O,7:?O,2'6'8'13'14:/OH
+;
+%==============================================================================
+CAT:biological;EN:Limonin;MW:470.518;EXA:1
+:
+<30,?6,-3'-4=?6,-5=?3,-2=wf,-1=wb,6=?5,-4=?6,-5=wf,13'15'17'20:O,
+ 3'12'21:?O,{4^60'*8^60}:*/_,18:??,{1^60'5^180'16^60}:/*H,
+ @14,\*,|,?5,1'4=dl,3:O
+;
+%------------------------------------------------------------------------------
+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
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Emetine;MW:480.649;EXA:1
+:
+<30,Ph,-4'-4=?6,8:N,1'6:/O!,-2:/*!,{7^-60'12^-60}:/*H,
+ @-3,\,!zb,<-60,|,?6,5=dl,2:NH,-6^-60:*/H,|,-2=?6,2'4=dl,-2'-3:/O!
+;
+%------------------------------------------------------------------------------
+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:??
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Piperine;MW:285.343;EXA:1
+:
+<30,Ph,-1=?5,-1'-3:O, at 4,\,!d,!,!d,!,?O!,?6,-6:N
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Febrifugine;MW:301.34;EXA:1
+:
+<30,Ph,3=?6, at 9,8=dl,\,!2,!zb,?6,7'9:N,-5:NH,10'12:?O,-1:*/OH
+;
+%------------------------------------------------------------------------------
+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
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Camphor;MW:152.23;EXA:1
+:
+#1,15,-30,90,90,30,##,&1, at 2,0~si_`1.6,&5,{-1^45'-1^-65'5^-45}:/_,4:?O
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Sparteine;MW:234.3803;EXA:1
+:
+<30,?6,3=?6,9=wf,10=wb, at 8,#1,60,60,N,60,##,&10,-3=?6,3:N,{4^60'*11^-60}:*/H
+;
+%------------------------------------------------------------------------------
+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
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Podophyllotoxin;MW:414.41;EXA:1
+:
+<0,?5,2'5:O,-3=Ph2,-3=?6,-3=?5,-2:O,-1=wb,-3:?O,
+ @10,\*,Ph,-2'-3'-4:/O!,13:/*OH,{11^-60'*12^60}:*/H
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Warfarin;MW:308.333;EXA:1
+:
+<30,Ph,3=?6,8=dl,10:O,7:/OH,9:?O, at 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)
+;
+%------------------------------------------------------------------------------
+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
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Reserpine;MW:608.688;EXA:1
+:
+<54,Ph,3=?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:*/?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:*/?!d
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Pyrethrin I;MW:328.452;EXA:1
+:
+<30,?3,{3^35'*3^-35}:*/_, at 1,*\,!d,?!,
+ @2,\*,?O!,O,-36~zb,|,?5,-2=dl,-1:/_,-3:?O, at -2,\,!4,-1'-3=dl
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Oseltamivir;MW:312.40;EXA:1
+:
+<30,?6,3=dl,6:*/NH2, at 1,\*,NH!,?O!, at 2,*\,O!,/!,!2,4:/?O!'O!2
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Paclitaxel;MW:853.918;EXA:1
+:
+?6,5=dl, at 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^-60:/*H,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}:*/O!'?O!
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Mevastatin;MW:390.52;EXA:1
+:
+<30,?6,2=dl,4^60:*/H,-4=?6,-4=dl,9:*/_,
+ @10,*\,!,60~wb,?6,6:O,-2:?O,-4:/*OH, at 5,\*,O,60,?O!,*/_,!2
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Sesamine;MW:354.35;EXA:1
+:
+<54,?5,1=?5,4'7:O,{1^-54'2^54}:*/H,
+ 5^-12:*/Ph'(4=?5)'(7'9:O),8^-12:*/Ph'(4=?5)'(7'9:O)
+;
+%------------------------------------------------------------------------------
+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
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Quinine;MW:324.424;EXA:1
+:
+<30,Ph,3=Ph,7:N,6:/O!,
+ @10,\,*/OH,/*H^-60,!,|,?6,2:N,1^60:*/H, at 4,*\,!d, at 2,165~zf,60,&5~zb
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Atoropin;MW:289.375;EXA:1
+:
+<30,O!,?O!2,Ph,@$1,\~zb^-60,|,?7`1.1, at 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:/NH!'?O!
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Lycorine;MW:287.315;EXA:1
+:
+<30,Ph,-4'-2=?6,6'(9--12)=?5,13=dl,8:N,15'17:O,{*9^180'10^60}:*/H,13'*14:*/OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Ibotenic acid;MW:158.113;EXA:1
+:
+<18,?5,4=dl,3:O,2:NH,1:?O,4^-24:/?NH2'!COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Illudin S;MW:264.3;EXA:1
+:
+<30,?6,3=?5,6:**?3,4'7=dl,2:?O,5:/_,{1^35'8^35}:*/_,{*1^-35'9}:*/OH,8^-35:/*!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Muscarine;MW:174.26;EXA:1
+:
+<18,?5,2:O,1:*/_,5:/*OH, at 3,*\,48,N,??,p_^180,!
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Psilocybin;MW:284.248;EXA:1
+:
+<30,Ph,3=?5,8=dl,9:NH, at 2,\,O,-60,P,?O^-45,/OH^45,90,OH,7:/!2'N?!>lr
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Tetrodotoxine;MW:319.27;EXA:1
+:
+#1,<60,-90,60,-30`1.15,150,60,&1, at 3,-135,60,-30`1.15,150,&4,
+ @10,\,O,60`1.33,60,&$3~si_, at 8,-15~si_,O,&12,##,
+ @9,45,-60,OH,1^120://NH,{5~zf^-15'7'9^-75'12'13~zf}:/OH,2:NH,6^180:NH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Aflatoxin B1;MW:312.27;EXA:1
+:
+<30,Ph,6=?6,-2=?5,4=?5,-2=?5,-2'10=dl,7'14'17:O,
+ 2:/O!,8'11:?O,{15^-54'16^54}:*/H
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Aflatoxin B2;MW:314.3;EXA:-
+:
+<30,Ph,6=?6,-2=?5,4=?5,-2=?5,10=dl,7'14'17:O,2:/O!,8'11:?O,{15^-54'16^54}:*/H
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Aflatoxin G1;MW:328.27;EXA:2
+:
+<30,Ph,6=?6,-2=?6,4=?5,-2=?5,-2'10=dl,7'12'15'18:O,
+ 2:/O!,8'11:?O,{16^-54'17^54}:*/H
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Aflatoxin G2;MW:330.29;EXA:-
+:
+<30,Ph,6=?6,-2=?6,4=?5,-2=?5,10=dl,7'12'15'18:O,
+ 2:/O!,8'11:?O,{16^-54'17^54}:*/H
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Aflatoxin M1;MW:328.3;EXA:-
+:
+<30,Ph,6=?6,-2=?5,4=?5,-2=?5,-2'10=dl,7'14'17:O,
+ 2:/O!,8'11:?O,15^-54:*/H,16^54:*/OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Aflatoxin M2;MW:330.29;EXA:-
+:
+<30,Ph,6=?6,-2=?5,4=?5,-2=?5,10=dl,7'14'17:O,
+ 2:/O!,8'11:?O,15^-54:*/H,16^54:*/OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Ochratoxin A;MW:403.813;EXA:1
+:
+<30,Ph, at 4,\,!,/*COOH,!`1.2,NH,!`1.2,?O!,
+ Ph,-2:/Cl,-5:/OH,-4=?6,-3:O,-2:*/_,-4:?O
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Deoxynivalenol;MW:296.32;EXA:1
+:
+<30,?6,3=?6,5=dl,1:?O,6:/_,-1:O,{*4^60'-2}:*/H,7^30:*/_, at 7,72`.9,80`1.3,&9,
+ @8,?3,-3=wf_,-1=si_,-1:O,{2'12^18}:/*OH,3^-60`1:/*!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Patulin;MW:154.12;EXA:1
+:
+<30,?6,3=?5,2'10=dl,6'7:O,5:/OH,8:?O
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Citrinin;MW:250.247;EXA:1
+:
+<30,?6,3=?6,2'5'11=dl,9:O,1:?O,2:/_,7'*8:*/_,5:/OH,6:/COOH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Zearalenone;MW:318.364;EXA:1
+:
+<30,Ph, at 3,#1,\,!5,60,60,!4,&4,##,1'5'8=dl,17:O,16:*/_,1'5:/OH,12'18:?O
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Fumonisin B1;MW:721.83;EXA:1
+:
+<30,!19, at 6,*\,O!,?O!2,/COOH,!2,COOH, at 7,\*`1.2,O!,?O!2,/COOH,!2,COOH,
+ 5'9:/*_,11'16'*18:*/OH,19:/*NH2
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Dicumarol;MW:336.295;EXA:-
+:
+<30,Ph,3=?6, at 8,\`1.5,!`1.5,?6,-4=Ph2,8'14=db,10'16:O,9'17:?O,7'13:/OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Dihydroxybergamotin;MW:338.40;EXA:-
+:
+<30,Ph,3=?6,6=?5,10'13=db,7'13:O,8:?O, at 5,\,O,!2,!d,/_,!3,/OH,!,??,!OH
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Bergamotin;MW:338.40;EXA:-
+:
+<30,Ph,3=?6,6=?5,10'13=db,7'13:O,8:?O, at 5,\,O,!2,!d,/_,!3,!d,?!
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Alkannin;MW:288.29;EXA:-
+:
+<30,Ph,3=?6,9=db,2'5:/OH,7'10:?O, at 8,\,/*OH,!2,!d,?!
+;
+%==============================================================================
+CAT:synthetic;EN:Benzene;MW:78.11;EXA:-
+:
+<30,Ph
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Phenol;MW:94.11;EXA:-
+:
+<30,Ph,3:/OH
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Aniline;MW:93.13;EXA:-
+:
+<30,Ph,3:/NH2
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Picric acid;MW:229.10;EXA:-
+:
+<30,Ph,1'3'5:/NO2,2:/OH
+;
+%------------------------------------------------------------------------------
+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:1
+:
+<30,Ph,3=Ph
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Anthracene;MW:178.23;EXA:1
+:
+<30,Ph,3'6=Ph
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Phenanthrene;MW:178.23;EXA:1
+:
+<30,Ph,4'6=Ph
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Naphthacene;MW:228.3;EXA:1
+:
+<30,Ph,6'3'-3=Ph
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Chrysene;MW:228.3;EXA:1
+:
+<30,Ph2,6'4'-4=Ph
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Pyrene;MW:202.25;EXA:1
+:
+<30,Ph2,6'4=Ph,16---7=?6,-2=dl
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Coronene;MW:300.35;EXA:1
+:
+<30,Ph,{1'11--2'15--3'19--4'23--5'27---7}=?6,9'12'14'17'20'22'25'28'30=dl
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Kekulene;MW:600.7;EXA:1
+:
+<30,?6,{3'-3'-2'-3'-2'-3'-2'-3'-2'-3'-2----5'5---- -4}=?6,
+ 1'*5'7'9'11'13'17'19'21'23'27'29'31'33'37'39'41'43'47'49'51'53'57'60=dl
+;
+%==============================================================================
+CAT:synthetic;EN:12-Crown-4;MW:176.21;EXA:-
+:
+<-180,O,30,60,60,O,-30,60,60,O,-30,60,60,O,-30,60,&1
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:15-Crown-5;MW:220.26;EXA:2
+:
+<-180,O,48,60,60,O,-48,60,60,O,-48,60,60,O,-48,60,60,O,-48,60,&1
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:18-Crown-6;MW:264.32;EXA:1
+:
+<-180,O,60,60,60,O,-60,60,60,O,-60,60,60,O,-60,60,60,O,-60,60,60,O,-60,60,&1
+;
+%==============================================================================
+CAT:synthetic;EN:Porphyrin;MW:310.4;EXA:1
+:
+<9,#1,?5, at 3,\,54,?5, at -2,\,54,?5, at -2,\,54,?5, at -2,\,&5,##,
+ 1'4'6'8'10'14'16'18'21'23'27=dl,4'17:N,11'23:NH
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Sulflower;MW:448.69;EXA:1
+:
+<67.5,?8,1'3'5'7=?5, at 11,30`1.15,&12, at 14,30`1.15,&15,
+ @17,30`1.15,&18, at 20,30`1.15,&9,9'12'13'16'17'20'21'24=dl,
+ 10'13'16'19'21'22'23'24:S
+;
+%------------------------------------------------------------------------------
+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)
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Melamine;MW:126.12;EXA:1
+:
+<30,Ph,2'4'6:N,1'3'5:/NH2
+;
+%==============================================================================
+CAT:synthetic;EN:Tartrazine;MW:534.3;EXA:1
+:
+<30,Ph,1:/SO3Na, at 4,\,N,!d,N,!,<-12,?5,-2'-5=dl,-2'-3:N,-1:/COONa,-4:/OH,
+ -3:/Ph'(4:/SO3Na)
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Disperse yellow 3;MW:269.30;EXA:1
+:
+<30,Ph,2:/_,5:/OH, at 4,\,N,!d,N,!Ph,-3:/NH!'?O!
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Disperse orenge 30;MW:450.27;EXA:1
+:
+<30,Ph,1:/NO2,3'5:/Cl, at 4,\,N,!d,N,!Ph, at -3,\,N,/!2'CN,!3,?O,!O!
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Disperse red 65;MW:371.82;EXA:1
+:
+<30,Ph,1:/NO2,3:/Cl, at 4,\,N,!d,N,!Ph,-1:/_, at -3,\,N,/!2'CN,!2
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Erythrosine;MW:835.9;EXA:1
+:
+<30,Ph,3'9=?6,8'13'16=dl,10:O,-2:?O,1'5'12'14:/I, at 7,\,Ph,-1:/COOH,6:/OH
+;
+%------------------------------------------------------------------------------
+CAT:synthetic;EN:Sudan red 1;MW:248.28;EXA:1
+:
+<30,Ph,1=Ph,4:/OH, at 3,\,N,!d,N,!Ph
+;
+%------------------------------------------------------------------------------
+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_, at 2,@(3.5,1.5),Cl,n_^15
+;
+%------------------------------------------------------------------------------
+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,-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
+:
+<30,Ph,3=?5, at 8,\\,?5,-3=dr,-3=Ph,7'14:NH,9'11:?O
+;
+%==============================================================================
+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
+;
+%------------------------------------------------------------------------------
+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
+;
+%------------------------------------------------------------------------------
+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
+;
+%------------------------------------------------------------------------------
+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
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Mecillinam;MW:325.4264;EXA:1
+:
+<45,?4,-3=?5,2:N,7:S,3^45:/*H,1:?O^15,5:/*COOH^-18,6:??,
+ @4,*\^15,N,!d,!,?7,-7:N
+;
+%------------------------------------------------------------------------------
+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
+;
+%------------------------------------------------------------------------------
+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:/_, at -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:/_, at -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'(2'6:/Cl)
+;
+%------------------------------------------------------------------------------
+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
+;
+%------------------------------------------------------------------------------
+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, at 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,
+ @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!,/*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,
+;
+%------------------------------------------------------------------------------
+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, at 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: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
+;
+%------------------------------------------------------------------------------
+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, at 6,\,!O!,?O!,NH2
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Apramycin;MW:539.58;EXA:1
+:
+<30,?6,3=?6,2'10:O, at 1,\*,O,60~zb,?6, at 9,\*,O,-60~zb,?6,-5:O,
+ 7'13'*14'*-1'-2:*/OH,*6'15'17'*-3:*/NH2,8:*/NH!^-20,
+ -4:*/!OH,{*3^-60,4^60}:*/H
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Gentamycin;MW:477.596;EXA:1
+:
+<-30,?6, at 1,\*,O,0~zb,?6,-5:O, at 5,\*,O,0~zb,?6,-5:O,2'4'*20:*/NH2,6:*/OH,
+ 11:*/OH^-35,11:/*_^35,12:*/NH!,13:/*OH,17:*/?!'NH!
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Kanamycin;MW:484.499;EXA:1
+:
+<-30,?6, at 1,\*,O,0~zb,?6,-5:O, at 5,\,O,0,?6,-5:O,
+ 2'4'12:*/NH2,*6'11'13'18'*19,20:/*OH,10:*/!OH,17:*/!NH2
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Neomycin;MW:614.644;EXA:1
+:
+<30,?6,3:O,2:/*!NH2,1'*6:*/OH,5:*/NH2,
+ @4,*\,O,!wb,?6,{-3,-5^15}:/*NH2,-2:*/OH^-15,
+ @-1,\*,O,-72~wb,?5,-4:O,-1:/*OH>vt,-3:*/!OH>vt,
+ @-2,\*^-24,O,-60~zb,?6,-5:O,-1:/*NH2,-2'*-3:*/OH,-4:/*!NH2>60
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Streptmycin;MW:581.574;EXA:1
+:
+<54,?5,3:O,4:/*_,5:/OH^45, at 1,\*,O,-24~wb,?6,-5:O, at 2,*\,O,24~zb,?6,
+ 5:/!dO^-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:-
+:
+<54,?5,3:O,4:/*_,5:/OH^60, at 1,\*,O,-24~wb,?6,-5:O, at 2,*\,O,24~zb,?6,
+ @5,-18,/OH^15,45,OH,10'*11'15'*16'*18:*/OH,9:/*!OH,12:*/NH!,
+ {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, at 1,\*,O,-24~wb,?6,-5:O, at 2,*\,O,24~zb,?6,
+ 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
+:
+<30,?6,3'9=?6,7=zf,11=wb,7'10'14:O,9^60:*/H,11:?O,{1'*5'8^-60}:*/OH,
+ 13:/*_,2'6:*/NH!
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Tobramycin;MW:467.51;EXA:1
+:
+<-30,?6, at 1,\*,O,0~zb,?6,-5:O, at 5,\,O,0,?6,-5:O,
+ 2'4'12'*20:*/NH2,*6'11'13'18:/*OH,10:*/!OH,17:*/!NH2
+;
+%------------------------------------------------------------------------------
+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,8:/*!'!dO,
+ @-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}:/*_,##,
+;
+%------------------------------------------------------------------------------
+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,8:/*!'!dO,
+ @-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,##,
+;
+%------------------------------------------------------------------------------
+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:/*O!'?O!^-25,8:/*!'!dO,
+ @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,/_,!,
+;
+%------------------------------------------------------------------------------
+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,8:/*!'!dO,
+ @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,
+;
+%------------------------------------------------------------------------------
+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:/*!,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?!
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Emamectine;MW:886.133;EXA:1
+:
+<24,?6,6=?5,3=dl,9:O,2:*/OH,3:/_,6:/*OH^-60,
+ @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, at -2,?6,-6=wf,-1=zb,-5=dl,
+ -1'-6:O,-3:*/_, at -2,\,*/_,!2,
+ 17:/_,19:/*_, at 18,\,O!,?6`.7,-1:O,#.5,-2:*/_,-4:*/O!,##,
+ @-3,\,O,60,?6`.7,-5:O,#.5,-4:*/_,-3:/*NH!,-2:*/O!
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Spinosad;MW:731.968;EXA:2
+:
+<30,#1,<-120,60,60,-60,60,60,60,-60,60,60,60,-60,&1,##,
+ 5=?5,-1=dl,{-2^60'-3^-35}:/*H,-3=?6,-4=dl,
+ {-1^35'*-2^-60}:*/H,-2=?5,2:O,{3^25,7^-25}:?O,1:*/!,
+ @-2,\*,O,66~zb,?6`.7,-1:O,#.5,-2:*/_,{*-3'-4'-5}:*/O!,8:*/_,5^-65:*/H,##,
+ @9,\*,O,!zb,|,?6`.7,6:O,#.5,5:/*_,4:*/N?!
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Natamycin;MW:665.733;EXA:1
+:
+<-90,#1,60,60,-60,60,-60,60,-60,60,-60,60,60,60,O,-60,
+ 60,60,-60,60,-60,60,-60,60,60,-60,&1,##,12--13=?6,
+ 2'4'6'8'20=dl,11=zb,23:O,-2:/*OH,-3:*/COOH,
+ 18=?3,-1=wb,-2=wf,-1:O,22:?O,24:*/_,{14^60'16}:*/OH,
+ @10,*\^15,O,90,?6`.7,-1:O,#.5,-3'*-5:*/OH,-4:/*NH2,-2:/*_
+;
+%------------------------------------------------------------------------------
+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:/_,8:/*!'!dO,
+ @-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}:/*_,##,
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Tilmicosin;MW:869.133;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'11:?O,6'10:/*_,14:/_,
+ @-1,*\,-60,O,0~zb,?6`.7,-5:O,#.5,-1'-2:*/O!,-3:*/OH,-4:/*_,##,
+ @7,\*,O,0,?6`.7,-5:O,#.5,-2:*/N?!,-1'-3:/*OH,-4:*/_,##,
+ @8,\*,!2,?6`.7,-6:N,#.5,-2'-4:*/_
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Mirosamicin;MW:727.8791;EXA:1
+:
+<-90,#1,60,60,-60,60,60,-60,60,60,-60,60,60,60,-60,60,-60,&1,##,
+ @8,\*,O,0,?6`.7,-5:O,#.5,-2:*/N?!,-1:/*OH,-4:*/_,##,
+ 5'13=dl,15=?3,-2=wf,-1=wb,-1:O,3:O,2:/*!,4'12:?O,7'9'*11:*/_,1:/*OH^-80,
+ @1,*\,!,O,!wb,?6`.7,-5:O,#.5,-3:/*OH,-4:*/_,-1'-2:/O!
+;
+%------------------------------------------------------------------------------
+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:/?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:/?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:/?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
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Tiamulin;MW:493.74;EXA:1
+:
+<-45.5,?8,-3=?5, at 8,#.8,-210~zf,/_^60,45,56,##,&6~zb,
+ {3^-45'5'8}:*/_, at 3,\*^30,!d,4:/*OH,11:?O,7:*/H^60,
+ @1,15,O!,?O!2,S,60,60,-60,N?2,!2
+;
+%------------------------------------------------------------------------------
+CAT:antibiotics;EN:Rifampicin;MW:822.94;EXA:2
+:
+<30,Ph,6:/_^30,5:/OH,-6=?5,-3:O,-8=?6,-2'-4=dl,-1'-4:/OH,
+ #1, at -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!, at -6,-30,O!,?O!,@$11,\,!d,N,!,|,?6,1:N,4:N?
+;
+%==============================================================================
+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:1
+:
+<30,Ph,6:/Cl, at 3,\,/?Cl?Cl!Cl,!Ph,-3:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:op-DDT;MW:354.49;EXA:-
+:
+<30,Ph,4:/Cl, at 3,\,/?Cl?Cl!Cl,!Ph,-3:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:pp-DDD;MW:320;EXA:-
+:
+<30,Ph,6:/Cl, at 3,\,/?Cl!Cl,!Ph,-3:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:pp-DDE;MW:318;EXA:-
+:
+<30,Ph,6:/Cl, at 3,\,//?Cl!Cl,!Ph,-3:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:XMC;MW:179.2;EXA:-
+:
+<30,Ph,1'5:/_, at 3,\,O!,?O!,NH!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Acrinathrin;MW:541.45;EXA:1
+:
+<-30,?3,{2^-35,*2^35}:*/_,
+ @1,\,!d,!,?O,!O!,/?F?F!F,!,?F?F!F, at 3,\,?O,!O!,/CN,!Ph,-4:/O!'Ph>rl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Azaconazole;MW:300.139;EXA:1
+:
+<30,Ph,4'6:/Cl, at 3,\,!2,?5,-2'-4=dl,-2'-4'-5:N, at 7,?5,-1'-4:O
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Acetochlor;MW:269.769;EXA:1
+:
+<30,Ph,2:/_,4:/!, at 3,\,N,/?O!2'Cl,!2,O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Atrazine;MW:215.7;EXA:1
+:
+<30,Ph,2'4'6:N,5:/Cl,1:/NH!2,3:/NH'!?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Alachrol;MW:269.8;EXA:1
+:
+<-30,!,O!2,N,/Ph'(-5'-1:/!),!,?O!2,Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Isoprcarb;MW:193.246;EXA:1
+:
+<30,Ph,2:/?!,3:/O!'?O!'NH!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Isoprothiolane;MW:290.4;EXA:1
+:
+<30,!?!,O!,?O!,//?5'(2'5:S),!?O,!O,!?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Iprobenfos;MW:288.34;EXA:1
+:
+<30,!?!,O!,P,?O,/O'!?!^170,!,S,!2,Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Uninnazole-P;MW:291.779;EXA:1
+:
+<30,Ph,6:/Cl, at 3,\,!d,!,/OH,!,??!, at 8,\,|,?5,2'4=dl,1'2'4:N
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Esprocarb;MW:265.4;EXA:1
+:
+<30,Ph, at 3,\,!S!,?O!,N?2!,?!,?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Ethalfluralin;MW:333.3;EXA:1
+:
+<30,Ph,1'3:/NO2,5:/?F?F!F, at 2,\`1.1,/!,N,!2,/_,!d
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Ethofenprox;MW:376.5;EXA:1
+:
+<30,Ph, at 5,\,O,!Ph, at 10,\,O!3,??,!Ph,-3:/O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Endrin;MW:380.91;EXA:1
+:
+<30,?6`1.3,3=?6,6=dl,9=?3,-1:O,
+ @2,210~wf`1.5,&5~wb, at 7,210~zf`1.5,&10~zb,{1'2'5'6'12^-210'12^-150}:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Oxadiazon;MW:345.2;EXA:1
+:
+<30,Ph,4'6:/Cl,1:/O'!?!, at 3,\,|,?5,2=dl,1'2:N,4:O,5:?O,3:/??!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Oxadixyl;MW:278.3;EXA:1
+:
+<30,Ph,2'4:/_, at 3,\,N,!1,?O!2,O!, at 7,\,|,?5,1:N,2:O,5:?O
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Oxyfluorfen;MW:361.701;EXA:1
+:
+<30,Ph,6:/?F?F!F,4:/Cl, at 3,\,O,!Ph,-3:/NO2,-4:/O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Cafenstrole;MW:350.4;EXA:1
+:
+<30,Ph,2'4'6:/_, at 3,\,S?O?O,!,|,?5,2'5=dl,2'4'5:N,-2:/?O!'N?'!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Carfentrazone-ethyl;MW:412.19;EXA:1
+:
+<30,Ph,4:/F,6:/Cl, at 1,\,!,/Cl,!,?O!,O!2,
+ @3,\,|,?5,4=dl,1'3'5:N,-4:?O,-3:/?F!F,-2:/_
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Carboxin;MW:235.301;EXA:1
+:
+<30,?6,3=dl,2:S,5:O,4:/_, at 3,\,?O,!NH!,Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Quinoxyfen;MW:308.13;EXA:1
+:
+<30,Ph,4=Ph,10:N,2'6:/Cl, at 7,\,O,!Ph,-3:/F
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Quitozene;MW:295.3;EXA:1
+:
+<30,Ph,1'2'3'4'6:/Cl,5:/NO2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Kresoxim-Methyl;MW:313.348;EXA:1
+:
+<30,Ph, at 3,\,/?O!'O!,!d,N,!O!, at 4,\,!,O,!Ph,-1:/_
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Clomazone;MW:239.7;EXA:1
+:
+<30,Ph,2:/Cl, at 3,\,!,|,?5,1:N,2:O,-2:??,-1:?O
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Chlorfenapyr;MW:407.62;EXA:1
+:
+<18,?5,3=dl,5=dl,2:N,4:/CN,5:/Br,1:/?F?F!F,2:/!O!2,3:/Ph'(-3:/Cl)
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Chlorfenson;MW:303.153;EXA:1
+:
+<30,Ph, at 3,\,O!,S?O?O,!Ph,6'12:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Chlorpropham;MW:213.7;EXA:1
+:
+<30,Ph,6:/Cl, at 4,\,NH!,?O!,O,!?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Chlorbenside;MW:269.183;EXA:1
+:
+<30,Ph, at 3,\,S,!2,Ph,6'12:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Chlorobenzilate;MW:325.2;EXA:1
+:
+<30,Ph, at 3,\,/OH^-35,/?O!'O!2^30>lr,!Ph,6'11:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Chlorantraniliprole;MW:483.15;EXA:1
+:
+<30,Ph,1:/Cl,3:/_, at 5,\,?O,60,NH!, at 4,\,NH!,?O!,<24,?5,-1'-3=db,-3'-4:N,-2:/Br,
+ @-4,24,Ph,-5:N,-1:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Azoxystrobin;MW:403.4;EXA:1
+:
+<30,Ph,2:/CN, at 3,\,O,!Ph,-1'-3:N, at -4,\,O,!Ph, at -5,\,/?O!'O!,!d,!O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Thiuram;MW:240.43;EXA:1
+:
+<30,!,N?!,//S,!,S,!,S,!,//S,!,N?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Probenazole;MW:223.25;EXA:1
+:
+<12,Ph,3=?5,9=dl,7:S,8:N,{7^35'7^-35}:?O,9:/O!2'!d
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Penflufen;MW:317.41;EXA:1
+:
+<30,Ph, at 3,\,NH!,?O!,?5,-1'-4=db,-2'-3:N,-2'-4:/_,-1:/F, at 4,\,/_,60,!?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:MCPA;MW:200.62;EXA:1
+:
+<30,Ph,1:/Cl,5:/_,4:/O!2'COOH
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Asulam;MW:230.2;EXA:1
+:
+<30,Ph,1:/NH2, at 3,\,S?O?O,!NH!,?O!,O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Imazosulfuron;MW:412.81;EXA:1
+:
+<-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:/_, at 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, at 3,\,S?O?O,!NH!,?O,!NH!,Ph,-2'-4:/O!,4:/?O!'O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Flupoxam;MW:460.8;EXA:2
+:
+<30,Ph,4:/Cl, at 1,\,?5,-2'-4=db,-2'-4'-5:N,-1:/Ph,-3:/?O!'NH2,
+ @3,\,!,O!2,/F^35,/F^-35,!,?F?F!F
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Cyanazine;MW:240.7;EXA:1
+:
+<30,Ph,2'4'6:N,5:/Cl,1:/NH!2,3:/NH!'??'!CN
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Diethofencarb;MW:267.3;EXA:1
+:
+<30,Ph, at 4,\,NH!,?O!,O,!?!,1'6:/O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Diclofop-methyl;MW:341.2;EXA:1
+:
+<30,Ph,4'6:/Cl, at 3,\,O,!Ph, at -4,\,O,!?!,?O,!O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Cyhalothrin;MW:449.86;EXA:1
+:
+<-30,?3,{2^-35'*2^35}:*/_, at 1,\,!d,/?F?F!F,!Cl,
+ @3,\,?O,!O!,/CN,!Ph,-4:/O!'Ph>rl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Cyhalofop-Buthyl;MW:357.381;EXA:1
+:
+<30,Ph,1:/CN,4:/F, at 3,\,O,!Ph, at -3,\,O,!?!,?O!,O,!4
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Diphenamid;MW:239.3;EXA:1
+:
+<30,Ph, at 3,\,!Ph,-5:/?O!'N?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Cyfluthrin;MW:434.3;EXA:1
+:
+<-30,?3,{2^-35'*2^35}:*/_,
+ @1,\,!d,/Cl,!Cl, at 3,\,?O,!O!,/CN,!Ph,-3:/F,-4:/O!'Ph>rl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Diflufenican;MW:394.29;EXA:1
+:
+<30,Ph,1'5:/F, at 4,\,NH!,?O,!Ph,6:N,-5:/O!'Ph'(-3:/?F?F!F)
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Cyproconazole;MW:291.8;EXA:1
+:
+<30,?3, at 2,\,?!,/OH^30,-90,!,|,<-18,?5,2'4=dl,1'3'5:N,@$5,-30,Ph,-3:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Cypermethrin;MW:416.3;EXA:1
+:
+<-30,?3,{2^-35'*2^35}:*/_, at 1,\,!d,/Cl,!Cl, at 3,\,?O,!O!,/CN,!Ph,-4:/O!'Ph>rl
+;
+%------------------------------------------------------------------------------
+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:Dimethametryn;MW:255.4;EXA:1
+:
+<30,Ph,2'4'6:N,5:/S!,1:/NH!2,3:/NH'!?!'?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Dimethenamid;MW:275.8;EXA:1
+:
+<-6,?5,3'5=dl,2:S,3'5:/_, at 4,\,N,!,?O!2,Cl,6:/?!2'O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Simetryn;MW:213.3;EXA:1
+:
+<30,Ph,2'4'6:N,5:/S!,1'3:/NH!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Dimepiperate;MW:263.4;EXA:1
+:
+<30,Ph, at 3,\,??,!S!,?O!,?6,-6:N
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Diazinon;MW:304.35;EXA:1
+:
+<30,!2,O!,P,//S,/O!2^160>rl,!O!,|,Ph,4'6:N,5:/_,3:/?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Thiobencarb;MW:257.776;EXA:1
+:
+<30,Ph,1:/Cl, at 4,\,!S!,?O!,N?2,!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Thiometon;MW:246.34;EXA:1
+:
+<-30,!O!,P,//S,/O!^160,!,S!3,S!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Thifluzamide;MW:528.08;EXA:1
+:
+<-12,?5,3'5=dl,2:S,5:N,3:/?F?F!F,1:/_,
+ @4,\,?O,!NH!,<6,Ph,-5'-1:/Br,-3:/O!'?F?F!F
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Dieldrin;MW:380.895;EXA:1
+:
+<30,?6`1.2,3=?6,6=dl,9=?3,-1:O, at 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:Aldrin;MW:364.908;EXA:1
+:
+<30,?6`1.3,3=?6,6'9=dl,
+ @2,210~wf`1.5,&5~wb, at 7,210~zf`1.5,&10~zb,{1'2'5'6'11^-210'11^-150}:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Tecnazene;MW:260.879;EXA:1
+:
+<30,Ph,{1,3,4,6}:/Cl,5:/NO2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Tetrachlorvinfos;MW:365.97;EXA:1
+:
+<-30,!O!,P,?O,/O!^160,!O!,/Ph'(2'4'5:/Cl),!d,!Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Tetraconazole;MW:372.14;EXA:1
+:
+<-6,?5,2'5=dl,1'2'4:N, at 4,\,!3,O!,/F^35,/F^-35,!,?F!F,7:/Ph'(4'6:/Cl)
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Tetradifon;MW:356.038;EXA:1
+:
+<30,Ph, at 3,\,S?O?O,!Ph,6'10'11'13:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Thenylchlor;MW:323.835;EXA:1
+:
+<6,?5,2'5=dl,4:S,2:/O!, at 3,\,!,N,7^-15:/Ph'(6'2:/_),!,?O!2,Cl,
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Tebuconazole;MW:307.8;EXA:1
+:
+<36,?5,1'4=dl,1'3'5:N, at 3,30,!4,Ph,-3:/Cl,7^-30:/??!,7^30:/OH
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Tebufenpyrad;MW:333.86;EXA:1
+:
+<6,?5,3'5=dl,1'2:N,4:/Cl,5:/!,2:/_, at 3,\,?O!,NH,!2,Ph,-3:/??!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Tefluthrin;MW:418.736;EXA:1
+:
+<-30,?3,{2^-35'*2^35}:*/_, at 1,\,!d,/?F?F!F,!Cl, at 3,\,?O!,O!2,|,Ph,2'3'5'6:/F,4:/_
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Terbutryn;MW:241.4;EXA:1
+:
+<30,Ph,2'4'6:N,5:/S!,1:/NH!2,3:/NH!'??!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Terbufos;MW:288.42;EXA:1
+:
+<30,!2,O!,P,//S,/O!2^160>rl,!,S!2,S!,??!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Triadimefon;MW:293.8;EXA:1
+:
+<30,Ph,6:/Cl, at 3,\,O!2,?O!,??!, at 8,\,|,?5,2'4=dl,1'2'4:N
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Triazophos;MW:313.31;EXA:1
+:
+<30,!2,O!,P,//S,/O!2^160>rl,!O!,<-12,|,?5,2'5=dl,2'4'5:N,4:/Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Triallate;MW:304.7;EXA:1
+:
+<-30,!?!,N,/?!,!,?O!,S!2,/Cl,!d,/Cl,!Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Dimethylvinphos;MW:331.52;EXA:1
+:
+<-30,!O!,P,?O,/O!^160,!O!,/Ph'(2'4:/Cl)`1,!d,!Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Trifluralin;MW:335.3;EXA:1
+:
+<30,Ph,1'3:/NO2,5:/?F?F!F, at 2,\,N,/!2,!3
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Napropamide;MW:271.4;EXA:1
+:
+<-30,Ph,4=Ph, at 10,\,O!,?!,?O!,N?2,!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Nitrothal-isopropyl;MW:295.3;EXA:-
+:
+<30,Ph,5:/NO2,1'3:/?O!'O!'?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Norflurazon;MW:303.7;EXA:-
+:
+<30,?6,1'5=dl,4'5:N,1:/NH!,3:?O,2:/Cl,4:/Ph'(3:/?F?F!F)
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Paclobutrazole;MW:293.795;EXA:-
+:
+<30,Ph,6:/Cl, at 3,\,!2,/OH,!,??!, at 8,\,|,?5,2'4=dl,1'2'4:N
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Picolinafen;MW:376.331;EXA:-
+:
+<30,Ph,5:/?F?F!F, at 3,\,O,!Ph,-5:N, at -4,\,?O,!NH!,Ph,-3:/F
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Bitertanol;MW:337.4;EXA:-
+:
+<30,Ph, at 3,\,Ph, at -3,\,O!2,/OH,!,??!, at 14,\,|,?5,2'4=dl,1'2'4:N
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Bifenox;MW:342.14;EXA:-
+:
+<30,Ph,4'6:/Cl, at 3,\,O,!Ph,-4:/?O!'O!,-3:/NO2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Bifenthrin;MW:422.88;EXA:-
+:
+<-30,?3,{2^-35'*2^35}:*/_,
+ @1,\,!d,/Cl,!,?F?F!F, at 3,\,?O,!O!,-60,Ph,-1:/_,-2:/Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pyraflufen-ethyl;MW:413.174;EXA:-
+:
+<30,Ph,6:/Cl,4:/F, at 3,\,|,?5,1'4=dl,2'3:N,-3:/_,5:/Cl,
+ @-2,\,O!,/F,!F,@$1,\,O!2,?O!,O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pyridaben;MW:364.9;EXA:-
+:
+<30,?6,2'4=dl,5'6:N,6:/??!,1:?O,2:/Cl, at -4,\,S,!2,Ph,-3:/??!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pyridaphenthion;MW:340.34;EXA:1
+:
+<30,!2,O!,P,//S,/O!2^160>rl,!O!,|,?6,1'5=dl,2'3:N,4:?O,3:/Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pyributicarb;MW:330.4;EXA:1
+:
+<30,Ph,5:/??!, at 3,\,?O!,S!,N?!,Ph,-5:N,-4:/O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pyriproxyfen;MW:321.5;EXA:1
+:
+<30,Ph, at 5,\,O,!Ph, at -3,\,O!2,?!,O,-60,Ph,-5:N
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pyriminobac-Methyl;MW:361.354;EXA:-
+:
+<30,Ph,2:/O!'?O!, at 5,\,/_,!d,N,!O!, at 3,\,O!,|,Ph,2'6:N,3'5:/O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pyrimethanil;MW:199.257;EXA:-
+:
+<30,Ph, at 3,\,NH!,|,Ph,2'6:N,3'5:/_
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pyroquilon;MW:173.2;EXA:1
+:
+<30,Ph,3=?6,10:N,9:?O,11--4=?5
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Vinclozolin;MW:286.108;EXA:1
+:
+<36,?5,3:N,5:O,2'4:?O,1:/_^54,1:/!d^-30,3:/Ph'(3'5:/Cl)
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fipronil;MW:437.2;EXA:-
+:
+<30,Ph,2'4:/Cl,6:/?F?F!F, at 3,\,|,?5,2'4=dl,1'2:N,3:/CN,5:/NH2,-2:/S?O'!?F?F!F
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fenomiphos;MW:303.36;EXA:-
+:
+<30,!2,O!,P,?O,/NH'!?!^160,!,O,!Ph,-4:/_,-3:/S!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fenarimol;MW:331.2;EXA:-
+:
+<30,Ph, at 3,\,!Ph,4'11:/Cl,7:/OH^30,7^-30:/Ph'(3'5:N)
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fenothiocarb;MW:253.4;EXA:-
+:
+<30,Ph, at 3,\,O,!5,S,!,?O!,N?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fensulfothion;MW:308.35;EXA:-
+:
+<30,!2,O!,P,//S,/O!2^160>rl,!,O,!Ph,-3:/S'?O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fenitrothion;MW:277.23;EXA:-
+:
+<-30,!O!,P,//S,/O!^160,!,O,!Ph,-4:/_,-3:/NO2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Parathion-methyl;MW:263.2;EXA:-
+:
+<-30,!O!,P,//S,/O!^160,!,O,!Ph,-3:/NO2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Parathion;MW:291.3;EXA:-
+:
+<30,!2,O!,P,//S,/O!2^160>rl,!O,!Ph,-3:/NO2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fenthion;MW:278.33;EXA:-
+:
+<-30,!O!,P,//S,/O!^160,!O!,|,Ph,3:/_,4:/S!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Butamifos;MW:332.36;EXA:-
+:
+<-30,!2,?!,NH!,P,//S,/O!2^170>rl,!O!,|,Ph,2:/NO2,5:/_
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Phenthoate;MW:320.358;EXA:-
+:
+<-30,!O!,P,//S,/O!^160,!,S,!,/Ph,!,?O!,O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Prothyophos;MW:329.18;EXA:-
+:
+<-30,!3,O!,P,//S,/O!2^160>rl,!O!,Ph,-5'-3:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Propaphos;MW:304.343;EXA:-
+:
+<-30,!3,O!,P,?O,/O!3^160>rl,!O!,Ph,-3:/S!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Profenofos;MW:373.6;EXA:-
+:
+<30,!2,O!,P,//S,/O!3^160>rl,!O,!Ph,-5:/Cl,-3:/Br
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Bromophos;MW:365.99;EXA:-
+:
+<-30,!O!, P,//S,/O!^160,!O!,|,Ph,3'6:/Cl,4:/Br
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Phosalone;MW:367.80;EXA:-
+:
+<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:Phosmet;MW:317.32;EXA:-
+:
+<-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:/O!2^160>rl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Malathion;MW:330.35;EXA:-
+:
+<-30,!O!,P,//S,/O!^160,!S!,/!?O!'O!2`1,!,?O!,O!2
+;
+%------------------------------------------------------------------------------
+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!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Mevinphos;MW:224.15;EXA:-
+:
+<-30,!O!,P,?O,/O!^160,!O,!?,!d,!,?O!,O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Chlorpyrifos;MW:350.59;EXA:-
+:
+<30,!2,O!,P,//S,/O!2^160>rl,!O!,|,Ph,6:N,2'4'5:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Chlorpyrifos-methyl;MW:322.53;EXA:-
+:
+<-30,!O!,P,//S,/O!^160>rl,!O!,|,Ph,6:N,2'4'5:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Cadusafos;MW:270.386;EXA:-
+:
+<-30,!2,?!,S!,P,?O,/O!2^160>rl,!,S,!?,!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Dimethoate;MW:229.25;EXA:-
+:
+<-30,!O!,P,//S,/O!^160,!,S!2,?O,!NH!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Tribufos;MW:314.50;EXA:-
+:
+<30,!4,S,!,P,?O,/S'!4^160>rl,!,S,!4
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Tolclofos-methyl;MW:301.13;EXA:-
+:
+<-30,!O!,P,//S,/O!^160,!O!,|,Ph,2'6:/Cl,4:/_
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Piperophos;MW:353.48;EXA:-
+:
+<-30,!3,O!,P,//S,/O'!?!^160>rl,!,S!2,?O!,|,?6,1:N,6:/_
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pyraclofos;MW:360.80;EXA:-
+:
+<30,!2,O!,P,?O,/S!3^160>rl,!O!,<-12,|,?5,1'4=dl,3'4:N, at -3,-12,Ph,-3:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pyrazophos;MW:373.37;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:/?O!'O!2
+;
+%------------------------------------------------------------------------------
+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, at 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,!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,!d,!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, at 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}:/*_, at 3,\,?O,!O!,/CN,!Ph,-4:/O!'Ph>rl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fenpropimorph;MW:303.49;EXA:1
+:
+<30,?6,3:N,6:O,1'5:*/_, at 3,\,!?,!2,Ph,-3:/??!
+;
+%------------------------------------------------------------------------------
+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,/Ph'(-1'-5:/!)`1,!,?O!2,Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Bupirimate;MW:316.42;EXA:1
+:
+<30,Ph,4'6:N,1:/_, at 3,\,O!,S?O?O,!,N?!,2:/!3,5:/NH!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Buprofezin;MW:305.4;EXA:1
+:
+<-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, at 3,\,N,/?O!'Ph>rl,!?!,?O,!O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fluacrypyrim;MW:426.392;EXA:1
+:
+<30,Ph,4'6:N,1:/?F?F!F,5:/O'!?!, at 3,\,O!2,Ph, at -1,\,|,!d,!O!,1:/?O!'O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fluquinconazole;MW:376.2;EXA:1
+:
+<30,Ph,3=?6,8=dl,7'9:N,6:/F,10:?O, at 8,\,|,?5,2'4=dl,1'3'5:N,$9:/Ph'(4'6:/Cl)
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fludioxonil;MW:248.2;EXA:1
+:
+<30,Ph,5=?5,7'9:O,{8^-40'8^40}:/F, at 4,\,|,?5,2'5=dl,-2:NH,-4:/CN
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Flucythrinate;MW:451.5;EXA:1
+:
+<30,Ph, at 6,\,O!,/F,!,F, at 3,\,/?!,!,?O,!O!,/CN,!Ph,-4:/O!'Ph>rl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Flutolanil;MW:323.3;EXA:1
+:
+<30,Ph,2:/?F?F!F, at 3,\,?O,!NH!,Ph,-1:/O'!?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fluvalinate;MW:502.92;EXA:1
+:
+<30,Ph,5:/Cl,1:/?F?F!F, at 4,\,NH!,/?!,!,?O,!O!,/CN,!Ph,-4:/O!'Ph>rl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Flumioxazin;MW:354.337;EXA:1
+:
+<30,Ph,6:/F,3=?6,-1:O,-4:N,-3:?O, at -4,\,!,!t, at 1,\,|,?5,3=?6,3=dr,1:N,2'5:?O
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pretilachlor;MW:311.85;EXA:-
+:
+<30,Ph,2'4:/!, at 3,\,N,/?O!2'Cl`1,!3,O!3
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Procymidone;MW:284.136;EXA:-
+:
+?6,1:N, at 3,&5,2'6:?O,3'5:/_,1:/Ph'(3'5:/Cl)
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Propachlor;MW:211.689;EXA:-
+:
+<30,Ph, at 3,\,N,/?!,!,?O!2,Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Propazine;MW:229.7;EXA:1
+:
+<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:Propyzamide;MW:256.1;EXA:1
+:
+<30,Ph,1'5:/Cl, at 3,\,?O,!NH,!??!,!t
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Propiconazole;MW:342.22;EXA:-
+:
+<30,Ph,4'6:/Cl, at 3,\,!2,|,?5,2'4=dl,1'2'4:N,@$7,?5,-1'-4:O,-3:/!2^-15
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Prohydrojasmon;MW:254.37;EXA:-
+:
+<18,?5,2:?O,3:*/!4^-12,4:/*!?O!'O!3
+;
+%------------------------------------------------------------------------------
+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'!?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Bromobutide;MW:312.2;EXA:-
+:
+<30,Ph, at 3,\,??,!NH!,?O!,/Br,!??!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Bromopropylate;MW:428.12;EXA:-
+:
+<30,Ph, at 3,\,!Ph,6'11:/Br,7:/OH^-45, at 7,30,?O!,O,-60,?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Hexaconazole;MW:314.2;EXA:-
+:
+<36,?5,1'4=dl,1'3'5:N, at 3,30,!5,-4^30:/OH, at -5,-30,Ph,-3'-1:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Hexazinone;MW:252.31;EXA:-
+:
+<30,?6,3=dl,2'4'6:N,2:/_,1'5:?O,6:/?6,3:/N?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Benalaxyl;MW:325.4;EXA:-
+:
+<30,Ph, at 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:/_, at 7,\,?O!,/Cl,!Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Heptachlor;MW:373.35;EXA:1
+:
+<30,?6`1.3,3=?5,6'8=dl, at 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}:*/_, at 1,\,!d,/Cl,!Cl, at 3,\,?O!,O!2,Ph,-4:/O!'Ph>rl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Penconazole;MW:284.184;EXA:-
+:
+<30,Ph,4'6:/Cl, at 3,\,/!2,!2,|,<30,?5,2'4=dl,1'2'4:N
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pendimethalin;MW:281.3;EXA:-
+:
+<30,Ph,3'5:/NO2,1'2:/_, at 4,\,NH,!?,!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Benfluralin;MW:335.3;EXA:1
+:
+<30,Ph,1'3:/NO2,5:/?F?F!F,2:/N?2'!4
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Benfuresate;MW:256.3;EXA:1
+:
+<30,Ph,3=?5,7:O,9:??, at 6,\,O!,S?O?O,!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Bensulide;MW:397.5;EXA:1
+:
+<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, at 3,30,!,/CN^30,/Ph'(4:/Cl)^-30,!4
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Methoxychlor;MW:345.644;EXA:-
+:
+<30,Ph, at 3,\,!Ph,6'11:/O!,7:/?Cl?Cl!Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Metolachlor;MW:283.8;EXA:-
+:
+<30,Ph,5:/!,3:/_, at 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, at 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}:/?O!'O!2, at 4,-24,Ph,-3'-1:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Mepronil;MW:269.3;EXA:-
+:
+<30,Ph,2:/_, at 3,\,?O,!NH!,Ph,-2:/O'!?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Molinate;MW:187.3;EXA:1
+:
+<47,?7,3:N, at 3,\,?O!,S!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Resmethrin;MW:338.4;EXA:1
+:
+<-30,?3,{2^-35'*2^35}:*/_, at 1,\,!d,?!,3:/?O!'O!2,|,?5,3'5=dl,2:O,3:/!Ph
+;
+%------------------------------------------------------------------------------
+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:1
+:
+<30,Ph, at 6,\,O!,/F^35,/F^-35,!,Br, at 3,\,!??!,O!2,Ph,-2:/O!'Ph>rl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Paraquat;MW:257.16;EXA:1
+:
+Ph, at 4,\,Ph,1'10:N?,1:p_^-90,10:p_^90, at 1,@(0,1.2),Cl,n_^15,
+ @10,@(0,1.2),Cl,n_^15
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Oxine-Copper;MW:351.852;EXA:1
+:
+Ph,4:N,5=Ph, at -4,\,O,-60,<90,Cu,-90,O,60,Ph,-2=Ph,10:N, at 4,&12~vf, at 23,&12~vf
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Endosulfan;MW:406.904;EXA:1
+:
+<26,?7,7=?6[13], at 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:1
+:
+<30,Ph,6:/Cl, at 3,\,!d,!,/OH,!??!, at 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
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Azoxystorbin;MW:403.394;EXA:1
+:
+<30,Ph,2:/CN, at 3,\,O,!Ph,-1'-3:N, at -4,\,O,!Ph, at -5,\,//!O!,!,?O!,O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Aramite;MW:334.859;EXA:-
+:
+<30,Ph,6:/??!, at 3,\,O!2,?!,O!,S,?O,!,O!3,Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Aldicarb;MW:190.3;EXA:-
+:
+<-30,!,S,!,??,!,!d,N,!O!,?O,!NH!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Aldoxycarb;MW:222.3;EXA:-
+:
+<30,!,?O,!NH!,O!,N,!d,!,??,!,S?O?O,!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Isoxaflutole;MW:359.319;EXA:-
+:
+<30,Ph,6:/?F?F!F, at 4,\,S?O?O,!, at 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:/_, at 3,\,!?!,NH!,?O!,??,!NH!,?O!,O,!?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Imazalil;MW:297.2;EXA:1
+:
+<-30,!,/Ph'(4'6:/Cl),!,O!2,!d, at 1,60,|,?5,2'4=dl,1'3:N
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Imidacloprid;MW:255.662;EXA:1
+:
+<30,Ph,1:N,6:/Cl, at 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:/!, at 8,-30,!2,Ph,-2:/Cl, at 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:/?O!'O!,
+ @12,\,?O!,N,/?O!'O!,!Ph,-3:/O!'?F?F!F
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Oxamyl;MW:219.3;EXA:-
+:
+<-30,!,N?!,?O!,/S!,!d,N,!O!,?O!,NH!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Oryzalin;MW:346.4;EXA:-
+:
+<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, at 4,\,?O,!O!,NH!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Carpropamid;MW:334.665;EXA:-
+:
+<-30,?3,1:/_,{2^-35'*2^35}:*/Cl,3^70:/!, at 3,\,?O!,NH,!?!,Ph,-3:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Cumyluron;MW:302.802;EXA:-
+:
+<30,Ph, at 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, at 7,\,O!2,?O!,O,!?,!5
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Clotianidin;MW:249.673;EXA:1
+:
+<6,?5,3'5=dl,2:S,5:N,1:/Cl, at 3,\,!NH!,/NH!,!d,N,!NO2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Chromafenozide;MW:394.515;EXA:-
+:
+<30,?6,3=?6,5:O,7'9'11=dl,7:/_, at 8,\,?O,!NH!,N,/??!,!,?O,!Ph,-4'-3:/_
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Clomeprop;MW:324.2;EXA:-
+:
+<30,Ph,4'6:/Cl,5:/_, at 3,\,O,!?!,?O,!NH!,Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Chloridazon;MW:221.6;EXA:-
+:
+<30,?6,3'4:N,2'6=dl,5:?O,1:/NH2,6:/Cl,4:/Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Chloroxuron;MW:290.745;EXA:-
+:
+<30,Ph,6:/Cl, at 3,\,O,!Ph, at -3,\,NH!,?O!,N?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Cyazofamid;MW:324.783;EXA:-
+:
+<18,?5,2'5=dl,2'4:N,1:/Cl,3:/CN, at 4,\,S?O?O,!,N?!,5:/Ph'(4:/_)
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Diuron;MW:233.1;EXA:-
+:
+<30,Ph,1'6:/Cl, at 3,\,NH!,?O!,N?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Cyflufenamid;MW:412.36;EXA:-
+:
+<30,Ph,4^20:/?F?F!F,1'2:/F, at 3,\,!NH!,?O!2,Ph, at -10,\\,N,!,<-12,O!2,?3
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Diflubenzuron;MW:310.7;EXA:-
+:
+<30,Ph,2'4:/F, at 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
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Simeconazole;MW:293.417;EXA:-
+:
+<36,?5,1'3'5:N,1'4=dl, at 3,30,!,/OH^30,!2,Si,??!,7^-30:/Ph'(4:/F),
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Dimethirimol;MW:209.29;EXA:-
+:
+<30,?6,3'5=dl,1:?O,2:NH,3:/N?!,4:N,5:/_,6:/??!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Dimethomorph;MW:387.86;EXA:-
+:
+<30,?6,1:O,4:N, at 4,\,?O!,!d`1,/Ph'(4:/Cl),!,|,Ph,4'5:/O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Silafluofen;MW:408.588;EXA:-
+:
+<30,Ph, at 5,\,O,!Ph,-1:/F, at 10,\,!3,Si,??,!Ph,-3:/O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Di-allate;MW:270.212;EXA:-
+:
+<-30,!?!,N,!,?O!,S,!2,!d,!Cl,3:/?!,7:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Daimuron;MW:268.4;EXA:-
+:
+<30,Ph, at 4,\,??,!NH!,?O,!NH!,Ph,-3:/_
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Thiacloprid;MW:252.72;EXA:-
+:
+<30,Ph,1:N,6:/Cl, at 3,\,!,<-12,|,?5,1:N,3:S,-4://N'!CN
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Thiabendazole;MW:201.247;EXA:-
+:
+<30,Ph,3=?5,8=dl,9:NH,7:N, at 8,\,|,?5,1'4=dl,3:S,5:N
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Thiamethoxam;MW:291.71;EXA:-
+:
+<30,?6,2:O,4'6:N,6:/_, at 5,\\,N,!NO2, at 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:/??!, at 3,\,N?!,?O,!NH!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Tebufenozide;MW:352.5;EXA:-
+:
+<30,Ph,6:/!, at 3,\,?O,!NH!,N,/??!,!,?O,!Ph,-4'-2:/_
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Teflubenzuron;MW:381.1;EXA:-
+:
+<30,Ph,2'4:/F, at 3,\,?O,!NH!,?O,!NH!,|,Ph,3'5:/Cl,4'6:/F
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Tridemorph;MW:297.5;EXA:-
+:
+<30,?6,3:N,6:O,1'5:/_,3:/!12
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Triflumuron;MW:358.701;EXA:-
+:
+<30,Ph,4:/Cl, at 3,\,?O,!NH!,?O,!NH!,Ph,-2:/O!'?F?F!F
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Naproanilide;MW:291.35;EXA:-
+:
+<30,Ph,4=Ph, at 8,\,O,!?!,?O,!NH!,Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Novaluron;MW:492.706;EXA:-
+:
+<30,Ph,2'4:/F, at 3,\,?O,!NH!,?O,!NH!,
+ Ph,-4:/Cl, at -3,\,O!,/F^-35,/F^35,!,/F,!O!,?F?F!F
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pyraclostrobin;MW:387.817;EXA:-
+:
+<30,Ph, at 3,\,!O!,<12,|,?5,2'5=dl,4'5:N, at 4,12,Ph,-3:/Cl,||, at 2,\,N,/O!,!?O,!O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pirimicarb;MW:238.291;EXA:-
+:
+<30,Ph,1'5:N,2'3:/_,6:/N?!, at 4,\,O!,?O!,N?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fenoxycarb;MW:301.35;EXA:-
+:
+<30,Ph, at 5,\,O,!Ph, at -3,\,O!3,NH!,?O!,O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fenobucarb;MW:207.3;EXA:-
+:
+<30,Ph,5:/?!2, at 4,\,O!,?O,!NH!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Ferimzone;MW:254.337;EXA:-
+:
+<30,Ph,4:/_, at 3,\,/_,!d,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, at 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:/_, at 3,-15,O,!Ph, at 4,\,!d,N!,O!2,Ph, at -3,\,?O,-60,O,!4
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Phenmedipham;MW:300.32;EXA:-
+:
+<30,Ph,5:/_, at 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,6:/?F?F!F,3:/Ph'(4:/Cl), at -2,\,?O,!O!,??,!,?O!,O!2,!d
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Flufenacet;MW:363.331;EXA:-
+:
+<6,?5,2'5=dl,1'2:N,4:S,5:/?F?F!F, at 3,\,O!,-60,?O!,N,/?!,!Ph,-3:/F
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Flufenoxuron;MW:488.77;EXA:-
+:
+<30,Ph,2'4:/F, at 3,\,?O,!NH!,?O,!NH!,Ph,-1:/F, at -3,\,O,!Ph,-3:/?F?F!F,-1:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Fluridone;MW:329.3;EXA:-
+:
+<30,?6,3'6=dl,2:N,2:/_,5:?O, at 4,\,Ph,-4:/?F?F!F,6:/Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Propaquizafop;MW:443.884;EXA:-
+:
+<90,Ph,3=?6,8'10=dl,7'10:N,1:/Cl, at 8,\,O,!Ph, at -3,\,O,!?!,?O,!O,!3,O!,N,!dr,?!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Hexaflumuron;MW:461.14;EXA:-
+:
+<30,Ph,2'4:/F, at 3,\,?O,!NH!,?O,!NH!,|,Ph,3'5:/Cl, at 4,\,O!,/F^-35,/F^35,!,/F,!F
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Hexathiazox;MW:352.877;EXA:-
+:
+<30,?6, at 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, at 3,\,!N,/?5,!,?O,!NH!,Ph
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Bendiocarb;MW:223.228;EXA:-
+:
+<30,Ph,5=?5,7'9:O,8:??, at 4,\,O!,?O,!NH!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Pentoxazone;MW:353.774;EXA:-
+:
+<66,?5,5://?!,1:O,3:N,2'4:?O, at 3,\,|,Ph,4:/Cl,6:/F,3:/O!'?5
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Boscalid;MW:343.21;EXA:-
+:
+<30,Ph,5:N,4:/Cl, at 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, at 8,\,N?!,?O,!NH!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Methoxyfenozide;MW:368.48;EXA:-
+:
+<30,Ph,2:/_,1:/O!, at 3,\,?O,!NH!,N,/??!,!,?O,!Ph,-4'-2:/_
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Monolinuron;MW:214.6;EXA:-
+:
+<30,Ph,6:/Cl, at 3,\,NH!,?O!,N?!,O!
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Lactofen;MW:461.78;EXA:-
+:
+<30,Ph,4:/Cl,6:/?F?F!F, at 3,\,O,!Ph,-3:/NO2, at -4,\,?O!,O,!?!,?O!,O!2
+;
+%------------------------------------------------------------------------------
+CAT:pesticide;EN:Linuron;MW:249.1;EXA:-
+:
+<30,Ph,1'6:/Cl, at 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, at -3,\,O!,/F^35,/F^-35,!,/F,!,?F?F!F
+;
+%******************************************************************************
+CAT:antibacterial;EN:Sulfacetamide;MW:214.239;EXA:-
+:
+<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,?O!
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Sulfatiazole;MW:255.31;EXA:-
+:
+<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,?5,1'3=dl,2:N,5:S
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Chlopidol;MW:192.039;EXA:-
+:
+<30,Ph,1'3:/_,2:N,4'6:/Cl,5:/OH
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Sulfadiadine;MW:250.276;EXA:-
+:
+<30,Ph,1:/NH2, at 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
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:5-(Propylsulphonyl)-1-H-Benzimidazole-2-Amine;MW:239.29;EXA:-
+:
+<30,Ph,3=?6,8=dl,7:N,9:NH,6:/S!3,8:/NH2
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Sulfapyrizine;MW:249.288;EXA:-
+:
+<30,Ph,1:/NH2, at 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:N)'(4:N?)
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Sulfamerazine;MW:264.303;EXA:-
+:
+<30,Ph,1:/NH2, at 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'(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:N)'(4:N?)
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Ciprofloxacin;MW:331.347;EXA:-
+:
+<30,Ph,3=?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,3=?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:-
+:
+<30,Ph,3=?6,9=dl,7:N,6:/F,7:/?3,9:/COOH,10:?O,
+ @1,\,|,?6, at 2,-200`1.1,&5,1'4:N,4:*/_
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Ormetoprim;MW:274.324;EXA:-
+:
+<30,Ph,1'5:N,2'6:/NH2, at 3,\,!,|,Ph,2:/_,4'5:/O!
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Sulfadimidine;MW:278.33;EXA:-
+:
+<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,Ph,2'4:N,3'5:/_
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Orbifloxacin;MW:395.382;EXA:-
+:
+<30,Ph,3=?6,9=dl,7:N,2'5'6:/F,7:/?3,9:/COOH,10:?O, at 1,\,|,?6,1:N,3'5:*/_,4:NH
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Sulfamethoxypyridazine;MW:280.302;EXA:-
+:
+<30,Ph,1:/NH2, at 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, at 1,\,?6,-6:N,-3:NH,7:/Ph'(4:/F)
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Difloxacin;MW:399.398;EXA:-
+:
+<30,Ph,3=?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, at 4,\,S?O?O,!NH!,|,Ph,2'4:N,3:/O!
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Sulfachlorpyridazine;MW:284.723;EXA:-
+:
+<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,Ph,5'6:N,4:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Sulfadoxine;MW:310.328;EXA:-
+:
+<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,Ph,4'6:N,2'3:/O!
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Sulfamethoxazole;MW:253.276;EXA:-
+:
+<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,?5,2'5=dl,4:O,5:N,3:/_
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Pirimethamin;MW:248.714;EXA:-
+:
+<30,Ph,6:/Cl, at 3,\,Ph,-2'-4:N,-1:/!,-3'-5:/NH2
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Oxibendazole;MW:249.27;EXA:-
+:
+<30,Ph,3=?5,9=dl,7:NH,9:N,1:/O!3,8:/NH!'COOH
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Oxolinic acid;MW:261.233;EXA:-
+:
+<30,Ph,3=?6,6=?5,9=dl,7:N,11'13:O,10:?O,7:/!,9:/COOH
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Sulfabenzamide;MW:276.31;EXA:-
+:
+<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,?O,!Ph
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Ethopabate;MW:237.255;EXA:-
+:
+<30,Ph,1:/NH!'?O!,3:/O!2,4:/?O!'O!
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Sulfadimethoxine;MW:310.33;EXA:-
+:
+<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,|,Ph,2'4:N,3'5:/O!
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Sulfaquinoxaline;MW:300.337;EXA:-
+:
+<30,Ph,1:/NH2, at 4,\,S?O?O,!NH!,Ph,-4=Ph,-5'-2:N
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Nalidixic acid;MW:232.239;EXA:-
+:
+<30,Ph,3=?6,9=dl,5'10:N,6:/_,7:?O,8:/COOH,10:/!
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Flubendazole;MW:313.288;EXA:-
+:
+<30,Ph,3=?5,9=dl,7:NH,9:N, at 1,\,O,!Ph,8:/NH!'?O!'O!
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Flumequine;MW:261.225;EXA:-
+:
+<30,Ph,3'(2--7)=?6,9=dl,7:N,6:/F,9:/COOH,10:?O,13:/_
+;
+%------------------------------------------------------------------------------
+34;CAT:antibacterial;EN:Sulfanitran;MW:335.334;EXA:-
+:
+<30,Ph, at 1,\,NH!,?O!, at 4,\,S?O?O,!NH!,Ph,-3:/NO2
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Xylazine;MW:220.334;EXA:-
+:
+<30,?6,3=dl,2:S,4:N, at 3,\,NH!,Ph,-5'-1:/_
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Famphur;MW:325.3;EXA:-
+:
+<-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:/?!'OH^-30>lr
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:2-acethylamino-5-nitrothiazole;MW:187.178;EXA:-
+:
+<18,?5,2'5=dl,2:N,4:S,3:/NH!'?O!,5:/NO2
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Chlorsulon;MW:380.66;EXA:-
+:
+<30,Ph,6:/NH2,1'3:/S?O?O'!NH2, at 4,\,/Cl,60~dl,/Cl,!Cl
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Florfenicol;MW:358.21;EXA:-
+:
+<30,Ph,1:/S?O?O!, at 4,\,/OH,!,/!F,!NH!,?O!,/Cl,!Cl
+;
+%------------------------------------------------------------------------------
+CAT:antibacterial;EN:Thiamphenicol;MW:356.22;EXA:-
+:
+<30,Ph,1:/S?O?O!, at 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'!t, at 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, at 4,\,??,!Ph,-4'-2:/Cl
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Pyrrolnitrin;MW:111;EXA:-
+:
+<30,Ph, at 3,\,?5,8'11=db,1'11:/Cl,9:NH,2:/NO2,
+;
+%******************************************************************************
+CAT:biological;EN:Okadaic acid;MW:805.00;EXA:2
+:
+<30,?6, at 4,?6, at -4,\,!3,<-12,?5, at -3,<-12,?6,-3=?6, at -3,*\,!3,
+ ?6, at -4,?6, at 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, at -3,\,O,!Ph, at -4,\,O,!Ph, at -3,\,&1,
+ @7,&26,@$1,60,60,NH,60,-60,Ph, at -1,\,Ph, at -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, at 13,*\,NH!,?O!,/??!,*/H^60,!z,NH!,
+ @23,\,O,!z,|,?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,
+;
+%------------------------------------------------------------------------------
+CAT:biological;EN:Maitotoxin;MW:3425.86;EXA:2
+:
+<55.8,?6,-4=?7,-4'-3'-3'-3=?6, at -3,\,!3,?6,-4'-3'-3'-3=?6, at -3,\,?6,-3=?6,
+ @-3,\,!3,60,<-30,?6,-3=?6, at -3,30,<30,?6,-3'-3=?6,-3=?7,-4'-3'-3=?6,
+ @-2,\,?6,-3=?6,-3=?7,-3'-3=?6,-3=?8,-3=dl,-5'-3'-3'-3=?6,
+ {5'7'15'16'23'24'32'40'41'48'49'58'59'72'73'82'83'90'91'99'
+ 100'107'113'114'122'123'130'131'140'141'148'149}:O,
+ {1^60'2'26'28'29'51'54'61'63'68'75^60'78'109}:*/OH,
+ 11'20'35'45'52'55'65'69'86:/*OH,
+ 3'8'13'17'21'33'38'42'56'70'84'92'101'106'111'128'138'142'146'150:/*H^-60,
+ 4'14'22'34'39'43'*47'*57'*71'81'89'98'102'116'121'125'129'133:*/H^60,
+ 6'46'50'53'60'67'74:*/H^-60,
+ 9'18'85'93'112'139'143'147:*/_^60`1,80'88'97'*108'115'120'124:/*_^-60`1,
+ @$6,\,|,!11,60~dr,-60,60,OH,*2'7'10:*/OH,1'3'*8:*/_,11://_,12:/_,
+ @6,\,O,30,SO3Na,
+ @$36,-45~zf,O,30,SO3Na,
+ @$150,\,|,!7,1'2:/*OH,4:*/_,5:/*_,7=dl
+;
+%------------------------------------------------------------------------------
Added: trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mp
===================================================================
--- trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mp (rev 0)
+++ trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mp 2024-11-20 22:09:01 UTC (rev 72915)
@@ -0,0 +1,1722 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% mcf2graph ver 5.14 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,
+% including without limitation the rights to use, copy, modify, merge, publish, distribute,
+% sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+% furnished to do so, subject to the following conditions:
+%
+% The above copyright notice and this permission notice shall be included in all copies
+% or substantial portions of the Software.
+%
+% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,EXPRESS OR IMPLIED,
+% INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE
+% 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 at gmail.com
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+message "* This is mcf2graph ver 5.14 2024.11.17";
+tracingstats:=1; prologues:=3; warningcheck:=0;
+%-------------------------------------------------------------------------------------------------
+newinternal string EN_;
+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[],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,save_mposition;
+%-------------------------------------------------------------------------------------------------
+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:= " "; forbiddens:=" &()[]{}^=;!'+,`~";
+for s="No","EN","JN","MW","MI","FM","CAT","CAS","USE","EXA","EXB": tag[incr tag_cnt]:=s; endfor
+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;
+%-------------------------------------------------------------------------------------------------
+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 +++ = ++;
+%-------------------------------------------------------------------------------------------------
+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;
+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;
+vardef Incr suffix $ == $:=$+1; $ enddef;
+%=================================================================================================
+default_library:="main_lib.mcf"; default_temp_file:="temp.mcf";
+mpfont:="uhvr8r"; atomfont:="draw"; defaultfont:=mpfont;
+%--default ahangle=45---------------------------------------------------------------------
+if ahangle=1: outputformat:="png"; hppp:=vppp:=0.12; % png format(600dpi)
+ef ahangle=11: outputformat:="png"; hppp:=vppp:=0.06; % png format(1200dpi)
+ef ahangle=2: outputformat:="eps"; % eps format(.eps)
+ef ahangle=3: outputformat:="eps"; % eps format(.mps)
+ef ahangle=45: outputformat:="svg"; % svg format *default
+fi
+%--default ahlength=4---------------------------------------------------------------------
+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(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";
+ef (outputformat="eps")and(ahangle=3): outputtemplate:="%j-%3c.mps";
+else: outputtemplate:="%j-%3c."&outputformat; fi
+%-----------------------------------------------------------------------------------------
+message "* jobname="&jobname;
+message "* numbersystem="&numbersystem;
+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
+clearit;
+%-------------------------------------------------------------------------------------------------
+ratio_chain_ring:=0.66; ratio_atom_bond:=0.36; ratio_thickness_bond:=0.015;
+ratio_thickness_char:=0.1; ratio_char_bond:=1.5; ratio_bondgap_bond:=0.15;
+ratio_hashgap_bond:=0.12; ratio_hash_black:=0.4; ratio_wedge_bond:=0.12; ratio_atomgap_atom:=0.04;
+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);
+ahangle:=45; ahlength:=4; defaultsize:=8; defaultscale:=1; labeloffset:=3; ext_defaultline:=0.5;
+lonepairdiam:=lonepairspace:=circlediam:=circlepen:=bboxmargin:=0; mc_length:=100;
+outputformatoptions:="";
+%=================================================================================================
+pcode_emb_start:=1001; % 1001 => 1900 for embedded pcode (max 900)
+pcode_emi_start:=1901; % 1901 => 2000 for embedded internal pcode (max 100)
+pcode_usr_start:=2001; % 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,
+ _get_len,_ring_len,_tmp_len,_rot_ang,_adj_ang,_chg_env,_tmp_env,_set_colorA,_set_colorB,
+ _group_si,_group_dm,_group_wf,_group_zf,_set_adr,_mk_bond,_set_atom,_arrange_ang,_chg_atom,
+ _tmp_rot,_fuse,_fuse_di,_size_atom,_numeric,_numeric_inv,_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_);
+%-------------------------------------------------------------------------------------------------
+def parameter_list=
+ sw_numbering,sw_expand,sw_output,sw_ext_all,sw_frame,sw_trimming,sw_abbreviate,ratio_atom_bond,
+ ratio_thickness_bond,ratio_char_bond,ratio_chain_ring,ratio_bondgap_bond,ratio_hash_black,
+ 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
+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;
+%-------------------------------------------------------------------------------------------------
+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
+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
+ endfor
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def beginfigm=
+ begingroup
+ 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[],
+ wdM[],htM[],chargeA[],addA[],add_rot[];
+ pair posA[],posM[][];
+ string mi,no,fm,mw,firstc,filter_s;
+ picture mol_pic[];
+ color color_list[];
+ %-----------------------------------------------------------------------------------------------
+ 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:=err_cnt:=0;
+ let ext=ext_to_fig; let add=add_to_molecule; let ++=add_to_molecule; let **=ext_to_fig;
+ def '' = define_parts 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 s) = define_group_string(s)() enddef; def `` = define_group_string 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;
+ 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):
+ if EN<>"-": EN_:=forbidden_to_underbar(EN); fi
+ beginfig(fig_num)
+ %------------------------------------------------------------------------------------------
+ if sw_ext_all=1: ext_to_fig(EXT_ALL); fi
+ if sw_trimming>=1:
+ nA:=nC:=4095; nB:=nD:=-4095;
+ for i=1 upto cntM:
+ if xpart(posM[1][i])<nA: nA:=xpart(posM[1][i]); fi
+ if xpart(posM[2][i])>nB: nB:=xpart(posM[2][i]); fi
+ if ypart(posM[1][i])<nC: nC:=ypart(posM[1][i]); fi
+ if ypart(posM[2][i])>nD: nD:=ypart(posM[2][i]); fi
+ endfor
+ fig_wd:=nB-nA+2xpart(fmargin); fig_ht:=nD-nC+2ypart(fmargin); fsize:=(fig_wd,fig_ht);
+ for i=1 upto cntM:
+ posM[0][i]:=posM[0][i]+fmargin-(nA,nC); posM[1][i]:=posM[1][i]+fmargin-(nA,nC);
+ endfor
+ fi
+ %----------------------------------------------------------------------------------------
+ if scan_bit(sw_frame,Outside): draw_frame((0,0),fsize,thickness_frame);
+ 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;
+ if scan_bit(sw_frame,Mol): ext(draw_frame(p[i],(w[i],h[i]),thickness_frame)) fi
+ endfor
+ if f_ext=1: addto currentpicture also mol_pic[0]; mol_pic[0]:=nullpicture; fi
+ %-----------------------------------------------------------------------------------------
+ endfig;
+ clearit;
+ 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
+ %---------------------------------------------------------------------------------------------
+ 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;
+ 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;
+ message EN;
+enddef;
+%=================================================================================================
+def readm(text s)=
+ save fw_n,bw_n;
+ for list=s:
+ fw_n:=scan_char(" ",list,1,1)-1; bw_n:=scan_char(" ",list,-1,1);
+ mc_indent[incr mc_row]:=fw_n; mc[mc_row]:=substring(fw_n,bw_n) of list; mc:=mc&mc[mc_row];
+ endfor
+enddef;
+%=================================================================================================
+def getm(expr a)=if string a: read_unit(get_adr("EN",a)) ef numeric a: read_unit(a) fi enddef;
+%-------------------------------------------------------------------------------------------------
+def read_unit(expr n)=
+ save nF; nF:=0;
+ if (n>=1)and(n<=ucount):
+ for i=1 upto info[n]:
+ for j=1 upto tag_cnt: if lib_tag[n][i]=tag[j]: scantokens(tag[j]):=lib_val[n][i]; fi endfor
+ endfor
+ for i=1 upto unit_lines[n]:
+ temps:=row[n][i]; firstc:=subc(1,temps); exitif firstc=";";
+ 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;
+ 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;
+ ef nF=4: ad_indent[incr ad_row]:=fw_n; ad[ad_row]:=temps; ad:=ad&temps;
+ fi
+ fi
+ endfor
+ fi
+enddef;
+%=================================================================================================
+vardef get_adr(expr t,v)=
+ save adr_n; adr_n:=0;
+ for n=1 upto ucount:
+ for i=1 upto info[n]:
+ for j=1 upto tag_cnt: if (lib_tag[n][i]=t)and(lib_val[n][i]=v): adr_n:=n; fi endfor
+ exitif adr_n>=1;
+ endfor
+ endfor
+ message if adr_n>1: "* found [" else: "* not found [" fi &v&"]"&"("&decimal(adr_n)&")";
+ adr_n
+enddef;
+%-------------------------------------------------------------------------------------------------
+def putm=
+ if op_row>=1: scantokens(op) fi
+ if mc_row>=1: if checkm(mc)=0: drawm(scantokens(mc)) fi fi
+ if ad_row>=1: add(scantokens(ad)) fi
+ if ex_row>=1: ext(scantokens(ex)) fi
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+vardef define_parts(text t)= pcode_num:=pcode_num+1; read_mcf(pcode_num)(t); 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_quot b = add_parts(a,b) enddef;
+primarydef a bond__bond b = (a,b) enddef;
+primarydef a bond___bond b = (a+2000,b) enddef;
+primarydef 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;
+tertiarydef a op_til b = if known b:: (_tmp_line,b),a else:: _nop,a fi enddef;
+tertiarydef a op_lth b = if known b:: (_tmp_env,b),a else:: _nop,a fi enddef;
+tertiarydef a op_bqu b = if known b:: (_tmp_len,b),a else:: _nop,a fi enddef;
+def rot_angle primary n = (_rot_ang,n) enddef; def cyc_atom primary n = (_cyc,n) enddef;
+def jump_atom_abs primary a =
+ if numeric a:: (_jp_atom,$a) ef pair a:: (_jp_atom,$1),<$0,angle(a)~0`length(a),<$0 fi enddef;
+def jump_atom primary a =
+ if numeric a:: (_jp_atom,a) ef pair a:: <$0,angle(a)~0`length(a),<$0 fi enddef;
+def chg_length primary n = (_com,_len_s),(_chg_len,n) enddef;
+def group_si secondary n = if known n:: (_group_si,n) else:: _nop fi enddef;
+def group_dm secondary n = if known n:: (_group_dm,n) else:: _nop fi enddef;
+def group_wf secondary n = if known n:: (_group_wf,n) else:: _nop fi enddef;
+def group_zf secondary n = if known n:: (_group_zf,n) else:: _nop fi enddef;
+def group_wv secondary n = /n~wv enddef; def group_nb secondary n = /n~nb enddef;
+%=================================================================================================
+def read_mcf(expr n)(text t)=
+ begingroup
+ if unknown inside_mc::
+ save /,//,*,/*,*/,**,*/*,~,^,`,',<,>,:,=,\,\\,*\,\*,*\*,@,@$,$,&,&$,#,##,{,},|,||,_,
+ --,---,----,CP,CA,CC,DL,FR,inside_mc;
+ inside_mc:=1; | :=mark_adress; || :=reset_adress; ##:=reset_length; _:=NO_ATOM;
+ \:=0; \\:=zero_dm; *\:=zero_wf; \*:=zero_zf; *\*:=zero_wv; let ' == op_quot;
+ 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;
+ 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; 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_adress( enddef;
+ def * primary p == (_numeric_inv,p) enddef;
+ fi
+ %----------------------------------------------------------------------------------------------
+ pcode_cnt[n]:=0;
+ for list==t::
+ if known list::
+ if pair list::
+ pcode_com[n][Incr 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>=pcode_emb_start:: expand_pcode(n,list);
+ else:: pcode_com[n][Incr pcode_cnt[n]]:=_mk_bond; pcode_par[n][pcode_cnt[n]]:=list;
+ fi
+ fi
+ else:: message "unknown command in "AND decimal(n);
+ fi
+ endfor
+ 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_com[n][Incr pcode_cnt[n]]:=pcode_com[a][i];
+ pcode_par[n][pcode_cnt[n]]:=pcode_par[a][i];
+ fi
+ endfor
+ else:: pcode_com[n][Incr pcode_cnt[n]]:=a;
+ fi
+enddef;
+%-------------------------------------------------------------------------------------------------
+vardef read_adress(text t)=
+ save :,';
+ let ' == , ; let : == from_until;
+ 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(pcode_int);
+ else:: pcode_com[pcode_int][Incr nA]:=_numeric; pcode_par[pcode_int][nA]:=list;
+ fi
+ ef pair list::
+ if xpart(list)==_from:: nB:=ypart(list);
+ ef xpart(list)==_until::
+ for i==nB upto ypart(list)::
+ pcode_com[pcode_int][Incr nA]:=_numeric; pcode_par[pcode_int][nA]:=i; endfor
+ else:: pcode_com[pcode_int][Incr nA]:=xpart(list); pcode_par[pcode_int][nA]:=ypart(list);
+ fi
+ fi
+ else:: message "unknown command in "AND decimal(pcode_int);
+ fi
+ endfor
+ pcode_cnt[pcode_int]:=nA; pcode_int
+enddef;
+%-------------------------------------------------------------------------------------------------
+vardef add_parts(expr a,b)=
+ if (pair a)and(pair b)::
+ pcode_com[Incr pcode_int][1]:=xpart a; pcode_par[pcode_int][1]:=ypart a;
+ pcode_com[Incr pcode_int][2]:=xpart b; pcode_par[pcode_int][2]:=ypart b;
+ pcode_cnt[pcode_int]:=2;
+ elseif pair a::
+ pcode_com[Incr pcode_int][1]:=xpart a; pcode_par[pcode_int][1]:=ypart a;
+ if b>=pcode_emb_start:: pcode_com[pcode_int][2]:=b;
+ else:: pcode_com[pcode_int][2]:=_numeric; pcode_par[pcode_int][2]:=b;
+ fi
+ pcode_cnt[pcode_int]:=2;
+ elseif pair b::
+ if a>=pcode_int_start::
+ pcode_com[a][Incr pcode_cnt[a]]:=xpart b; pcode_par[a][pcode_cnt[a]]:=ypart b;
+ elseif a>=pcode_emb_start::
+ pcode_com[Incr pcode_int][1]:=a;
+ pcode_com[pcode_int][2]:=xpart b; pcode_par[pcode_int][2]:=ypart b; pcode_cnt[pcode_int]:=2;
+ else::
+ pcode_com[Incr pcode_int][1]:=_numeric; pcode_par[pcode_int][1]:=a;
+ pcode_com[pcode_int][2]:=xpart b; pcode_par[pcode_int][2]:=ypart b; pcode_cnt[pcode_int]:=2;
+ fi
+ elseif (a LT pcode_emb_start)and(b LT pcode_emb_start)::
+ pcode_com[Incr pcode_int][1]:=_numeric; pcode_par[pcode_int][1]:=a;
+ pcode_com[pcode_int][2]:=_numeric; pcode_par[pcode_int][2]:=b; pcode_cnt[pcode_int]:=2;
+ elseif (a>=pcode_int_start)and(b LT pcode_int_start)::
+ if b>=pcode_emb_start:: pcode_com[a][Incr pcode_cnt[a]]:=b;
+ else:: pcode_com[a][Incr pcode_cnt[a]]:=_numeric; pcode_par[a][pcode_cnt[a]]:=b;
+ fi
+ else:: pcode_com[Incr pcode_int][1]:=a; pcode_com[pcode_int][2]:=b; pcode_cnt[pcode_int]:=2;
+ fi
+ pcode_int
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def fuse_ring(expr a,b) =
+ 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) 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) 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:: pcode_int:=pcode_int+1; nC:=0;
+ if numeric b::
+ if (b>=si)and(b<=bd_)::
+ if a>=pcode_int_start::
+ for i==1 upto pcode_cnt[a]::
+ if pcode_com[a][i]==_numeric:: CA(_set_line,b,pcode_par[a][i])
+ elseif pcode_com[a][i]==_numeric_inv::
+ if b==dl:: CA(_set_line,dr,pcode_par[a][i])
+ ef b==dr:: CA(_set_line,dl,pcode_par[a][i]) fi
+ fi
+ endfor
+ else:: CP(_set_adr,a) CP(_set_line,b)
+ fi
+ elseif (b>=?3)and(b<=?8[15])::
+ if numeric a::
+ 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 (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 (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) 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 (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
+ 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:: pcode_int:=pcode_int+1; nC:=0;
+ if numeric b::
+ if (b GT pcode_emb_start)and(b<=pcode_atm_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==?O:: CC(_group_s) CA(_group_dm,O,a) CC(_group_e)
+ ef b==?NH:: CC(_group_s) CA(_group_dm,NH,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::
+ CC(_group_s)
+ if a>=pcode_emb_start::
+ for i==1 upto pcode_cnt[a]::
+ if pcode_com[a][i]==_numeric:: CA(xpart(b),ypart(b),pcode_par[a][i])
+ elseif pcode_com[a][i]==_numeric_inv::
+ if xpart(b)==_group_wf:: CA(_group_zf,ypart(b),pcode_par[a][i])
+ ef xpart(b)==_group_zf:: CA(_group_wf,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
+ 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 pcode_add(expr c,p)= pcode_com[pcode_int][Incr 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;
+ 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,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[];
+ def plus = circled_plus_add enddef; def minus = circled_minus_add enddef;
+ def lonepair = lone_pair_add enddef;
+ ext_setup;
+ w:=mol_wd; h:=mol_ht; l:=blen; aw:=atom_wd; p0:=(minX,minY);
+ 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
+ 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
+ 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,__,#,<<,=>,/*;
+ pair __,p[];
+ ext_setup;
+ w:=xpart(fsize); h:=ypart(fsize);
+ w0:=w-2xpart(fmargin); h0:=h-2ypart(fmargin); p0:=fmargin; aw:=atom_wd; n:=cntM;
+ for i=1 upto n: p[i]:=posM[1][i]; w[i]:=wdM[i]; h[i]:=htM[i]; endfor
+ t addto mol_pic[0] also currentpicture; clearit; f_ext:=1;
+ endgroup;
+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;
+%-------------------------------------------------------------------------------------------------
+vardef circled_minus_add= nA:=circlediam; nB:=circlepen;
+ 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;)
+enddef;
+%=================================================================================================
+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,
+ 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[];
+ pair cpos,tpos,raise_pos,posBs,posBe,pA,Ls,Le;
+ path frameA[],zA,zL;
+ %-----------------------------------------------------------------------------------------------
+ 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_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;
+ else:
+ blen:=3mm;
+ proc_size_setup;
+ if xpart(msize)<1: m_wd:=fig_wd*xpart(msize); else: m_wd:=fig_wd; fi
+ if ypart(msize)<1: m_ht:=fig_ht*ypart(msize); else: m_ht:=fig_ht; fi
+ for i=1 upto 6:
+ proc_skeleton(0); proc_scaling;
+ if (mol_ht/mol_wd)>(m_ht/m_wd):
+ if ypart(msize)>1: factor:=ypart(msize)/mol_ht;
+ else: factor:=((fig_ht-2ypart(fmargin))*ypart(msize))/mol_ht; fi
+ else:
+ if xpart(msize)>1: factor:=xpart(msize)/mol_wd;
+ else: factor:=((fig_wd-2xpart(fmargin))*xpart(msize))/mol_wd; fi fi
+ exitif (factor>=1-eps)and(factor<=1+eps); blen:=blen*factor; proc_size_setup;
+ endfor
+ if blen>max_blength: blen:=max_blength; proc_size_setup; proc_skeleton(0); proc_scaling; fi
+ fi
+ %-----------------------------------------------------------------------------------------------
+ for i=1 upto cntA:
+ 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
+ %===============================================================================================
+ if scan_bit(sw_output,Fig):
+ %-draw atom-----------------------------------------------------------------------------------
+ if sw_numbering=0: for i=1 upto cntA: if strA[i]<>0: draw_atom(i); fi endfor fi
+ %-draw add to atom----------------------------------------------------------------------------
+ if (not scan_bit(sw_numbering,Atom))and(not scan_bit(sw_numbering,Bond)):
+ for i=1 upto cntA:
+ if addA[i]<>0: draw_char(char(addA[i]),sfrt(posA[i],atom_wd,angX[i]+add_rot[i])); fi
+ endfor
+ fi
+ %-draw bond-----------------------------------------------------------------------------------
+ for i=1 upto cntB: if lineB[i]<si_ : draw_bond(i); fi endfor
+ for i=1 upto cntB: if lineB[i]>=si_: draw_bond(i); fi endfor
+ %-atom numbering------------------------------------------------------------------------------
+ if scan_bit(sw_numbering,Atom):
+ for i=1 upto cntA:
+ if (i>=numbering_start)and(i<=numbering_end):
+ defaultscale:=.18blen/defaultsize; nH:=1.2defaultsize*defaultscale;
+ if i<=9: nW:=nH; ef i<=99: nW:=1.3nH; else: nW:=1.9nH; fi
+ erase fill unitsquare xscaled nW yscaled nH shifted (posA[i]-(nW/2,nH/2));
+ draw unitsquare xscaled nW yscaled nH shifted (posA[i]-(nW/2,nH/2)) wpcs 0.1;
+ label(decimal(i),posA[i]);
+ fi
+ endfor
+ fi
+ %-bond numbering------------------------------------------------------------------------------
+ if scan_bit(sw_numbering,Bond):
+ for i=1 upto cntB:
+ if (i>=numbering_start)and(i<=numbering_end):
+ defaultscale:=.18blen/defaultsize; nH:=1.2defaultsize*defaultscale;
+ if i<=9: nW:=nH; ef i<=99: nW:=1.3nH; else: nW:=1.9nH; fi
+ nH:=defaultsize*defaultscale; tpos:=.5[posA[sB[i]],posA[eB[i]]];
+ 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
+ endfor
+ fi
+ %---------------------------------------------------------------------------------------------
+ if xpart(mposition)>1: nX:=xpart(mposition)-minX;
+ 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); 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;
+ fi
+ if sw_output>=Calc: proc_calc(0); fi
+ endgroup;
+enddef;
+%-------------------------------------------------------------------------------------------------
+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]:
+ 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(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;
+%-------------------------------------------------------------------------------------------------
+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;
+%-------------------------------------------------------------------------------------------------
+def proc_size_setup=
+ atom_wd:= blen*ratio_atom_bond+offset_atom;
+ wedge_wd:= blen*ratio_wedge_bond+offset_wedge;
+ hash_gap:= blen*ratio_hashgap_bond+offset_hash_gap;
+ bondgap:= blen*ratio_bondgap_bond+offset_bond_gap;
+ bond_pen_wd:= blen*ratio_thickness_bond+offset_thickness;
+enddef;
+%-------------------------------------------------------------------------------------------------
+def proc_scaling=
+ minX:=minY:=4095; maxX:=maxY:=-4095;
+ for i=1 upto cntA:
+ nX:=xpart(posA[i]); nY:=ypart(posA[i]);
+ if strA[i]<>0:
+ 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
+ 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
+ if (nX+nR-.5atom_wd)>maxX: maxX:=nX+nR-.5atom_wd; fi
+ if (nY-nD-.5atom_wd)<minY: minY:=nY-nD-.5atom_wd; fi
+ if (nY+nU+.5atom_wd)>maxY: maxY:=nY+nU+.5atom_wd; fi
+ else: if nX<minX: minX:=nX; fi if nX>maxX: maxX:=nX; fi
+ if nY<minY: minY:=nY; fi if nY>maxY: maxY:=nY; fi
+ fi
+ endfor
+ mol_wd:=maxX-minX; mol_ht:=maxY-minY;
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def proc_bond_atom(expr a)(expr n)=
+ f_bra:=f_term:=rotT:=f_lineT:=f_rotT:=f_lenT:=f_envT:=envT:=envB:=temp_strA:=f_at:=0;
+ bondL:=rate_cr; lenT:=rate_cr; sB[0]:=0; eB[0]:=1; lineT:=si;
+ addAT:=markA:=markB:=saveA:=saveB:=0;
+ %-----------------------------------------------------------------------------------------------
+ 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,_mark)
+ 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
+ if nP<>NO_ATOM:
+ for i=1 upto pcode_cnt[nP]: store_group(pcode_com[nP][i],pcode_par[nP][i]) endfor
+ fi
+ store_group(_com,_len_e) store_group(_chg_env,hz) store_group(_com,_term)
+ store_group(_com,_rest)
+ 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: 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;
+%-------------------------------------------------------------------------------------------------
+def check_adrA(expr n)=
+ if (n>iif(f_term=0,cntA+1,cntA))or(n<=0): errmessage("cntA=[ "&decimal(n)&" ]"); fi enddef;
+def check_adrB(expr n)= if (n>cntB)or(n<=0): errmessage("cntB=[ "&decimal(n)&" ]"); fi enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def proc_skeleton(expr n)=
+ markA:=markB:=cntA:=cntB:=f_bra:=rotT:=f_term:=0;
+ 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 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;
+%-------------------------------------------------------------------------------------------------
+def add_bond(expr n,f)=
+ if n=_arrange_ang: nA:=arrange_ang(angT mod 360); else: nA:=n; fi
+ if f_bra=0:
+ adrT:=incr cntA; posA[cntA]:=posBs; angA[cntA]:=angT;
+ angX[cntA]:=(angT+nA/2+iif(nA>=0,-90,90)) mod 360;
+ else: f_bra:=0; fi
+ cntB:=cntB+1;
+ if nA>-3700: angB[cntB]:=angT:=(angT+nA) mod 360; else: angB[cntB]:=angT:=nA+4095; fi
+ if f=1:
+ if lenB[cntB]=_size_atom: posBe:=sfrt(posBs,atom_wd,angT);
+ else:
+ nA:=lenB[cntB]; if nA<0: nB:=glu_atom(adrT)+glu_atom(cntA+1); nA:=abs(nA); else: nB:=0; fi
+ posBe:=sfrt(posBs,nA*blen+nB,angT); fi
+ posA[cntA+1]:=posBe; f_term:=0;
+ else: f_term:=1; fi
+ posBs:=posBe;
+enddef;
+%-------------------------------------------------------------------------------------------------
+vardef arrange_ang(expr n)=
+ if cntB=0: angT:=(angT-180) mod 360; 180
+ else: if envB>=pcode_emb_start: pcode_par[envB][cntB-temp_cntB]
+ 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
+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;
+%=================================================================================================
+vardef getA(expr n)= if n>=0: markA+n ef n>=-999: cntA+n+1 else: n+4095 fi enddef;
+vardef getB(expr n)= if n>=0: markB+n ef n>=-999: cntB+n+1 else: n+4095 fi enddef;
+%-------------------------------------------------------------------------------------------------
+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
+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
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def draw_atom(expr n)=
+ if atomfont<>"draw": defaultfont:=atomfont; defaultsize:=atom_wd; fi
+ temps:=str_tbl[strA[n]]; slen:=length(temps); nC:=nS:=0; raise_pos:=(0,0); tpos:=posA[n];
+ if (angX[n]<=90)or(angX[n]>=270): sdir:=1; else: sdir:=-1; fi
+ 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
+ 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));
+ ef (tempc<>"{")and(tempc<>"}"):
+ nS:=nS+1; char_wd:=atom_wd*tbl_char_wd[ASCII(tempc)]; char_ht:=atom_wd;
+ if nS=1: if (sdir=-1)and(char_wd<atom_wd): tpos:=tpos+((atom_wd-char_wd)/2,0); fi
+ else: tpos:=tpos+(.5char_wd*sdir,0); fi
+ tcol:=colorA[n]; f_col:=0;
+ 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
+ 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
+ if scan_bit(sw_frame,Atom): draw frameA[n] wpcs thickness_frame; fi
+enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def draw_bond(expr n)=
+ nL:=lineB[n]; angL:=angB[n]; nS:=sB[n]; nE:=eB[n]; f_col:=0;
+ tcol:=colorB[n]; zL:=posA[nS]--posA[nE]; ww:=wedge_wd; ap:=angL+90; am:=angL-90; aw:=atom_wd;
+ %-----------------------------------------------------------------------------------------------
+ if (strA[nS]=0)and(strA[nE]=0)or(sw_numbering>=1):
+ Ls:=posA[nS]; Le:=posA[nE]; pA:=(.1,.9);
+ ef strA[nS]=0: Ls:=posA[nS]; Le:=zL ISP frameA[nE]; pA:=(.15,1);
+ ef strA[nE]=0: Ls:=zL ISP frameA[nS]; Le:=posA[nE]; pA:=(0,.85);
+ else: Ls:=zL ISP frameA[nS]; Le:=zL ISP frameA[nE]; pA:=(0,1); fi
+ zA:=Ls--Le; lenL:=length(Le-Ls);
+ %-----------------------------------------------------------------------------------------------
+ if known tcol: if tcol<>0: drawoptions(withcolor color_list[tcol]); f_col:=1;fi fi
+ pickup pencircle scaled bond_pen_wd;
+ if (nL=si)or(scan_bit(sw_abbreviate,Bond)): draw zA;
+ ef nL=dl: draw zA; draw sfrt(subpath pA of zA,bondgap,ap);
+ ef nL=dr: draw zA; draw sfrt(subpath pA of zA,bondgap,am);
+ ef nL=dm: draw sfrt(zA,bondgap/1.75,ap); draw sfrt(zA,bondgap/1.75,am);
+ ef nL=db: nA:=iif(((angL-angX[nS]) mod 360)<=180,ap,am);
+ draw zA; draw sfrt(subpath pA of zA,bondgap,nA);
+ ef nL=tm: draw zA; draw sfrt(zA,bondgap,ap); draw sfrt(zA,bondgap,am);
+ ef nL=wf: fill Ls--sfrt(Le,ww,am)--sfrt(Le,ww,ap)--cycle;
+ ef nL=wb: fill sfrt(Ls,ww,am)--Le--sfrt(Ls,ww,ap)--cycle;
+ ef nL=bd: draw zA withpen penrazor rotated ap scaled bondgap;
+ ef nL=bz: bz_put(sfrt(Ls,ww,ap),sfrt(Le,ww,ap),sfrt(Ls,ww,am),sfrt(Le,ww,am));
+ ef nL=zf: wz_put(Ls,sfrt(Le,ww,ap),sfrt(Le,ww,am));
+ ef nL=zb: wz_put(Le,sfrt(Ls,ww,am),sfrt(Ls,ww,ap));
+ ef nL=dt: for i=0 step .75hash_gap/lenL until 1: drawdot i[Ls,Le]; endfor
+ ef nL=wv: nA:=.4bondgap; nB:=round(lenL/nA);
+ draw Ls for i=1 upto nB: ..controls(point (i-.5)/nB of sfrt(zA,nA,iif(odd i,ap,am)))
+ ..point i/nB of zA endfor
+ ef nL=wf_r: filldraw Ls--sfrt(Le,.35ww,am)--sfrt(Le,.35ww,ap)--cycle wpcs .05ww;
+ ef nL=wb_r: filldraw sfrt(Ls,.35ww,am)--Le--sfrt(Ls,.35ww,ap)--cycle wpcs .05ww;
+ ef nL=bd_r: draw zA wpcs .65bondgap;
+ ef nL=vf: draw zA;draw sfrt(Le,bondgap,angL-150)--Le--sfrt(Le,bondgap,angL+150);
+ ef nL=vb: draw zA;draw sfrt(Ls,bondgap,angL-30)--Ls--sfrt(Ls,bondgap,angL+30);
+ ef nL=si_: erase draw subpath (.15,.85) of zA wpcs 0.8bondgap; draw zA;
+ ef nL=dl_: erase draw subpath (.15,.85) of sfrt(subpath pA of zA,.5bondgap,ap) wpcs 1.8bondgap;
+ draw zA; draw sfrt(subpath pA of zA,bondgap,ap);
+ ef nL=dr_: erase draw subpath (.15,.85) of sfrt(subpath pA of zA,.5bondgap,am) wpcs 1.8bondgap;
+ draw zA; draw sfrt(subpath pA of zA,bondgap,am);
+ ef nL=dm_: erase draw subpath(0.15,0.85) of zA wpcs 1.8 bondgap;
+ draw sfrt(zA,bondgap/1.75,ap); draw sfrt(zA,bondgap/1.75,am);
+ ef nL=wf_: erase draw subpath (0.15,0.85) of (Ls--sfrt(Le,ww,am)) wpcs 0.8bondgap;
+ erase draw subpath (0.15,0.85) of (Ls--sfrt(Le,ww,ap)) wpcs 0.8bondgap;
+ fill Ls--sfrt(Le,ww,am)--sfrt(Le,ww,ap)--cycle;
+ ef nL=wb_: erase draw subpath (0.15,0.85) of (sfrt(Ls,ww,am)--Le) wpcs 0.8bondgap;
+ erase draw subpath (0.15,0.85) of (sfrt(Ls,ww,ap)--Le) wpcs 0.8bondgap;
+ fill sfrt(Ls,ww,am)--Le--sfrt(Ls,ww,ap)--cycle;
+ ef nL=zf_: erase draw subpath (0.15,0.85) of (Ls--sfrt(Le,ww,am)) wpcs 0.8bondgap;
+ erase draw subpath (0.15,0.85) of zA wpcs 0.8bondgap;
+ erase draw subpath (0.15,0.85) of (Ls--sfrt(Le,ww,ap)) wpcs 0.8bondgap;
+ wz_put(Ls,sfrt(Le,ww,ap),sfrt(Le,ww,am));
+ ef nL=zb_: erase draw subpath (0.15,0.85) of (sfrt(Ls,ww,am)--Le) wpcs 0.8bondgap;
+ erase draw subpath (0.15,0.85) of zA wpcs 0.8bondgap;
+ erase draw subpath (0.15,0.85) of (sfrt(Ls,ww,ap)--Le) wpcs 0.8bondgap;
+ wz_put(Le,sfrt(Ls,ww,am),sfrt(Ls,ww,ap));
+ ef nL=bd_: erase draw subpath(0.15,0.85) of zA wpcs 1.6bondgap;
+ draw zA withpen penrazor rotated ap scaled bondgap;
+ ef nL=nb:
+ %-- bond type for glycan ----------------------------------------------------------------------
+ ef nL=arc_lb: draw Ls--Ls-(0,aw)..posA[nE]+(-1.2aw,0)..posA[nE]-(.6aw,0);
+ ef nL=arc_br: draw posA[nS]+(.6aw,0)..posA[nS]+(1.2aw,0)..Le-(0,aw)--Le;
+ ef nL=arc_lbr: draw posA[nS]+(0,iif(strA[nS]=0,0,-.6aw))--posA[nS]+(0,-.8aw)
+ ..0.5[posA[nS],posA[nE]]+(0,-1.7aw)..posA[nE]+(0,-.8aw)
+ --posA[nE]+(0,iif(strA[nE]=0,0,-.6aw));
+ ef nL=arc_ltr: draw posA[nS]+(0,iif(strA[nS]=0,0,0.6aw))--posA[nS]+(0,.8aw)
+ ..0.5[posA[nS],posA[nE]]+(0,1.7aw)..posA[nE]+(0,.8aw)
+ --posA[nE]+(0,iif(strA[nE]=0,0,.6aw));
+ %----------------------------------------------------------------------------------------------
+ fi
+ if f_col=1: drawoptions(); fi
+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;
+%------------------------------------------------------------------------------------------------
+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;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+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
+enddef;
+%-------------------------------------------------------------------------------------------------
+char_size_set( 1, 1)("CGHMNOQW");
+char_size_set( 0.9, 1)("ABDFIJKPRSTUVXY");
+char_size_set( 0.8, 1)("ELZ");
+char_size_set( 0.7, 1)("0123456789nhtfg");
+char_size_set( 0.7, 0.7)("-+");
+char_size_set(0.45,0.95)("l");
+char_size_set(0.75, 0.8)("opq");
+char_size_set( 0.8, 0.8)("e");
+char_size_set( 0.9, 0.8)("wm");
+char_size_set( 0.7, 0.8)("abdcksuvrxyz");
+char_size_set(0.35, 0.9)("i");
+char_size_set( 0.5, 0.9)("j");
+%-------------------------------------------------------------------------------------------------
+def dw expr p = draw p shifted cpos enddef;
+def dwv expr p = draw p withpen penrazor scaled fP shifted cpos enddef;
+def dwvs(expr n) expr p = draw p withpen penrazor scaled (fP*n) shifted cpos enddef;
+def dwh expr p = draw p withpen penrazor rotated 90 scaled fP shifted cpos enddef;
+def cdw expr p = cutdraw p shifted cpos enddef;
+%-------------------------------------------------------------------------------------------------
+def Z_a=( 0,hP) enddef; def Z_b=(hP, 0) enddef; def Z_c=(hP,hP) enddef; def Z_d=(aW,hP) enddef;
+def Z_e=(fW, 0) enddef; def Z_f=(hW,aH) enddef; def Z_g=(hW, 0) enddef; def Z_h=( 0,hH) enddef;
+def Z_i=(hW,fW) enddef; def Z_j=( 0,qH) enddef; def Z_k=(aW,qH) enddef; def Z_l=(.75aW,0) enddef;
+def Z_m=(hP,hH) enddef; def Z_n=(fW,fH) enddef; def Z_o=(fW,hH) enddef; def Z_p=(hW,aW) enddef;
+def Z_q=( 0,fH) enddef; def Z_r=(hP,fH) enddef; def Z_s=(hW,fH) enddef; def Z_t=(fW,aH) enddef;
+def Z_u=(aW,fH) enddef; def Z_v=(aW,hH) enddef; def Z_w=(hP,aH) enddef; def Z_x=(hW,hP) enddef;
+def Z_y=(hW,hH) enddef; def Z_z=(fW,hP) enddef;
+%-------------------------------------------------------------------------------------------------
+def circ_O = Z_o..(.8aW,fH-qP)..tension 1.5..(.2aW,fH-qP)..Z_m..
+ (.2aW,1.5hP)..tension 1.5..(.8aW,1.5hP)..cycle enddef;
+def circ_Oh = (hP,qH)..Z_x..(fW,qH)..Z_y..cycle enddef;
+def circ_Oa = (hP,0.35aH)..Z_x..(fW,0.35aH)..(hW,.7aH)..cycle enddef;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+def draw_char(expr s,p)=
+ aW:=atom_wd*tbl_char_wd[ASCII(s)]*(1-2ratio_atomgap_atom);
+ aH:=atom_wd*tbl_char_ht[ASCII(s)]*(1-2ratio_atomgap_atom);
+ cpos:=p-(aW/2,atom_wd/2*(1-2ratio_atomgap_atom));
+ fP:=bond_pen_wd*ratio_char_bond;
+ 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="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;
+ ef s="3": cdw sbp(0,.75)circ_Oh; cdw sbp(.25,.98)circ_Oh shifted (0,hH-hP); dwh (.3aW,hH)--Z_y;
+ ef s="4": dwh Z_j--Z_k; dwv Z_l--(0.75aW,aH)--(1.2hP,qH+hP); dwv (.75aW+qP,aH)--(1.7hP,qH+hP);
+ ef s="-": dwh Z_m--Z_o;
+ ef s="+": dwv Z_x--Z_s; dwh Z_m--Z_o;
+ ef s="A": dwvs(1.14)Z_b--Z_f--Z_e; dw .33[Z_b,Z_f]--.33[Z_e,Z_f];
+ ef s="B": dw Z_r--Z_s{right}..(.9fH,.75aH)..{left}Z_y--Z_m--Z_y{right}..(.9fH,qH)..
+ {left}Z_x--Z_c; dwv Z_b--Z_w;
+ ef s="D": dw Z_r--Z_s..Z_o..Z_x--Z_c; dwv Z_b--Z_w;
+ ef s="E": pickup pensquare scaled fP; dw Z_z--Z_c--Z_r--Z_n; dw Z_m--Z_o;
+ ef s="G": cdw sbp(.06,.97)circ_O; dwh bot Z_y-- bot Z_v;
+ ef s="J": cdw Z_m..(hP,.4aH){down}..{right}Z_x{right}..{up}(fW,.4aH)..Z_t;
+ ef s="K": cdw Z_b--Z_w; cdw .35[.45[Z_b,Z_w],Z_u]--Z_e; cdw .35[Z_b,Z_w]--Z_u;
+ ef s="L": dwh Z_d--Z_a; dwv Z_b--Z_w;
+ ef s="M": dwv Z_b--Z_w; dwvs(1.14)Z_w--Z_x--Z_t; dwv Z_t--Z_e;
+ ef s="Q": dw circ_O; dw (.6aW,.4aH)--Z_e;
+ ef s="R": dwv Z_b--Z_w; dw Z_r--(.65aW,fH){right}..(fW,.7aH)..{left}(.65aW,.44aH)..(hP,.44aH);
+ cdw Z_e{up}..{left}(hW,.44aH);
+ ef s="T": dwh Z_q--Z_u; dwv .5[Z_q,Z_u]--Z_g;
+ ef s="U": cdw Z_w..Z_m{down}..{right}Z_x{right}..{up}Z_o..Z_t;
+ ef s="V": dwvs(1.2)Z_w--Z_g--Z_t;
+ ef s="W": dwvs(1.08)Z_w--(aW/4,0)--Z_f--Z_l--Z_t;
+ ef s="X": dwvs(1.4)Z_w..Z_e; dwvs(1.4) Z_b..Z_t;
+ ef s="Y": dwvs(1.2)Z_w--Z_y--Z_t; dwv Z_y--Z_g;
+ ef s="Z": dwh Z_q--Z_u; dwvs(1.4)(1.4hP,fP)--(aW-1.4hP,aH-fP); dwh Z_a--Z_d;
+ ef s="a": dw Z_x..Z_o..Z_s..Z_m..cycle; dwv Z_e--Z_t;
+ ef s="b": dw Z_x..Z_o..Z_p..Z_m..cycle; dwv Z_b--(hP,1.3aH)
+ ef s="c": cdw sbp(.06,.94)Z_o..Z_s..Z_m..Z_x..cycle;
+ ef s="d": dw Z_x..Z_o..Z_p..Z_m..cycle; dwv Z_e--(fW,1.3aH);
+ ef s="e": cdw sbp(0,.92)Z_o..Z_s..Z_m..Z_x..cycle; dw Z_o--Z_m;
+ ef s="f": cdw (.4fW,0)--(.4fW,.75aH){up}..(.75aW,fH)..{down}(fW,.8aH); dwh Z_h--Z_v;
+ ef s="g": dw circ_Oa; dw sbp(0,.5)circ_Oh shifted (0,-.5fH); cdw (fW,.7aH)--(fW,-qH);
+ ef s="h": cdw Z_b..(hP,.3aH){up}..(hW,.7fH)..{down}(fW,.3aH)..Z_e; dwv (hP,.3aH)--Z_w;
+ ef s="i": dwv Z_g--(hW,.7aH); ppcs 1.4fP; dw Z_s;
+ ef s="j": cdw (fW,.7aH)--Z_z..(aW/4,-.66fP)..Z_c; ppcs 1.4fP; dw Z_n;
+ ef s="k": dwv Z_b--(hP,1.3fH); cdw .5[Z_b,Z_w]--Z_e; cdw .5[Z_b,Z_w]--Z_u;
+ ef s="m": cdw Z_b..(hP,.3aH){up}..(.28aW,fH)..{down}(hW,.3aH)..Z_g;
+ cdw (hW,.6aH){up}..(.7aW,fH)..{down}(fW,.6aH)..Z_e; dwv (hP,.3aH)--Z_w;
+ ef s="n": cdw Z_b{up}..(hW,.8fH)..{down}Z_o..Z_e; dwv Z_b--(hP,.8aH);
+ ef s="o": dw Z_x..Z_o..Z_s..Z_m..cycle;
+ ef s="p": dw Z_x..Z_o..Z_s..Z_m..cycle; dwv Z_w--(hP,-.3aH);
+ ef s="q": dw Z_x..Z_o..Z_s..Z_m..cycle; dwv Z_t--(fW,-.3aH);
+ ef s="r": cdw (sbp(.33,.72)Z_x..Z_o..Z_s..Z_m..cycle) shifted(0,-hP); dwv Z_b--Z_w;
+ ef s="s": cdw sbp(.05,.45)circ_O; cdw sbp(.55,.95)circ_O; dw (fW,.3aH){up}..{up}(hP,.7aH);
+ ef s="t": dwv Z_g--Z_f; dwh (0,.66aH)--(aW,.66aH);
+ ef s="u": cdw Z_w..(hP,.55aH){down}..Z_x..(fW,.55aH){up}..Z_t; dwv Z_t--Z_e;
+ ef s="v": dwv Z_w--Z_g--Z_t;
+ ef s="w": dwv Z_w--(aW/4,0)--Z_f--Z_l--Z_t;
+ ef s="x": dwvs(1.4)Z_w--Z_e; dwvs(1.4) Z_t--Z_b;
+ ef s="y": dwvs(1.4)(Z_w--Z_y) shifted (0,-.3aH); dwvs(1.4)(Z_t--Z_b) shifted (0,-.3aH);
+ ef s="z": dwh Z_q--Z_u; dwvs(1.4)(1.4hP,fP)--(aW-1.4hP,aH-fP); dwh Z_a--Z_d;
+ ef s="0": dw Z_m...Z_s...Z_o...Z_x...cycle;
+ ef s="1": dwv Z_g--(hW,aH-.3hP)--(hW-fP,aH-fP)--(hW-fP,aH-1.5fP);
+ ef s="5": dwh Z_q--Z_u; dwv Z_r--(hP,.55fH);
+ cdw (qP,.18aH)..(.65aW,1.3hP)..(fW,.4aH)..(hW,.63aH)..(.7hP,.56aH);
+ ef s="6": dw Z_x..(fW,.5fW)..Z_i..(hP,.5fW)..cycle; cdw (.8fP,hH)--Z_f;
+ ef s="7": dwh (0,.fH)--Z_u; dwvs(1.2)(aW-1.2hP,aH-fP)--(.4aW,0);
+ ef s="8": dw circ_Oh; dw (hP,.75aH)...Z_s...(fW,.75aH)...Z_y...cycle;
+ ef s="9": dw (Z_x..(fW,.5fW)..Z_i..(hP,.5fW)..cycle) shifted (0,.32aH); cdw (fW-.45fP,hH)--Z_g;
+ else:
+ fi
+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
+enddef;
+%-------------------------------------------------------------------------------------------------
+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
+enddef;
+%-------------------------------------------------------------------------------------------------
+vardef forbidden_to_underbar(expr t)= sS:="";
+ for i=1 upto length(t):
+ 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)=
+ 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];
+ for j=1 upto cntB:
+ bond_num[j]:=bond_type(lineB[j]);
+ if (sB[j]=i)or(eB[j]=i): bond_cntA:=bond_cntA+bond_num[j]; fi
+ endfor
+ Bcnt[i]:=bond_cntA;
+ if ((nS=0)or(nS=(C-nE)))and(bond_cntA<4):
+ hideH[i]:=4-bond_cntA; hideH_cnt:=hideH_cnt+hideH[i]; else: hideH[i]:=0;
+ fi
+ if nS=0: if bond_cntA>4: warning_bond(i) fi
+ ef nS=(O-nE): if bond_cntA<>2: warning_bond(i) fi
+ ef nS=(N-nE): if (bond_cntA<>3)and(bond_cntA<>5): warning_bond(i) fi
+ ef nS=(S-nE): if (bond_cntA<>2)and(bond_cntA<>4)and(bond_cntA<>6): warning_bond(i) fi
+ ef nS=(H-nE): if bond_cntA<>1: warning_bond(i) fi
+ ef nS=(OH-nE): if bond_cntA<>1: warning_bond(i) fi
+ ef nS=(COOH-nE): if bond_cntA<>1: warning_bond(i) fi
+ ef nS=(NH2-nE): if bond_cntA<>1: warning_bond(i) fi
+ ef nS=(CN-nE): if bond_cntA<>1: warning_bond(i) fi
+ ef nS=(P-nE): if bond_cntA<>5: warning_bond(i) fi
+ ef nS=(C-nE): if bond_cntA>4: warning_bond(i) fi
+ ef nS=(F-nE): if bond_cntA<>1: warning_bond(i) fi
+ ef nS=(Cl-nE): if bond_cntA<>1: warning_bond(i) fi
+ ef nS=(Br-nE): if bond_cntA<>1: warning_bond(i) fi
+ fi
+ for j=1 upto tbl_group_end:
+ if str_tbl[nS]=tbl_atom_str[j]:
+ if tbl_atom[j]=0: sumA[j]:=sumA[j]+1; if j>tbl_atom_max: tbl_atom_max:=j; fi
+ else:
+ 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
+ exitif knownA=1;
+ 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
+ for i=1 upto tbl_atom_max:
+ if sumA[i]>=1:
+ 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(MW_n); MI:=substring(0,10) of decimal(MI_n);
+enddef;
+%=================================================================================================
+def proc_report_out=
+ file_output:=jobname&"-report.txt";
+ printf "===========================================================================";
+ printf " No["&decimal(fig_num)&"],Name<"& EN&">,Category<"&CAT&">,File<"&file_input&">";
+ 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)&"]";
+ printf " Bond length["&fdr(8)(blen)&"],Atom size["&fdr(8)(atom_wd)&"]";
+ printf "---------------------------------------------------------------------------";
+ printf " Atom["&decimal(cntA)&"],Bond["&decimal(cntB)&
+ "],Ring["&decimal(cntB-cntA+1)&"],Hide H["&decimal(hideH_cnt)&"]";
+ printf "< NO. ><atom(s) >( x axis , y axis )<bond><hideH><chg>";
+ for i=1 upto cntA:
+ 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
+ printf "---------------------------------------------------------------------------";
+ printf "< NO. >< bond (sdt)><angle +( +- )><length ( pt )>";
+ for i=1 upto cntB:
+ nC:=lenB[i]; if nC=_size_atom: nC:=ratio_atom_bond; elseif nC<0: nC:=-nC; fi
+ 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
+ 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
+ endfor
+ printf " Molecular Weight [Mono Isotopic] = "&fsr(12)(mw)&"["&fsr(12)(MI)&"]";
+ printf "---------------------------------------------------------------------------";
+ 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)=
+ if EN<>"-": EN_:=forbidden_to_underbar(EN); fi
+ file_output:="m"&fit_zero(fig_num)&"-"&EN_&".mol";
+ %-V2000---------------------------------------------------------------------------------------
+ if n=2000:
+ printf ""; printf " -MCFtoMOL- "&fsl(20)(EN); printf "";
+ printf fdr(3)(cntA)&fdr(3)(cntB)&" 0 0 0 0 0 0 0 0999 V2000";
+ for i=1 upto cntA:
+ printf fdr(10)(xpart(posA[i])/blen)& fdr(10)(ypart(posA[i])/blen)&fdr(10)(0)&" "&
+ fsl(2)(erase_char(str_tbl[strA[i]]))&" 0"&fdr(3)(bond_charge(chargeA[i]))&" 0 0";
+ 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
+ endfor
+ printf "M END";
+ %-V3000---------------------------------------------------------------------------------------
+ elseif n=3000:
+ printf ""; printf " -MCFtoMOL- "&fsl(20)(EN); printf "";
+ printf " 0 0 0 0 0 0 0 0 0 0 0 V3000";
+ printf "M V30 BEGIN CTAB";
+ printf "M V30 COUNTS "&decimal(cntA)&" "&decimal(cntB)&" 0 0 0";
+ printf "M V30 BEGIN ATOM";
+ for i=1 upto cntA:
+ printf "M V30 "&decimal(i)&" "&erase_char(str_tbl[strA[i]])&" "&
+ decimal(xpart(posA[i])/blen)&" "&decimal(ypart(posA[i])/blen)&" 0 0"
+ if chargeA[i]<>0: &" CHG="&decimal(chargeA[i]) fi;
+ endfor
+ printf "M V30 END ATOM"; printf "M V30 BEGIN BOND";
+ for i=1 upto cntB:
+ 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
+ endfor
+ printf "M V30 END BOND"; printf "M V30 END CTAB"; printf "M END"; fi
+enddef;
+%=================================================================================================
+def proc_mc_out=
+ 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
+ printf EOF;
+enddef;
+%=================================================================================================
+vardef fit_zero(expr n)= if n<=9: "00" ef n<=99: "0" else: "" fi &decimal(n) enddef;
+vardef bond_type(expr n)=
+ if (n>=dl)and(n<=dm_):2 ef n=tm:3 ef (n=0)or(n=vf)or(n=vb): 0 else: 1 fi enddef;
+vardef bond_charge(expr n)= if n=2: 1 ef n=1: 3 ef n=-1: 5 ef n=-2: 6 else: 0 fi enddef;
+vardef bond_stereo(expr n)=
+ if (n=wf)or(n=zb)or(n=bd): 1 ef (n=zf)or(n=wb)or(n=dt): 6 ef n=wv: 4 else: 0 fi enddef;
+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 define_atom(expr s,WT,MI)=
+ 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; pcode_num
+enddef;
+%-------------------------------------------------------------------------------------------------
+vardef define_group_string(expr s)(text t)=
+ 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-pcode_emb_start; endfor
+ pcode_num
+enddef;
+%=================================================================================================
+def define_atom_group_parts=
+ save `,``,';
+ def `=define_atom enddef; def ``=define_group_string enddef; def '= define_parts enddef;
+ pcode_int:=pcode_emi_start; pcode_num:=pcode_emb_start;
+ ?3:=?20:=Ph:=Ph1:=Ph2:=hz:=0; vt:=1;
+ %-----------------------------------------------------------------------------------------------
+ C:= `("C" ,12.0107, 12.0000000); H:= `("H" , 1.00794, 1.00782503223);
+ D:= `("D" ,2.012, 2.01410177812); Ag:=`("{Ag}",107.868, 106.905095);
+ Al:=`("{Al}",26.9815, 26.98153853); As:=`("{As}",74.9216, 74.92159457);
+ B:= `("B" ,10.811, 11.00930536); Ba:=`("{Ba}",137.33, 136.905816);
+ Be:=`("{Be}",9.01218, 0);
+ Bi:=`("{Bi}",208.9804, 208.980338); Br:=`("{Br}",79.904, 78.9183376);
+ Ca:=`("{Ca}",40.078, 39.962590863); Cd:=`("{Cd}",112.41, 110.904182);
+ Cl:=`("{Cl}",35.453, 34.968852); Co:=`("{Co}",58.933194, 58.93319429);
+ Cr:=`("{Cr}",51.9961, 51.94050623); Cs:=`("{Cs}",132.905, 132.90543);
+ Cu:=`("{Cu}",63.546, 62.92959772);
+ F:= `("F" ,18.9984, 18.99840316273); Fe:=`("{Fe}",55.845, 55.93493633);
+ Hg:=`("{Hg}",200.59, 201.97064340); I:= `("I" ,126.90447,126.9044719);
+ K:= `("K" ,39.0983, 38.9637064864); Li:=`("{Li}",6.941, 7.0160034366);
+ Mg:=`("{Mg}",24.305, 23.985041697); Mn:=`("{Mn}",54.938044, 54.93804391);
+ Mo:=`("{Mo}",95.95, 0);
+ N:= `("N" ,14.0067, 14.00307400443); Na:=`("{Na}",22.98977, 22.9897692820);
+ Ni:=`("{Ni}",58.693, 57.93534241); O:= `("O" ,15.9994, 15.99491461957);
+ P:= `("P" ,30.973762, 30.97376199842); Pb:=`("{Pb}",207.2, 205.974455);
+ Pd:=`("{Pd}",106.4, 107.905075);
+ S:= `("S" ,32.065, 31.9720711744); Sb:=`("{Sb}",121.75, 120.90381);
+ Se:=`("{Se}",78.971, 79.9165218); Si:=`("{Si}",28.0855, 27.97692653465);
+ Sn:=`("{Sn}",118.71, 119.90220163); Ta:=`("{Ta}",180.948, 0);
+ Te:=`("{Te}",127.60, 129.90623); Ti:=`("{Ti}",47.867, 47.94794198);
+ U:= `("U", 238.0289, 238.05079); V:= `("V", 50.9415, 50.943957);
+ W:= `("W", 183.85, 181.948225); Zn:=`("{Zn}",65.409, 63.92914201);
+ NO_ATOM:=`("",0,0);
+ tbl_atom_end:=tbl_cnt;
+ %-----------------------------------------------------------------------------------------------
+ if sw_expand=0:
+ CH3:=``("C{H_3_}")(C,H,H,H); CH2:=``("C{H_3_}")(C,H,H); CN:=``("CN")(C,N); OH:=``("OH")(O,H);
+ COOH:=``("COOH")(C,O,O,H); COONa:=``("COO{Na}")(C,O,O,Na); CHO:=``("CHO")(C,H,O);
+ NO:=``("NO")(N,O); NO2:=``("N{O_2_}")(N,O,O); NH2:=``("N{H_2_}")(N,H,H);
+ SH:= ``("SH")(S,H); SO2H:=``("S{O_2_}H")(S,O,O,H); SO3H:=``("S{O_3_}H")(S,O,O,O,H);
+ ONa:=``("O{Na}")(O,Na); SO3Na:=``("S{O_3_}{Na}")(S,O,O,O,Na);
+ fi
+ %-----------------------------------------------------------------------------------------------
+ tbl_group_end:=tbl_cnt; pcode_atm_end:=pcode_num;
+ ?:='((_group_si,NO_ATOM)); ?wf:=?w:='((_group_wf,NO_ATOM)); ?zf:=?z:='((_group_zf,NO_ATOM));
+ ?O:='((_group_dm,O)); NH:='(N,/H~nl); ?NH:='((_group_dm,NH));
+ %-----------------------------------------------------------------------------------------------
+ ?H:='(/H); ?F:='(/F); ?Cl:='(/Cl); ?OH:='(/OH); ?OH:='(/COOH); ?NH2:='(/NH2);
+ 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]:='((i,j)); endfor endfor
+ %-----------------------------------------------------------------------------------------------
+ !:=!1:='((_mk_bond,_arrange_ang)); !db:=!d:='(!~db); !tm:=!t:='(!~tm); !wf:=!w:='(!~wf);
+ !zf:=!z:='(!~zf); !wb:='(!~wb); !zb:='(!~zb); !dl:='(!~dl); !dr:='(!~dr); !dm:='(!~dm);
+ for i==2 upto 20:
+ ![i]:='((_com,_len_ss),(_get_len,_tmp_len),! for j==2 upto i::,! endfor ,(_com,_len_ee));
+ endfor
+ ?!:='(/_,!); ?!d:='(/_,!d); ?!2:='(/_,!2); ??!:='(/_,/_^60,60); ??:='(/_^35,/_^-35);
+ !?:='(!,/_); !?!:='(!?,!); !??!:='(!,??,!); ?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));
+ %-----------------------------------------------------------------------------------------------
+ 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
+ %-----------------------------------------------------------------------------------------------
+ ?F!F:='(/F,60,F); ?Cl!Cl:='(/Cl,60,Cl); ?Br!Br:='(/Br,60,Br); ?F?F!F:='(/F,/F^60,60,F);
+ ?Cl?Cl!Cl:='(/Cl,/Cl^60,60,Cl);
+ %-----------------------------------------------------------------------------------------------
+ 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);
+ %-----------------------------------------------------------------------------------------------
+ ?O!:='(?O,!); ?O!2:='(?O,!2); ?O!3:='(?O,!3); !?O:='(!,?O); !?O!:='(!,?O!);
+ NH!:='(NH,!); NH!2:='(NH,!2); !NH:='(!,NH); !NH!:='(!,NH!);
+ %-----------------------------------------------------------------------------------------------
+ !OH:='(!,OH); !SH:='(!,SH); !NH2:='(!,NH2); !S?O:='(!,S?O); !O:='(!,O); !dO:='(!d,O);
+ !O!:='(!,O!); !O!2:='(!,O!2); !O!3:='(!,O!3); !S!:='(!,S!); !S!2:='(!,S!2); !S!3:='(!,S!3);
+ !COOH:='(!,COOH); ?COOH:='(/COOH); !CH3:='(!,CH3); !CN:='(!,CN); !CHO:='(!,CHO); !NO2:='(!,NO2);
+ !Cl:='(!,Cl); !Br:='(!,Br); !F:='(!,F); !?F!F:='(!,?F!F); !?Cl!Cl:='(!,?Cl!Cl);
+ !?F?F!F:='(!,?F?F!F); !?Cl?Cl!Cl:='(!,?Cl?Cl!Cl);
+ !?3:='(!,?3); !?4:='(!,?4); !?5:='(!,?5); !?6:='(!,?6); !?7:='(!,?7); !?8:='(!,?8);
+ !Ph:='(!,Ph); !?OH:='(!,?OH); ?OH!:='(?OH,!);
+ %-----------------------------------------------------------------------------------------------
+ lr:='(60 for i==1 upto 10:: ,-60,60 endfor); rl:='(-60 for i==1 upto 10:: ,60,-60 endfor);
+ %-----------------------------------------------------------------------------------------------
+ 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,##);
+enddef;
+%-------------------------------------------------------------------------------------------------
+define_atom_group_parts;
+%=================================================================================================
+init_par(parameter_list);
+%-------------------------------------------------------------------------------------------------
+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,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 128: tbl_asc[i]:=0; endfor
+ for i=1 upto lens: mc_char[i]:=ASCII(subc(i,s)); endfor
+ forever:
+ 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
+ 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 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
+ %---------------------------------------------------------------------------------------------
+%%%%%%% err_cnt>0: readstring;
+ err_cnt
+enddef;
+%-------------------------------------------------------------------------------------------------
+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)=
+ file_output:=s;
+ for i=1 upto ucount: for j=1 upto unit_lines[i]: printf row[i][j]; endfor endfor
+ closefrom file_output;
+enddef;
+%-------------------------------------------------------------------------------------------------
+def loadm(text s)=
+ begingroup
+ save f_mcf,f_line,lines,unit_cnt,row_s,row_cnt,semic_cnt,info_cnt,order,min_n,max_n,firstc,
+ sign_at,sign_n,filter_n,filter_tag,filter_var,filter_sign,filter_cnt,filter_p,lib_unit_cnt,
+ at_colon,at_equal,at_less,at_greater,at_n,sort_tbl,key_s,sort_s,sign_s,sV,sS,sT,sort_oder,
+ tag_s,val_s;
+ string row_s[][],sort_s,sort_tbl[],key_s,filter_tag[],filter_var[],sign_s[],sV,sS,sT,firstc,
+ tag_s[][],val_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_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);
+ at_greater:=scan_c(">",list); key_s:="";
+ %---------------------------------------------------------------------------------------------
+ if at_colon>=2: sign_at:=at_colon; sign_n:=0; at_n:=1;
+ ef at_equal>=2: if (at_equal-1)=at_less: sign_at:=at_equal; sign_n:=5; at_n:=2;
+ ef (at_equal-1)=at_greater: sign_at:=at_equal; sign_n:=6; at_n:=2;
+ 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
+ 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
+ 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
+ fi
+ endfor
+ %-----------------------------------------------------------------------------------------------
+ forever:
+ temps:=readfrom file_input; exitif temps=EOF; firstc:=subc(1,temps);
+ if (firstc<>"%")or(sw_comment=1):
+ row_s[unit_cnt][incr lines]:=temps;
+ if firstc=";":
+ row_cnt[unit_cnt]:=lines; f_mcf:=lines:=0; filter_n:=1;
+ for i=1 upto filter_cnt: filter_p[i]:=0; endfor
+ sort_s:="";
+ for i=1 upto info_cnt:
+ get_tag_var(arg_s[i])(sT,sV);
+ tag_s[unit_cnt][i]:=sT; val_s[unit_cnt][i]:=sV;
+ if sT=key_s: if is_num(sV)=1: sort_s:=fix_num(sV); else: sort_s:=sV; fi fi
+ for j=1 upto filter_cnt:
+ if filter_tag[j]=sT:
+ filter_p[j]:=1;
+ if (filter_sign[j]>=3)and(is_num(sV)=1): temps:=fix_num(sV); else: temps:=sV; fi
+ if filter_sign[j]=1: if not(temps= filter_var[j]): filter_n:=0; fi
+ ef filter_sign[j]=2: if not(temps<>filter_var[j]): filter_n:=0; fi
+ ef filter_sign[j]=3: if not(temps< filter_var[j]): filter_n:=0; fi
+ ef filter_sign[j]=4: if not(temps> filter_var[j]): filter_n:=0; fi
+ ef filter_sign[j]=5: if not(temps<=filter_var[j]): filter_n:=0; fi
+ ef filter_sign[j]=6: if not(temps>=filter_var[j]): filter_n:=0; fi
+ fi
+ fi
+ endfor
+ endfor
+ for i=1 upto filter_cnt: if filter_p[i]=0: filter_n:=0; fi endfor
+ info_cnt:=0; lib_unit_cnt:=lib_unit_cnt+1;
+ 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);
+ fi
+ fi
+ fi
+ endfor
+ ucount:=unit_cnt:=unit_cnt-1;
+ %=============================================================================================
+ message "* Input : "&file_input&" ["&decimal(lib_unit_cnt)&"]";
+ message "* Output : ucount ["&decimal(ucount)&"]";
+ if filter_cnt>=1:
+ 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)");
+ fi
+ fi
+ %-----------------------------------------------------------------------------------------
+ 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
+ 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
+ order[max_n]:=i; order_tbl[i]:=max_n;
+ fi
+ endfor
+ %---------------------------------------------------------------------------
+ for i=1 upto unit_cnt:
+ for j=1 upto info[order_tbl[i]]:
+ lib_tag[i][j]:=tag_s[order_tbl[i]][j]; lib_val[i][j]:=val_s[order_tbl[i]][j];
+ endfor
+ unit_lines[i]:=row_cnt[order_tbl[i]];
+ for j=1 upto row_cnt[order_tbl[i]]: row[i][j]:=row_s[order_tbl[i]][j]; endfor
+ endfor
+ %-------------------------------------------------------------------------
+ else:
+ for i=1 upto unit_cnt:
+ for j=1 upto info[i]: lib_tag[i][j]:=tag_s[i][j]; lib_val[i][j]:=val_s[i][j]; endfor
+ unit_lines[i]:=row_cnt[i];
+ for j=1 upto row_cnt[i]: row[i][j]:=row_s[i][j]; endfor
+ endfor
+ fi
+ closefrom file_input;
+ endgroup;
+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;
+%-------------------------------------------------------------------------------------------------
+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
+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
+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;
+%-------------------------------------------------------------------------------------------------
+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;
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Property changes on: trunk/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/tlpkg/libexec/ctan2tds
===================================================================
--- trunk/Master/tlpkg/libexec/ctan2tds 2024-11-20 21:17:05 UTC (rev 72914)
+++ trunk/Master/tlpkg/libexec/ctan2tds 2024-11-20 22:09:01 UTC (rev 72915)
@@ -3533,7 +3533,7 @@
'latexmp', 'latexmp.mp',
'latex-graphics-companion', 'NULL', # doc package
'luamesh', 'luamesh.mp', # not doc file fond.mp
- 'mcf2graph', 'mcf2graph.mf', # not the examples
+ 'mcf2graph', 'mcf2graph.mp|main_lib.mcf', # not the examples
'metapost-colorbrewer','colorbrewer-[cr].*mp', # not -sampler
'metapost-examples', 'NULL', # doc package
'minim-hatching', '.*g\.mp', # not doc.mp
More information about the tex-live-commits
mailing list.