Skip to content

Commit

Permalink
Merge pull request #61 from alenaizan/fixes
Browse files Browse the repository at this point in the history
update documentation and name of cyanuric acid and aminopyrimidine
  • Loading branch information
alenaizan authored Oct 23, 2020
2 parents 23bc293 + 392dfbf commit 8705ebc
Show file tree
Hide file tree
Showing 36 changed files with 119 additions and 128 deletions.
Binary file modified Doxygen/images/notebook.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Doxygen/images/nucleobases.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Doxygen/images/output.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Doxygen/images/runtime_parameters1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Doxygen/images/runtime_parameters2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified Doxygen/images/structures.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
26 changes: 13 additions & 13 deletions Doxygen/mainpage.dox
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ hexameric nucleic acid analogs. The following image shows a few example of nucle
acid analogs that can be constructed by the program.

@htmlonly <style>div.image img[src="structures.png"]{width:800px;}</style> @endhtmlonly
@image html images/structures.png "Chemical structures of alternative nucleic acids. Panel (a) shows examples of alternative nucleic acid backbones. Panel (b) shows the canonical nucleobases and two examples of alternative nucleobases that can be incorporated into a nucleic acid duplex. Panel (c) shows the interaction between three adenine oligomers and an alternative nucleobase. Panel (d) shows the interaction between oligomers of two alternative nucleobases and the formation of a hexmeric structure. (LNA: locked nucleic acid; CeNA: cyclohexene nucleic acid; GNA: glycol nucleic acid; PNA: peptide nucleic acid; P: 6-amino-5-nitro-2(1H)-pyridone; Z: 2-amino-imidazo[1,2-a]-1,3,5-triazin-4(8H)-one; N: cyanuric acid; M: aminopyrimidine)"
@image latex images/structures.png "Chemical structures of alternative nucleic acids. Panel (a) shows examples of alternative nucleic acid backbones. Panel (b) shows the canonical nucleobases and two examples of alternative nucleobases that can be incorporated into a nucleic acid duplex. Panel (c) shows the interaction between three adenine oligomers and an alternative nucleobase. Panel (d) shows the interaction between oligomers of two alternative nucleobases and the formation of a hexmeric structure. (LNA: locked nucleic acid; CeNA: cyclohexene nucleic acid; GNA: glycol nucleic acid; PNA: peptide nucleic acid; P: 6-amino-5-nitro-2(1H)-pyridone; Z: 2-amino-imidazo[1,2-a]-1,3,5-triazin-4(8H)-one; N: cyanuric acid; M: aminopyrimidine)"
@image html images/structures.png "Chemical structures of alternative nucleic acids. Panel (a) shows examples of alternative nucleic acid backbones. Panel (b) shows the canonical nucleobases and two examples of alternative nucleobases that can be incorporated into a nucleic acid duplex. Panel (c) shows the interaction between three adenine oligomers and an alternative nucleobase. Panel (d) shows the interaction between oligomers of two alternative nucleobases and the formation of a hexmeric structure. (LNA: locked nucleic acid; CeNA: cyclohexene nucleic acid; GNA: glycol nucleic acid; PNA: peptide nucleic acid; P: 6-amino-5-nitro-2(1H)-pyridone; Z: 2-amino-imidazo[1,2-a]-1,3,5-triazin-4(8H)-one; I: cyanuric acid; E: aminopyrimidine)"
@image latex images/structures.png "Chemical structures of alternative nucleic acids. Panel (a) shows examples of alternative nucleic acid backbones. Panel (b) shows the canonical nucleobases and two examples of alternative nucleobases that can be incorporated into a nucleic acid duplex. Panel (c) shows the interaction between three adenine oligomers and an alternative nucleobase. Panel (d) shows the interaction between oligomers of two alternative nucleobases and the formation of a hexmeric structure. (LNA: locked nucleic acid; CeNA: cyclohexene nucleic acid; GNA: glycol nucleic acid; PNA: peptide nucleic acid; P: 6-amino-5-nitro-2(1H)-pyridone; Z: 2-amino-imidazo[1,2-a]-1,3,5-triazin-4(8H)-one; I: cyanuric acid; E: aminopyrimidine)"

@section algorithm Algorithm
The program builds nucleic acid according to the following algorithm:
Expand Down Expand Up @@ -80,14 +80,14 @@ Alternatively, open @a Anaconda @a Navigator ([details](https://docs.anaconda.co
In the Jupyter Notebook tab, click on @a Launch.
If a browser does not open automatically, you may need to open it this way:
@htmlonly <style>div.image img[src="navigator2.png"]{width:600px;}</style> @endhtmlonly
@image html navigator2.png "Launching Jupyter Notebook"
@image latex navigator2.png "Launching Jupyter Notebook"
@image html navigator2.png "Launching Jupyter notebook"
@image latex navigator2.png "Launching Jupyter notebook"

When a browser opens with the Jupyter page, it displays the folders in your computer. navigate to an appropriate folder
or create a new folder if needed, then click on @a New > @a python @a 3
@htmlonly <style>div.image img[src="jupyter.png"]{width:1000px;}</style> @endhtmlonly
@image html jupyter.png "Creating a New Jupyter Notebook"
@image latex jupyter.png "Creating a New Jupyter Notebook"
@image html jupyter.png "Creating a new Jupyter notebook"
@image latex jupyter.png "Creating a new Jupyter notebook"

This opens an empty notebook. Type the the following two lines in the first cell and run it. This should show
the graphical user interface of the program.
Expand All @@ -97,8 +97,8 @@ pnab.builder()
@endcode

@htmlonly <style>div.image img[src="notebook.png"]{width:1000px;}</style> @endhtmlonly
@image html notebook.png "Running the Graphical User Interface"
@image latex notebook.png "Running the Graphical User Interface"
@image html notebook.png "Running the graphical user interface"
@image latex notebook.png "Running the graphical user interface"

@subsection script Using a Python Script
The following python script would run the program to generate an RNA structure.
Expand Down Expand Up @@ -144,8 +144,8 @@ specific dihedral angles.


Uploading the geometries for the nucleobases may not be necessary. The program contains a library of the canonical nucelobases: adenine (A), guaninie (G), cytosine (C),
uracil (U), and thymine (T). It also contains two alternative nucleobases that can adopt the hexad geometry, namely, aminopyrimidine (M) and
cyanuric acid (N). If the user wants to construct a nucleic acid analog with alternative nucleobases, then the additional nucleobases must be defined as shown in the figure.
uracil (U), and thymine (T). It also contains two alternative nucleobases that can adopt the hexad geometry, namely, aminopyrimidine (E) and
cyanuric acid (I). If the user wants to construct a nucleic acid analog with alternative nucleobases, then the additional nucleobases must be defined as shown in the figure.
The ZP.yaml example file shows how to define new nucleobases. The Z nucleobase is defined below.

@htmlonly <style>div.image img[src="nucleobases.png"]{width:1000px;}</style> @endhtmlonly
Expand Down Expand Up @@ -206,8 +206,8 @@ The program will use the specified options for running. The time required to com
After it finishes, the program will display all the accepted candidates (if their are any) and their properties.

@htmlonly <style>div.image img[src="output.png"]{width:1000px;}</style> @endhtmlonly
@image html output.png "Example Results"
@image latex output.png "Example Results"
@image html output.png "Example results"
@image latex output.png "Example results"

The results are automatically downloaded as a zip file. Additionally, the output can be downloaded manually by clicking on
@a Download @a Output. Note that downloading the output is only useful when the program is run in the cloud. When it is run locally
Expand Down Expand Up @@ -419,7 +419,7 @@ Base modified_adenine:

These lines will add the nucleobase @a modified_adenine to the library of available nucleobases. For the name of the base, you
must not use any of the names already used in the library. Otherwise, your new base might be overwritten. The reserved names are the following:
@a A, @a G, @a C, @a T, @a U, @a N, and @a M. These names are case-insensitive.
@a A, @a G, @a C, @a T, @a U, @a I, and @a E. These names are case-insensitive.

Now that you defined a new nucleobase, you can use its name when you specify the strand:
@verbatim
Expand Down
6 changes: 3 additions & 3 deletions docs/html/examples.html
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@
<li>Runtime Parameters</li>
</ul>
<p>As shown in the above figure, specifying the backbone requires three parameters: A path to a file containing the three-dimesional structure of the backbone, two indices specifying the connection to the nucleobase, and two indices specifying the connections to the adjacent backbones. The structure of the backbone can be uploaded, and many formats (e.g. PDB) are accepted. Optional parameters include the indices of fixed rotatable bonds. This is useful when the number of rotatable bonds in the backbone are large and the search space need to be limited to specific dihedral angles.</p>
<p>Uploading the geometries for the nucleobases may not be necessary. The program contains a library of the canonical nucelobases: adenine (A), guaninie (G), cytosine (C), uracil (U), and thymine (T). It also contains two alternative nucleobases that can adopt the hexad geometry, namely, aminopyrimidine (M) and cyanuric acid (N). If the user wants to construct a nucleic acid analog with alternative nucleobases, then the additional nucleobases must be defined as shown in the figure. The ZP.yaml example file shows how to define new nucleobases. The Z nucleobase is defined below.</p>
<p>Uploading the geometries for the nucleobases may not be necessary. The program contains a library of the canonical nucelobases: adenine (A), guaninie (G), cytosine (C), uracil (U), and thymine (T). It also contains two alternative nucleobases that can adopt the hexad geometry, namely, aminopyrimidine (E) and cyanuric acid (I). If the user wants to construct a nucleic acid analog with alternative nucleobases, then the additional nucleobases must be defined as shown in the figure. The ZP.yaml example file shows how to define new nucleobases. The Z nucleobase is defined below.</p>
<p> <style>div.image img[src="nucleobases.png"]{width:1000px;}</style> </p><div class="image">
<img src="nucleobases.png" alt=""/>
<div class="caption">
Expand All @@ -116,7 +116,7 @@
<p> <style>div.image img[src="output.png"]{width:1000px;}</style> </p><div class="image">
<img src="output.png" alt=""/>
<div class="caption">
Example Results</div></div>
Example results</div></div>
<p>The results are automatically downloaded as a zip file. Additionally, the output can be downloaded manually by clicking on <em>Download</em> <em>Output</em>. Note that downloading the output is only useful when the program is run in the cloud. When it is run locally the output files are written in the folder where the Jupyter notebook was started.</p>
<p>The dropdown list contains all the accepted candidates ordered by the the total energy. The output data are the distance between between one terminal atom of the backbone and the periodic image of the other terminal atom in the adjacent backbone, the energy of the new bond and the new angles formed between two nucleotides, the energy of all rotatable bonds in the backbone, the van der Waals energy, and the total energy. These six terms correspond to distance and energy thresholds defined in the input options. Additionally, the output data include the values of the dihedral angles for the rotatable bonds determined during the conformation search procedure.</p>
<h1><a class="anchor" id="more"></a>
Expand Down Expand Up @@ -248,7 +248,7 @@ <h2><a class="anchor" id="bases"></a>
- 11
name: Q # One-letter name of the base
pair_name: T # One-letter name of the pairing base
</pre><p>These lines will add the nucleobase <em>modified_adenine</em> to the library of available nucleobases. For the name of the base, you must not use any of the names already used in the library. Otherwise, your new base might be overwritten. The reserved names are the following: <em>A</em>, <em>G</em>, <em>C</em>, <em>T</em>, <em>U</em>, <em>N</em>, and <em>M</em>. These names are case-insensitive.</p>
</pre><p>These lines will add the nucleobase <em>modified_adenine</em> to the library of available nucleobases. For the name of the base, you must not use any of the names already used in the library. Otherwise, your new base might be overwritten. The reserved names are the following: <em>A</em>, <em>G</em>, <em>C</em>, <em>T</em>, <em>U</em>, <em>I</em>, and <em>E</em>. These names are case-insensitive.</p>
<p>Now that you defined a new nucleobase, you can use its name when you specify the strand: </p><pre class="fragment"> strand: CGCQUQTGQG
</pre><p>You can define additional nucleobases in the same way.</p>
<h2><a class="anchor" id="lib"></a>
Expand Down
2 changes: 1 addition & 1 deletion docs/html/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ <h1><a class="anchor" id="analogs"></a>
<p> <style>div.image img[src="structures.png"]{width:800px;}</style> </p><div class="image">
<img src="structures.png" alt=""/>
<div class="caption">
Chemical structures of alternative nucleic acids. Panel (a) shows examples of alternative nucleic acid backbones. Panel (b) shows the canonical nucleobases and two examples of alternative nucleobases that can be incorporated into a nucleic acid duplex. Panel (c) shows the interaction between three adenine oligomers and an alternative nucleobase. Panel (d) shows the interaction between oligomers of two alternative nucleobases and the formation of a hexmeric structure. (LNA: locked nucleic acid; CeNA: cyclohexene nucleic acid; GNA: glycol nucleic acid; PNA: peptide nucleic acid; P: 6-amino-5-nitro-2(1H)-pyridone; Z: 2-amino-imidazo[1,2-a]-1,3,5-triazin-4(8H)-one; N: cyanuric acid; M: aminopyrimidine)</div></div>
Chemical structures of alternative nucleic acids. Panel (a) shows examples of alternative nucleic acid backbones. Panel (b) shows the canonical nucleobases and two examples of alternative nucleobases that can be incorporated into a nucleic acid duplex. Panel (c) shows the interaction between three adenine oligomers and an alternative nucleobase. Panel (d) shows the interaction between oligomers of two alternative nucleobases and the formation of a hexmeric structure. (LNA: locked nucleic acid; CeNA: cyclohexene nucleic acid; GNA: glycol nucleic acid; PNA: peptide nucleic acid; P: 6-amino-5-nitro-2(1H)-pyridone; Z: 2-amino-imidazo[1,2-a]-1,3,5-triazin-4(8H)-one; I: cyanuric acid; E: aminopyrimidine)</div></div>
<h1><a class="anchor" id="algorithm"></a>
Algorithm</h1>
<p>The program builds nucleic acid according to the following algorithm:</p>
Expand Down
Binary file modified docs/html/notebook.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/html/nucleobases.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/html/output.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/html/runtime_parameters1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/html/runtime_parameters2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/html/structures.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions docs/html/trying_and_installing.html
Original file line number Diff line number Diff line change
Expand Up @@ -104,17 +104,17 @@ <h2><a class="anchor" id="GUI"></a>
<p> In the Jupyter Notebook tab, click on <em>Launch</em>. If a browser does not open automatically, you may need to open it this way: <style>div.image img[src="navigator2.png"]{width:600px;}</style> </p><div class="image">
<img src="navigator2.png" alt=""/>
<div class="caption">
Launching Jupyter Notebook</div></div>
Launching Jupyter notebook</div></div>
<p>When a browser opens with the Jupyter page, it displays the folders in your computer. navigate to an appropriate folder or create a new folder if needed, then click on <em>New</em> &gt; <em>python</em> <em>3</em> <style>div.image img[src="jupyter.png"]{width:1000px;}</style> </p><div class="image">
<img src="jupyter.png" alt=""/>
<div class="caption">
Creating a New Jupyter Notebook</div></div>
Creating a new Jupyter notebook</div></div>
<p>This opens an empty notebook. Type the the following two lines in the first cell and run it. This should show the graphical user interface of the program. </p><div class="fragment"><div class="line">import pnab</div>
<div class="line">pnab.builder()</div>
</div><!-- fragment --><p> <style>div.image img[src="notebook.png"]{width:1000px;}</style> </p><div class="image">
<img src="notebook.png" alt=""/>
<div class="caption">
Running the Graphical User Interface</div></div>
Running the graphical user interface</div></div>
<h2><a class="anchor" id="script"></a>
Using a Python Script</h2>
<p>The following python script would run the program to generate an RNA structure. The file <em>RNA.yaml</em> is an example file available in the program. </p><div class="fragment"><div class="line"><span class="keyword">import</span> pnab</div>
Expand Down
6 changes: 3 additions & 3 deletions docs/latex/examples.tex
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

As shown in the above figure, specifying the backbone requires three parameters\+: A path to a file containing the three-\/dimesional structure of the backbone, two indices specifying the connection to the nucleobase, and two indices specifying the connections to the adjacent backbones. The structure of the backbone can be uploaded, and many formats (e.\+g. P\+DB) are accepted. Optional parameters include the indices of fixed rotatable bonds. This is useful when the number of rotatable bonds in the backbone are large and the search space need to be limited to specific dihedral angles.

Uploading the geometries for the nucleobases may not be necessary. The program contains a library of the canonical nucelobases\+: adenine (A), guaninie (G), cytosine (C), uracil (U), and thymine (T). It also contains two alternative nucleobases that can adopt the hexad geometry, namely, aminopyrimidine (M) and cyanuric acid (N). If the user wants to construct a nucleic acid analog with alternative nucleobases, then the additional nucleobases must be defined as shown in the figure. The Z\+P.\+yaml example file shows how to define new nucleobases. The Z nucleobase is defined below.
Uploading the geometries for the nucleobases may not be necessary. The program contains a library of the canonical nucelobases\+: adenine (A), guaninie (G), cytosine (C), uracil (U), and thymine (T). It also contains two alternative nucleobases that can adopt the hexad geometry, namely, aminopyrimidine (E) and cyanuric acid (I). If the user wants to construct a nucleic acid analog with alternative nucleobases, then the additional nucleobases must be defined as shown in the figure. The Z\+P.\+yaml example file shows how to define new nucleobases. The Z nucleobase is defined below.


\begin{DoxyImage}
Expand Down Expand Up @@ -63,7 +63,7 @@

\begin{DoxyImage}
\includegraphics[width=\textwidth,height=\textheight/2,keepaspectratio=true]{output.png}
\doxyfigcaption{Example Results}
\doxyfigcaption{Example results}
\end{DoxyImage}


Expand Down Expand Up @@ -229,7 +229,7 @@
\end{DoxyVerb}


These lines will add the nucleobase {\itshape modified\+\_\+adenine} to the library of available nucleobases. For the name of the base, you must not use any of the names already used in the library. Otherwise, your new base might be overwritten. The reserved names are the following\+: {\itshape A}, {\itshape G}, {\itshape C}, {\itshape T}, {\itshape U}, {\itshape N}, and {\itshape M}. These names are case-\/insensitive.
These lines will add the nucleobase {\itshape modified\+\_\+adenine} to the library of available nucleobases. For the name of the base, you must not use any of the names already used in the library. Otherwise, your new base might be overwritten. The reserved names are the following\+: {\itshape A}, {\itshape G}, {\itshape C}, {\itshape T}, {\itshape U}, {\itshape I}, and {\itshape E}. These names are case-\/insensitive.

Now that you defined a new nucleobase, you can use its name when you specify the strand\+: \begin{DoxyVerb} strand: CGCQUQTGQG
\end{DoxyVerb}
Expand Down
2 changes: 1 addition & 1 deletion docs/latex/index.tex
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

\begin{DoxyImage}
\includegraphics[width=\textwidth,height=\textheight/2,keepaspectratio=true]{structures.png}
\doxyfigcaption{Chemical structures of alternative nucleic acids. Panel (a) shows examples of alternative nucleic acid backbones. Panel (b) shows the canonical nucleobases and two examples of alternative nucleobases that can be incorporated into a nucleic acid duplex. Panel (c) shows the interaction between three adenine oligomers and an alternative nucleobase. Panel (d) shows the interaction between oligomers of two alternative nucleobases and the formation of a hexmeric structure. (L\+NA\+: locked nucleic acid; Ce\+NA\+: cyclohexene nucleic acid; G\+NA\+: glycol nucleic acid; P\+NA\+: peptide nucleic acid; P\+: 6-\/amino-\/5-\/nitro-\/2(1H)-\/pyridone; Z\+: 2-\/amino-\/imidazo\mbox{[}1,2-\/a\mbox{]}-\/1,3,5-\/triazin-\/4(8H)-\/one; N\+: cyanuric acid; M\+: aminopyrimidine)}
\doxyfigcaption{Chemical structures of alternative nucleic acids. Panel (a) shows examples of alternative nucleic acid backbones. Panel (b) shows the canonical nucleobases and two examples of alternative nucleobases that can be incorporated into a nucleic acid duplex. Panel (c) shows the interaction between three adenine oligomers and an alternative nucleobase. Panel (d) shows the interaction between oligomers of two alternative nucleobases and the formation of a hexmeric structure. (L\+NA\+: locked nucleic acid; Ce\+NA\+: cyclohexene nucleic acid; G\+NA\+: glycol nucleic acid; P\+NA\+: peptide nucleic acid; P\+: 6-\/amino-\/5-\/nitro-\/2(1H)-\/pyridone; Z\+: 2-\/amino-\/imidazo\mbox{[}1,2-\/a\mbox{]}-\/1,3,5-\/triazin-\/4(8H)-\/one; I\+: cyanuric acid; E\+: aminopyrimidine)}
\end{DoxyImage}
\hypertarget{index_algorithm}{}\doxysubsection{Algorithm}\label{index_algorithm}
The program builds nucleic acid according to the following algorithm\+:
Expand Down
Binary file modified docs/latex/notebook.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/latex/nucleobases.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/latex/output.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 8705ebc

Please sign in to comment.