diff options
author | Karl Berry <karl@freefriends.org> | 2017-01-16 23:11:36 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2017-01-16 23:11:36 +0000 |
commit | 4e5fab2a66c40e3caa99cadd5e1a1d3788a14279 (patch) | |
tree | d281dad2bcc27403b2c963b00344079acafab331 | |
parent | 6c8025cb60ed6910051ed5680516710673d65e19 (diff) |
mcf2graph (15jan17)
git-svn-id: svn://tug.org/texlive/trunk@42970 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG | 6 | ||||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/README | 3 | ||||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf | 39 | ||||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf | bin | 235845 -> 235860 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf | 12 | ||||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf | bin | 440005 -> 440033 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex | 2 | ||||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf | bin | 122258 -> 122289 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex | 6 | ||||
-rw-r--r-- | Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf | 67 |
11 files changed, 79 insertions, 58 deletions
diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG b/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG index fc9827518bb..b827c211c0d 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG +++ b/Master/texmf-dist/doc/metapost/mcf2graph/CHANGELOG @@ -1,6 +1,10 @@ ******************************************************************************* - Changelog of mcf2graph software package by Akira Yamaji 2017-01-09 + Changelog of mcf2graph software package by Akira Yamaji 2017-01-15 ******************************************************************************* +[ver. 4.08 / 2017-01-15] + -add monoisotopic mass calculation + -update MCF syntax manual + [ver. 4.07 / 2017-01-09] -add new command '!!' : '!~db' -add new command '!!!' : '!~tm' diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/README b/Master/texmf-dist/doc/metapost/mcf2graph/README index f1c3c86ae12..bcd344c9b18 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/README +++ b/Master/texmf-dist/doc/metapost/mcf2graph/README @@ -1,7 +1,7 @@ ******************************************************************************** mcf2graph : Convert Molecular Coding Format to graphics with METAFONT/METAPOST Author : Akira Yamaji - version : 4.07 2017-01-09 + version : 4.08 2017-01-15 E-mail : mcf2graph@gmail.com Located at : http://www.ctan.org/pkg/mcf2graph ******************************************************************************** @@ -30,6 +30,7 @@ (12) mcf_example.pdf PDF of (11) typeset with LuaTeX(LuaLaTeX) 3. How to use mcf2graph with Metapost + Minimum requirement to run mcf2graph : mpost.exe,mpost.dll,mpost.mp,plain.mp ( 1) >mpost -s ahangle=0 FILENAME => output no graphic file. ( 2) >mpost -s ahangle=1 FILENAME => output PNG file. (default:eps) ( 3) >mpost -s ahangle=2 FILENAME => output SVG file. diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf index 2c97bc08491..97a01bf0236 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_exa_soc.mf @@ -1,7 +1,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format for mcf_example.tex by Akira Yamaji 2017.01.09 +% Molecular Coding Format for mcf_example.tex by Akira Yamaji 2017.01.13 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -input mcf2graph.mf; %%% it must be version 4.07 or later +input mcf2graph.mf; %%% it must be version 4.08 or later %------------------------------------------------------------------------- font_wd#:=33mm#; font_ht#:=24mm#; @@ -18,15 +18,15 @@ var4:="cal_MW"; tag4:="cMW"; %%%% var3:="mol_wd"; tag3:="mWD"; %%%% var4:="mol_ht"; tag4:="mHT"; %%%% var5:="cal_MW"; tag5:="cMW"; -%%%% var6:="cal_FM"; tag6:="cFM"; -%%%% var7:="inf_USE"; tag7:="USE"; -%%%% var8:="inf_EXA"; tag8:="EXA"; -%%%% var9:="inf_EXB"; tag9:="EXB"; +%%%% var6:="cal_MI"; tag6:="cMI"; +%%%% var7:="cal_FM"; tag7:="cFM"; +%%%% var8:="inf_USE"; tag8:="USE"; +%%%% var9:="inf_EXA"; tag9:="EXA"; %%%% auxtag_out; %%%% sw_checklist:=1; %%%% sw_MOLout:=1; %%%% outputformat:="png"; hppp:=vppp:=0.1; outputtemplate:="%j-%3c.png"; -%************************************************************************** +%*************************************************************************** beginfont("EN:Acetamiprid","MW:222.676") MCf(<30,Ph,2:N,1:/Cl,4\,!,N,/_,!,/_,!!,N,!,CN) endfont @@ -40,7 +40,7 @@ beginfont("EN:Thiamethoxam","MW:291.71") endfont %*************************************************************************** beginfont("EN:Tebufenozide","MW:352.478") - MCf(<30,Ph,6:/Et,3\,//O,!,NH,!,N,/tBu,!,//O,!,|,Ph,@(3,5)/_) + MCf(<30,Ph,6:/!,3\,//O,!,NH,!,N,/tBu,!,//O,!,|,Ph,@(3,5)/_) endfont %*************************************************************************** beginfont("EN:Pyridaphenthion","MW:340.334") @@ -87,7 +87,7 @@ endfont %*************************************************************************** beginfont("EN:Tetraconazole","MW:372.145") MCf(<-6, - ?5,$(2,5)d,@(1,2,4)N,4\,!3,O,!,/F^35,/F^-35,!,CF2,#7\,|,Ph,@(4,6)/Cl) + ?5,$(2,5)d,@(1,2,4)N,4\,!3,O,!,/F^35,/F^-35,!,CF2,7\,|,Ph,@(4,6)/Cl) endfont %*************************************************************************** beginfont("EN:Endosulfan","MW:406.904"); @@ -100,7 +100,8 @@ beginfont("EN:Flutolanil","MW:323.315") endfont %*************************************************************************** beginfont("EN:Propiconazole","MW:342.22") - MCf(<-6,?5,$(2,5)d,@(1,3,4)N,4\,!2,|,Ph,@(4,6)/Cl,#7*,|,?5,@(1,4)O,3:/Pr^24) + MCf(<-6,?5,$(2,5)d,@(1,3,4)N, + 4\,!2,Ph,@(-1,-3)/Cl,7*,|,?5,@(1,4)O,3:/!2^24) endfont %*************************************************************************** beginfont("EN:Pencycuron","MW:328.84") @@ -120,7 +121,7 @@ beginfont("EN:Oxaziclomefone","MW:376.277") endfont %*************************************************************************** beginfont("EN:Cafenstrole","MW:350.437") - MCf(<30,Ph,@(2,4,6)/_,3\,SOO,!,|,?5,$(2,5)d,@(2,4,5)N,4\,//O,!,N,/Et,!2) + MCf(<30,Ph,@(2,4,6)/_,3\,SOO,!,|,?5,$(2,5)d,@(2,4,5)N,4\,//O,!,N,/!,!2) endfont %*************************************************************************** beginfont("EN:Cyclosulfamuron","MW:421.428") @@ -129,7 +130,7 @@ beginfont("EN:Cyclosulfamuron","MW:421.428") endfont %*************************************************************************** beginfont("EN:Napropamide","MW:271.36") - MCf(<-30,Ph,3=Ph,10\,O,!,/_^35,/_^-35,!,//O,!,N,/Et,!) + MCf(<-30,Ph,3=Ph,10\,O,!,/_^35,/_^-35,!,//O,!,N,/!,!) endfont %*************************************************************************** beginfont("EN:Pyributicarb","MW:330.446") @@ -141,11 +142,11 @@ beginfont("EN:Propyzamide","MW:256.126") endfont %*************************************************************************** beginfont("EN:Pendimethalin","MW:281.312") - MCf(<30,Ph,@(1,2)/_,@(3,5)/NO2,4\,NH,!,/Et,!2) + MCf(<30,Ph,@(1,2)/_,@(3,5)/NO2,4\,NH,!,/!,!2) endfont %*************************************************************************** beginfont("EN:Benfluralin","MW:335.283") - MCf(<30,Ph,@(1,3)/NO2,5:/CF3,2\,N,/Et,!4) + MCf(<30,Ph,@(1,3)/NO2,5:/CF3,2\,N,/!,!4) endfont %*************************************************************************** beginfont("EN:Trinexapac-ethyl","MW:252.266") @@ -201,7 +202,7 @@ beginfont("EN:Validamycin","MW:497.494") endfont %************************************************************************** beginfont("EN:Oceltamivir","MW:312.41") - MCf(<30,?6,3=d,1:/NH2,3:/COO!2,6:/NHCO!,5\~zf,O,!,/Et,!2) + MCf(<30,?6,3=d,1:/NH2,3:/COO!2,6:/NHCO!,5\~zf,O,!,/!,!2) endfont %*************************************************************************** beginfont("EN:Luciferin","MW:280.33") @@ -212,7 +213,7 @@ beginfont("EN:Chlorophyll a","MW:893.509") MCf(<54,{,``1,?5,$(2,5)dl,4:N,3\,54~dl,|,?5,$(2,4)dl,5:N, -2\,54~dl,|,?5,2=d,5:N,-2\~dl,54,|,?5,5=d,5:N,-2\~dl,, -1*,24,/*COO!^15,72,//O,,}, - @(2,9,15,20~zf)/_,8:/Et,14\,!!, + @(2,9,15,20~zf)/_,8:/!,14\,!!, #4\`1.45,Mg,&17,-1*,&11~vb,-1*,&23~vb, #21*,-6~wf,!2,//O,!,O,!2,!!,|,!13,@(1,5,9,13)/_) endfont @@ -267,7 +268,7 @@ beginfont("EN:Cromolyn","MW:468.37") endfont %************************************************************************** beginfont("EN:Emetine","MW:480.649") - MCf(<30,Ph,$(-4,-4)?6,8:N,@(1,6)/O!,-2:/*Et,@(7^-60,12^-60)/*H, + MCf(<30,Ph,$(-4,-4)?6,8:N,@(1,6)/O!,-2:/*!,@(7^-60,12^-60)/*H, -3\,!~zb,<-60,|,?6,5=d,2:NH,-6^-60:*/H,|,-2=?6,$(2,4)dl,@(-2,-3)/O!) endfont %*************************************************************************** @@ -343,10 +344,10 @@ endfont; %*************************************************************************** beginfont("EN:Erythromycin","MW:733.937"); MCf(<30,{,``1,<-120,60,60,60,-60,60,60,-60,60,60,60,-60,60,60,},&1, - 14:O,13:/*Et,@(1,9)//O,@(2,10)*/_,@(4,6^-35,8,12^35)/*_, + 14:O,13:/*!,@(1,9)//O,@(2,10)*/_,@(4,6^-35,8,12^35)/*_, @(6^35,11,12^-35)*/OH, #3\*,O,30,|,?6`.7,2:O,@(3,5^35)/_,4:/OH,5^-35:/O!, - #5\*^30`1.7,O,!,|,?6`.7,6:O,5:/_,2:/OH,3:/NMeMe) + #5\*^30`1.7,O,!,|,?6`.7,6:O,5:/_,2:/OH,3:/NMe!) endfont; %************************************************************************** beginfont("EN:Paclitaxel","MW:853.918") diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf Binary files differindex 626c295bd40..162df6cac38 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.pdf diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex index 5f6ee4974a8..07a44728a79 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_example.tex @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Example of MCF typeset by LaTeX mcf_examples.tex by A.Yamaji 2017.01.09 +% Example of MCF typeset by LaTeX mcf_examples.tex by A.Yamaji 2017.01.15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentclass[a4paper]{article} \usepackage{graphicx} diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf index a974662e9e7..0cace2ff00d 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_man_soc.mf @@ -1,7 +1,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2017.01.03 +% Molecular Coding Format file for mcf_manual.tex by Akira.Yamaji 2017.01.15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -input mcf2graph.mf; %% it must be version 4.06 or later +input mcf2graph.mf; %% it must be version 4.08 or later %------------------------------------------------------------------------ sw_auxout:=0; sw_mol_frame:=0; @@ -415,7 +415,7 @@ beginfont("EN:substituent 3") sw_numberA:=1; sw_clip:=1; numberA_end:=17; - MCf(<-30,!16,2:/_,4:/Et,6:/Pr,10:/iPr,14:/tBu,16:/Ph^-60) + MCf(<-30,!16,2:/_,4:/!,6:/!2,10:/iPr,14:/tBu,16:/Ph^-60) endfont %*********************************************************************** beginfont("EN:substituent 4") @@ -655,11 +655,11 @@ beginfont("EN:ratio_chain_ring") font_wd#:=70mm#; font_ht#:=15mm#; ratio_chain_ring:= 0.4; - MCd(1,1)(0, .5)(<30,?6,4:/Et) + MCd(1,1)(0, .5)(<30,?6,4:/!) ratio_chain_ring:= 0.66; %<<== default - MCd(1,1)(.45, .5)(<30,?6,4:/Et) + MCd(1,1)(.45, .5)(<30,?6,4:/!) ratio_chain_ring:= 1; - MCd(1,1)(1, .5)(<30,?6,4:/Et) + MCd(1,1)(1, .5)(<30,?6,4:/!) endfont %*********************************************************************** beginfont("EN:ratio_zebragap_bond") diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf Binary files differindex be25637bcb6..dfe41477291 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.pdf diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex index 58282621d33..d3030c9aef9 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_manual.tex @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format manual by Akira Yamaji 2017.01.09 +% Molecular Coding Format manual by Akira Yamaji 2017.01.15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentclass[a4paper]{article} %%%%\usepackage{graphicx} diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf Binary files differindex 485b9887c33..2f74ae116c2 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.pdf diff --git a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex index 0f33e58642d..8a72f70b7db 100644 --- a/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex +++ b/Master/texmf-dist/doc/metapost/mcf2graph/mcf_mplib_exa.tex @@ -1,7 +1,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2017.01.09 +% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2017.01.15 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%% mcf2graph.mf it must be version 4.07 or later +%%% mcf2graph.mf it must be version 4.08 or later \documentclass{article} %------------------------------------------------------------------------------ \usepackage{luamplib}% @@ -96,7 +96,7 @@ -2\,54~dl,|,?5,2=d,5:N,-2\~dl,54,|,?5,5=d,5:N,-2\~dl,, -1*,24,/*COO!^15,72,//O,,}, 4\`1.45,Mg,&17,-1*,&11~vb,-1*,&23~vb, - @(2,9,15,20~zf)/_,8:/Et,14\,!!, + @(2,9,15,20~zf)/_,8:/!,14\,!!, 21*,-6~wf,!2,//O,!,O,!2,!!,|,!13,@(1,5,9,13)/_, ) endfont diff --git a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf index d89c74fa161..86aed79aff3 100644 --- a/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf +++ b/Master/texmf-dist/metapost/mcf2graph/mcf2graph.mf @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% mcf2graph ver 4.07 Copyright (c) 2013-2017 Akira Yamaji +% mcf2graph ver 4.08 Copyright (c) 2013-2017 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, @@ -34,7 +34,7 @@ message " This is mcf2graph ver 4.0 2017.1"; %------------------------------------------------------------------------------------------------- newinternal nA,nB,nC,nD,nE,nF,char_num,str_cnt,def_num,def_int,tbl_cnt; numeric save_para[],comD[][],parD[][],cntD[],tbl_str_wd[],tbl_atom[],tbl_subst[][],tbl_atom_wt[], - tbl_char_wd[],tbl_char_ht[],tbl_char_dp[]; + tbl_atom_mi[],tbl_char_wd[],tbl_char_ht[],tbl_char_dp[]; string tbl_atom_str[],strD[],var[],tag[],mp_log_name,aux_delimiter; picture atom_font[],mol_stru[]; %------------------------------------------------------------------------------------------------- @@ -744,17 +744,17 @@ Na:='("{Na}");Ca:='("{Ca}");Hg:='("{Hg}");Ni:='("{Ni}");Ti:='("{Ti}");U:='("U"); plus:='("+"); minus:='("-"); HH:='("H{_2_}"); NH:='(N,*/*H); NnoH:='(); SO:='(S,//O); SOO :='(S,//O^-35,//O^35); CHO:='("CHO"); OH:='("OH"); COOH:='("COOH"); CH2:='("C{H_2_}"); CH3:='("C{H_3_}"); CN:='("CN"); NH2:='("N{H_2_}"); NO2:='("N{O_2_}"); SH:='("SH"); -SO3:='("S{O_3_}"); NMe:=N!:='(N,/Me); tBu:='(60,-2\,-3*,60); iPr:='(60,-2\); -OMe:=O!:='(O,!); OEt:=O!2:='(O,!2); OPr:=O!3:='(O,!3); OiPr:='(O,!,iPr); -SMe:=S!:='(S,!); SEt:=S!2:='(S,!2); SPr:=S!3:='(S,!3); SiPr:='(S,!,iPr); +SO3:='("S{O_3_}"); NMe:=N!:='(N,/Me); iPr:=Me!:='(60,-2\); tBu:='(60,-2\,-3*,60); +OMe:=O!:='(O,!); OEt:=O!2:='(O,!2); OPr:=O!3:='(O,!3); OiPr:=OMe!:='(O,!,iPr); +SMe:=S!:='(S,!); SEt:=S!2:='(S,!2); SPr:=S!3:='(S,!3); SiPr:=SMe!:='(S,!,iPr); COOMe:=COO!:='(//O,!,O,!); COMe:=CO!:='(//O,!); OCOMe:=OCO!:='(O,!,//O,!); COOEt:=COO!2:='(//O,!,O,!2); -COOiPr:='(//O,!,O,!,iPr); COOPr:=COO!3:='(//O,!,O,!3); -COOtBu:='(//O,!,O,!,tBu); NMeMe:='(N,/Me,!); NHCOMe:=NHCO!:='(NH,!,//O,!); -NHiPr:='(NH,!,iPr); NHtBu:='(NH,!,tBu); NHH:='(N,/H,!,H); +COOiPr:=COOMe!:='(//O,!,O,!,iPr); COOPr:=COO!3:='(//O,!,O,!3); +COOtBu:='(//O,!,O,!,tBu); NMeMe:=NMe!:='(N,/Me,!); NHCOMe:=NHCO!:='(NH,!,//O,!); +NHiPr:=NHMe!:='(NH,!,iPr); NHtBu:='(NH,!,tBu); NHH:='(N,/H,!,H); NHMe:=NH!:='(NH,!); NHEt:=NH!2:='(NH,!2); !NH!:='(!,NH,!); !CO!:='(!,//O,!); !OH:='(!,OH); !SH:='(!,SH); !NH2:='(!,NH2); !OMe:=!O!:='(!,OMe); !COOH:='(!,COOH); -!CH3:='(!,"C{H_3_}"); !CN:='(!,CN); !iPr:='(!,iPr); !tBu:='(!,tBu); !Ph:='(!,Ph); +!CH3:='(!,"C{H_3_}"); !CN:='(!,CN); !iPr:=!Me!:='(!,iPr); !tBu:='(!,tBu); !Ph:='(!,Ph); !?3:='(!,?3); !?4:='(!,?4); !?5:='(!,?5); !?6:='(!,?6); CF2:='(/F,60,F); CCl2:='(/Cl,60,Cl); CBr2:='(/Br,60,Br); CF3:='(/F,/F^60,60,F); CCl3:='(/Cl,/Cl^60,60,Cl);CBr3:='(/Br,/Br^60,60,Br);O_H:='(O,!,H);CO_H:='(//O,!,H); @@ -911,8 +911,9 @@ def bond_check(expr a)(text s)= enddef; vardef stripP(expr a)=if length(a)=4: substring (1,3) of a else: a fi enddef; %================================================================================================== -def STa(expr a,b)= - tbl_atom_str[incr tbl_cnt]:=a; tbl_atom[tbl_cnt]:=0; tbl_atom_wt[tbl_cnt]:=b; +def STa(expr a,b,c)= + tbl_atom_str[incr tbl_cnt]:=a; tbl_atom[tbl_cnt]:=0; + tbl_atom_wt[tbl_cnt]:=b; tbl_atom_mi[tbl_cnt]:=c; enddef; %---------------------------------------------------------------------------------- def STb(expr a)(text s)= @@ -925,13 +926,22 @@ def STb(expr a)(text s)= enddef; %================================================================================================== tbl_cnt:=0; -STa("C" ,12.0107); STa("H" ,1.00794); STa("{Al}",26.9815); STa("{As}",74.9236); -STa("B" ,10.811); STa("{Br}",79.904); STa("{Ca}",40.078); STa("{Cl}",35.453); -STa("{Cu}",63.546); STa("D" ,2.012); STa("F" ,18.9984); STa("{Fe}",55.845); -STa("{Hg}",200.59); STa("I" ,126.90447); STa("K" ,39.0983); STa("{Li}",6.941); -STa("{Mg}",24.305); STa("N" ,14.0067); STa("{Na}",22.98977); STa("{Ni}",58.693); -STa("O" ,15.9994); STa("P" ,30.973761); STa("S" ,32.065); STa("{Si}",28.0855); -STa("{Sn}",118.71); STa("{Ti}",47.867); STa("{Zn}",65.409); +STa("C" ,12.0107, 12.0000000); STa("H" , 1.00794, 1.00782503223); +STa("{Al}",26.9815, 26.98153853); STa("{As}",74.9216, 74.92159457); +STa("B" ,10.811, 11.00930536); STa("{Br}",79.904, 78.9183376); +STa("{Ca}",40.078, 39.962590863); STa("{Cl}",35.453, 34.968852); +STa("{Co}",58.933194, 58.93319429); STa("{Cr}",51.9961, 51.94050623); +STa("{Cu}",63.546, 62.92959772); STa("D" ,2.012, 2.01410177812); +STa("F" ,18.9984, 18.99840316273); STa("{Fe}",55.845, 55.93493633); +STa("{Hg}",200.59, 201.97064340); STa("I" ,126.90447, 126.9044719); +STa("K" ,39.0983, 38.9637064864); STa("{Li}",6.941, 7.0160034366); +STa("{Mg}",24.305, 23.985041697); STa("{Mn}",54.938044, 54.93804391); +STa("N" ,14.0067, 14.00307400443); STa("{Na}",22.98977, 22.9897692820); +STa("{Ni}",58.693, 57.93534241); STa("O" ,15.9994, 15.99491461957); +STa("P" ,30.973762, 30.97376199842); STa("S" ,32.065, 31.9720711744); +STa("{Se}",78.971, 79.9165218); STa("{Si}",28.0855, 27.97692653465); +STa("{Sn}",118.71, 119.90220163); STa("{Ti}",47.867, 47.94794198); +STa("{Zn}",65.409, 63.92914201); %-------------------------------------------------------------------------------------------------- STb("{H_2_}")("H","H"); STb("OH")("O","H"); STb("O{Na}")("O","{Na}"); STb("CN")("C","N"); STb("SH")("S","H"); STb("CHO")("C","H","O"); STb("N{O_2_}")("N","O","O"); @@ -952,13 +962,13 @@ enddef; %================================================================================================== def proc_calc_out= begingroup - save warning_cnt,cal_MW,cal_MWp,knownA,cal_FM,bondC,tmp_wtp,bond_cnt,cnt_hide_H, + save warning_cnt,cal_MW,MWp,knownA,cal_FM,bondC,tmp_wtp,bond_cnt,cnt_hide_H, inf_NO,inf_EN,inf_JN,inf_FM,inf_CAS,inf_USE,inf_EXA,inf_EXB,inf_MW; numeric sumA[],bondC[],hideH[]; - string cal_FM,cal_MW,cal_MW_str,sumA,s_tag,s_var, + string cal_FM,cal_MW,cal_MW_str,cal_MI,cal_MI_str,sumA,s_tag,s_var, inf_NO,inf_EN,inf_JN,inf_FM,inf_CAS,inf_USE,inf_EXA,inf_EXB,inf_MW; inf_NO:=inf_EN:=inf_JN:=inf_FM:=inf_CAS:=inf_USE:=inf_EXA:=inf_EXB:=inf_MW:=""; - cal_MW:=cal_MW_str:=cal_FM:=""; cnt_hide_H:=warning_cnt:=cal_MW_num:=cal_MWp:=0; + cal_MW:=cal_MW_str:=cal_FM:=""; cnt_hide_H:=warning_cnt:=MW_num:=MI_num:=MWp:=0; %------------------------------------------------------------------------------------------ proc_get_info; for i=1 upto tbl_cnt: sumA[i]:=0; endfor @@ -1001,12 +1011,14 @@ def proc_calc_out= sumA[2]:=sumA[2]+cnt_hide_H; for i=1 upto tbl_cnt: if sumA[i]>=1: - nA:=tbl_atom_wt[i]/100*sumA[i]; cal_MWp:=cal_MWp+nA; - if (cal_MWp<40)and(nA<40): cal_MW_num:= cal_MW_num+tbl_atom_wt[i]*sumA[i]; fi + nA:=tbl_atom_wt[i]/100*sumA[i]; MWp:=MWp+nA; + if (MWp<40)and(nA<40): MW_num:= MW_num+tbl_atom_wt[i]*sumA[i]; + MI_num:= MI_num+tbl_atom_mi[i]*sumA[i]; fi cal_FM:=cal_FM&stripP(tbl_atom_str[i]) if sumA[i]>=2: &decimal(sumA[i]) fi; fi endfor - cal_MW:=substring (0,8) of decimal(cal_MW_num); + cal_MI:=substring (0,10) of decimal(MI_num); + cal_MW:=substring (0,8) of decimal(MW_num); if sw_auxout=1: proc_auxfile_out; fi if sw_checklist=1: proc_checklist_out; fi if sw_MOLout=1: proc_MOLfile_out; fi @@ -1061,7 +1073,9 @@ def proc_checklist_out= fi endfor message "%------------------------------------------------------------------"; - if cal_MWp<=40: cal_MW_str:=cal_MW; else: cal_MW_str:=fdr(10)(cal_MWp)&" * 100"; fi + if MWp<=40: cal_MW_str:=cal_MW; cal_MI_str:=cal_MI; + else: cal_MW_str:=fdr(10)(MWp)&" * 100"; cal_MI_str:=fdr(10)(MIp)&" * 100"; + fi for i=1 upto tbl_cnt: if sumA[i]>=1: nA:=tbl_atom_wt[i]/100*sumA[i]; @@ -1070,8 +1084,9 @@ def proc_checklist_out= if nA<40: &fdr(12)(tbl_atom_wt[i]*sumA[i]); else: &fdr(12)(nA)&" * 100"; fi fi endfor + message "% Mono isotopic:" &cal_MI_str; message "% Weight Calc: " &cal_MW_str &" / Input: " - if inf_MW<>"": &inf_MW &" / weight gap= " &decimal(cal_MW_num-scantokens(inf_MW)) fi; + if inf_MW<>"": &inf_MW &" / weight gap= " &decimal(MW_num-scantokens(inf_MW)) fi; message "% Fomula Calc: "&cal_FM&" / Input: " if inf_FM<>"": &inf_FM&" / "& if inf_FM=cal_FM: "MACTCH" else: "NOT MACTCH" fi fi; message "%=================================================================="; |