I wrote a short application of the answer provided by Christian Tellechea via @MichaelPalmer above, adding all nucleosides and making a doublestranded picture. The full code can be found here.
\documentclass[11pt]{standalone}
\usepackage{chemfig,xstring} %Draw molecules with easy syntax
\usepackage{times}
\frenchspacing
\makeatletter
% "\derivesubmol" defines the new #1 submol, obtained by replacing all the
% occurrences of "#3" by "#4" in the code of #2 submol
% arguments: #1 = new submol name, #2 = old submol name,
% #3 = old substring, #4 = new substring
\newcommand*\derivesubmol[4]{%
\saveexpandmode\saveexploremode\expandarg\exploregroups
\csname @\ifcat\relax\noexpand#2first\else second\fi oftwo\endcsname
{\expandafter\StrSubstitute\@car#2\@nil}
{\expandafter\StrSubstitute\csname CF@@#2\endcsname}
{\@empty#3}{\@empty#4}[\temp@]%
\csname @\ifcat\relax\noexpand#1first\else second\fi oftwo\endcsname
{\expandafter\let\@car#1\@nil}
{\expandafter\let\csname CF@@#1\endcsname}\temp@
\restoreexpandmode\restoreexploremode
}
\makeatother
\setatomsep{2.5em}
\setcrambond{2pt}{}{}
\definesubmol{rt1}{-[2]rt1}
\definesubmol{rt2}{-[6,.6]rt2}
\definesubmol{ribose}{%
-[::-90,2]%
(%
-[::115,1.176]O%
-[::-50,1.176]%
)%
<[::45,0.8]%
(%
-[::45,,,,line width=2pt,shorten <=-.5pt,shorten >=-.5pt]%
(!{rt2})%
>[::45,0.8]%
(!{rt1})%
)%
}
\definesubmol{phosphate}{-[::-45,.6]O-[::0,1.5]P(-[::-90,1]O{^-})(=[::0,0.8]O)-[::90,1.5]O}
\definesubmol{adenine}{N*5([::-18]-*6(-N=-N(<:[::-83,1.6,,,red])=(-N(-[::66]H)-[::-66]H<:[::-18,1.5,,,red])-)=-N=-)}
\definesubmol{adenineR}{N*5([::-18]-=N-*6(-(-N(-[::66]H<:[::-25,1.5,,,red])-[::-66]H)=N(<:[::-76,1.5,,,red])-=N-)=-)}
\definesubmol{guanine}{N*5([::-18]-*6(-N=(-N(-[::66]H<:[::-25,1.6,,,red])-[::-66]H)-N(-H<:[::-17,1.7,,,red])-(=O<:[::-75,1.7,,,red])-)=-N=-)}
\definesubmol{guanineR}{N*5([::-18]-=N-*6(-(=O<:[::45,1.5,,,red])-N(-H<:[::-16,1.5,,,red])-(-N(-[::66]H)-[::-66]H<:[::-9,1.5,,,red])=N-)=-)}
\definesubmol{uracil}{N*6(-(=O)-N(-H)-(=O)-=-)}
\definesubmol{cytosine}{N*6(-(=O<:[::50,1.7,,,red])-N(<:[::-73,1.6,,,red])=(-N(-[::66]H)-[::-66]H<:[::-3,1.5,,,red])-=-)}
\definesubmol{cytosineR}{N*6(-=-(-N(-[::66]H<:[::-19,1.7,,,red])-[::-66]H)=N(<:[::-72,1.6,,,red])-(=O<:[::-75,1.6,,,red])-)}
\definesubmol{thymine}{N*6(-(=O)-N(-H<:[::-10,1.6,,,red])-(=O<:[::-75,1.5,,,red])-(-H_3C)=-)}
\definesubmol{thymineR}{N*6(-=(-H_3C)-(=O<:[::32,1.6,,,red])-N(-H<:[::-33,1.7,,,red])-(=O)-)}
\def\drawhline{\medbreak\hrulefill\medbreak}
\begin{document}
\derivesubmol{deoxyribose}{ribose}{(!{rt2})}{}% replace "(!{rt2})" by nothing
\derivesubmol{deoxyadenosine}{deoxyribose}{!{rt1}}{-[::65,0.8]!{adenine}}
\derivesubmol{deoxyguanosine}{deoxyribose}{!{rt1}}{-[::65,0.8]!{guanine}}
\derivesubmol{deoxyuridine}{deoxyribose}{!{rt1}}{-[::45,0.8]!{uracil}}
\derivesubmol{deoxycytidine}{deoxyribose}{!{rt1}}{-[::45,0.8]!{cytosine}}
\derivesubmol{thymidine}{deoxyribose}{!{rt1}}{-[::45,0.8]!{thymine}}
\derivesubmol{deoxyadenosineR}{deoxyribose}{!{rt1}}{-[::-35,0.8]!{adenineR}}
\derivesubmol{deoxyguanosineR}{deoxyribose}{!{rt1}}{-[::-35,0.8]!{guanineR}}
\derivesubmol{deoxycytidineR}{deoxyribose}{!{rt1}}{-[::-60,0.8]!{cytosineR}}
\derivesubmol{thymidineR}{deoxyribose}{!{rt1}}{-[::-50,0.8]!{thymineR}}
\begin{tikzpicture}
\scriptsize
\node at (1,3) {\chemfig{ [:-65]
!{phosphate}!{deoxyadenosine}!{phosphate}!{deoxyguanosine}!{phosphate}!{thymidine}!{phosphate}!{deoxycytidine}}};
\node at (6.4,2.5) {\chemfig{ [:115]
!{phosphate}!{deoxyguanosineR}!{phosphate}!{deoxyadenosineR}!{phosphate}!{deoxycytidineR}!{phosphate}!{thymidineR}}};
\end{tikzpicture}
\end{document}