summaryrefslogtreecommitdiff
path: root/graphics/mcf2graph/mcf_manual.tex
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/mcf2graph/mcf_manual.tex')
-rw-r--r--graphics/mcf2graph/mcf_manual.tex336
1 files changed, 201 insertions, 135 deletions
diff --git a/graphics/mcf2graph/mcf_manual.tex b/graphics/mcf2graph/mcf_manual.tex
index ef6c9b124f..aea619862a 100644
--- a/graphics/mcf2graph/mcf_manual.tex
+++ b/graphics/mcf2graph/mcf_manual.tex
@@ -1,5 +1,5 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Molecular Coding Format manual by Akira Yamaji 2021.02.11
+% Molecular Coding Format manual by Akira Yamaji 2021.02.21
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[a4paper]{article}
\usepackage[pdftex]{graphicx}
@@ -52,9 +52,9 @@
}%
%---------------------------------------------------------------------------
\def\put@char{%
- \begin{picture}(75,110)%
- \put(0,100){\bf [\NO]\EN}%
- \put(5,95){\small\tt FM:\fm{ }MW:\mw}%
+ \begin{picture}(75,130)%
+ \put(0,120){\bf [\NO]\EN}%
+ \put(5,115){\small\tt FM:\fm{ }MW:\mw}%
\put(5,0){\font\@strufont=\File\relax%
\hbox{\@strufont\char\Char}}%
\end{picture}%
@@ -394,10 +394,10 @@ exact mass, molecular formula.
%-----------------------------------------------------------------------------
\subsubsection{Charged atom}
\begin{verbatim}
- "+" : positive / "-" : negative
+ p_ : positive / n_ : negative
-<-30,!2,N,??,"+",!2,S,"-"^180,
-!6,7:N,7:??,9:S,7:"+",9:"-"^180
+<-30,!2,N,??,p_,!2,S,n_^180,
+!6,7:N,7:??,9:S,7:n_,9:n_^180
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
@@ -902,7 +902,7 @@ exact mass, molecular formula.
0.06 0.12 0.20
\end{verbatim}
%-----------------------------------------------------------------------------
-\newpage
+%%\newpage
%-----------------------------------------------------------------------------
\subsection{Drawing mode}
%-----------------------------------------------------------------------------
@@ -989,7 +989,7 @@ MCat(1, .5)(<30,Ph,4:/COOH,3:/NH2)
\end{verbatim}
\MCFgraph
\begin{verbatim}
- (Draw frame inside margin)
+ (Frame inside margin)
sw_fframe=2
\end{verbatim}
\MCFgraph
@@ -999,7 +999,7 @@ MCat(1, .5)(<30,Ph,4:/COOH,3:/NH2)
\end{verbatim}
\MCFgraph
\begin{verbatim}
- (Draw small dot at corner)
+ (Small dot at corner)
sw_fframe=4
\end{verbatim}
\MCFgraph
@@ -1018,6 +1018,28 @@ MCat(1, .5)(<30,Ph,4:/COOH,3:/NH2)
MC(<30,COOH,!,COOH)
\end{verbatim}
\MCFgraph
+%-----------------------------------------------------------------------------
+\subsubsection{Remove indent}
+\index{sw\_indent\_off}%
+\begin{verbatim}
+ ** default sw_indent_off=0
+ beginfont(": Ph ",
+ ": ,{1,4}:N ",
+ ": ,{2,3}:/_ ")
+ endfont
+
+ mc1=" Ph"
+ mc2=" ,{1,4}:N"
+ mc3=" ,{2,3}:/_"
+
+ sw_indent_off=1
+ mc1="Ph"
+ mc2=",{1,4}:N"
+ mc3=",{2,3}:/_"
+
+ mc="Ph,{1,4}:N,{2,3}:/_" ** 0 or 1
+\end{verbatim}
+%-----------------------------------------------------------------------------
\newpage
%-----------------------------------------------------------------------------
\subsection{Parameter setting}
@@ -1085,36 +1107,53 @@ MCat(1, .5)(<30,Ph,4:/COOH,3:/NH2)
MCat(c,d)(....) :
- mposition:=(c,d);
- MC(....)
+ mposition:=(c,d); MC(....)
- c: x axis position
- d: y axis position
+ c: x axis position d: y axis position
- beginfont()
defaultsize:=5bp;
- fsize:=(75mm,75mm);
- fmargin:=(3mm,3mm);
- blength:=0.07;
- sw_fframe:=1;
+ fsize:=(40mm,40mm); fmargin:=(3mm,3mm);
+ blength:=0.1; sw_fframe:=1;
mangle:=0;
- for i=1 step -0.25 until 0:
- for j=0 step 0.25 until 1:
- %----------------
+ for i=1 step -0.5 until 0:
+ for j=0 step 0.5 until 1:
MCat(j,i)(Ph,4:N)
- %----------------
- add(
- drawarrow((A1+A1up**aw)..A1);
- label(decimal(mangle),
- p0+(0.5w,0.5h));
+ add(drawarrow((A1+A1up**aw)..A1);
+ label(decimal(mangle),
+ p0+(0.5w,0.5h));
)
- mangle:=mangle+15;
+ mangle:=mangle+30;
endfor
endfor
- endfont
\end{verbatim}
\MCFgraph
+%-----------------------------------------------------------------------------
+\subsection{Function check\_mc()}
+\index{check\_mc()}%
+\begin{verbatim}
+ (immediately compile)
+
+ beginfont("EN:Pyridine")
+ MC(Ph,<30,2:N)
+ endfont
+
+ (check mcf and compile)
+
+ beginfont("EN:Pyridine",":<30,Ph,2:N")
+ if check_mc(mc)=0: MC(scantokens(mc)) fi
+ endfont
+
+ ** error in mcf check_mc(mc)=1
+ beginfont("EN:Pyridine",":<30,Ph,2):N")
+ if check_mc(mc)=0: MC(scantokens(mc)) fi
+ endfont
+
+\end{verbatim}
+\MCFgraph\hspace{15mm}\MCFgraph
+\begin{verbatim}
+ check_mc(mc)=0 check_mc(mc)>=1
+\end{verbatim}
%===============================================================================
\newpage
\subsection{Function add()}
@@ -1380,44 +1419,51 @@ endfont
\section{MCF example}
%-----------------------------------------------------------------------------
\subsection{Luciferin}
-\begin{verbatim}
-beginfont("EN:Luciferin","MW:280.33")
- fsize:=(60mm,20mm);
- MC(
- <30,Ph,3=?5,@8,\,?5,{9,16}=dl,
- {9,14}:N,{7,11}:S,1:/OH,-2:*/COOH
- )
+\index{check\_mc()}%
+\begin{verbatim}
+beginfont("EN:Luciferin","MW:280.33",
+ %-------------------------------------
+ ": <30,Ph,3=?5,@8,\,?5,{9,16}=dl, ",
+ ": {9,14}:N,{7,11}:S,1:/OH,-2:*/COOH ")
+ %-------------------------------------
+ fsize:=(50mm,20mm);
+ if check_mc(mc)=0: MC(scantokens(mc)) fi
endfont
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsection{Colchicine}
\begin{verbatim}
-beginfont("EN:Colchicine","MW:385.41")
- fsize:=(60mm,25mm);
- MC(
- <30,Ph,{1,2,6}:/O!,-4=?7,
- -5=?7,{-1,-4,-6}=dl,
- -2://O,-3:/O!,
- @9,\,NH,!,//O,!
- )
+beginfont("EN:Colchicine","MW:385.41",
+ %-------------------------------------
+ ": <30,Ph,{1,2,6}:/O!,-4=?7,-5=?7, ",
+ ": {-1,-4,-6}=dl,-2://O,-3:/O!, ",
+ ": @9,\,NH,!,//O,! ")
+ %-------------------------------------
+ fsize:=(50mm,20mm);
+ if check_mc(mc)=0: MC(scantokens(mc)) fi
endfont
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsection{Paclitaxel}
\begin{verbatim}
-beginfont("EN:Paclitaxel","MW:853.91")
- MC(
- ?6,5=dl,@3,#1,36,45,45,45,45,##,
- &.$5,-4=?6,-4=?4,-1=wb,-3=wf,-1:O,||,
- {4^35,4^-35,6}:/_,{3^-60,15}:*/OH,
- 8:/*H^-60,9:*/_^60,10://O,
- @1,\,O,!,//O,!,*/OH,!,/Ph,
- 60~wf,NH,-60,//O,60,Ph,
- @7,\*,O,-45,//O,60,Ph,
- @11,*/OCO!>rl,12:/*OCO!^-15>lr
- )
+beginfont("EN:Paclitaxel","MW:853.91",
+ %------------------------------------
+ ": ?6,5=dl,@3,#1,36,45,45,45,45,##, ",
+ ": &.$5", ",
+ ": -4=?6,-4=?4,-1=wb,-3=wf,-1:O,||, ",
+ ": 4:??,6:/_,{3^-60,15}:*/OH, ",
+ ": 8:/*H^-60,", ",
+ ": 9:*/_^60,10://O, ",
+ ": @1,\,O,!,//O,!,*/OH,!,/Ph,60~wf, ",
+ ": NH,-60,//O,60,Ph, ",
+ ": @7,\*,O,-45,//O,60,Ph, ",
+ ": @11,*\,O,-60,//O,60, ",
+ ": @12,\*^-15,O,60,//O,-60 ")
+ %------------------------------------
+ fsize:=(50mm,25mm);
+ if check_mc(mc)=0: MC(scantokens(mc)) fi
endfont
\end{verbatim}
\MCFgraph
@@ -1425,27 +1471,30 @@ endfont
\subsection{Lycorine}
\begin{verbatim}
beginfont("EN:Lycorine","MW:287.31")
- fsize:=(60mm,25mm);
- MC(<30,
- Ph,-4=?6,-2=?6,6=?5,(9,12)=?5[3],
- 13=dl,8:N,{15,17}:O,
- 9:/*H^180,10:*/H^60,13:*/OH,14:/*OH
- )
+ %--------------------------------------
+ ": Ph,-4=?6,-2=?6,6=?5,(9,12)=?5[3], ",
+ ": 13=dl,8:N,{15,17}:O, ",
+ ": 9:/*H^180,10:*/H^60, ",
+ ": 13:*/OH,14:/*OH ")
+ %--------------------------------------
+ fsize:=(50mm,20mm);
+ if check_mc(mc)=0: MC(scantokens(mc)) fi
endfont
\end{verbatim}
\MCFgraph
%-----------------------------------------------------------------------------
\subsection{Gibberellin}
\begin{verbatim}
-beginfont("EN:Gibberellin","MW:346.37");
- fsize:=(60mm,20mm);
- MC(
- <18,?5,3=?7,5=?6[12],@8,160`1.3,&3,
- 13=dl,6=wf,8=wb,
- @5,40~zf`1,O,50,//O^180,&14~zb,
- 2:/COOH,7://_,13:*/OH,8:/*OH,
- 14:*/_,{1,4}:*/H^60
- )
+beginfont("EN:Gibberellin A3","MW:346.37");
+ %----------------------------------------
+ ": <18,?5,3=?7,5=?6[12],@8,160`1.3,&3, ",
+ ": 13=dl,6=wf,8=wb, ",
+ ": @5,40~zf`1,O,50,//O^180,&14~zb, ",
+ ": 2:/COOH,7://_,13:*/OH,8:/*OH, ",
+ ": 14:*/_,{1,4}:*/H^60 ")
+ %----------------------------------------
+ fsize:=(50mm,18mm);
+ if check_mc(mc)=0: MC(scantokens(mc)) fi
endfont
\end{verbatim}
\MCFgraph
@@ -1453,13 +1502,14 @@ endfont
\subsection{Quinine}
\begin{verbatim}
beginfont("EN:Quinine","MW:324.42")
- fsize:=(60mm,25mm);
- MC(
- <30,Ph,3=Ph,7:N,6:/O!,
- @10,\,*/OH,/H~zf^-60,!,
- |,?6,2:N,1:*/H^60,4:*/!!,
- @2,165~zf,60,&5~zb
- )
+ %-------------------------------
+ ": <30,Ph,3=Ph,7:N,6:/O!, ",
+ ": @10,\,*/OH,/H~zf^-60,!, ",
+ ": |,?6,2:N,1:*/H^60,4:*/!!, ",
+ ": @2,165~zf,60,&5~zb ")
+ %-------------------------------
+ fsize:=(50mm,20mm);
+ if check_mc(mc)=0: MC(scantokens(mc)) fi
endfont
\end{verbatim}
\MCFgraph
@@ -1486,33 +1536,45 @@ tag4:="fm"; >
outputformat:="png"; hppp:=vppp:=0.1; > PNG output
outputtemplate:="%j-%3c.png"; >
%-------------------------------------------------------------------------
-beginfont("N:1","EN:Ampicillin") > begin font(information)
- MC(<45,?4,2:N,2=?5,-1:S, > begin MCF (1)
- {3^45,4^-45}:/*H,1://O^15,5:/*COOH^-18,6:??, >
- @4,75,NH,!,//O,!,/*NH,!,Ph) > end MCF
+beginfont("EN:Ampicillin","MW:349.405", > information
+ %---------------------------------------- >
+ ": <45,?4,-3=?5,2:N,7:S, ", > mc1
+ ": 3^45:/*H,1://O^15,5:/*COOH^-18,6:??, ", > mc2
+ ": @4,*\^15,NH,!,//O,!,/*NH2,!,Ph ") > mc3
+ %---------------------------------------- >
+ if check_mc(mc)=0: MC(scantokens(mc)) fi > mc=mc1&mc2&mc3
endfont > end font
%------------------------------------------------------------------------
-beginfont("N:2","EN:Cholesterol") > begin font(information)
- MC(<30,?6,{-4,-2}=?6,-4=?5,7=dl, > begin MCF (2)
- 1:*/OH,{4,12}:*/_^60,9:*/H^60, >
- 10:/*H^180,{11,-1}:/*H^-60, >
- @-1,17,/*_,!4,?!) > end MCF
+beginfont("EN:Cholesterol","MW:386.65", >information
+ %---------------------------------------- >
+ ": <30,?6,{-4,-2}=?6,-4=?5,7=dl, ", > mc1
+ ": 10:/*H^180,11:/*H^-60,17:/*H^-54, ", > mc2
+ ": {4,12}:*/_^60, ", > mc3
+ ": @-1,18,/*_,-60,!3,?! ") > mc4
+ %---------------------------------------- >
+ if check_mc(mc)=0: MC(scantokens(mc)) fi > mc=mc1&mc2&mc3
endfont > end font
%------------------------------------------------------------------------
-beginfont("N:3","EN:Limonin") > begin font(information)
- MC(<30,?6,{-3,-4}=?6, > begin MCF (3)
- -5=?3,-2=wf,-1=wb,6=?5,-4=?6,-5=wf, >
- {13,15,17,20}:O,{3,12,21}://O, >
- {4~wf^60,8~zf^60,18^35,18^-35}:/_, >
- {1^60,5^180,16^60}:/*H, >
- @14,\*,|,?5,{1,4}=dl,3:O) > end MCF
+beginfont("EN:Limonin", > information
+ %----------------------------------------- >
+ ": <30,?6,{-3,-4}=?6, ", > mc1
+ ": -5=?3,-2=wf,-1=wb,6=?5,-4=?6,-5=wf, ", > mc2
+ ": {13,15,17,20}:O,{3,12,21}://O, ", > mc3
+ ": {4~wf^60,8~zf^60,18^35,18^-35}:/_, ", > mc4
+ ": {1^60,5^180,16^60}:/*H, ", > mc5
+ ": @14,\*,|,?5,{1,4}=dl,3:O) ") > mc6
+ %----------------------------------------- >
+ if check_mc(mc)=0: MC(scantokens(mc)) fi > mc=mc1 - mc6
endfont > end font
%------------------------------------------------------------------------
-beginfont("N:4","EN:beta-carotene) > begin font(information)
- MC(<30,?6,3=dl,{3,5^35,5^-35}:/_, > begin MCF (4)
- @4,\,|,!18,{1,3,5,7,9,11,13,15,17}=dr, >
- {3,7,12,16}:/_, >
- |,?6,6=dl,2:??,6:/_) > end MCF
+beginfont("EN:beta-carotene", > information
+ %------------------------------------------ >
+ ": <30,?6,3=dl,{3,5^35,5^-35}:/_, ", > mc1
+ ": @4,\,|,!18,{1,3,5,7,9,11,13,15,17}=dr, ", > mc2
+ ": {3,7,12,16}:/_, ", > mc3
+ ": |,?6,6=dl,2:??,6:/_) ") > mc4
+ %------------------------------------------ >
+ if check_mc(mc)=0: MC(scantokens(mc)) fi > mc=mc1 - mc4
endfont > end font
%------------------------------------------------------------------------
bye
@@ -1718,60 +1780,64 @@ M END
\subsection{LuaTeX file example}
%############################################################################
\begin{verbatim}
-%--------------------------------------------------------------------
\documentclass{article}
\usepackage{luamplib}%
+\usepackage[T1]{fontenc}%
+\usepackage{textcomp}%
\mplibcodeinherit{enable}%
\mplibverbatim{enable}%
-\everymplib{if unknown Ph1:
- input mcf2graph.mf;
- mp_log_name:="temp-info.aux";
- sw_aux_out:=1;
- fi}%
-%--------------------------------------------------------------------
+\mplibnumbersystem{double}%
+\everymplib{%
+ if unknown Ph1: input mcf2graph.mf; fi
+ sw_calc:=1; sw_fframe:=4; max_blength:=4.5mm;
+ defaultfont:="uhvr8r"; defaultsize:=8bp; defaultscale:=1;
+}%
\begin{document}
\noindent%
%--------------------------------------------------------------------
\begin{mplibcode}
fsize:=(50mm,50mm);
- beginfont("NO:1","EN:Limonin","MW:470.51")
- MC(<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~wf^60,8~zf^60,18^35,18^-35}:/_,
- {1^60,5^180,16^60}:/*H,
- @14,\*,|,?5,{1,4}=dl,3:O
- )
+ beginfont("NO:1","EN:Limonin","MW:470.51",
+ %----------------------------------------
+ ": <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~wf^60,8~zf^60,18^35,18^-35}:/_, ",
+ ": {1^60,5^180,16^60}:/*H, ",
+ ": @14,\*,|,?5,{1,4}=dl,3:O ")
+ %----------------------------------------
+ if check_mc(mc)=0: MC(scantokens(mc)) fi
endfont
\end{mplibcode}\\
%--------------------------------------------------------------------
\begin{mplibcode}
fsize:=(80mm,50mm);
- beginfont("NO:2","EN:beta-carotene","MW:536.87")
- MC(<30,
- ?6,3=dl,{3,5^35,5^-35}:/_,
- @4,\,|,!18,{1,3,5,7,9,11,13,15,17}=dr,
- {3,7,12,16}:/_,
- |,?6,6=dl,{6,2^35,2^-35}:/_
- )
+ beginfont("NO:2","EN:beta-carotene","MW:536.87",
+ %------------------------------------------
+ ": <30,?6,3=dl,{3,5^35,5^-35}:/_, ",
+ ": @4,\,|,!18,{1,3,5,7,9,11,13,15,17}=dr, ",
+ ": {3,7,12,16}:/_, ",
+ ": |,?6,6=dl,{6,2^35,2^-35}:/_ ")
+ %------------------------------------------
+ if check_mc(mc)=0: MC(scantokens(mc)) fi
endfont
\end{mplibcode}\\
%--------------------------------------------------------------------
\begin{mplibcode}
fsize:=(50mm,50mm);
- beginfont("NO:3","EN:Gibberellin A3","MW:346.37");
- MC(<18,?5,3=?7,5=?6[12],
- @8,160`1.3,&3,13=dl,6=wf,8=wb,
- @5,40~zf`1,O,60,//O^180,&14~zb,
- 2:/COOH,7://_,13:*/OH,8:/*OH,
- 14:*/_,{1^60,4^60}:*/H
- )
+ beginfont("NO:3","EN:Gibberellin A3","MW:346.37",
+ %------------------------------------
+ ": <18,?5,3=?7,5=?6[12], ",
+ ": @8,160`1.3,&3,13=dl,6=wf,8=wb, ",
+ ": @5,40~zf`1,O,60,//O^180,&14~zb, ",
+ ": 2:/COOH,7://_,13:*/OH,8:/*OH, ",
+ ": 14:*/_,{1^60,4^60}:*/H ")
+ %------------------------------------
+ if check_mc(mc)=0: MC(scantokens(mc)) fi
endfont;
-\end{mplibcode}\\
%--------------------------------------------------------------------
+\end{mplibcode}\\
\end{document}
-%--------------------------------------------------------------------
\end{verbatim}%
%############################################################################
%------------------------------------------------------------------------
@@ -1801,16 +1867,16 @@ endfont;
%--------------------------------------------------------------------
\begin{document}
\unitlength=1mm%
-\INFO{F:mcf_man_soc,C:139,NO:1,mw:349.40462,fm:C16H19N3O4S,EN:Ampicillin}%
-\INFO{F:mcf_man_soc,C:140,NO:2,mw:386.6532,fm:C27H46O,EN:Cholesterol}%
+\INFO{F:mcf_man_soc,C:141,NO:1,mw:349.40462,fm:C16H19N3O4S,EN:Ampicillin}%
+\INFO{F:mcf_man_soc,C:142,NO:2,mw:386.6532,fm:C27H46O,EN:Cholesterol}%
\end{document}
%--------------------------------------------------------------------
\end{verbatim}%
%############################################################################
%------------------------------------------------------------------------
-\INFO{F:mcf_man_soc,C:139,NO:1,mw:349.40462,fm:C16H19N3O4S,EN:Ampicillin}%
-\INFO{F:mcf_man_soc,C:140,NO:2,mw:386.6532,fm:C27H46O,EN:Cholesterol}%
+\INFO{F:mcf_man_soc,C:141,NO:1,mw:349.40462,fm:C16H19N3O4S,EN:Ampicillin}%
+\INFO{F:mcf_man_soc,C:142,NO:2,mw:386.6532,fm:C27H46O,EN:Cholesterol}%
%------------------------------------------------------------------------
-\printindex
+\texttt{\printindex}
%------------------------------------------------------------------------
\end{document}