This is a read-only mirror of pymolwiki.org
Difference between revisions of "3d pdf"
(rearrange some tex to avoid dropping comma) |
m (1 revision) |
||
(42 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= Overview = | = Overview = | ||
PyMOL can convert to formats (vrml2 and idtf) that can be converted to a [[:File:Pymol.pdf|3D PDF]] (will not work with most PDF browser plugins; must be downloaded and viewed with certain viewers liked Adobe Acrobat 9.2+). | PyMOL can convert to formats (vrml2 and idtf) that can be converted to a [[:File:Pymol.pdf|3D PDF]] (will not work with most PDF browser plugins; must be downloaded and viewed with certain viewers liked Adobe Acrobat 9.2+). | ||
+ | |||
+ | '''Note'''. The figure is only represented in cartoon format. No sticks yet... | ||
== Requirements == | == Requirements == | ||
* PyMOL | * PyMOL | ||
− | * [http:// | + | * [http://sourceforge.net/projects/u3d/files/Universal%203D%20Sample%20Software/ Universal 3D Sample Software - u3d converter - IDTF to U3D] |
* LaTeX (pdflatex) | * LaTeX (pdflatex) | ||
+ | |||
+ | == Get IDFT file from PyMOL == | ||
+ | * Save your molecule to an IDTF file in PyMOL: | ||
+ | <source lang="python"> | ||
+ | save pymol.idtf, * | ||
+ | </source> | ||
+ | PyMOL will print a line that looks like: | ||
+ | 3Daac=20.0, 3Droll=0, 3Dc2c=0 0 1, 3Droo=62.45, 3Dcoo=0 0 -62.45 | ||
+ | copy this line into the pymol.tex file overwriting the same line in the file. | ||
+ | |||
+ | = Windows - Convert the IDTF to U3D = | ||
+ | == Quick == | ||
+ | # Download '''Universal 3D Sample Software - u3d converter - IDTF to U3D''', and extract to Desktop<br> | ||
+ | # Navigate to the '''bin''' folder: \Desktop\U3D_A_061228_5\Bin\Win32\Release <br> | ||
+ | # Copy '''pymol.idtf''' in here. | ||
+ | # Hold '''shift''' key, right click in folder, click '''Open command window here'''. | ||
+ | Then copy this inot command window: | ||
+ | IDTFConverter -input pymol.idtf -output pymol.u3d | ||
+ | Copy the pymol.u3d into your LaTeX folder | ||
+ | == General == | ||
+ | # Download '''Universal 3D Sample Software - u3d converter - IDTF to U3D''', and extract to C:\Program Files (x86)\U3D_A_061228_5<br> | ||
+ | # Make a '''IDTF2U3D.bat''' and afterwards copy to '''C:\Windows'''. | ||
+ | <source lang="winbatch"> | ||
+ | @echo off | ||
+ | rem -- Run IDTFConverter -- | ||
+ | set IDTF_EXE_DIR=C:\Program Files (x86)\U3D_A_061228_5\Bin\Win32\Release | ||
+ | |||
+ | if exist "%IDTF_EXE_DIR%\IDTFConverter.exe" goto haveProg | ||
+ | echo "%IDTF_EXE_DIR%\IDTFConverter.exe" not found | ||
+ | goto eof | ||
+ | |||
+ | :haveProg | ||
+ | if .%1==. goto noarg | ||
+ | |||
+ | "%IDTF_EXE_DIR%\IDTFConverter.exe" -input %1 -output %~n1.u3d | ||
+ | goto eof | ||
+ | |||
+ | :noarg | ||
+ | echo no arguments given. | ||
+ | echo IDTF2U3D pymol.idtf | ||
+ | |||
+ | :eof | ||
+ | echo Done | ||
+ | </source> | ||
+ | # Navigate to '''pymol.idtf'''. Right click, Open with..., Browse to: '''C:\Windows''' and select '''IDTF2U3D.bat''' | ||
+ | Copy the pymol.u3d into your LaTeX folder | ||
+ | |||
+ | = Linux install - Convert the IDTF to U3D= | ||
+ | * Currently you have to compile the u3d converter on Linux. I did that with: | ||
+ | * Some versions of Acrobat on Linux incorrectly parse the 3D data. Adobe knows about this and plans to fix it. Ironically, I created a 3D PDF on Linux but could only view it on Mac OS X. | ||
+ | See current versions here: http://www2.iaas.msu.ru/tmp/u3d | ||
+ | |||
+ | <source lang="bash"> | ||
+ | cd ~/Downloads/ ; | ||
+ | wget http://www2.iaas.msu.ru/tmp/u3d/u3d-1.4.3.tar.gz ; | ||
+ | tar -xzf u3d-1.4.3.tar.gz ; | ||
+ | cd u3d-1.4.3 ; | ||
+ | cmake . ; | ||
+ | make ; | ||
+ | chmod g+wx . ; | ||
+ | set IDDIR=$PWD ; | ||
+ | |||
+ | cat > IDTF2U3D << EOF | ||
+ | #!/bin/tcsh | ||
+ | set FOLD=\$PWD | ||
+ | set IN=\$PWD/\$1 | ||
+ | cp -f \$IN $IDDIR | ||
+ | cd $IDDIR | ||
+ | ./IDTFConverter -input \$1 -output \$1:r:t.u3d | ||
+ | cp -f \$1:r:t.u3d \$FOLD/ | ||
+ | EOF | ||
+ | |||
+ | chmod +x IDTF2U3D | ||
+ | |||
+ | ln -s $PWD/IDTF2U3D ~/bin/IDTF2U3D | ||
+ | </source> | ||
+ | |||
+ | Then write in terminal | ||
+ | IDTF2U3D pymol.idtf | ||
+ | |||
+ | = LaTeX code = | ||
+ | == LaTeX code pdf == | ||
+ | Example [[:File:Pymol.pdf|3D PDF]]<br> | ||
+ | Download Example, and open in acrobat reader: [http://www.fys.ku.dk/~tlinnet/1zqa.pdf 1zqa PDF] | ||
* The following LaTeX code saved as "pymol.tex": | * The following LaTeX code saved as "pymol.tex": | ||
<source lang="latex"> | <source lang="latex"> | ||
Line 16: | Line 102: | ||
\author{Jason Vertrees} | \author{Jason Vertrees} | ||
\maketitle | \maketitle | ||
− | \begin{ | + | \begin{figure}[!htb] |
+ | \centering | ||
\includemovie[ | \includemovie[ | ||
− | + | poster, | |
− | + | toolbar, %same as `controls' | |
− | + | label=pymol.ud3 | |
− | + | text=(pymol.u3d), | |
− | + | 3Dlights=CAD, | |
− | + | % replace the next line with what PyMOL output | |
− | + | 3Daac=20.0, 3Droll=0, 3Dc2c=0 0 1, 3Droo=243.39, 3Dcoo=0 0 -243.39 | |
]{\linewidth}{\linewidth}{pymol.u3d} | ]{\linewidth}{\linewidth}{pymol.u3d} | ||
− | \ | + | \caption{A PyMOL object embedded in PDF, using U3D data format.} |
− | \end{ | + | \label{pym:ex3d} |
+ | \end{figure} | ||
\end{document} | \end{document} | ||
</source> | </source> | ||
− | == | + | == LaTeX beamer presentation == |
+ | Download Example, and open in acrobat reader: [http://www.fys.ku.dk/~tlinnet/beamer.pdf beamer PDF] <br> | ||
+ | Download Example, and open in acrobat reader: [http://www.fys.ku.dk/~tlinnet/beamer_1zqa.pdf beamer 1zqa PDF] | ||
+ | <source lang="latex"> | ||
+ | \documentclass{beamer} | ||
+ | \usepackage[3D]{movie15} | ||
+ | \usepackage[UKenglish]{babel} | ||
− | + | %% See: http://en.wikibooks.org/wiki/LaTeX/Presentations | |
− | + | %% See: http://www.hartwork.org/beamer-theme-matrix/ | |
− | + | \usetheme{Copenhagen} | |
− | + | \usecolortheme{beaver} | |
− | |||
− | |||
− | |||
− | + | \begin{document} | |
− | + | \title{Simple Beamer Class} | |
+ | \author{Troels Linnet} | ||
+ | \date{\today} | ||
+ | \frame{\titlepage} | ||
+ | \frame{\frametitle{Table of contents}\tableofcontents} | ||
− | + | \section{3D object} | |
− | + | \frame{\frametitle{Pymol 3D object} | |
+ | \begin{figure}[!htb] | ||
+ | \centering | ||
+ | \includemovie[ | ||
+ | poster, | ||
+ | toolbar, %same as `controls' | ||
+ | label=pymol.ud3 | ||
+ | text=(pymol.u3d), | ||
+ | 3Dlights=CAD, | ||
+ | % replace the next line with what PyMOL output | ||
+ | 3Daac=20.0, 3Droll=0, 3Dc2c=0 0 1, 3Droo=243.39, 3Dcoo=0 0 -243.39 | ||
+ | ]{10cm}{6cm}{pymol.u3d} | ||
+ | \caption{A PyMOL object embedded in PDF, using U3D data format.} | ||
+ | \label{pym:ex3d} | ||
+ | \end{figure} | ||
+ | } | ||
+ | |||
+ | \section{Lists} | ||
+ | \subsection{Lists I} | ||
+ | \frame{\frametitle{Unnumbered lists} | ||
+ | \begin{block}{My bloc} | ||
+ | test of bloc | ||
+ | \end{block} | ||
+ | \begin{itemize} | ||
+ | \item Introduction to \LaTeX | ||
+ | \item Beamer class | ||
+ | \end{itemize} | ||
+ | } | ||
− | + | \end{document} | |
− | |||
− | |||
− | |||
− | |||
</source> | </source> | ||
− | |||
− | * | + | * Create the PDF using LaTeX: |
+ | pdflatex pymol.tex | ||
+ | |||
+ | = More on 3D PDFs = | ||
+ | * [http://www.adobe.com/manufacturing/3dpdfsamples/3dsolutions/ 3D PDFs at Adobe] | ||
+ | * [http://molecularmodelingbasics.blogspot.dk/2009/12/future-of-scientific-publishing-is-here.html Future of scientific publishing] | ||
+ | * [http://jpswalsh.com/how-to-embed-a-3d-molecule-in-a-pdf/ Instructions for Jmol] | ||
+ | == See Also == | ||
+ | * [[Movie_pdf | Movie in pdf]] | ||
− | + | [[Category:PyMOL_in_pdf]] | |
− |
Latest revision as of 21:08, 9 July 2015
Overview
PyMOL can convert to formats (vrml2 and idtf) that can be converted to a 3D PDF (will not work with most PDF browser plugins; must be downloaded and viewed with certain viewers liked Adobe Acrobat 9.2+).
Note. The figure is only represented in cartoon format. No sticks yet...
Requirements
- PyMOL
- Universal 3D Sample Software - u3d converter - IDTF to U3D
- LaTeX (pdflatex)
Get IDFT file from PyMOL
- Save your molecule to an IDTF file in PyMOL:
save pymol.idtf, *
PyMOL will print a line that looks like:
3Daac=20.0, 3Droll=0, 3Dc2c=0 0 1, 3Droo=62.45, 3Dcoo=0 0 -62.45
copy this line into the pymol.tex file overwriting the same line in the file.
Windows - Convert the IDTF to U3D
Quick
- Download Universal 3D Sample Software - u3d converter - IDTF to U3D, and extract to Desktop
- Navigate to the bin folder: \Desktop\U3D_A_061228_5\Bin\Win32\Release
- Copy pymol.idtf in here.
- Hold shift key, right click in folder, click Open command window here.
Then copy this inot command window:
IDTFConverter -input pymol.idtf -output pymol.u3d
Copy the pymol.u3d into your LaTeX folder
General
- Download Universal 3D Sample Software - u3d converter - IDTF to U3D, and extract to C:\Program Files (x86)\U3D_A_061228_5
- Make a IDTF2U3D.bat and afterwards copy to C:\Windows.
@echo off
rem -- Run IDTFConverter --
set IDTF_EXE_DIR=C:\Program Files (x86)\U3D_A_061228_5\Bin\Win32\Release
if exist "%IDTF_EXE_DIR%\IDTFConverter.exe" goto haveProg
echo "%IDTF_EXE_DIR%\IDTFConverter.exe" not found
goto eof
:haveProg
if .%1==. goto noarg
"%IDTF_EXE_DIR%\IDTFConverter.exe" -input %1 -output %~n1.u3d
goto eof
:noarg
echo no arguments given.
echo IDTF2U3D pymol.idtf
:eof
echo Done
- Navigate to pymol.idtf. Right click, Open with..., Browse to: C:\Windows and select IDTF2U3D.bat
Copy the pymol.u3d into your LaTeX folder
Linux install - Convert the IDTF to U3D
- Currently you have to compile the u3d converter on Linux. I did that with:
- Some versions of Acrobat on Linux incorrectly parse the 3D data. Adobe knows about this and plans to fix it. Ironically, I created a 3D PDF on Linux but could only view it on Mac OS X.
See current versions here: http://www2.iaas.msu.ru/tmp/u3d
cd ~/Downloads/ ;
wget http://www2.iaas.msu.ru/tmp/u3d/u3d-1.4.3.tar.gz ;
tar -xzf u3d-1.4.3.tar.gz ;
cd u3d-1.4.3 ;
cmake . ;
make ;
chmod g+wx . ;
set IDDIR=$PWD ;
cat > IDTF2U3D << EOF
#!/bin/tcsh
set FOLD=\$PWD
set IN=\$PWD/\$1
cp -f \$IN $IDDIR
cd $IDDIR
./IDTFConverter -input \$1 -output \$1:r:t.u3d
cp -f \$1:r:t.u3d \$FOLD/
EOF
chmod +x IDTF2U3D
ln -s $PWD/IDTF2U3D ~/bin/IDTF2U3D
Then write in terminal
IDTF2U3D pymol.idtf
LaTeX code
LaTeX code pdf
Example 3D PDF
Download Example, and open in acrobat reader: 1zqa PDF
- The following LaTeX code saved as "pymol.tex":
\documentclass[a4paper]{article}
\usepackage[3D]{movie15}
\usepackage[UKenglish]{babel}
\usepackage[colorlinks=true]{hyperref}
\begin{document}
\title{PyMOL 3D Objects in PDF}
\author{Jason Vertrees}
\maketitle
\begin{figure}[!htb]
\centering
\includemovie[
poster,
toolbar, %same as `controls'
label=pymol.ud3
text=(pymol.u3d),
3Dlights=CAD,
% replace the next line with what PyMOL output
3Daac=20.0, 3Droll=0, 3Dc2c=0 0 1, 3Droo=243.39, 3Dcoo=0 0 -243.39
]{\linewidth}{\linewidth}{pymol.u3d}
\caption{A PyMOL object embedded in PDF, using U3D data format.}
\label{pym:ex3d}
\end{figure}
\end{document}
LaTeX beamer presentation
Download Example, and open in acrobat reader: beamer PDF
Download Example, and open in acrobat reader: beamer 1zqa PDF
\documentclass{beamer}
\usepackage[3D]{movie15}
\usepackage[UKenglish]{babel}
%% See: http://en.wikibooks.org/wiki/LaTeX/Presentations
%% See: http://www.hartwork.org/beamer-theme-matrix/
\usetheme{Copenhagen}
\usecolortheme{beaver}
\begin{document}
\title{Simple Beamer Class}
\author{Troels Linnet}
\date{\today}
\frame{\titlepage}
\frame{\frametitle{Table of contents}\tableofcontents}
\section{3D object}
\frame{\frametitle{Pymol 3D object}
\begin{figure}[!htb]
\centering
\includemovie[
poster,
toolbar, %same as `controls'
label=pymol.ud3
text=(pymol.u3d),
3Dlights=CAD,
% replace the next line with what PyMOL output
3Daac=20.0, 3Droll=0, 3Dc2c=0 0 1, 3Droo=243.39, 3Dcoo=0 0 -243.39
]{10cm}{6cm}{pymol.u3d}
\caption{A PyMOL object embedded in PDF, using U3D data format.}
\label{pym:ex3d}
\end{figure}
}
\section{Lists}
\subsection{Lists I}
\frame{\frametitle{Unnumbered lists}
\begin{block}{My bloc}
test of bloc
\end{block}
\begin{itemize}
\item Introduction to \LaTeX
\item Beamer class
\end{itemize}
}
\end{document}
- Create the PDF using LaTeX:
pdflatex pymol.tex