diff options
Diffstat (limited to 'graphics/mcf2graph')
-rw-r--r-- | graphics/mcf2graph/CHANGELOG | 7 | ||||
-rw-r--r-- | graphics/mcf2graph/README | 2 | ||||
-rw-r--r-- | graphics/mcf2graph/mcf2graph.mp | 102 | ||||
-rw-r--r-- | graphics/mcf2graph/mcf_exa_code.pdf | bin | 78730 -> 78730 bytes | |||
-rw-r--r-- | graphics/mcf2graph/mcf_exa_code.tex | 4 | ||||
-rw-r--r-- | graphics/mcf2graph/mcf_exa_soc.mp | 11 | ||||
-rw-r--r-- | graphics/mcf2graph/mcf_example.pdf | bin | 434560 -> 434278 bytes | |||
-rw-r--r-- | graphics/mcf2graph/mcf_example.tex | 4 | ||||
-rw-r--r-- | graphics/mcf2graph/mcf_library.mcf | 5 | ||||
-rw-r--r-- | graphics/mcf2graph/mcf_man_soc.mp | 6 | ||||
-rw-r--r-- | graphics/mcf2graph/mcf_manual.pdf | bin | 289201 -> 289263 bytes | |||
-rw-r--r-- | graphics/mcf2graph/mcf_manual.tex | 36 | ||||
-rw-r--r-- | graphics/mcf2graph/mcf_mplib_exa.pdf | bin | 195721 -> 195848 bytes | |||
-rw-r--r-- | graphics/mcf2graph/mcf_mplib_exa.tex | 4 |
14 files changed, 98 insertions, 83 deletions
diff --git a/graphics/mcf2graph/CHANGELOG b/graphics/mcf2graph/CHANGELOG index 00015d74f5..28629b6d28 100644 --- a/graphics/mcf2graph/CHANGELOG +++ b/graphics/mcf2graph/CHANGELOG @@ -1,6 +1,11 @@ ******************************************************************************* - Changelog of mcf2graph software package by Akira Yamaji 2022-05-08 + Changelog of mcf2graph software package by Akira Yamaji 2022-06-12 ******************************************************************************* +[ver. 4.85 / 2022-06-12] + -fix bug in function mc_query() + -update mcf_library.mcf + -update MCF manual + [ver. 4.84 / 2022-05-08] -fix bug in atom drawing -improve report output diff --git a/graphics/mcf2graph/README b/graphics/mcf2graph/README index d14681dc17..ce2a661f32 100644 --- a/graphics/mcf2graph/README +++ b/graphics/mcf2graph/README @@ -1,7 +1,7 @@ ******************************************************************************** mcf2graph : Convert Molecular Coding Format to graphics with MetaPost Author : Akira Yamaji - version : 4.84 2022-05-08 + version : 4.85 2022-06-12 E-mail : mcf2graph@gmail.com Located at : http://www.ctan.org/pkg/mcf2graph ******************************************************************************** diff --git a/graphics/mcf2graph/mcf2graph.mp b/graphics/mcf2graph/mcf2graph.mp index 75ae74cf07..a0fec4985f 100644 --- a/graphics/mcf2graph/mcf2graph.mp +++ b/graphics/mcf2graph/mcf2graph.mp @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% mcf2graph ver 4.84 Copyright (c) 2013-2022 Akira Yamaji +% mcf2graph ver 4.85 Copyright (c) 2013-2022 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, @@ -33,13 +33,13 @@ % Set output MOL file (V3000) : mpost -s ahlength=6 FILENAME % Set output report : mpost -s ahlength=7 FILENAME %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -message "* This is mcf2graph ver 4.84 2022.05.08"; +message "* This is mcf2graph ver 4.85 2022.06.12"; tracingstats:=1; prologues:=3; warningcheck:=0; %------------------------------------------------------------------------------------------------- numeric save_num[],parts_com[][],parts_par[][],parts_cnt[],tbl_atom[],tbl_group[][],tbl_atom_wt[], - tbl_atom_mi[],tbl_char_wd[],tbl_char_ht[]; -string save_str[],tbl_atom_str[],str_tbl[],tag[],aux_delimiter,default_library, - default_temp_file,mpfont,atomfont,tempc,temps,blanks; + tbl_atom_mi[],tbl_char_wd[],tbl_char_ht[],at_char[]; +string save_str[],tbl_atom_str[],str_tbl[],tag[],info_s[],arg_s[],aux_delimiter,default_library, + file_input,file_output,default_temp_file,mpfont,atomfont,tempc,temps,blanks; pair save_pair[],msize,mposition,fsize,fmargin,dum,save_mposition; %------------------------------------------------------------------------------------------------- fig_num:=str_cnt:=tbl_cnt:=mangle:=sw_expand:=sw_frame:=sw_trimming:=sw_ext_all:=0; @@ -182,16 +182,16 @@ enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def beginfigm(text s)= begingroup - save ',mc,f_ext,blen,ext,add,ang_br,fw_n,bw_n,at_colon,info_cnt,group_num,info_s,bond_cntA, + save ',mc,f_ext,blen,ext,add,ang_br,fw_n,bw_n,at_colon,info_cnt,group_num,bond_cntA, warning_cnt,hideH_cnt,filter_s,mc_indent,cntM,cntA,cntB,minX,minY,maxX,maxY,posA,posM, hideH,lineB,sB,eB,angB,angA,lenB,angX,numS,sumA,bond_num,wdM,htM,chargeA,addA,add_rot, - file_input,file_output,cal_FM,cal_MW,cal_MI,inf_Cat,inf_NO,inf_EN,inf_JN,inf_FM,inf_CAS, + cal_FM,cal_MW,cal_MI,inf_Cat,inf_NO,inf_EN,inf_JN,inf_FM,inf_CAS, inf_USE,inf_EXA,inf_EXB,inf_MW,mol_pic,sC,sI,sS,sT,sV,color_list,unit_cnt,f_end,semic_cnt, - f_match,var_n,tag_a,var_a,at_char,arg_s; + f_match,var_n,tag_a,var_a; numeric mc_indent[],hideH[],lineB[],sB[],eB[],angB[],angA[],lenB[],angX[],strA[],sumA[], - bond_num[],wdM[],htM[],chargeA[],addA[],add_rot[],at_char[]; + bond_num[],wdM[],htM[],chargeA[],addA[],add_rot[]; pair posA[],posM[][]; - string info_s[],mc[],tag_a[],var_a[],arg_s[],mc,filter_s,file_input,file_output,cal_FM,cal_MW, + string mc[],tag_a[],var_a[],mc,filter_s,cal_FM,cal_MW, cal_MI,inf_Cat,inf_NO,inf_EN,inf_JN,inf_FM,inf_CAS,inf_USE,inf_EXA,inf_EXB,inf_MW, sC,sI,sS,sT,sV; picture mol_pic[]; @@ -205,7 +205,7 @@ def beginfigm(text s)= mc:=temps:=cal_MW:=cal_MI:=cal_FM:=filter_s:=""; file_input:=default_library; %------------------------------------------------------------------------------------------------ parts_num:=parts_usr_start; parts_int:=parts_int_start; - fig_num:=fig_num+1; f_ext:=cntM:=mc_row:=info_cnt:=f_EOF:=at_char[0]:=0; + fig_num:=fig_num+1; f_ext:=cntM:=mc_row:=info_cnt:=f_EOF:=0; %------------------------------------------------------------------------------------------------ for list=s: at_colon:=scan_char(":",list,0,1); @@ -316,7 +316,7 @@ def pickup_data_unit(expr t,v,f)= endfor fi else: - inf_num:=split_char(sS,";")+1; + inf_num:=split_char(sS,";"); for i=1 upto inf_num: sI:=arg_s[i]; nA:=scan_char(":",sI,0,1); tag_a[i]:=substring(0,nA-1) of sI; var_a[i]:=substring(nA,length(sI)) of sI; @@ -1553,17 +1553,20 @@ def proc_err(expr e,n)= err_adr[incr err_cnt]:=n; err_code[err_cnt]:=e; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% def mc_query(text s)= begingroup - save f_mcf,f_line,unit_row,unit_cnt,line_s,row_cnt,semic_cnt,info_cnt,order,min_n,key_cnt, - info_s,sign_at,sign_n,filter_n,filter_tag,filter_var,filter_sign,filter_cnt,filter_p, - at_char,at_colon,at_equal,at_less,at_greater,at_n,sort_all,key_s,sort_s; - string line_s[][],sort_s[],sort_all[],key_s[],filter_tag[],filter_var[],info_s[]; - numeric row_cnt[],order[],order_tbl[],filter_sign[],filter_p[],at_char[]; - unit_row:=f_mcf:=mc_row:=info_cnt:=key_cnt:=filter_cnt:=0; unit_cnt:=1; + save f_mcf,f_line,unit_row,unit_cnt,line_s,row_cnt,semic_cnt,info_cnt,order,min_n,max_n, + 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; + string line_s[][],sort_s,sort_tbl[],key_s,filter_tag[],filter_var[],sign_s[],sV,sS,sT; + numeric row_cnt[],order[],order_tbl[],filter_sign[],filter_p[]; + unit_row:=f_mcf:=mc_row:=info_cnt:=filter_cnt:=lib_unit_cnt:=0; unit_cnt:=1; file_input:=default_library; file_output:=default_temp_file; + sign_s[1]:="="; sign_s[2]:="<>"; sign_s[3]:="<"; sign_s[4]:=">"; sign_s[5]:="<="; + sign_s[6]:=">="; %----------------------------------------------------------------------------------------------- for list=s: at_colon:=scan_char(":",list,0,1); at_equal:=scan_char("=",list,0,1); at_less:=scan_char("<",list,0,1); at_greater:=scan_char(">",list,0,1); + 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; @@ -1577,7 +1580,9 @@ def mc_query(text s)= if sign_n=0: if sT="f": if scan_char(".",sV,0,1)=0: file_input:=sV&".mcf"; else: file_input:=sV; fi ef sT="o": if scan_char(".",sV,0,1)=0: file_output:=sV&".aux"; else: file_output:=sV; fi - ef sT="s": key_s[incr key_cnt]:=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); @@ -1591,13 +1596,11 @@ def mc_query(text s)= if (substring(0,2) of temps)="+-": row_cnt[unit_cnt]:=unit_row; f_mcf:=unit_row:=0; filter_n:=1; for i=1 upto filter_cnt: filter_p[i]:=0; endfor - for i=1 upto key_cnt: sort_s[i]:=""; endfor + sort_s:=""; for i=1 upto info_cnt: - nA:=scan_char(":",info_s[i],0,1); - sT:=substring(0,nA-1) of info_s[i]; sV:=substring(nA,length(info_s[i])) of info_s[i]; - for j=1 upto key_cnt: - if key_s[j]=sT: if is_num(sV)=1: sort_s[j]:=fix_num(sV); else: sort_s[j]:=sV; fi fi - endfor + nA:=scan_char(":",arg_s[i],0,1); + sT:=substring(0,nA-1) of arg_s[i]; sV:=substring(nA,length(arg_s[i])) of arg_s[i]; + 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; @@ -1610,28 +1613,37 @@ def mc_query(text s)= 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 - sort_all[unit_cnt]:=""; - for j=1 upto key_cnt: - if j=key_cnt: sort_all[unit_cnt]:=sort_all[unit_cnt]&sort_s[j]; - else: sort_all[unit_cnt]:=fix_str(15,sort_s[1]); fi endfor - info_cnt:=0; if filter_n=1: unit_cnt:=unit_cnt+1; fi + 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 subc(1,temps)="+": f_mcf:=1; mc_row:=1; ef subc(1,temps)<>"%": - if f_mcf=1: mc_row:=mc_row+1; - else: - info_cnt:=split_char(temps,";")+1; for i=1 upto info_cnt: info_s[i]:=arg_s[i]; endfor fi - fi + if f_mcf=1: mc_row:=mc_row+1; else: info_cnt:=split_char(temps,";"); fi fi fi endfor - %============================================================================================= unit_cnt:=unit_cnt-1; - if key_cnt>=1: + %============================================================================================= + printf "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"; + printf "% Input : "&file_input&" ["&decimal(lib_unit_cnt)&"]";; + printf "% Output : "&file_output&" ["&decimal(unit_cnt)&"]"; + if filter_cnt>=1: + for i=1 upto filter_cnt: + printf "% Filter("&decimal(i)&"): "&filter_tag[i]&" "&sign_s[filter_sign[i]]&filter_var[i]; + endfor + if key_s<>"": printf "% Sort key : "&key_s&iif(sort_oder=0," (ascending)"," (descending)"); fi + printf "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"; + %----------------------------------------------------------------------------------------- + if key_s<>"": for i=1 upto unit_cnt: order[i]:=0; endfor - for i=1 upto unit_cnt: temps:="~"; - for j=1 upto unit_cnt: - if order[j]=0: if sort_all[j]<temps: temps:=sort_all[j]; min_n:=j; fi fi - endfor - order[min_n]:=i; order_tbl[i]:=min_n; + 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 row_cnt[order_tbl[i]]: printf line_s[order_tbl[i]][j]; endfor @@ -1641,10 +1653,6 @@ def mc_query(text s)= endgroup; enddef; %============================================================================================= -vardef fix_str(expr n,s)= - if length(s)<n: sS:=s&substring(0,n-length(s)) of blanks; - ef length(s)>n: sS:=substring(0,n) of s; fi sS enddef; -%------------------------------------------------------------------------------------------------- vardef fix_num(expr s)= sS:=s; nN:=scan_char(".",sS,0,1); if nN=0: sS:=fsr(4)(sS); ef nN=1: sS:=" 0"&sS; @@ -1667,6 +1675,6 @@ vardef scan_chars(expr s,c)= nN:=0; for i=1 upto length(s): if subc(i,s)=c: at_char[incr nN]:=i; fi endfor nN enddef; %------------------------------------------------------------------------------------------------- vardef split_char(expr s,c)= - nN:=scan_chars(s,c); at_char[nN+1]:=length(s)+1; - for i=1 upto nN+1: arg_s[i]:=substring(at_char[i-1],at_char[i]-1) of s; endfor nN enddef; + nN:=scan_chars(s,c)+1; at_char[0]:=0; at_char[nN]:=length(s)+1; + for i=1 upto nN: arg_s[i]:=substring (at_char[i-1],at_char[i]-1) of s; endfor nN enddef; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/graphics/mcf2graph/mcf_exa_code.pdf b/graphics/mcf2graph/mcf_exa_code.pdf Binary files differindex 51743be2c8..64cc1bef8a 100644 --- a/graphics/mcf2graph/mcf_exa_code.pdf +++ b/graphics/mcf2graph/mcf_exa_code.pdf diff --git a/graphics/mcf2graph/mcf_exa_code.tex b/graphics/mcf2graph/mcf_exa_code.tex index 1be25c7aba..d5e2807b43 100644 --- a/graphics/mcf2graph/mcf_exa_code.tex +++ b/graphics/mcf2graph/mcf_exa_code.tex @@ -1,7 +1,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Print out mcf data list by A.Yamaji 2022.05.08 +% Print out mcf data list by A.Yamaji 2022.06.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% ** mcf2graph.mf must be version 4.84 +% ** mcf2graph.mf must be version 4.85 % ** use mcf_library.mcf % ** typeset by LuaLaTeX(luamplib) \documentclass{article} diff --git a/graphics/mcf2graph/mcf_exa_soc.mp b/graphics/mcf2graph/mcf_exa_soc.mp index 0c4b39380d..2e7874177c 100644 --- a/graphics/mcf2graph/mcf_exa_soc.mp +++ b/graphics/mcf2graph/mcf_exa_soc.mp @@ -1,8 +1,8 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format by Akira Yamaji 2022.05.08 +% Molecular Coding Format by Akira Yamaji 2022.06.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -input mcf2graph; %%% it must be version 4.84 -message "* mcf_exa_soc 2022.05.08"; +input mcf2graph; %%% it must be version 4.85 +message "* mcf_exa_soc 2022.06.12"; message ""; %------------------------------------------------------------------------------ %%%%sw_frame:=Outside; @@ -21,8 +21,9 @@ tag1:="J"; tag2:="C"; tag3:="fm"; tag4:="mw"; tag5:="EN"; tag6:="MW"; %label.rt(inf_EN&" / "&cal_MW&" / "&decimal(num_MW-scantokens(inf_MW)),(0,0));) %------------------------------------------------------------------------------ %%%%mc_query("Cat=biological","MW<200","s:MW"); -%%%%mc_query("Cat=biological","MW<150.0","s:EN"); -%%%%mc_query("MW>=150","MW<=250","s:MW"); +%%%%mc_query("Cat=biological","MW<110.0","s:EN"); +%%%%mc_query("Cat=biological","MW>=150","MW<=200","a:EN"); +%%%%mc_query("Cat=biological","MW>=150","MW<=200","d:MW"); %****************************************************************************** fsize:=(35mm,24mm); max_blength:=4mm; diff --git a/graphics/mcf2graph/mcf_example.pdf b/graphics/mcf2graph/mcf_example.pdf Binary files differindex 9afd61cf8e..c978c19eb8 100644 --- a/graphics/mcf2graph/mcf_example.pdf +++ b/graphics/mcf2graph/mcf_example.pdf diff --git a/graphics/mcf2graph/mcf_example.tex b/graphics/mcf2graph/mcf_example.tex index fee9b0ba5d..a081702378 100644 --- a/graphics/mcf2graph/mcf_example.tex +++ b/graphics/mcf2graph/mcf_example.tex @@ -1,7 +1,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Example of MCF Typeset with LuaLaTeX(luamplib) by A.Yamaji 2022.05.08 +% Example of MCF Typeset with LuaLaTeX(luamplib) by A.Yamaji 2022.06.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% ** mcf2graph.mf must be version 4.84 +% ** mcf2graph.mf must be version 4.85 % ** use mcf_library.mcf % ** typeset by LuaLaTeX(luamplib) \documentclass{article} diff --git a/graphics/mcf2graph/mcf_library.mcf b/graphics/mcf2graph/mcf_library.mcf index b23c8c6611..839346726e 100644 --- a/graphics/mcf2graph/mcf_library.mcf +++ b/graphics/mcf2graph/mcf_library.mcf @@ -1,16 +1,15 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% molecular library file mcf_library.mcf by Akira Yamaji 2022.05.08 +% molecular library file mcf_library.mcf by Akira Yamaji 2022.06.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % tag1:var1;tag2:var2;tag3:var3 ..... % first character of line "%" comment out % first character of line "+" begin MCF % first string of line "+-" end MCF -% first string of line "%-" end header % Cat = Category %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %============================================================================== % molecular data for mcf_example.tex EXA=1(155) EXA=2(7) -%-============================================================================= +%============================================================================== Cat:biological;EN:Adenine;MW:135.13;EXA:1 + <30,?6,3=?5,{1,3,5,9}=dl,{2,6,9}:N,5:/NH2,7:NH diff --git a/graphics/mcf2graph/mcf_man_soc.mp b/graphics/mcf2graph/mcf_man_soc.mp index f3344cff25..e9fc711828 100644 --- a/graphics/mcf2graph/mcf_man_soc.mp +++ b/graphics/mcf2graph/mcf_man_soc.mp @@ -1,9 +1,9 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% MCF file for mcf_manual.tex by Akira.Yamaji 2022.05.08 +% MCF file for mcf_manual.tex by Akira.Yamaji 2022.06.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -input mcf2graph; %% it must be version 4.84 +input mcf2graph; %% it must be version 4.85 % ** use library file 'mcf_library.mcf' -message "mcf_man_soc 2022.05.08"; message ""; +message "mcf_man_soc 2022.06.12"; message ""; %------------------------------------------------------------------------ sw_mframe:=0; sw_expand:=0; diff --git a/graphics/mcf2graph/mcf_manual.pdf b/graphics/mcf2graph/mcf_manual.pdf Binary files differindex 46fad77072..1336e1e33d 100644 --- a/graphics/mcf2graph/mcf_manual.pdf +++ b/graphics/mcf2graph/mcf_manual.pdf diff --git a/graphics/mcf2graph/mcf_manual.tex b/graphics/mcf2graph/mcf_manual.tex index e3aac3ed4b..ccfdd511ab 100644 --- a/graphics/mcf2graph/mcf_manual.tex +++ b/graphics/mcf2graph/mcf_manual.tex @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Molecular Coding Format manual by Akira Yamaji 2022.05.08 +% Molecular Coding Format manual by Akira Yamaji 2022.06.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \documentclass[a4paper]{article} %%%\usepackage{graphicx} @@ -1559,10 +1559,8 @@ bye % first character of line "%" comment out % first character of line "+" begin MCF % first string of line "+-" end MCF -% first string of line "%-" end header % Cat = Category %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%------------------------------------------------------------------------------ Cat:biological;EN:Adenine;MW:135.13 + <30,?6,3=?5,{1,3,5,9}=dl,{2,6,9}:N,5:/NH2,7:NH @@ -1620,39 +1618,43 @@ Cat:biological;EN:Stearic acid;MW:284.48 % % "f:filename" : input file name (default "mcf_library.mcf") % "o:filename" : output file name (default "temp.mcf") -% "s:sort-key" : sort by sort-key +% +% "a:sort-key" : sort by sort-key ascending +% "d:sort-key" : sort by sort-key descending % % operator : = , <> , <= , >= , < , > % % filter 1 : Cat=biological % filter 2 : MW>=285 % filter 3 : MW<=295 +% %-------------------------------------------------------------- -mc_query("s:EN","Cat=biological","MW>=285","MW<=295"); +mc_query("Cat=biological","MW>=285","MW<=290","a:EN"); %-------------------------------------------------------------- -forever: - beginfigm("f:temp","v+:*") % use file temp.mcf / select all - if f_EOF=0: if mc_check(mc)=0: MC(scantokens(mc)) fi fi - endfigm - exitif f_EOF=1; -endfor -%--------------------------------------------------------------- \end{verbatim} %--------------------------------------------------------------- \paragraph{(output)} \begin{verbatim} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Input : mcf_library.mcf [506] +% Output : temp.mcf [5] +% Filter(1): Cat =biological +% Filter(2): MW >= 285 +% Filter(3): MW <= 290 +% Sort key : EN (ascending) +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Cat:biological;EN:Atoropin;MW:289.375;EXA:1 + -<30,O,!,//O,!,!,Ph,@$1,\~zb^-60,|,?7`1.1,@6,*\^190`1.25,N!,&3~wb,$3:/!OH~wv +<30,O,!,//O,!2,Ph,@$1,\~zb^-60,|,?7`1.1,@6,*\^190`1.25,N!,&3~wb,$3:/!OH~wv +------------------------------------------------------------------------------ -Cat:biological;EN:Cianidanol;MW:290.27;EXA:1 +Cat:biological;EN:Luteolin;MW:286.24;EXA:- + -<30,Ph,3=?6,@8,*\,Ph,7:O,{1,5,13,14}:/OH,9:/*OH +<30,Ph,3=?6,9=dl,10:O,7://O,@9,\,Ph,{2,6,14,15}:/OH +------------------------------------------------------------------------------ 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:/*H^180,10:*/H^60,13:*/OH,14:/*OH + {9'^180,10^60}:*/H,{13,14'}:*/OH +------------------------------------------------------------------------------ Cat:biological;EN:Morphine;MW:285.343;EXA:1 + @@ -1661,7 +1663,7 @@ Cat:biological;EN:Morphine;MW:285.343;EXA:1 +------------------------------------------------------------------------------ Cat:biological;EN:Piperine;MW:285.343;EXA:1 + -<30,Ph,|,-1=?5,{1,3}:O,@$4,\,!!,!,!!,!,//O,!,|,?6,1:N +<30,Ph,-1=?5,{-1,-3}:O,@4,\,!!,!,!!,!,//O,!,?6,-6:N +------------------------------------------------------------------------------ \end{verbatim} %------------------------------------------------------------------------------ diff --git a/graphics/mcf2graph/mcf_mplib_exa.pdf b/graphics/mcf2graph/mcf_mplib_exa.pdf Binary files differindex 861f6a1596..f1b1033ffd 100644 --- a/graphics/mcf2graph/mcf_mplib_exa.pdf +++ b/graphics/mcf2graph/mcf_mplib_exa.pdf diff --git a/graphics/mcf2graph/mcf_mplib_exa.tex b/graphics/mcf2graph/mcf_mplib_exa.tex index 1d37cc0492..eaabc597a3 100644 --- a/graphics/mcf2graph/mcf_mplib_exa.tex +++ b/graphics/mcf2graph/mcf_mplib_exa.tex @@ -1,7 +1,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2022.05.08 +% Example of MCF typest with LuaLaTeX(luamplib) by A.Yamaji 2022.06.12 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% ** mcf2graph.mp must be version 4.84 +% ** mcf2graph.mp must be version 4.85 % ** use mcf_library.mcf \documentclass{article} %------------------------------------------------------------------------------ |