\documentclass[12pt,border=1pt]{standalone}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{chemfig,chemmacros}
\usepackage{lmodern}
\usetikzlibrary{decorations.pathmorphing}
\chemsetup[chemformula]{font-shape=sf,format=\sffamily}
\renewcommand*{\familydefault}{\sfdefault}
\renewcommand*\printatom[1]{\ensuremath{\mathsf{#1} } }
\setatomsep{2.5em}
\setdoublesep{.6ex}
\setarrowdefault{,2,thick}
\setbondstyle{thick}
\makeatletter
% From: http://tex.stackexchange.com/a/125761
% Initial arguments:
% #1, #2: Same as for -U> (above arrow)
% #3: Additional label at midpoint (also above arrow)
% #4, #5, #6: Like #1, #2, and #3, but below arrow
\definearrow9{-X>}{%
\CF@arrow@shift@nodes{#7}%
\expandafter\draw\expandafter[\CF@arrow@current@style,-CF@full](\CF@arrow@start@node)--(\CF@arrow@end@node)node[midway](Xarrow@arctangent){};%
\edef\CF@tmp@str{\ifx\@empty#1\@empty[draw=none]\fi}%
\expandafter\draw\CF@tmp@str (Xarrow@arctangent)%
arc[radius=\CF@compound@sep*\CF@current@arrow@length*\ifx\@empty#8\@empty0.333\else#8\fi,start angle=\CF@arrow@current@angle-90,%
delta angle=-\ifx\@empty#9\@empty60\else#9\fi]node(Xarrow1@start){};
\edef\CF@tmp@str{[\ifx\@empty#2\@empty draw=none,\fi-CF@full]}%
\expandafter\draw\CF@tmp@str (Xarrow@arctangent)%
arc[radius=\CF@compound@sep*\CF@current@arrow@length*\ifx\@empty#8\@empty0.333\else#8\fi,start angle=\CF@arrow@current@angle-90,%
delta angle=\ifx\@empty#9\@empty60\else#9\fi]node(Xarrow1@end){};
\edef\CF@tmp@str{\ifx\@empty#4\@empty[draw=none]\fi}%
\expandafter\draw\CF@tmp@str (Xarrow@arctangent)%
arc[radius=\CF@compound@sep*\CF@current@arrow@length*\ifx\@empty#8\@empty0.333\else#8\fi,start angle=\CF@arrow@current@angle+90,%
delta angle=\ifx\@empty#9\@empty60\else#9\fi]node(Xarrow2@start){};
\edef\CF@tmp@str{[\ifx\@empty#5\@empty draw=none,\fi-CF@full]}%
\expandafter\draw\CF@tmp@str (Xarrow@arctangent)%
arc[radius=\CF@compound@sep*\CF@current@arrow@length*\ifx\@empty#8\@empty0.333\else#8\fi,start angle=\CF@arrow@current@angle+90,%
delta angle=-\ifx\@empty#9\@empty60\else#9\fi]node(Xarrow2@end){};
\edef\CF@tmp@str{\if\string-\expandafter\@car\detokenize{#7.}\@nil-\else+\fi}%
\CF@arrow@display@label{#1}{0}\CF@tmp@str{Xarrow1@start}{#2}{1}\CF@tmp@str{Xarrow1@end}%
\CF@arrow@display@label{#3}{0.5}\CF@tmp@str\CF@arrow@start@node{}{}{}\CF@arrow@end@node%
\edef\CF@tmp@str{\if\string-\expandafter\@car\detokenize{#7.}\@nil+\else-\fi}%
\CF@arrow@display@label{#4}{0}\CF@tmp@str{Xarrow2@start}{#5}{1}\CF@tmp@str{Xarrow2@end}%
\CF@arrow@display@label{#6}{0.5}\CF@tmp@str\CF@arrow@start@node{}{}{}\CF@arrow@end@node%
}
\makeatother
\begin{document}
\definesubmol\nobond{-[,0.2,,,draw=none]}
\definesubmol{rb}{Ribotide}
\schemestart[][west]
\chemname{\chemfig{ {\color{red}P}-O--[:-18]*5(-(<:HO)-(<:OH)-(<:OH)-O-) } }{\color{brown}R5P}
\arrow{-X>[{\color{orange}ATP}][{\color{orange}AMP}][{\color{magenta}\ch{Mg^2+} }][][][\color{blue}PRPS1]}
\chemname{\chemfig{ {\color{red}P}-O--[:-18]*5(-(<:HO)-(<:OH)-(<:O-[0]{\color{red}P}-[0,,,,red,decorate,decoration=snake, segment length=6pt]{ {\color{red}P} })-O-) } }{\color{brown}PRPP}
\arrow{-X>[{\color{orange}Gln},{\color{red}\ch{H2O} }][{\color{brown}Glu},{\color{red}2\ch{P_i} }][{\color{magenta}\ch{Mg^2+} }][][][\parbox{5em}{\centering\color{blue}PPAT\\1}]}
\chemname{\chemfig{ {\color{red}P}-O--[:-18]*5(-(<:HO)-(<:OH)-(<NH_2)-O-) } }{\color{brown}5-PRA}
\arrow(.-45--){-X>[*0{ {\color{orange}ATP},{\color{brown}Gly} }][*0{ {\color{orange}ADP},{\color{red}\ch{P_i} } }][*0{\color{magenta}\ch{Mg^2+} }][][][*0\parbox{5em}{\centering\color{blue}GART (E1)\\2}]}[-90,1.5]
\chemname*{\chemfig{O=[:30](-[2]-[::-60]NH_2)-[:-30]NH-[6,,1]!{rb} } }{\color{brown}GAR}
\arrow{-X>[][][\parbox{5em}{\centering\color{blue}GART (E2)\\3}][\parbox{2.75cm}{ {\color{orange}\ch{N^{10} }-formyl-THF} }][{\color{orange}THF}][][-2em]}[180,3]
\chemname*{\chemfig{ O=[:30] *6(-NH(-[6]!{rb})-[,,,,draw=none]O=-NH--) } }{\color{brown}FGAR}
\arrow{-X>[][][\parbox{5em}{\centering\color{blue}PFAS\\4}][{\color{orange}Gln},{\color{orange}ATP},{\color{red}\ch{H2O} }][{\color{brown}Glu},{\color{orange}ADP},{\color{red}\ch{P_i} }][{\color{magenta}\ch{Mg^2+} }][-2em]}[180,2.5]
\chemname*{\chemfig{ HN=[:30] *6(-NH(-[6]!{rb})-[,,,,draw=none]O=-NH--) } }{\color{brown}FGAM}
\arrow{-X>[][][\parbox{5em}{\centering\color{blue}GART (E3)\\5}][{\color{orange}ATP}][{\color{orange}ADP},{\color{red}\ch{P_i} }][{\color{magenta}\ch{Mg^2+} }][-2em]}[180]
\chemname*{\chemfig{*5((-H_2N)-N(-!{rb})-=N-=)} }{\color{brown}AIR}
\arrow{-X>[*0{ {\color{orange}ATP},{\color{red}\ch{HCO3^-} } }][*0{ {\color{orange}ADP},{\color{red}\ch{P_i} } }][*0{\color{magenta}\ch{Mg^2+} }][][][*0\parbox{5em}{\centering\color{blue}PAICS (E1)\\6}]}[-90]
\chemname*{\chemfig{*5((-HN_2)-N(-!{rb}) -=N- (-[:150](=[::-60]O)-[::60]OH) =)} }{\color{brown}CAIR}
\arrow{-X>[{\color{orange}ATP},{\color{brown}ASP}][{\color{orange}ADP},{\color{red}\ch{P_i} }][{\color{magenta}\ch{Mg^2+} }][][][\parbox{5em}{\centering\color{blue}PAICS (E2)\\7}]}
\chemname*{\chemfig{ O=[:30] *6(-O^{-} -[,,,,draw=none]-[,,,,draw=none]\chembelow{N}{H} (-[:30](=[2]O)-[:-36]*5(=(-H_2N)-N(-!{rb})-=N-))
- (-(=[::60]O)-[::-60]O^{-}) --) } }{\color{brown}SACAIR}
\arrow{-X>[][{\color{brown}Fumarate}][][][][\parbox{5em}{\centering\color{blue}ADSL\\8}]}\quad
\chemname*{\chemfig{*5((-HN_2)-N(-!{rb}) -=N- (-[:120](=[::-60]O)-[::60]NH_2) =)} }{\color{brown}AICAR}
\arrow(.-50--){-X>[*0\parbox{2.75cm}{ {\color{orange}\ch{N^{10} }-formyl-THF} }][*0{ {\color{orange}THF} } ][][][][*0\parbox{5em}{\centering\color{blue}ATIC (E1)\\9}]}[-90,1.5]
\chemname*{\chemfig{*5((-HN-[::-60]=[::60]O)-N(-!{rb}) -=N- (-[:150](=[::-60]O)-[::60]NH_2) =)} }{\color{brown}FAICAR}
\arrow{-X>[][][\parbox{5em}{\centering\color{blue}ATIC (E2)\\10}][][{\color{red}\ch{H2O} }][][-2em]}[180,2.5]
\chemname*{\chemfig{ *6(=N- (*5(-N(-!{rb})-=N-=)) --(=O) -[,,,2]HN-[,,2]=) } }{\color{brown}IMP}
\schemestop
\end{document}