Skip to content

Commit 388bf6b

Browse files
committed
Merge branch 'main' of https://github.com/OMaraLab/polyconstruct into rename-polybuild-examples
2 parents 0c485b3 + ceaf33a commit 388bf6b

File tree

14 files changed

+34
-2422
lines changed

14 files changed

+34
-2422
lines changed

.DS_Store

-6 KB
Binary file not shown.

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,3 +146,7 @@ polyconf_examples/PMMA_*
146146
polytop_examples/data/ethylamine_dendrimer.*
147147
polytop_examples/data/four_arm_star.*
148148
polytop_examples/data/pei_linear_polymer.*
149+
150+
# OS X nonsense
151+
152+
.DS_store

docs/source/getting_started.rst

Lines changed: 30 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,29 @@
1-
PolyConstruct
1+
Getting Started with PolyConstruct
22
===============
33

44
This page details how to get started with *PolyConstruct*.
55

66
The design, testing, and validation of *PolyConstruct* is detailed in the manuscript *"PolyConstruct:
77
adapting biomolecular simulation pipelines for polymers with PolyBuild, PolyConf and PolyTop"*, by
8-
***Rangika Munaweera**, **Ada Quinn**, Luna Morrow, Richard A Morris, Megan L O’Mara*
8+
*Rangika Munaweera, Ada Quinn, Luna Morrow, Richard A Morris, and Megan L O’Mara*
99

10-
Getting Started
11-
===============
1210

1311
**Installing PolyConstruct:**
1412

15-
From your home directory, clone *PolyConstruct* from GitHub:
13+
From your home directory, clone PolyConstruct from Git:
1614

1715
.. code-block:: python
1816
1917
cd ~
2018
git clone https://github.com/OMaraLab/polyconstruct.git
2119
22-
Then navigate to `~/PolyConstruct`:
20+
Then navigate to polyconstruct:
2321

2422
.. code-block:: python
2523
2624
cd polyconstruct
2725
28-
To setup an environment for *PolyConstruct*, run:
26+
To setup an environment for polyconstruct, run:
2927

3028
.. code-block:: python
3129
@@ -34,7 +32,7 @@ To setup an environment for *PolyConstruct*, run:
3432
3533
pip install -r requirements.txt
3634
37-
Then, build the *PolyTop*, *PolyConf* and *PolyBuild* packages:
35+
Then, build the PolyTop, PolyConf and PolyBuild packages:
3836

3937
.. code-block:: python
4038
@@ -86,8 +84,8 @@ Monomer design
8684
For both *PolyBuild* and *PolyTop*, monomer parameters should include all monomer atoms that will be present
8785
in the simulation model of the final polymer, and dummy atoms correesponding to connectivity with adjacent monomers.
8886
The method for preparing monomer .itp depends on the choice of force field, and a number of suitable automated tools
89-
exist for small molecule parameterization such as the `Automated Topology Builder <https://atb.uq.edu.au>`_,
90-
`antechamber <https://ambermd.org/antechamber/ac.html>`_, and `LigParGen <https://zarbi.chem.yale.edu/ligpargen/>`_.
87+
exist for small molecule parameterization such as the `Automated Topology Builder <https://atb.uq.edu.au>_`,
88+
`antechamber <https://ambermd.org/antechamber/ac.html>_`, and `LigParGen https://zarbi.chem.yale.edu/ligpargen/_`.
9189

9290
Monomer coordinates and parameters used as inputs should be designed to reflect the state of the monomer
9391
in the mature polymer chain, rather than the isolated monomer molecule prior to polymerization. For example,
@@ -98,8 +96,9 @@ and not the ammonium and carboxylate groups found in the precursor amino acids.
9896
Monomer parameters should be designed in a manner consistent with the desired force field. We recommend you
9997
do not combine monomer parameters from different force field families in a single polymer.
10098

99+
101100
For *PolyConf* These coordinate files should represent a sensible monomer geometry as could be found in the final
102-
polymer. These might be created using tools like `ChimeraX <https://www.cgl.ucsf.edu/chimerax/>`_, with theoretical ideal bond lengths and
101+
polymer. These might be created using tools like ChimeraX, with theoretical ideal bond lengths and
103102
angles, by geometry optimization, or generated by automated parameterization tools. Additionally,
104103
it is often convenient if the monomer is in a conformation where atoms corresponding to adjacent monomers
105104
are as far as possible from other atoms, and pointed away from other attachment points.
@@ -112,8 +111,7 @@ Worked Examples
112111
PolyConf creates polymer coordinate files through the tiling and manipulation of monomer pdb files.
113112

114113
There are several detailed examples of the use of PolyConf to create ensembles of starting
115-
conformations for a series of increasingly complex polymer architectures. These are contained in the
116-
*PolyConf* repository in the folder `polyconstruct/polyconf_examples/` contained in the
114+
conformations for a series of increasingly complex polymer architectures. These are contained in the PolyConf repository in the folder 'polyconstruct/polyconf_examples/' contained in the
117115

118116
Here is one simple example, showing the construction of a linear polyethylenimine 128-mer.
119117

@@ -190,31 +188,18 @@ Here is one simple example, showing the construction of a linear polyethylenimin
190188
# end of example script
191189
192190
191+
**PolyBuild**
193192

193+
Example input itp files and the resulting rtp database entries are presented in the folder `polybuild_examples/RTP_entries`
194194

195-
**PolyTop**
195+
RTP entries
196196

197+
**PolyTop**
197198

198-
.. note::
199-
The import path provided in the examples below is *different* to the path
200-
in the examples contained within 'polyconstruct/data_paper_examples/', as
201-
the path used to locate modules from within the package structure is
202-
different. You must use the structure in the examples below for the module
203-
import to be correctly resolved.
204199

205200

206201
Simple example - construction of a linear homopolymer:
207202

208-
.. note::
209-
Note that when more than one type of junction exists within a PolyTop polymer,
210-
it is important that each junction type is given a unique name. In the case where
211-
there exist multiple junctions in either molecule sharing the same name, the specific
212-
junctions chosen will be randomly distributed among junctions with the same name,
213-
allowing for stochastic extension of polymers. For repeatability it is therefore
214-
necessary to use a consistent seed value (in python), and use PolyTop as a python
215-
library rather than from the command line. If an exact structure is desired instead,
216-
simply ensure that each junction type has a unique name that does not allow for any
217-
discrepancy in exactly which junctions are joined and where.
218203

219204

220205
.. code-block:: python
@@ -252,6 +237,9 @@ Simple example - construction of a linear homopolymer:
252237
Visualize.polymer(polymer,infer_bond_order=False).draw2D('data_paper_examples/pei_linear_polymer.png',(400,300))
253238
254239
240+
.. note::
241+
Note that when more than one type of junction exists within a PolyTop polymer,
242+
it is important that each junction type is given a unique name.
255243

256244

257245
Complex example - construction of a 4-arm PEG star polymer from single monomeric units:
@@ -266,9 +254,9 @@ Complex example - construction of a 4-arm PEG star polymer from single monomeric
266254
from polytop.Topology import Topology
267255
268256
# Load in monomer topologies from ITP files
269-
ethanol = Topology.from_ITP("data_paper_examples/extended_ethanol.itp") # main arm monomer
270-
methane = Topology.from_ITP("data_paper_examples/extended_methane.itp") # terminal monomer
271-
neopentane = Topology.from_ITP("data_paper_examples/extended_neopentane.itp") # central monomer
257+
ethanol = Topology.from_ITP("polytop_examples/data/extended_ethanol.itp") # main arm monomer
258+
methane = Topology.from_ITP("polytop_examples/data/extended_methane.itp") # terminal monomer
259+
neopentane = Topology.from_ITP("polytop_examples/data/extended_neopentane.itp") # central monomer
272260
273261
# Create junctions for each monomer with the bonding atom and then the leaving
274262
# atom specified, in that order, with a unique name. Note how each junction
@@ -331,18 +319,16 @@ Complex example - construction of a 4-arm PEG star polymer from single monomeric
331319
four_polymer.topology.title = "four arm star polymer" # renames the ITP header and image
332320
333321
# save the polymer to a file and visualise the structure with RDKit for an easy visual structure check
334-
four_polymer.save_to_file('data_paper_examples/four_arm_star_overlapped_monomers.json') # text dump
335-
four_polymer.topology.to_ITP('data_paper_examples/four_arm_star_overlapped_monomers.itp')
336-
Visualize.polymer(four_polymer,infer_bond_order=False).draw2D('data_paper_examples/four_arm_star_overlapped_monomers.png',(400,300))
322+
four_polymer.save_to_file('polytop_examples/data/four_arm_star.json') # text dump
323+
four_polymer.topology.to_ITP('polytop_examples/data/four_arm_star.itp')
324+
Visualize.polymer(four_polymer,infer_bond_order=False).draw2D('polytop_examples/data/four_arm_star.png',(800,600))
337325
338-
All of the monomer ITP files used in the above two examples, and the resulting
339-
polymer files, are also readily available at 'polyconstruct/data_paper_examples/'.
326+
--------------------------------------------------------------------------------------
340327

328+
Find the above and additional worked examples as executable Python scripts on the `PolyConstruct GitHub repository <https://github.com/OMaraLab/polyconstruct>`_.
341329

342-
--------------------------------------------------------------------------------------
330+
Examples for *PolyTop* are available at `polyconstruct/polytop_examples/`
331+
332+
Examples for *PolyConf* at `polyconstruct/polyconf_examples/`
343333

344-
Find the above and additional worked examples as executable Python scripts or Jupyter
345-
Notebooks on the `PolyConstruct GitHub repository <https://github.com/OMaraLab/polyconstruct>`_.
346-
Examples for PolyTop are available at 'polyconstruct/paper_worked_examples.ipynb'
347-
and for PolyConf at 'polyconstruct/polyconf_examples/'; while instructions to
348-
use the two PolyBuild scripts are included under the :ref:`PolyBuild` documentation.
334+
Instructions to use *PolyBuild* are included under the :ref:`PolyBuild` documentation.

polybuild/.DS_Store

-6 KB
Binary file not shown.

polybuild_examples/.DS_Store

-6 KB
Binary file not shown.

0 commit comments

Comments
 (0)