├── LICENSE ├── README.md ├── pypolybuilder ├── .gitignore ├── Angle.py ├── AngleParams.py ├── Atom.py ├── Bond.py ├── BondParams.py ├── Branch.py ├── BuildingBlock.py ├── BuildingBlockFactory.py ├── Connection.py ├── Dendrimer.py ├── Dihedral.py ├── DihedralParams.py ├── Exclusions.py ├── FFParams.py ├── GenerateGeometry.py ├── Itp.py ├── OptimizeGeometry.py ├── PSO.py ├── Polymer.py ├── Printer.py ├── TorsionOpt.py ├── Utils.py ├── __init__.py ├── __main__.py ├── __pycache__ │ ├── Angle.cpython-38.pyc │ ├── AngleParams.cpython-38.pyc │ ├── Atom.cpython-38.pyc │ ├── Bond.cpython-38.pyc │ ├── BondParams.cpython-38.pyc │ ├── Branch.cpython-38.pyc │ ├── BuildingBlock.cpython-38.pyc │ ├── BuildingBlockFactory.cpython-38.pyc │ ├── Connection.cpython-38.pyc │ ├── Dendrimer.cpython-38.pyc │ ├── Dihedral.cpython-38.pyc │ ├── DihedralParams.cpython-38.pyc │ ├── Exclusions.cpython-38.pyc │ ├── FFParams.cpython-38.pyc │ ├── Itp.cpython-38.pyc │ ├── OptimizeGeometry.cpython-38.pyc │ ├── Polymer.cpython-38.pyc │ ├── Printer.cpython-38.pyc │ ├── TorsionOpt.cpython-38.pyc │ ├── Utils.cpython-38.pyc │ ├── constants.cpython-38.pyc │ ├── pypoly_io.cpython-38.pyc │ ├── pypolybuilder.cpython-38.pyc │ └── vbga.cpython-38.pyc ├── asciilogo.txt ├── connect.in ├── constants.py ├── contributors.txt ├── demo │ ├── .gitignore │ └── gromacs_format │ │ ├── dendrimer │ │ ├── PAMAM │ │ │ ├── core_PAMAM.itp │ │ │ ├── how_to_run_this_example.txt │ │ │ ├── inter_PAMAM-protonated.itp │ │ │ ├── inter_PAMAM.itp │ │ │ ├── list_param.itp │ │ │ ├── new-core_PAMAM-protonated.itp │ │ │ ├── old-core_PAMAM-protonated.itp │ │ │ ├── run │ │ │ │ ├── PAMAM.sh │ │ │ │ ├── PAMAM.top │ │ │ │ └── mdp │ │ │ │ │ ├── em.mdp │ │ │ │ │ ├── ion.mdp │ │ │ │ │ ├── md.mdp │ │ │ │ │ ├── minim.mdp │ │ │ │ │ ├── npt.mdp │ │ │ │ │ └── nvt.mdp │ │ │ ├── ter_PAMAM-protonated.itp │ │ │ └── ter_PAMAM.itp │ │ ├── PAMAMPPI_Janus_like │ │ │ ├── core_PAMAM.itp │ │ │ ├── how_to_run_this_example.txt │ │ │ ├── inter_PAMAM.itp │ │ │ ├── inter_PPI.itp │ │ │ ├── list_param.itp │ │ │ ├── run │ │ │ │ ├── PAMAM_PPI.sh │ │ │ │ ├── PAMAM_PPI.top │ │ │ │ └── mdp │ │ │ │ │ ├── bck.em1.mdp │ │ │ │ │ ├── bck.em2.mdp │ │ │ │ │ ├── bck.md.mdp │ │ │ │ │ ├── bck.npt300.mdp │ │ │ │ │ ├── bck.nvt100.mdp │ │ │ │ │ ├── bck.nvt200.mdp │ │ │ │ │ ├── bck.nvt300.mdp │ │ │ │ │ ├── em.mdp │ │ │ │ │ ├── em1.mdp │ │ │ │ │ ├── em2.mdp │ │ │ │ │ ├── ion.mdp │ │ │ │ │ ├── md.mdp │ │ │ │ │ ├── minim.mdp │ │ │ │ │ ├── npt.mdp │ │ │ │ │ ├── npt300.mdp │ │ │ │ │ ├── nvt.mdp │ │ │ │ │ ├── nvt100.mdp │ │ │ │ │ ├── nvt200.mdp │ │ │ │ │ └── nvt300.mdp │ │ │ ├── ter_PAMAM.itp │ │ │ └── ter_PPI.itp │ │ ├── PAMAM_fix_connectors │ │ │ ├── default.gro │ │ │ ├── default.itp │ │ │ ├── how_to_run_this_example.txt │ │ │ └── list_param.itp │ │ ├── PPI │ │ │ ├── core_PPI-protonated.itp │ │ │ ├── core_PPI.itp │ │ │ ├── how_to_run_this_example.txt │ │ │ ├── inter_PPI-protonated.itp │ │ │ ├── inter_PPI.itp │ │ │ ├── list_param.itp │ │ │ ├── run │ │ │ │ ├── PPI.sh │ │ │ │ ├── PPI.top │ │ │ │ └── mdp │ │ │ │ │ ├── em.mdp │ │ │ │ │ ├── ion.mdp │ │ │ │ │ ├── md.mdp │ │ │ │ │ ├── minim.mdp │ │ │ │ │ ├── npt.mdp │ │ │ │ │ └── nvt.mdp │ │ │ ├── ter_PPI-protonated.itp │ │ │ └── ter_PPI.itp │ │ └── SPL7013 │ │ │ ├── core_BDA.itp │ │ │ ├── how_to_run_this_example.txt │ │ │ ├── inter_LYS.itp │ │ │ ├── list_param.itp │ │ │ ├── run │ │ │ ├── SPL.sh │ │ │ ├── SPL.top │ │ │ └── mdp │ │ │ │ ├── bck.em1.mdp │ │ │ │ ├── bck.em2.mdp │ │ │ │ ├── bck.md.mdp │ │ │ │ ├── bck.npt300.mdp │ │ │ │ ├── bck.nvt100.mdp │ │ │ │ ├── bck.nvt200.mdp │ │ │ │ ├── bck.nvt300.mdp │ │ │ │ ├── em.mdp │ │ │ │ ├── em1.mdp │ │ │ │ ├── em2.mdp │ │ │ │ ├── ion.mdp │ │ │ │ ├── md.mdp │ │ │ │ ├── minim.mdp │ │ │ │ ├── npt.mdp │ │ │ │ ├── npt300.mdp │ │ │ │ ├── nvt.mdp │ │ │ │ ├── nvt100.mdp │ │ │ │ ├── nvt200.mdp │ │ │ │ └── nvt300.mdp │ │ │ └── ter_NDSA.itp │ │ ├── polymer │ │ ├── Octane │ │ │ ├── C2.itp │ │ │ ├── C3.itp │ │ │ ├── connect.in │ │ │ ├── how_to_run_this_example.txt │ │ │ └── list_param.itp │ │ ├── PAMAM_PPI_Half │ │ │ ├── connect.in │ │ │ ├── coreHalf_PAMAM.itp │ │ │ ├── coreHalf_PPI.itp │ │ │ ├── how_to_run_this_example.txt │ │ │ ├── inter_PAMAM.itp │ │ │ ├── inter_PPI.itp │ │ │ ├── list_param.itp │ │ │ ├── run │ │ │ │ ├── PAMAMPPI.top │ │ │ │ ├── PAMAM_PPI_half.sh │ │ │ │ └── mdp │ │ │ │ │ ├── em.mdp │ │ │ │ │ ├── ion.mdp │ │ │ │ │ ├── md.mdp │ │ │ │ │ ├── minim.mdp │ │ │ │ │ ├── npt.mdp │ │ │ │ │ └── nvt.mdp │ │ │ ├── ter_PAMAM.itp │ │ │ └── ter_PPI.itp │ │ ├── PAMAM_PolyEtyleneglycol │ │ │ ├── connect.in │ │ │ ├── coreHalf_PAMAM.itp │ │ │ ├── etyleneglycol.itp │ │ │ ├── how_to_run_this_example.txt │ │ │ ├── inter_PAMAM.itp │ │ │ ├── list_param.itp │ │ │ ├── run │ │ │ │ ├── PAMAM_PEG.sh │ │ │ │ ├── PAMAM_PEG.top │ │ │ │ └── mdp │ │ │ │ │ ├── em.mdp │ │ │ │ │ ├── ion.mdp │ │ │ │ │ ├── md.mdp │ │ │ │ │ ├── minim.mdp │ │ │ │ │ ├── npt.mdp │ │ │ │ │ └── nvt.mdp │ │ │ └── ter_PAMAM.itp │ │ ├── PNIPAM │ │ │ ├── bb_PNIP-end.itp │ │ │ ├── bb_PNIP-start.itp │ │ │ ├── bb_PNIP.itp │ │ │ ├── connect-5.in │ │ │ ├── connect.in │ │ │ ├── how_to_run_this_example.txt │ │ │ ├── list_param.itp │ │ │ └── run │ │ │ │ ├── PNIPAM.sh │ │ │ │ ├── PNIPAM.top │ │ │ │ └── mdp │ │ │ │ ├── em.mdp │ │ │ │ ├── ion.mdp │ │ │ │ ├── md.mdp │ │ │ │ ├── minim.mdp │ │ │ │ ├── npt.mdp │ │ │ │ └── nvt.mdp │ │ ├── PNIPAM_fix_connection │ │ │ ├── connect-4.in │ │ │ ├── default.gro │ │ │ ├── default.itp │ │ │ ├── how_to_run_this_example.txt │ │ │ └── list_param.itp │ │ ├── PolyEtyleneglycol │ │ │ ├── connect.in │ │ │ ├── etyleneglycol-end.itp │ │ │ ├── etyleneglycol-start.itp │ │ │ ├── etyleneglycol.itp │ │ │ ├── how_to_run_this_example.txt │ │ │ ├── list_param.itp │ │ │ └── run │ │ │ │ ├── .PAMAM.sh.swp │ │ │ │ ├── PEG.sh │ │ │ │ ├── PEG5x.top │ │ │ │ └── mdp │ │ │ │ ├── em.mdp │ │ │ │ ├── ion.mdp │ │ │ │ ├── md.mdp │ │ │ │ ├── minim.mdp │ │ │ │ ├── npt.mdp │ │ │ │ └── nvt.mdp │ │ ├── PolyUrethane │ │ │ ├── bb_PU_B.itp │ │ │ ├── bb_PU_E.itp │ │ │ ├── bb_PU_I.itp │ │ │ ├── connect-3.in │ │ │ ├── connect1.in │ │ │ ├── connect2.in │ │ │ ├── connect3.in │ │ │ ├── how_to_run_this_example.txt │ │ │ ├── list_param.itp │ │ │ └── run │ │ │ │ ├── PU.sh │ │ │ │ ├── PU3x.top │ │ │ │ └── mdp │ │ │ │ ├── em.mdp │ │ │ │ ├── em1.mdp │ │ │ │ ├── em2.mdp │ │ │ │ ├── ion.mdp │ │ │ │ ├── md.mdp │ │ │ │ ├── minim.mdp │ │ │ │ ├── npt.mdp │ │ │ │ ├── npt300.mdp │ │ │ │ ├── nvt.mdp │ │ │ │ ├── nvt100.mdp │ │ │ │ ├── nvt200.mdp │ │ │ │ └── nvt300.mdp │ │ ├── Poly_p-benzamide │ │ │ ├── bb_PPD_B.itp │ │ │ ├── bb_PPD_I.itp │ │ │ ├── bb_TCO_E.itp │ │ │ ├── bb_TCO_I.itp │ │ │ ├── connect-4.in │ │ │ ├── connect.in │ │ │ ├── how_to_run_this_example.txt │ │ │ └── list_param.itp │ │ └── Toy_Ciclic_Polymer │ │ │ ├── connect.in │ │ │ ├── connect_BBs.in │ │ │ ├── connect_arm.in │ │ │ ├── connect_ring.in │ │ │ ├── default.gro │ │ │ ├── default.itp │ │ │ ├── etyleneglycol.itp │ │ │ ├── how_to_run_this_example.txt │ │ │ ├── list_param.itp │ │ │ ├── nc3.itp │ │ │ ├── ring.itp │ │ │ ├── run │ │ │ ├── mdp │ │ │ │ ├── em.mdp │ │ │ │ ├── ion.mdp │ │ │ │ ├── md.mdp │ │ │ │ ├── minim.mdp │ │ │ │ ├── npt.mdp │ │ │ │ └── nvt.mdp │ │ │ ├── toy.sh │ │ │ └── toy.top │ │ │ └── ter_etyleneglycol.itp │ │ └── test_tutorials.py ├── gromos2016h66.ff │ ├── 2016h66_orga.rtp │ ├── aminoacids.c.tdb │ ├── aminoacids.n.tdb │ ├── aminoacids.rtp │ ├── atomtypes.atp │ ├── elements.dat │ ├── ff_dum.itp │ ├── ffbonded.itp │ ├── ffnonbonded.itp │ ├── forcefield.itp │ ├── ions.itp │ ├── residuetypes.dat │ ├── spc.itp │ ├── specbond.dat │ └── xlateat.dat ├── init.py ├── pypoly_io.py ├── pypolybuilder.py ├── vbga.py └── vbga_u.py ├── setup.cfg ├── setup.py ├── tests ├── .coverage ├── angleTests.py ├── bb_cco.itp ├── bb_h.itp ├── bb_oh.itp ├── bondTests.py ├── buildingBlockFactoryTests.py ├── buildingBlockTests.py ├── connect.in ├── coords.gro ├── default.itp ├── dendritest.py ├── htmlcov │ ├── _home_vitor_dendribuilder_BuildingBlock.html │ ├── _home_vitor_dendribuilder_BuildingBlockFactory.html │ ├── _home_vitor_dendribuilder_angle.html │ ├── _home_vitor_dendribuilder_angle_params.html │ ├── _home_vitor_dendribuilder_atom.html │ ├── _home_vitor_dendribuilder_bond.html │ ├── _home_vitor_dendribuilder_bond_params.html │ ├── _home_vitor_dendribuilder_branch.html │ ├── _home_vitor_dendribuilder_connection.html │ ├── _home_vitor_dendribuilder_dendrimer.html │ ├── _home_vitor_dendribuilder_dihe_params.html │ ├── _home_vitor_dendribuilder_dihedral.html │ ├── _home_vitor_dendribuilder_exclusions.html │ ├── _home_vitor_dendribuilder_ff_params.html │ ├── _home_vitor_dendribuilder_itp.html │ ├── _home_vitor_dendribuilder_polymer.html │ ├── _home_vitor_dendribuilder_utils.html │ ├── angleTests.html │ ├── bondTests.html │ ├── buildingBlockFactoryTests.html │ ├── buildingBlockTests.html │ ├── coverage_html.js │ ├── dendritest.html │ ├── index.html │ ├── jquery.hotkeys.js │ ├── jquery.isonscreen.js │ ├── jquery.min.js │ ├── jquery.tablesorter.min.js │ ├── keybd_closed.png │ ├── keybd_open.png │ ├── polymerTests.html │ ├── status.dat │ ├── style.css │ └── testEnv.html ├── list_param.itp ├── polymerTests.py └── testEnv.py └── userGuide ├── Cyclic_Pol └── Cyclic_Pol.tex ├── Octane └── Octane.tex ├── PAMAM ├── PAMAM.pdf ├── PAMAM.tex ├── PAMAMBBs.png ├── PAMAMG2.png ├── PAMAMGs.pdf └── PAMAMSOL.pdf ├── PAMAM_PEG ├── PAMAMPEG.png ├── PAMAMPEG2.png ├── PAMAMPEGBBs.png ├── PAMAMPEGHalf.png ├── PAMAM_PEG.tex ├── PAMAM_PEG_PPB.pdf └── PAMAM_PEG_SOL.pdf ├── PAMAM_PPI-Janus ├── JANUSBBs.png ├── JANUSG1.png ├── JANUSPAMAMhalf.png ├── PAMAM_PPI-Janus.tex ├── PAMAM_PPI.pdf └── PAMAM_PPISOL.pdf ├── PAMAM_PPI-half ├── PAMAMPPIBBs.png ├── PAMAMPPIHalfs.png ├── PAMAMPPIPOL.png ├── PAMAMPPIPPB.pdf ├── PAMAMPPISOL.pdf └── PAMAM_PPI-half.tex ├── PEG ├── PEG.png ├── PEG.tex ├── PEGBBs.png ├── PEGPPB.png └── PEGSOL.png ├── PNIPAM ├── PNIPAM.tex ├── PNIPAMBBs.png ├── PNIPAMPOL.png ├── PNIPAMPPB.pdf ├── PNIPAMSIZE.pdf └── PNIPAMSOL.pdf ├── PPI ├── PPI.pdf ├── PPI.tex ├── PPIBBs.png ├── PPIG1.png └── PPISOL.pdf ├── Poly_Benzamide └── PBZ.tex ├── SPL7013 ├── SPL1.pdf ├── SPL2.pdf ├── SPL7013.tex ├── SPL7013BBs.png ├── SPL7013G1.png └── SPLSOL.pdf ├── userGuide.aux ├── userGuide.log ├── userGuide.pdf ├── userGuide.synctex.gz ├── userGuide.tex └── userGuide.toc /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 mssm-labmmol 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # pypolybuilder 2 | [![DOI:10.1021/acs.jcim.0c01438](https://img.shields.io/badge/DOI-10.1021%2Facs.jcim.0c01438-blue)](https://pubs.acs.org/doi/abs/10.1021/acs.jcim.0c01438) 3 | 4 | The construction of a molecular topology file is a prerequisite for any classical molecular dynamics simulation. However, the generation of such a file may be very challenging at times, especially for large supramolecules. While many tools are available to provide topologies for large proteins and other biomolecules, the scientific community researching nonbiological systems is not equally well equipped. Here, we present a practical tool to generate topologies for arbitrary supramolecules: The pyPolyBuilder. In addition to linear polymer chains, it also provides the possibility to generate topologies of arbitrary, large, branched molecules, such as, e.g., dendrimers. Furthermore, it also generates reasonable starting structures for simulations of these molecules. pyPolyBuilder is a standalone command-line tool implemented in python. Therefore, it may be easily incorporated in persisting simulation pipelines on any operating systems and with different simulation engines. 5 | 6 | 7 | Check the User Guide for more information on how to use pyPolyBuilder. 8 | -------------------------------------------------------------------------------- /pypolybuilder/.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__* 2 | -------------------------------------------------------------------------------- /pypolybuilder/AngleParams.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Created on Jan 22, 2015 3 | 4 | @author: Vitor 5 | ''' 6 | 7 | class angle_param(object): 8 | __atom_1_name = None 9 | __atom_2_name = None 10 | __atom_3_name = None 11 | __param = None 12 | 13 | def __init__(self, name_1,name_2,name_3,param): 14 | self.__atom_1_name = name_1 15 | self.__atom_2_name = name_2 16 | self.__atom_3_name = name_3 17 | self.__param = param 18 | 19 | def get_atom_1_name(self): 20 | return self.__atom_1_name 21 | 22 | 23 | def get_atom_2_name(self): 24 | return self.__atom_2_name 25 | 26 | 27 | def get_atom_3_name(self): 28 | return self.__atom_3_name 29 | 30 | 31 | def get_param(self): 32 | return self.__param 33 | 34 | 35 | def set_atom_1_name(self, value): 36 | self.__atom_1_name = value 37 | 38 | 39 | def set_atom_2_name(self, value): 40 | self.__atom_2_name = value 41 | 42 | 43 | def set_atom_3_name(self, value): 44 | self.__atom_3_name = value 45 | 46 | 47 | def set_param(self, value): 48 | self.__param = value 49 | 50 | 51 | def del_atom_1_name(self): 52 | del self.__atom_1_name 53 | 54 | 55 | def del_atom_2_name(self): 56 | del self.__atom_2_name 57 | 58 | 59 | def del_atom_3_name(self): 60 | del self.__atom_3_name 61 | 62 | 63 | def del_param(self): 64 | del self.__param 65 | 66 | atom_1_name = property(get_atom_1_name, set_atom_1_name, del_atom_1_name, "atom_1_name's docstring") 67 | atom_2_name = property(get_atom_2_name, set_atom_2_name, del_atom_2_name, "atom_2_name's docstring") 68 | atom_3_name = property(get_atom_3_name, set_atom_3_name, del_atom_3_name, "atom_3_name's docstring") 69 | param = property(get_param, set_param, del_param, "param's docstring") 70 | -------------------------------------------------------------------------------- /pypolybuilder/BondParams.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Created on Jan 22, 2015 3 | 4 | @author: Vitor 5 | ''' 6 | 7 | class bond_param(object): 8 | __atom_1_name = None 9 | __atom_2_name = None 10 | __param = None 11 | 12 | def __init__(self, name_1,name_2,param): 13 | self.__atom_1_name = name_1 14 | self.__atom_2_name = name_2 15 | self.__param = param 16 | 17 | 18 | 19 | def get_atom_1_name(self): 20 | return self.__atom_1_name 21 | 22 | 23 | def get_atom_2_name(self): 24 | return self.__atom_2_name 25 | 26 | 27 | def get_param(self): 28 | return self.__param 29 | 30 | 31 | def set_atom_1_name(self, value): 32 | self.__atom_1_name = value 33 | 34 | 35 | def set_atom_2_name(self, value): 36 | self.__atom_2_name = value 37 | 38 | 39 | def set_param(self, value): 40 | self.__param = value 41 | 42 | 43 | def del_atom_1_name(self): 44 | del self.__atom_1_name 45 | 46 | 47 | def del_atom_2_name(self): 48 | del self.__atom_2_name 49 | 50 | 51 | def del_param(self): 52 | del self.__param 53 | 54 | atom_1_name = property(get_atom_1_name, set_atom_1_name, del_atom_1_name, "atom_1_name's docstring") 55 | atom_2_name = property(get_atom_2_name, set_atom_2_name, del_atom_2_name, "atom_2_name's docstring") 56 | param = property(get_param, set_param, del_param, "param's docstring") 57 | 58 | 59 | -------------------------------------------------------------------------------- /pypolybuilder/Branch.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Created on Dec 22, 2013 3 | 4 | @author: root 5 | ''' 6 | 7 | 8 | class Branch(object): 9 | __donor = None 10 | __acceptor = None 11 | # __specified_dihedral = None 12 | 13 | def __init__(self, donor, acceptor): #, specified_dihedral=False): 14 | self.__donor = donor 15 | self.__acceptor = acceptor 16 | # self.__specified_dihedral = specified_dihedral 17 | 18 | def get_donor(self): 19 | return self.__donor 20 | 21 | def get_acceptor(self): 22 | return self.__acceptor 23 | 24 | def set_donor(self, value): 25 | self.__donor = value 26 | 27 | def set_acceptor(self, value): 28 | self.__acceptor = value 29 | 30 | donor = property(get_donor, set_donor, None, None) 31 | acceptor = property(get_acceptor, set_acceptor, None, None) 32 | -------------------------------------------------------------------------------- /pypolybuilder/BuildingBlockFactory.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Created on Apr 2, 2015 3 | 4 | @author: vitor 5 | ''' 6 | from Itp import Itp 7 | from Atom import Atom 8 | from Bond import Bond 9 | from Angle import Angle 10 | from Dihedral import Dihedral 11 | from Branch import Branch 12 | from BuildingBlock import BuildingBlock 13 | import copy 14 | 15 | class BuildingBlockFactory(object): 16 | 17 | __template = None 18 | 19 | 20 | #Initializes the BuildingBlock setting his template 21 | def __init__(self, path): 22 | self.set_template(BuildingBlock(path)) 23 | self.resName = self.template.resName 24 | 25 | def get_template(self): 26 | return self.__template 27 | 28 | 29 | def set_template(self, value): 30 | self.__template = value 31 | 32 | 33 | def del_template(self): 34 | del self.__template 35 | 36 | 37 | #Create a buildingblock for an Itp 38 | def makeBBForItp(self,itp): 39 | buildingBlock = copy.deepcopy(self.__template) 40 | 41 | if(itp != None): 42 | length = len(itp.get_atom_list()) 43 | maxCgnr = 0 44 | if(length > 0): 45 | maxCgnr = max(int(node.get_cgnr())for node in itp.get_atom_list()) 46 | for branch in buildingBlock.get_branch_list(): 47 | if(branch.get_donor() != None): 48 | branch.set_donor(int(branch.get_donor()) + length) 49 | if(branch.get_acceptor() != None): 50 | branch.set_acceptor(int(branch.get_acceptor()) + length) 51 | 52 | for atom in buildingBlock.get_atom_list(): 53 | atom.set_nr(int(atom.get_nr()) + length) 54 | atom.set_cgnr(int(atom.get_cgnr()) + int(maxCgnr)) 55 | 56 | 57 | return buildingBlock 58 | 59 | template = property(get_template, set_template, del_template, "template's docstring") 60 | 61 | -------------------------------------------------------------------------------- /pypolybuilder/Connection.py: -------------------------------------------------------------------------------- 1 | 2 | class Connection(object): 3 | def __init__(self, b1, b2, atom_b1, atom_b2, has_specified_dihedral=False, specified_dihedral=None): 4 | self.b1 = int(b1) 5 | self.b2 = int(b2) 6 | self.atom_b1 = int(atom_b1) 7 | self.atom_b2 = int(atom_b2) 8 | self.has_specified_dihedral = has_specified_dihedral 9 | self.specified_dihedral = specified_dihedral or {"atom_nrs": [], "funct": [], "ph0s": []} -------------------------------------------------------------------------------- /pypolybuilder/Exclusions.py: -------------------------------------------------------------------------------- 1 | ''' 2 | Created on Apr 20, 2015 3 | 4 | @author: vitor 5 | ''' 6 | 7 | class Exclusions(object): 8 | ''' 9 | classdocs 10 | ''' 11 | __exclusion_list = None 12 | __exclusion_extra = None 13 | 14 | 15 | def __init__(self, exclusion_list, exclusion_extra): 16 | exclusion_list.sort() 17 | self.__exclusion_list = exclusion_list 18 | self.__exclusion_extra = exclusion_extra 19 | 20 | def print_exclusions(self): 21 | for exc in self.get_exclusion_list(): 22 | print(exc) 23 | 24 | def get_exclusion_list(self): 25 | return self.__exclusion_list 26 | 27 | def get_exclusion_extra(self): #This is used for the Gromacs output only since GROMOS will handle explicitly all the exclusions 28 | return self.__exclusion_extra 29 | 30 | def set_exclusion_list(self, value): 31 | self.__exclusion_list = value 32 | 33 | 34 | def del_exclusion_list(self): 35 | del self.__exclusion_list 36 | 37 | exclusion_list = property(get_exclusion_list, set_exclusion_list, del_exclusion_list, "exclusion_list's docstring") 38 | 39 | -------------------------------------------------------------------------------- /pypolybuilder/GenerateGeometry.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/GenerateGeometry.py -------------------------------------------------------------------------------- /pypolybuilder/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/__init__.py -------------------------------------------------------------------------------- /pypolybuilder/__main__.py: -------------------------------------------------------------------------------- 1 | from pypolybuilder import main 2 | main() -------------------------------------------------------------------------------- /pypolybuilder/__pycache__/Angle.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/__pycache__/Angle.cpython-38.pyc -------------------------------------------------------------------------------- /pypolybuilder/__pycache__/AngleParams.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/__pycache__/AngleParams.cpython-38.pyc -------------------------------------------------------------------------------- /pypolybuilder/__pycache__/Atom.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/__pycache__/Atom.cpython-38.pyc -------------------------------------------------------------------------------- /pypolybuilder/__pycache__/Bond.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/__pycache__/Bond.cpython-38.pyc -------------------------------------------------------------------------------- /pypolybuilder/__pycache__/BondParams.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/__pycache__/BondParams.cpython-38.pyc -------------------------------------------------------------------------------- /pypolybuilder/__pycache__/Branch.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/__pycache__/Branch.cpython-38.pyc -------------------------------------------------------------------------------- /pypolybuilder/__pycache__/BuildingBlock.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/__pycache__/BuildingBlock.cpython-38.pyc -------------------------------------------------------------------------------- /pypolybuilder/__pycache__/BuildingBlockFactory.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/__pycache__/BuildingBlockFactory.cpython-38.pyc -------------------------------------------------------------------------------- /pypolybuilder/__pycache__/Connection.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/__pycache__/Connection.cpython-38.pyc -------------------------------------------------------------------------------- /pypolybuilder/__pycache__/Dendrimer.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/__pycache__/Dendrimer.cpython-38.pyc -------------------------------------------------------------------------------- /pypolybuilder/__pycache__/Dihedral.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/__pycache__/Dihedral.cpython-38.pyc -------------------------------------------------------------------------------- /pypolybuilder/__pycache__/DihedralParams.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/__pycache__/DihedralParams.cpython-38.pyc -------------------------------------------------------------------------------- /pypolybuilder/__pycache__/Exclusions.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/__pycache__/Exclusions.cpython-38.pyc -------------------------------------------------------------------------------- /pypolybuilder/__pycache__/FFParams.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/__pycache__/FFParams.cpython-38.pyc -------------------------------------------------------------------------------- /pypolybuilder/__pycache__/Itp.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/__pycache__/Itp.cpython-38.pyc -------------------------------------------------------------------------------- /pypolybuilder/__pycache__/OptimizeGeometry.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/__pycache__/OptimizeGeometry.cpython-38.pyc -------------------------------------------------------------------------------- /pypolybuilder/__pycache__/Polymer.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/__pycache__/Polymer.cpython-38.pyc -------------------------------------------------------------------------------- /pypolybuilder/__pycache__/Printer.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/__pycache__/Printer.cpython-38.pyc -------------------------------------------------------------------------------- /pypolybuilder/__pycache__/TorsionOpt.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/__pycache__/TorsionOpt.cpython-38.pyc -------------------------------------------------------------------------------- /pypolybuilder/__pycache__/Utils.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/__pycache__/Utils.cpython-38.pyc -------------------------------------------------------------------------------- /pypolybuilder/__pycache__/constants.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/__pycache__/constants.cpython-38.pyc -------------------------------------------------------------------------------- /pypolybuilder/__pycache__/pypoly_io.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/__pycache__/pypoly_io.cpython-38.pyc -------------------------------------------------------------------------------- /pypolybuilder/__pycache__/pypolybuilder.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/__pycache__/pypolybuilder.cpython-38.pyc -------------------------------------------------------------------------------- /pypolybuilder/__pycache__/vbga.cpython-38.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/__pycache__/vbga.cpython-38.pyc -------------------------------------------------------------------------------- /pypolybuilder/asciilogo.txt: -------------------------------------------------------------------------------- 1 | _____ _ ____ _ _ _ 2 | | __ \ | | | _ \ (_) | | | 3 | _ __ _ _| |__) |__ | |_ _| |_) |_ _ _| | __| | ___ _ __ 4 | | '_ \| | | | ___/ _ \| | | | | _ <| | | | | |/ _` |/ _ \ '__| 5 | | |_) | |_| | | | (_) | | |_| | |_) | |_| | | | (_| | __/ | 6 | | .__/ \__, |_| \___/|_|\__, |____/ \__,_|_|_|\__,_|\___|_| 7 | | | __/ | __/ | 8 | |_| |___/ |___/ 9 | 10 | 11 | Authors: Vitor A. C. Horta, Mayk C. Ramos, Patrick K. Quoika and Bruno A. C. Horta 12 | 13 | -------------------------------------------------------------------------------- /pypolybuilder/connect.in: -------------------------------------------------------------------------------- 1 | #[ BUILDING BLOCKS ] 2 | 1 OH 3 | 2 CCO 4 | 3 CCO 5 | 4 CCO 6 | 5 H 7 | 8 | #[ CONNECTS ] 9 | 1 2 1 1 10 | 2 3 3 1 11 | 3 4 3 1 12 | 4 5 3 1 13 | -------------------------------------------------------------------------------- /pypolybuilder/constants.py: -------------------------------------------------------------------------------- 1 | DENDRIMER = 1 2 | POLYMER = 2 3 | 4 | GROMACS_FORMAT = 1 5 | GROMOS_FORMAT = 2 -------------------------------------------------------------------------------- /pypolybuilder/contributors.txt: -------------------------------------------------------------------------------- 1 | Vitor A. C. Horta 2 | Mayk C. Ramos 3 | Douglas M. Dias 4 | Elan G. Costa 5 | Jorge L.M. do Amaral 6 | Luigi M. Ribeiro 7 | Bruno A. C. Horta 8 | Patrick K. Quoika -------------------------------------------------------------------------------- /pypolybuilder/demo/.gitignore: -------------------------------------------------------------------------------- 1 | **/run/tmp* 2 | **/*.out.* 3 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PAMAM/how_to_run_this_example.txt: -------------------------------------------------------------------------------- 1 | #This will create a PAMAM dendrimer of generation 1 2 | 3 | python3 ../../../../__main__.py --core=core_PAMAM.itp \ 4 | --inter=inter_PAMAM.itp \ 5 | --ter=ter_PAMAM.itp \ 6 | --params=list_param.itp \ 7 | --ngen=1 \ 8 | --name=PAMAM \ 9 | --output=PAMAM.out.itp \ 10 | --gro=PAMAM.out.gro \ 11 | --gromacs 12 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PAMAM/inter_PAMAM-protonated.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | INTR 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 N 1 INTR N 1 -0.500 14.00670 8 | 2 H 1 INTR H 1 0.310 1.00800 9 | 3 CH2 1 INTR C 1 0.190 14.02700 10 | 4 CH2 1 INTR C 2 0.185 14.02700 11 | 5 NT 1 INTR N 2 -0.865 14.00670 12 | 6 CH2 1 INTR C 2 0.185 14.02700 13 | 7 CH2 1 INTR C 2 0.185 14.02700 14 | 8 H 1 INTR H 2 0.310 1.00800 15 | 9 CH2 1 INTR C 3 0.000 14.02700 16 | 10 C 1 INTR C 3 0.540 12.01100 17 | 11 O 1 INTR O 3 -0.540 15.99940 18 | 12 CH2 1 INTR C 4 0.000 14.02700 19 | 13 C 1 INTR C 4 0.540 12.01100 20 | 14 O 1 INTR O 4 -0.540 15.99940 21 | 22 | ; total charge of the molecule: 1.000 23 | 24 | [ bonds ] 25 | ; ai aj funct c0 c1 26 | 1 2 2 gb_21 27 | 1 3 2 gb_21 28 | 3 4 2 gb_21 29 | 4 5 2 gb_21 30 | 5 6 2 gb_21 31 | 5 7 2 gb_21 32 | 5 8 2 gb_21 33 | 6 9 2 gb_21 34 | 9 10 2 gb_21 35 | 10 11 2 gb_21 36 | 7 12 2 gb_21 37 | 12 13 2 gb_21 38 | 13 14 2 gb_21 39 | 40 | [ branches ] 41 | ; donor acceptor 42 | 1 0 43 | 0 10 44 | 0 13 45 | 46 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PAMAM/inter_PAMAM.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | INTR 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 N 1 INTR N 1 -0.500 14.00670 8 | 2 H 1 INTR H 1 0.310 1.00800 9 | 3 CH2 1 INTR C 1 0.190 14.02700 10 | 4 CH2 1 INTR C 2 0.250 14.02700 11 | 5 NT 1 INTR N 2 -0.750 14.00670 12 | 6 CH2 1 INTR C 2 0.250 14.02700 13 | 7 CH2 1 INTR C 2 0.250 14.02700 14 | 8 CH2 1 INTR C 3 0.000 14.02700 15 | 9 C 1 INTR C 3 0.540 12.01100 16 | 10 O 1 INTR O 3 -0.540 15.99940 17 | 11 CH2 1 INTR C 4 0.000 14.02700 18 | 12 C 1 INTR C 4 0.540 12.01100 19 | 13 O 1 INTR O 4 -0.540 15.99940 20 | 21 | ; total charge of the molecule: 0.000 22 | 23 | [ bonds ] 24 | ; ai aj funct c0 c1 25 | 1 2 2 gb_21 26 | 1 3 2 gb_21 27 | 3 4 2 gb_21 28 | 4 5 2 gb_21 29 | 5 6 2 gb_21 30 | 5 7 2 gb_21 31 | 6 8 2 gb_21 32 | 8 9 2 gb_21 33 | 9 10 2 gb_21 34 | 7 11 2 gb_21 35 | 11 12 2 gb_21 36 | 12 13 2 gb_21 37 | 38 | [ branches ] 39 | ; donor acceptor 40 | 1 0 41 | 0 9 42 | 0 12 43 | 44 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PAMAM/list_param.itp: -------------------------------------------------------------------------------- 1 | # BONDS 2 | H N gb_2 3 | H NT gb_2 4 | HC C gb_3 5 | C O gb_5 6 | C NT gb_9 7 | C N gb_10 8 | CH2 C gb_27 9 | CH2 CH2 gb_27 10 | CH2 N gb_21 11 | CH2 NT gb_21 12 | 13 | 14 | 15 | # ANGLES 16 | H NT CH2 ga_11 17 | H NT H ga_10 18 | CH2 CH2 CH2 ga_15 19 | CH2 CH2 C ga_15 20 | CH2 CH2 NT ga_15 21 | CH2 CH2 N ga_15 22 | CH2 NT CH2 ga_15 23 | N CH2 C ga_13 24 | CH2 C O ga_30 25 | CH2 C N ga_19 26 | O C N ga_33 27 | H N C ga_32 28 | CH2 N C ga_31 29 | H N CH2 ga_18 30 | 31 | 32 | 33 | # IMPROPERS 34 | CH2 C O N gi_1 35 | C N H CH2 gi_1 36 | CH2 NT CH2 CH2 gi_2 37 | CH2 NT H H gi_2 38 | 39 | 40 | 41 | # DIHEDRALS 42 | CH2 CH2 C O gd_40 43 | CH2 CH2 C N gd_40 44 | CH2 C N CH2 gd_14 45 | CH2 C N H gd_14 46 | O C N CH2 gd_14 47 | O C N H gd_14 48 | C N CH2 CH2 gd_39 49 | CH2 CH2 CH2 NT gd_34 50 | CH2 CH2 NT CH2 gd_34 51 | CH2 NT CH2 CH2 gd_34 52 | NT CH2 CH2 NT gd_34 53 | NT CH2 CH2 N gd_34 54 | NT CH2 CH2 C gd_34 55 | CH2 CH2 NT H gd_29 56 | CH2 CH2 N H gd_39 57 | #H NT CH2 CH2 gd_29 # This exists in protonated terminal block! reverse definition exists above 58 | 59 | # CONFORMATION 60 | CH2 C N CH2 trans 61 | CH2 C N H cis 62 | O C N CH2 cis 63 | O C N H trans 64 | 65 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PAMAM/run/PAMAM.top: -------------------------------------------------------------------------------- 1 | ; Include forcefield parameters 2 | #include "../../../../../../gromos2016h66.ff/forcefield.itp" 3 | 4 | ;[ moleculetype ] 5 | ; Name nrexcl 6 | ;PAMAM 2 7 | 8 | ; Include Pamam topology 9 | #include "PAMAM.itp" 10 | 11 | ; Include water topology 12 | #include "../../../../../../gromos2016h66.ff/spc.itp" 13 | 14 | 15 | #ifdef POSRES_WATER 16 | ; Position restraint for each water oxygen 17 | [ position_restraints ] 18 | ; i funct fcx fcy fcz 19 | 1 1 5000 5000 5000 20 | #endif 21 | 22 | ; Include generic topology for ions 23 | #include "../../../../../../gromos2016h66.ff/ions.itp" 24 | 25 | [ system ] 26 | ; Name 27 | PAMAM in water 28 | 29 | [ molecules ] 30 | ; Compound #mols 31 | PAMAM 1 32 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PAMAM/run/mdp/em.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.01 ; Energy step size 5 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 6 | 7 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 8 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 9 | cutoff-scheme = Verlet 10 | ns_type = grid ; Method to determine neighbor list (simple, grid) 11 | coulombtype = PME ; Treatment of long range electrostatic interactions 12 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 13 | ; VDW 14 | vdwtype = PME 15 | fourierspacing = 0.12 ; grid spacing for FFT 16 | fourier_nx = 0 17 | fourier_ny = 0 18 | fourier_nz = 0 19 | pme_order = 4 ; cubic interpolation 20 | ewald_rtol = 1e-5 21 | rvdw = 1.0 ; Short-range Van der Waals cut-off 22 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 23 | 24 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PAMAM/run/mdp/ion.mdp: -------------------------------------------------------------------------------- 1 | ; ions.mdp - used as input into grompp to generate ions.tpr 2 | ; Parameters describing what to do, when to stop and what to save 3 | integrator = steep ; Algorithm (steep = steepest descent minimization) 4 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 5 | emstep = 0.01 ; Energy step size 6 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 7 | 8 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 9 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 10 | cutoff-scheme = Verlet 11 | ns_type = grid ; Method to determine neighbor list (simple, grid) 12 | coulombtype = PME ; Treatment of long range electrostatic interactions 13 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 14 | rvdw = 1.0 ; Short-range Van der Waals cut-off 15 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 16 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PAMAM/run/mdp/minim.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.01 ; Energy step size 5 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 6 | 7 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 8 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 9 | cutoff-scheme = Verlet 10 | ns_type = grid ; Method to determine neighbor list (simple, grid) 11 | coulombtype = PME ; Treatment of long range electrostatic interactions 12 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 13 | rvdw = 1.0 ; Short-range Van der Waals cut-off 14 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 15 | 16 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PAMAM/run/mdp/nvt.mdp: -------------------------------------------------------------------------------- 1 | title = Default NVT equilibration 2 | ;define = -DPOSRES ; position restrain the dendrimer 3 | ; Run parameters 4 | integrator = md ; leap-frog integrator 5 | nsteps = 50000 ; 2 * 5000 = 100 ps 6 | dt = 0.002 ; 2 fs 7 | ; Output control 8 | nstxout = 500 ; save coordinates every 1.0 ps 9 | nstvout = 500 ; save velocities every 1.0 ps 10 | nstenergy = 500 ; save energies every 1.0 ps 11 | nstlog = 500 ; update log file every 1.0 ps 12 | nstxout-compressed = 500 ; save compressed coordinates every 1.0 ps 13 | ; Bond parameters 14 | continuation = no ; first dynamics run 15 | constraint_algorithm = lincs ; holonomic constraints 16 | constraints = all-bonds ; all bonds (even heavy atom-H bonds) constrained 17 | lincs_iter = 1 ; accuracy of LINCS 18 | lincs_order = 4 ; also related to accuracy 19 | ; Neighborsearching 20 | cutoff-scheme = Verlet 21 | rlist = 1.0 22 | ns_type = grid ; search neighboring grid cells 23 | nstlist = 10 ; 20 fs, largely irrelevant with Verlet scheme 24 | rcoulomb = 1.0 ; short-range electrostatic cutoff (in nm) 25 | rvdw = 1.0 ; short-range van der Waals cutoff (in nm) 26 | ; Electrostatics 27 | coulombtype = PME ; Particle Mesh Ewald for long-range electrostatics 28 | ; VDW 29 | vdwtype = PME 30 | fourierspacing = 0.12 ; grid spacing for FFT 31 | fourier_nx = 0 32 | fourier_ny = 0 33 | fourier_nz = 0 34 | pme_order = 4 ; cubic interpolation 35 | ewald_rtol = 1e-5 36 | ; Temperature coupling is on 37 | tcoupl = V-rescale ; modified Berendsen thermostat 38 | tc-grps = non-Water Water ; two coupling groups - more accurate 39 | tau_t = 0.1 0.1 ; time constant, in ps 40 | ref_t = 300 300 ; reference temperature, one for each group, in K 41 | ; Pressure coupling is off 42 | pcoupl = no ; no pressure coupling in NVT 43 | ; Periodic boundary conditions 44 | pbc = xyz ; 3-D PBC 45 | ; Dispersion correction 46 | DispCorr = EnerPres ; account for cut-off vdW scheme 47 | ; Velocity generation 48 | gen_vel = yes ; assign velocities from Maxwell distribution 49 | gen_temp = 298.15 ; temperature for Maxwell distribution 50 | gen_seed = -1 ; generate a random seed 51 | 52 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PAMAM/ter_PAMAM-protonated.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | TER 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 N 1 TER N 1 -0.500 14.00670 8 | 2 H 1 TER H 1 0.310 1.00800 9 | 3 CH2 1 TER C 1 0.190 14.02700 10 | 4 CH2 1 TER C 2 0.250 14.02700 11 | 5 NT 1 TER N 2 -0.345 14.00670 12 | 6 H 1 TER H 2 0.365 1.00800 13 | 7 H 1 TER H 2 0.365 1.00800 14 | 8 H 1 TER H 2 0.365 1.00800 15 | 16 | ; total charge of the molecule: 1.000 17 | 18 | [ bonds ] 19 | ; ai aj funct c0 c1 20 | 1 2 2 gb_21 21 | 1 3 2 gb_21 22 | 3 4 2 gb_21 23 | 4 5 2 gb_21 24 | 5 6 2 gb_21 25 | 5 7 2 gb_21 26 | 5 8 2 gb_21 27 | 28 | [ branches ] 29 | ; donor acceptor 30 | 1 0 31 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PAMAM/ter_PAMAM.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | TER 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 N 1 TER N 1 -0.500 14.00670 8 | 2 H 1 TER H 1 0.310 1.00800 9 | 3 CH2 1 TER C 1 0.190 14.02700 10 | 4 CH2 1 TER C 2 0.250 14.02700 11 | 5 NT 1 TER N 2 -0.980 14.00670 12 | 6 H 1 TER H 2 0.365 1.00800 13 | 7 H 1 TER H 2 0.365 1.00800 14 | 15 | ; total charge of the molecule: 0.000 16 | 17 | [ bonds ] 18 | ; ai aj funct c0 c1 19 | 1 2 2 gb_21 20 | 1 3 2 gb_21 21 | 3 4 2 gb_21 22 | 4 5 2 gb_21 23 | 5 6 2 gb_21 24 | 5 7 2 gb_21 25 | 26 | [ branches ] 27 | ; donor acceptor 28 | 1 0 29 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PAMAMPPI_Janus_like/how_to_run_this_example.txt: -------------------------------------------------------------------------------- 1 | #This will create a PAMAM/PPI PPI-cored dendrimer of generation 1 2 | 3 | #1 - Create a half of the final dendrimer 4 | python3 ../../../../__main__.py --core=core_PAMAM.itp \ 5 | --inter=inter_PAMAM.itp \ 6 | --ter=ter_PAMAM.itp \ 7 | --params=list_param.itp \ 8 | --ngen=1 \ 9 | --name=PAMH \ 10 | --output=PAMAMhalf.out.itp \ 11 | --nogeom 12 | 13 | #2 - So open the PAMAMhalf.itp that was created, and add the [ branches ] field at the end of file as: 14 | 15 | #[ branches ] 16 | #; donor acceptor 17 | # 0 10 18 | # 0 13 19 | #; 0 16 20 | #; 0 19 21 | 22 | echo " 23 | 24 | [ branches ] 25 | ; donor acceptor 26 | 0 10 27 | 0 13 28 | ; 0 16 29 | ; 0 19" >> PAMAMhalf.out.itp 30 | 31 | 32 | 33 | #3 - Branch the other half 34 | python3 ../../../../__main__.py --core=PAMAMhalf.out.itp \ 35 | --inter=inter_PPI.itp \ 36 | --ter=ter_PPI.itp \ 37 | --params=list_param.itp \ 38 | --ngen=1 \ 39 | --name=PAMPPI \ 40 | --output=PAMAM_PPI.out.itp \ 41 | --gro=PAMAM_PPI.out.gro 42 | 43 | 44 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PAMAMPPI_Janus_like/inter_PAMAM.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | INTR 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 N 1 INTR N 1 -0.500 14.00670 8 | 2 H 1 INTR H 1 0.310 1.00800 9 | 3 CH2 1 INTR C 1 0.190 14.02700 10 | 4 CH2 1 INTR C 2 0.250 14.02700 11 | 5 NT 1 INTR N 2 -0.750 14.00670 12 | 6 CH2 1 INTR C 2 0.250 14.02700 13 | 7 CH2 1 INTR C 2 0.250 14.02700 14 | 8 CH2 1 INTR C 3 0.000 14.02700 15 | 9 C 1 INTR C 3 0.540 12.01100 16 | 10 O 1 INTR O 3 -0.540 15.99940 17 | 11 CH2 1 INTR C 4 0.000 14.02700 18 | 12 C 1 INTR C 4 0.540 12.01100 19 | 13 O 1 INTR O 4 -0.540 15.99940 20 | 21 | ; total charge of the molecule: 0.000 22 | 23 | [ bonds ] 24 | ; ai aj funct c0 c1 25 | 1 2 2 gb_21 26 | 1 3 2 gb_21 27 | 3 4 2 gb_21 28 | 4 5 2 gb_21 29 | 5 6 2 gb_21 30 | 5 7 2 gb_21 31 | 6 8 2 gb_21 32 | 8 9 2 gb_21 33 | 9 10 2 gb_21 34 | 7 11 2 gb_21 35 | 11 12 2 gb_21 36 | 12 13 2 gb_21 37 | 38 | [ branches ] 39 | ; donor acceptor 40 | 1 0 41 | 0 9 42 | 0 12 43 | 44 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PAMAMPPI_Janus_like/inter_PPI.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | INTR 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 NT 1 INTR N 1 -0.500 14.00670 8 | 2 CH2 1 INTR C 1 0.250 14.02700 9 | 3 CH2 1 INTR C 1 0.250 14.02700 10 | 4 CH2 1 INTR C 2 0.250 14.02700 11 | 5 NT 1 INTR N 2 -0.750 14.00670 12 | 6 CH2 1 INTR C 2 0.250 14.02700 13 | 7 CH2 1 INTR C 2 0.250 14.02700 14 | 8 CH2 1 INTR C 3 0.000 14.02700 15 | 9 CH2 1 INTR C 3 0.000 14.02700 16 | 10 CH2 1 INTR C 3 0.000 14.02700 17 | 11 CH2 1 INTR C 3 0.000 14.02700 18 | 19 | ; total charge of the molecule: 0.000 20 | 21 | [ bonds ] 22 | ; ai aj funct c0 c1 23 | 1 2 2 gb_21 24 | 2 3 2 gb_21 25 | 3 4 2 gb_21 26 | 4 5 2 gb_21 27 | 5 6 2 gb_21 28 | 5 7 2 gb_21 29 | 6 8 2 gb_21 30 | 8 9 2 gb_21 31 | 7 10 2 gb_21 32 | 10 11 2 gb_21 33 | 34 | [ branches ] 35 | ; donor acceptor 36 | 1 0 37 | 0 9 38 | 0 11 39 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PAMAMPPI_Janus_like/run/PAMAM_PPI.top: -------------------------------------------------------------------------------- 1 | ; Include forcefield parameters 2 | #include "../../../../../../gromos2016h66.ff/forcefield.itp" 3 | 4 | ;[ moleculetype ] 5 | ; Name nrexcl 6 | ;PAMAM_PPI 2 7 | 8 | ; Include Pamam topology 9 | #include "PAMAM_PPI.itp" 10 | 11 | ; Include water topology 12 | #include "../../../../../../gromos2016h66.ff/spc.itp" 13 | 14 | 15 | #ifdef POSRES_WATER 16 | ; Position restraint for each water oxygen 17 | [ position_restraints ] 18 | ; i funct fcx fcy fcz 19 | 1 1 5000 5000 5000 20 | #endif 21 | 22 | ; Include generic topology for ions 23 | #include "../../../../../../gromos2016h66.ff/ions.itp" 24 | 25 | [ system ] 26 | ; Name 27 | PAMAM_PPI in water 28 | 29 | [ molecules ] 30 | ; Compound #mols 31 | PAMPPI 1 32 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PAMAMPPI_Janus_like/run/mdp/bck.em1.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 100.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.001 ; Energy step size 5 | nsteps = 5000 ; Maximum number of (minimization) steps to perform 6 | nstcgsteep = 10 7 | 8 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 9 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 10 | cutoff-scheme = Verlet 11 | ns_type = grid ; Method to determine neighbor list (simple, grid) 12 | coulombtype = PME ; Treatment of long range electrostatic interactions 13 | rcoulomb = 1.2 ; Short-range electrostatic cut-off 14 | ; VDW 15 | vdwtype = PME 16 | fourierspacing = 0.12 ; grid spacing for FFT 17 | fourier_nx = 0 18 | fourier_ny = 0 19 | fourier_nz = 0 20 | pme_order = 4 ; cubic interpolation 21 | ewald_rtol = 1e-5 22 | rvdw = 1.2 ; Short-range Van der Waals cut-off 23 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 24 | rlist = 1.2 25 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PAMAMPPI_Janus_like/run/mdp/bck.em2.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 100.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.001 ; Energy step size 5 | nsteps = 5000 ; Maximum number of (minimization) steps to perform 6 | nstcgsteep = 10 7 | 8 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 9 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 10 | cutoff-scheme = Verlet 11 | ns_type = grid ; Method to determine neighbor list (simple, grid) 12 | coulombtype = PME ; Treatment of long range electrostatic interactions 13 | rcoulomb = 1.2 ; Short-range electrostatic cut-off 14 | ; VDW 15 | vdwtype = PME 16 | fourierspacing = 0.12 ; grid spacing for FFT 17 | fourier_nx = 0 18 | fourier_ny = 0 19 | fourier_nz = 0 20 | pme_order = 4 ; cubic interpolation 21 | ewald_rtol = 1e-5 22 | rvdw = 1.2 ; Short-range Van der Waals cut-off 23 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 24 | rlist = 1.2 25 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PAMAMPPI_Janus_like/run/mdp/em.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.01 ; Energy step size 5 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 6 | 7 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 8 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 9 | cutoff-scheme = Verlet 10 | ns_type = grid ; Method to determine neighbor list (simple, grid) 11 | coulombtype = PME ; Treatment of long range electrostatic interactions 12 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 13 | ; VDW 14 | vdwtype = PME 15 | fourierspacing = 0.12 ; grid spacing for FFT 16 | fourier_nx = 0 17 | fourier_ny = 0 18 | fourier_nz = 0 19 | pme_order = 4 ; cubic interpolation 20 | ewald_rtol = 1e-5 21 | rvdw = 1.0 ; Short-range Van der Waals cut-off 22 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 23 | 24 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PAMAMPPI_Janus_like/run/mdp/em1.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 100.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.001 ; Energy step size 5 | nsteps = 5000 ; Maximum number of (minimization) steps to perform 6 | nstcgsteep = 10 7 | 8 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 9 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 10 | cutoff-scheme = Verlet 11 | ns_type = grid ; Method to determine neighbor list (simple, grid) 12 | coulombtype = PME ; Treatment of long range electrostatic interactions 13 | rcoulomb = 1.2 ; Short-range electrostatic cut-off 14 | ; VDW 15 | vdwtype = PME 16 | fourierspacing = 0.12 ; grid spacing for FFT 17 | fourier_nx = 0 18 | fourier_ny = 0 19 | fourier_nz = 0 20 | pme_order = 4 ; cubic interpolation 21 | ewald_rtol = 1e-5 22 | rvdw = 1.2 ; Short-range Van der Waals cut-off 23 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 24 | rlist = 1.2 25 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PAMAMPPI_Janus_like/run/mdp/em2.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 100.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.001 ; Energy step size 5 | nsteps = 5000 ; Maximum number of (minimization) steps to perform 6 | nstcgsteep = 10 7 | 8 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 9 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 10 | cutoff-scheme = Verlet 11 | ns_type = grid ; Method to determine neighbor list (simple, grid) 12 | coulombtype = PME ; Treatment of long range electrostatic interactions 13 | rcoulomb = 1.2 ; Short-range electrostatic cut-off 14 | ; VDW 15 | vdwtype = PME 16 | fourierspacing = 0.12 ; grid spacing for FFT 17 | fourier_nx = 0 18 | fourier_ny = 0 19 | fourier_nz = 0 20 | pme_order = 4 ; cubic interpolation 21 | ewald_rtol = 1e-5 22 | rvdw = 1.2 ; Short-range Van der Waals cut-off 23 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 24 | rlist = 1.2 25 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PAMAMPPI_Janus_like/run/mdp/ion.mdp: -------------------------------------------------------------------------------- 1 | ; ions.mdp - used as input into grompp to generate ions.tpr 2 | ; Parameters describing what to do, when to stop and what to save 3 | integrator = steep ; Algorithm (steep = steepest descent minimization) 4 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 5 | emstep = 0.01 ; Energy step size 6 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 7 | 8 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 9 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 10 | cutoff-scheme = Verlet 11 | ns_type = grid ; Method to determine neighbor list (simple, grid) 12 | coulombtype = PME ; Treatment of long range electrostatic interactions 13 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 14 | rvdw = 1.0 ; Short-range Van der Waals cut-off 15 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 16 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PAMAMPPI_Janus_like/run/mdp/minim.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.01 ; Energy step size 5 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 6 | 7 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 8 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 9 | cutoff-scheme = Verlet 10 | ns_type = grid ; Method to determine neighbor list (simple, grid) 11 | coulombtype = PME ; Treatment of long range electrostatic interactions 12 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 13 | rvdw = 1.0 ; Short-range Van der Waals cut-off 14 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 15 | 16 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PAMAMPPI_Janus_like/ter_PAMAM.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | TER 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 N 1 TER N 1 -0.500 14.00670 8 | 2 H 1 TER H 1 0.310 1.00800 9 | 3 CH2 1 TER C 1 0.190 14.02700 10 | 4 CH2 1 TER C 2 0.250 14.02700 11 | 5 NT 1 TER N 2 -0.980 14.00670 12 | 6 H 1 TER H 2 0.365 1.00800 13 | 7 H 1 TER H 2 0.365 1.00800 14 | 15 | ; total charge of the molecule: 0.000 16 | 17 | [ bonds ] 18 | ; ai aj funct c0 c1 19 | 1 2 2 gb_21 20 | 1 3 2 gb_21 21 | 3 4 2 gb_21 22 | 4 5 2 gb_21 23 | 5 6 2 gb_21 24 | 5 7 2 gb_21 25 | 26 | [ branches ] 27 | ; donor acceptor 28 | 1 0 29 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PAMAMPPI_Janus_like/ter_PPI.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | TER 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 NT 1 TER N 1 -0.750 14.00670 8 | 2 H 1 TER H 1 0.375 1.00800 9 | 3 H 1 TER H 1 0.375 1.00800 10 | 11 | ; total charge of the molecule: 0.000 12 | 13 | [ bonds ] 14 | ; ai aj funct c0 c1 15 | 1 2 2 gb_21 16 | 1 3 2 gb_21 17 | 18 | [ branches ] 19 | ; donor acceptor 20 | 1 0 21 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PAMAM_fix_connectors/how_to_run_this_example.txt: -------------------------------------------------------------------------------- 1 | #This will create a PAMAM dendrimer of generation 1 2 | 3 | python3 ../../../../__main__.py --core=../PAMAM/core_PAMAM.itp --inter=../PAMAM/inter_PAMAM.itp --ter=../PAMAM/ter_PAMAM.itp --params=list_param.itp --ngen=1 4 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PAMAM_fix_connectors/list_param.itp: -------------------------------------------------------------------------------- 1 | # BONDS 2 | H N gb_2 3 | H NT gb_2 4 | HC C gb_3 5 | C O gb_5 6 | C NT gb_9 7 | C N gb_10 8 | CH2 C gb_27 9 | CH2 CH2 gb_27 10 | CH2 N gb_21 11 | CH2 NT gb_21 12 | 13 | 14 | 15 | # ANGLES 16 | H NT CH2 ga_11 17 | H NT H ga_10 18 | CH2 CH2 CH2 ga_15 19 | CH2 CH2 C ga_15 20 | CH2 CH2 NT ga_15 21 | CH2 CH2 N ga_15 22 | CH2 NT CH2 ga_15 23 | N CH2 C ga_13 24 | CH2 C O ga_30 25 | CH2 C N ga_19 26 | O C N ga_33 27 | H N C ga_32 28 | CH2 N C ga_31 29 | H N CH2 ga_18 30 | 31 | 32 | 33 | # IMPROPERS 34 | CH2 C O N gi_1 35 | C N H CH2 gi_1,IMP 36 | CH2 NT CH2 CH2 gi_2 37 | CH2 NT H H gi_2 38 | 39 | 40 | 41 | # DIHEDRALS 42 | CH2 CH2 C O gd_40,PROP 43 | CH2 CH2 C N gd_40 44 | CH2 C N CH2 gd_14 45 | CH2 C N H gd_14 46 | O C N CH2 gd_14 47 | O C N H gd_14 48 | C N CH2 CH2 gd_39 49 | CH2 CH2 CH2 NT gd_34 50 | CH2 CH2 NT CH2 gd_34 51 | CH2 NT CH2 CH2 gd_34 52 | NT CH2 CH2 NT gd_34 53 | NT CH2 CH2 N gd_34 54 | NT CH2 CH2 C gd_34 55 | CH2 CH2 NT H gd_29 56 | CH2 CH2 N H gd_39 57 | 58 | # CONFORMATION 59 | CH2 C N CH2 trans 60 | CH2 C N H cis 61 | O C N CH2 cis 62 | O C N H trans 63 | 64 | # BRANCH DIHEDS 65 | CH2 N C O CUST0,CUST1 66 | CH2 C CH2 O CUST0,CUST1 67 | N CH2 C H CUST 68 | CH2 C N H CUST 69 | 70 | # BRANCH IMPROPERS 71 | CH2 C O N CIMP 72 | N C H CH2 CIMP0,CIMP1 73 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PPI/core_PPI-protonated.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | CORE 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 CH2 1 CORE C 1 0.000 14.02700 8 | 2 CH2 1 CORE C 1 0.000 14.02700 9 | 3 CH2 1 CORE C 2 0.185 14.02700 10 | 4 NT 1 CORE N 2 -0.865 14.00670 11 | 5 H 1 CORE H 2 0.310 1.00800 12 | 6 CH2 1 CORE C 2 0.185 14.02700 13 | 7 CH2 1 CORE C 2 0.185 14.02700 14 | 8 CH2 1 CORE C 3 0.000 14.02700 15 | 9 CH2 1 CORE C 3 0.000 14.02700 16 | 10 CH2 1 CORE C 4 0.000 14.02700 17 | 11 CH2 1 CORE C 4 0.000 14.02700 18 | 12 CH2 1 CORE C 5 0.185 14.02700 19 | 13 NT 1 CORE N 5 -0.865 14.00670 20 | 14 H 1 CORE H 5 -0.310 1.00800 21 | 15 CH2 1 CORE C 5 0.185 14.02700 22 | 16 CH2 1 CORE C 5 0.185 14.02700 23 | 17 CH2 1 CORE C 6 0.000 14.02700 24 | 18 CH2 1 CORE C 6 0.000 14.02700 25 | 19 CH2 1 CORE C 7 0.000 14.02700 26 | 20 CH2 1 CORE C 7 0.000 14.02700 27 | 28 | ; total charge of the molecule: 0.000 29 | 30 | [ bonds ] 31 | ; ai aj funct c0 c1 32 | 1 2 2 gb_21 33 | 2 3 2 gb_21 34 | 3 4 2 gb_21 35 | 4 5 2 gb_21 36 | 4 6 2 gb_21 37 | 4 7 2 gb_21 38 | 6 8 2 gb_21 39 | 8 9 2 gb_21 40 | 7 10 2 gb_21 41 | 10 11 2 gb_21 42 | 1 12 2 gb_21 43 | 12 13 2 gb_21 44 | 13 14 2 gb_21 45 | 13 15 2 gb_21 46 | 13 16 2 gb_21 47 | 15 17 2 gb_21 48 | 17 18 2 gb_21 49 | 16 19 2 gb_21 50 | 19 20 2 gb_21 51 | 52 | [ branches ] 53 | ; donor acceptor 54 | 0 9 55 | 0 11 56 | 0 18 57 | 0 20 58 | 59 | 60 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PPI/core_PPI.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | CORE 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 CH2 1 CORE C 1 0.000 14.02700 8 | 2 CH2 1 CORE C 1 0.000 14.02700 9 | 3 CH2 1 CORE C 2 0.250 14.02700 10 | 4 NT 1 CORE N 2 -0.750 14.00670 11 | 5 CH2 1 CORE C 2 0.250 14.02700 12 | 6 CH2 1 CORE C 2 0.250 14.02700 13 | 7 CH2 1 CORE C 3 0.000 14.02700 14 | 8 CH2 1 CORE C 3 0.000 14.02700 15 | 9 CH2 1 CORE C 4 0.000 14.02700 16 | 10 CH2 1 CORE C 4 0.000 14.02700 17 | 11 CH2 1 CORE C 5 0.250 14.02700 18 | 12 NT 1 CORE N 5 -0.750 14.00670 19 | 13 CH2 1 CORE C 5 0.250 14.02700 20 | 14 CH2 1 CORE C 5 0.250 14.02700 21 | 15 CH2 1 CORE C 6 0.000 14.02700 22 | 16 CH2 1 CORE C 6 0.000 14.02700 23 | 17 CH2 1 CORE C 7 0.000 14.02700 24 | 18 CH2 1 CORE C 7 0.000 14.02700 25 | 26 | ; total charge of the molecule: 0.000 27 | 28 | [ bonds ] 29 | ; ai aj funct c0 c1 30 | 1 2 2 gb_21 31 | 2 3 2 gb_21 32 | 3 4 2 gb_21 33 | 4 5 2 gb_21 34 | 4 6 2 gb_21 35 | 5 7 2 gb_21 36 | 7 8 2 gb_21 37 | 6 9 2 gb_21 38 | 9 10 2 gb_21 39 | 1 11 2 gb_21 40 | 11 12 2 gb_21 41 | 12 13 2 gb_21 42 | 12 14 2 gb_21 43 | 13 15 2 gb_21 44 | 15 16 2 gb_21 45 | 14 17 2 gb_21 46 | 17 18 2 gb_21 47 | 48 | [ dihedrals ] 49 | ; 3 2 1 11 1 gd_8 50 | ; 3 2 1 11 1 gd_10 51 | ; 4 3 5 6 2 gi_2 52 | ; 4 3 5 6 2 gi_2 53 | 54 | [ branches ] 55 | ; donor acceptor 56 | 0 8 57 | 0 10 58 | 0 16 59 | 0 18 60 | 61 | 62 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PPI/how_to_run_this_example.txt: -------------------------------------------------------------------------------- 1 | #This will create a PPI dendrimer of generation 1 2 | 3 | 4 | python3 ../../../../__main__.py --core=core_PPI.itp \ 5 | --inter=inter_PPI.itp \ 6 | --ter=ter_PPI.itp \ 7 | --params=list_param.itp \ 8 | --ngen=1 \ 9 | --name=PPI \ 10 | --output=PPI.out.itp \ 11 | --gro=PPI.out.gro 12 | 13 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PPI/inter_PPI-protonated.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | INTR 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 NT 1 INTR N 1 -0.115 14.00670 8 | 2 H 1 INTR H 1 0.615 1.00800 9 | 3 CH2 1 INTR C 1 0.250 14.02700 10 | 4 CH2 1 INTR C 1 0.250 14.02700 11 | 5 CH2 1 INTR C 2 0.250 14.02700 12 | 6 NT 1 INTR N 2 -0.115 14.00670 13 | 7 H 1 INTR H 2 0.615 1.00800 14 | 8 CH2 1 INTR C 2 0.250 14.02700 15 | 9 CH2 1 INTR C 2 0.250 14.02700 16 | 10 CH2 1 INTR C 3 0.000 14.02700 17 | 11 CH2 1 INTR C 3 0.000 14.02700 18 | 12 CH2 1 INTR C 3 0.000 14.02700 19 | 13 CH2 1 INTR C 3 0.000 14.02700 20 | 21 | ; total charge of the molecule: 2.000 22 | 23 | [ bonds ] 24 | ; ai aj funct c0 c1 25 | 1 2 2 gb_21 26 | 1 3 2 gb_21 27 | 3 4 2 gb_21 28 | 4 5 2 gb_21 29 | 5 6 2 gb_21 30 | 6 7 2 gb_21 31 | 6 8 2 gb_21 32 | 6 9 2 gb_21 33 | 8 10 2 gb_21 34 | 10 11 2 gb_21 35 | 9 12 2 gb_21 36 | 12 13 2 gb_21 37 | 38 | [ branches ] 39 | ; donor acceptor 40 | 1 0 41 | 0 11 42 | 0 13 43 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PPI/inter_PPI.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | INTR 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 NT 1 INTR N 1 -0.500 14.00670 8 | 2 CH2 1 INTR C 1 0.250 14.02700 9 | 3 CH2 1 INTR C 1 0.250 14.02700 10 | 4 CH2 1 INTR C 2 0.250 14.02700 11 | 5 NT 1 INTR N 2 -0.750 14.00670 12 | 6 CH2 1 INTR C 2 0.250 14.02700 13 | 7 CH2 1 INTR C 2 0.250 14.02700 14 | 8 CH2 1 INTR C 3 0.000 14.02700 15 | 9 CH2 1 INTR C 3 0.000 14.02700 16 | 10 CH2 1 INTR C 3 0.000 14.02700 17 | 11 CH2 1 INTR C 3 0.000 14.02700 18 | 19 | ; total charge of the molecule: 0.000 20 | 21 | [ bonds ] 22 | ; ai aj funct c0 c1 23 | 1 2 2 gb_21 24 | 2 3 2 gb_21 25 | 3 4 2 gb_21 26 | 4 5 2 gb_21 27 | 5 6 2 gb_21 28 | 5 7 2 gb_21 29 | 6 8 2 gb_21 30 | 8 9 2 gb_21 31 | 7 10 2 gb_21 32 | 10 11 2 gb_21 33 | 34 | [ branches ] 35 | ; donor acceptor 36 | 1 0 37 | 0 9 38 | 0 11 39 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PPI/run/PPI.top: -------------------------------------------------------------------------------- 1 | ; Include forcefield parameters 2 | #include "../../../../../../gromos2016h66.ff/forcefield.itp" 3 | 4 | ;[ moleculetype ] 5 | ; Name nrexcl 6 | ;PPI 2 7 | 8 | ; Include Pamam topology 9 | #include "PPI.itp" 10 | 11 | ; Include water topology 12 | #include "../../../../../../gromos2016h66.ff/spc.itp" 13 | 14 | 15 | #ifdef POSRES_WATER 16 | ; Position restraint for each water oxygen 17 | [ position_restraints ] 18 | ; i funct fcx fcy fcz 19 | 1 1 5000 5000 5000 20 | #endif 21 | 22 | ; Include generic topology for ions 23 | #include "../../../../../../gromos2016h66.ff/ions.itp" 24 | 25 | [ system ] 26 | ; Name 27 | PPI in water 28 | 29 | [ molecules ] 30 | ; Compound #mols 31 | PPI 1 32 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PPI/run/mdp/em.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.01 ; Energy step size 5 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 6 | 7 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 8 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 9 | cutoff-scheme = Verlet 10 | ns_type = grid ; Method to determine neighbor list (simple, grid) 11 | coulombtype = PME ; Treatment of long range electrostatic interactions 12 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 13 | ; VDW 14 | vdwtype = PME 15 | fourierspacing = 0.12 ; grid spacing for FFT 16 | fourier_nx = 0 17 | fourier_ny = 0 18 | fourier_nz = 0 19 | pme_order = 4 ; cubic interpolation 20 | ewald_rtol = 1e-5 21 | rvdw = 1.0 ; Short-range Van der Waals cut-off 22 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 23 | 24 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PPI/run/mdp/ion.mdp: -------------------------------------------------------------------------------- 1 | ; ions.mdp - used as input into grompp to generate ions.tpr 2 | ; Parameters describing what to do, when to stop and what to save 3 | integrator = steep ; Algorithm (steep = steepest descent minimization) 4 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 5 | emstep = 0.01 ; Energy step size 6 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 7 | 8 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 9 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 10 | cutoff-scheme = Verlet 11 | ns_type = grid ; Method to determine neighbor list (simple, grid) 12 | coulombtype = PME ; Treatment of long range electrostatic interactions 13 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 14 | rvdw = 1.0 ; Short-range Van der Waals cut-off 15 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 16 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PPI/run/mdp/minim.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.01 ; Energy step size 5 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 6 | 7 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 8 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 9 | cutoff-scheme = Verlet 10 | ns_type = grid ; Method to determine neighbor list (simple, grid) 11 | coulombtype = PME ; Treatment of long range electrostatic interactions 12 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 13 | rvdw = 1.0 ; Short-range Van der Waals cut-off 14 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 15 | 16 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PPI/run/mdp/nvt.mdp: -------------------------------------------------------------------------------- 1 | title = Default NVT equilibration 2 | ;define = -DPOSRES ; position restrain the dendrimer 3 | ; Run parameters 4 | integrator = md ; leap-frog integrator 5 | nsteps = 50000 ; 2 * 5000 = 100 ps 6 | dt = 0.002 ; 2 fs 7 | ; Output control 8 | nstxout = 500 ; save coordinates every 1.0 ps 9 | nstvout = 500 ; save velocities every 1.0 ps 10 | nstenergy = 500 ; save energies every 1.0 ps 11 | nstlog = 500 ; update log file every 1.0 ps 12 | nstxout-compressed = 500 ; save compressed coordinates every 1.0 ps 13 | ; Bond parameters 14 | continuation = no ; first dynamics run 15 | constraint_algorithm = lincs ; holonomic constraints 16 | constraints = all-bonds ; all bonds (even heavy atom-H bonds) constrained 17 | lincs_iter = 1 ; accuracy of LINCS 18 | lincs_order = 4 ; also related to accuracy 19 | ; Neighborsearching 20 | cutoff-scheme = Verlet 21 | rlist = 1.0 22 | ns_type = grid ; search neighboring grid cells 23 | nstlist = 10 ; 20 fs, largely irrelevant with Verlet scheme 24 | rcoulomb = 1.0 ; short-range electrostatic cutoff (in nm) 25 | rvdw = 1.0 ; short-range van der Waals cutoff (in nm) 26 | ; Electrostatics 27 | coulombtype = PME ; Particle Mesh Ewald for long-range electrostatics 28 | ; VDW 29 | vdwtype = PME 30 | fourierspacing = 0.12 ; grid spacing for FFT 31 | fourier_nx = 0 32 | fourier_ny = 0 33 | fourier_nz = 0 34 | pme_order = 4 ; cubic interpolation 35 | ewald_rtol = 1e-5 36 | ; Temperature coupling is on 37 | tcoupl = V-rescale ; modified Berendsen thermostat 38 | tc-grps = non-Water Water ; two coupling groups - more accurate 39 | tau_t = 0.1 0.1 ; time constant, in ps 40 | ref_t = 300 300 ; reference temperature, one for each group, in K 41 | ; Pressure coupling is off 42 | pcoupl = no ; no pressure coupling in NVT 43 | ; Periodic boundary conditions 44 | pbc = xyz ; 3-D PBC 45 | ; Dispersion correction 46 | DispCorr = EnerPres ; account for cut-off vdW scheme 47 | ; Velocity generation 48 | gen_vel = yes ; assign velocities from Maxwell distribution 49 | gen_temp = 298.15 ; temperature for Maxwell distribution 50 | gen_seed = -1 ; generate a random seed 51 | 52 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PPI/ter_PPI-protonated.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | TER 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 NT 1 TER N 1 -0.750 14.00670 8 | 2 H 1 TER H 1 0.375 1.00800 9 | 3 H 1 TER H 1 0.375 1.00800 10 | 4 H 1 TER H 1 0.375 1.00800 11 | 12 | ; total charge of the molecule: 0.000 13 | 14 | [ bonds ] 15 | ; ai aj funct c0 c1 16 | 1 2 2 gb_21 17 | 1 3 2 gb_21 18 | 1 4 2 gb_21 19 | 20 | [ branches ] 21 | ; donor acceptor 22 | 1 0 23 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/PPI/ter_PPI.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | TER 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 NT 1 TER N 1 -0.750 14.00670 8 | 2 H 1 TER H 1 0.375 1.00800 9 | 3 H 1 TER H 1 0.375 1.00800 10 | 11 | ; total charge of the molecule: 0.000 12 | 13 | [ bonds ] 14 | ; ai aj funct c0 c1 15 | 1 2 2 gb_21 16 | 1 3 2 gb_21 17 | 18 | [ branches ] 19 | ; donor acceptor 20 | 1 0 21 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/SPL7013/how_to_run_this_example.txt: -------------------------------------------------------------------------------- 1 | #This will create a PAMAM dendrimer of generation 1 2 | 3 | python3 ../../../../__main__.py --core=core_BDA.itp \ 4 | --inter=inter_LYS.itp \ 5 | --ter=ter_NDSA.itp \ 6 | --params=list_param.itp \ 7 | --ngen=1 \ 8 | --name=SPL \ 9 | --output=SPL.out.itp \ 10 | --gro=SPL.out.gro \ 11 | --ngenga=50 \ 12 | --npop=50 \ 13 | --nsteps=5000 \ 14 | --nskipLJ=0 \ 15 | --gromacs \ 16 | --stepLength=0.0001 \ 17 | --forcefield=../../../../gromos2016h66.ff 18 | 19 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/SPL7013/inter_LYS.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | INTR 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 C 1 INTR C 1 0.540 12.01100 8 | 2 O 1 INTR O 1 -0.540 15.99940 9 | 3 CH1 1 INTR C 1 0.250 14.02700 10 | 4 NT 1 INTR N 1 -0.550 14.00670 11 | 5 H 1 INTR H 1 0.300 1.00800 12 | 6 CH2 1 INTR C 2 0.000 14.02700 13 | 7 CH2 1 INTR C 2 0.000 14.02700 14 | 8 CH2 1 INTR C 2 0.000 14.02700 15 | 9 CH2 1 INTR C 3 0.250 14.02700 16 | 10 NT 1 INTR N 3 -0.550 14.00670 17 | 11 H 1 INTR H 3 0.300 1.00800 18 | 19 | ; total charge of the molecule: 0.000 20 | 21 | [ bonds ] 22 | ; ai aj funct c0 c1 23 | 1 2 2 gb_21 24 | 1 3 2 gb_21 25 | 3 4 2 gb_21 26 | 4 5 2 gb_21 27 | 3 6 2 gb_21 28 | 6 7 2 gb_21 29 | 7 8 2 gb_21 30 | 8 9 2 gb_21 31 | 9 10 2 gb_21 32 | 10 11 2 gb_21 33 | 34 | [ branches ] 35 | ; donor acceptor 36 | 1 0 37 | 0 4 38 | 0 10 39 | 40 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/SPL7013/run/SPL.top: -------------------------------------------------------------------------------- 1 | ; Include forcefield parameters 2 | #include "../../../../../../gromos2016h66.ff/forcefield.itp" 3 | 4 | ;[ moleculetype ] 5 | ; Name nrexcl 6 | ;SPL7013 2 7 | 8 | #include "SPL.itp" 9 | 10 | ; Include water topology 11 | #include "../../../../../../gromos2016h66.ff/spc.itp" 12 | 13 | 14 | #ifdef POSRES_WATER 15 | ; Position restraint for each water oxygen 16 | [ position_restraints ] 17 | ; i funct fcx fcy fcz 18 | 1 1 5000 5000 5000 19 | #endif 20 | 21 | ; Include generic topology for ions 22 | #include "../../../../../../gromos2016h66.ff/ions.itp" 23 | 24 | 25 | [ system ] 26 | ; Name 27 | SPL in water 28 | 29 | [ molecules ] 30 | ; Compound #mols 31 | SPL 1 32 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/SPL7013/run/mdp/bck.em1.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 100.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.001 ; Energy step size 5 | nsteps = 5000 ; Maximum number of (minimization) steps to perform 6 | nstcgsteep = 10 7 | 8 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 9 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 10 | cutoff-scheme = Verlet 11 | ns_type = grid ; Method to determine neighbor list (simple, grid) 12 | coulombtype = PME ; Treatment of long range electrostatic interactions 13 | rcoulomb = 1.2 ; Short-range electrostatic cut-off 14 | ; VDW 15 | vdwtype = PME 16 | fourierspacing = 0.12 ; grid spacing for FFT 17 | fourier_nx = 0 18 | fourier_ny = 0 19 | fourier_nz = 0 20 | pme_order = 4 ; cubic interpolation 21 | ewald_rtol = 1e-5 22 | rvdw = 1.2 ; Short-range Van der Waals cut-off 23 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 24 | rlist = 1.2 25 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/SPL7013/run/mdp/bck.em2.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 100.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.001 ; Energy step size 5 | nsteps = 5000 ; Maximum number of (minimization) steps to perform 6 | nstcgsteep = 10 7 | 8 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 9 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 10 | cutoff-scheme = Verlet 11 | ns_type = grid ; Method to determine neighbor list (simple, grid) 12 | coulombtype = PME ; Treatment of long range electrostatic interactions 13 | rcoulomb = 1.2 ; Short-range electrostatic cut-off 14 | ; VDW 15 | vdwtype = PME 16 | fourierspacing = 0.12 ; grid spacing for FFT 17 | fourier_nx = 0 18 | fourier_ny = 0 19 | fourier_nz = 0 20 | pme_order = 4 ; cubic interpolation 21 | ewald_rtol = 1e-5 22 | rvdw = 1.2 ; Short-range Van der Waals cut-off 23 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 24 | rlist = 1.2 25 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/SPL7013/run/mdp/em.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.01 ; Energy step size 5 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 6 | 7 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 8 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 9 | cutoff-scheme = Verlet 10 | ns_type = grid ; Method to determine neighbor list (simple, grid) 11 | coulombtype = PME ; Treatment of long range electrostatic interactions 12 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 13 | ; VDW 14 | vdwtype = PME 15 | fourierspacing = 0.12 ; grid spacing for FFT 16 | fourier_nx = 0 17 | fourier_ny = 0 18 | fourier_nz = 0 19 | pme_order = 4 ; cubic interpolation 20 | ewald_rtol = 1e-5 21 | rvdw = 1.0 ; Short-range Van der Waals cut-off 22 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 23 | 24 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/SPL7013/run/mdp/em1.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 100.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.001 ; Energy step size 5 | nsteps = 5000 ; Maximum number of (minimization) steps to perform 6 | nstcgsteep = 10 7 | 8 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 9 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 10 | cutoff-scheme = Verlet 11 | ns_type = grid ; Method to determine neighbor list (simple, grid) 12 | coulombtype = PME ; Treatment of long range electrostatic interactions 13 | rcoulomb = 1.2 ; Short-range electrostatic cut-off 14 | ; VDW 15 | vdwtype = PME 16 | fourierspacing = 0.12 ; grid spacing for FFT 17 | fourier_nx = 0 18 | fourier_ny = 0 19 | fourier_nz = 0 20 | pme_order = 4 ; cubic interpolation 21 | ewald_rtol = 1e-5 22 | rvdw = 1.2 ; Short-range Van der Waals cut-off 23 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 24 | rlist = 1.2 25 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/SPL7013/run/mdp/em2.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 100.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.001 ; Energy step size 5 | nsteps = 5000 ; Maximum number of (minimization) steps to perform 6 | nstcgsteep = 10 7 | 8 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 9 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 10 | cutoff-scheme = Verlet 11 | ns_type = grid ; Method to determine neighbor list (simple, grid) 12 | coulombtype = PME ; Treatment of long range electrostatic interactions 13 | rcoulomb = 1.2 ; Short-range electrostatic cut-off 14 | ; VDW 15 | vdwtype = PME 16 | fourierspacing = 0.12 ; grid spacing for FFT 17 | fourier_nx = 0 18 | fourier_ny = 0 19 | fourier_nz = 0 20 | pme_order = 4 ; cubic interpolation 21 | ewald_rtol = 1e-5 22 | rvdw = 1.2 ; Short-range Van der Waals cut-off 23 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 24 | rlist = 1.2 25 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/SPL7013/run/mdp/ion.mdp: -------------------------------------------------------------------------------- 1 | ; ions.mdp - used as input into grompp to generate ions.tpr 2 | ; Parameters describing what to do, when to stop and what to save 3 | integrator = steep ; Algorithm (steep = steepest descent minimization) 4 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 5 | emstep = 0.01 ; Energy step size 6 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 7 | 8 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 9 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 10 | cutoff-scheme = Verlet 11 | ns_type = grid ; Method to determine neighbor list (simple, grid) 12 | coulombtype = PME ; Treatment of long range electrostatic interactions 13 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 14 | rvdw = 1.0 ; Short-range Van der Waals cut-off 15 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 16 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/SPL7013/run/mdp/minim.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.01 ; Energy step size 5 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 6 | 7 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 8 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 9 | cutoff-scheme = Verlet 10 | ns_type = grid ; Method to determine neighbor list (simple, grid) 11 | coulombtype = PME ; Treatment of long range electrostatic interactions 12 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 13 | rvdw = 1.0 ; Short-range Van der Waals cut-off 14 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 15 | 16 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/dendrimer/SPL7013/run/mdp/nvt.mdp: -------------------------------------------------------------------------------- 1 | title = Default NVT equilibration 2 | ;define = -DPOSRES ; position restrain the dendrimer 3 | ; Run parameters 4 | integrator = md ; leap-frog integrator 5 | nsteps = 50000 ; 2 * 5000 = 100 ps 6 | dt = 0.002 ; 2 fs 7 | ; Output control 8 | nstxout = 500 ; save coordinates every 1.0 ps 9 | nstvout = 500 ; save velocities every 1.0 ps 10 | nstenergy = 500 ; save energies every 1.0 ps 11 | nstlog = 500 ; update log file every 1.0 ps 12 | nstxout-compressed = 500 ; save compressed coordinates every 1.0 ps 13 | ; Bond parameters 14 | continuation = no ; first dynamics run 15 | constraint_algorithm = lincs ; holonomic constraints 16 | constraints = all-bonds ; all bonds (even heavy atom-H bonds) constrained 17 | lincs_iter = 1 ; accuracy of LINCS 18 | lincs_order = 4 ; also related to accuracy 19 | ; Neighborsearching 20 | cutoff-scheme = Verlet 21 | rlist = 1.0 22 | ns_type = grid ; search neighboring grid cells 23 | nstlist = 10 ; 20 fs, largely irrelevant with Verlet scheme 24 | rcoulomb = 1.0 ; short-range electrostatic cutoff (in nm) 25 | rvdw = 1.0 ; short-range van der Waals cutoff (in nm) 26 | ; Electrostatics 27 | coulombtype = PME ; Particle Mesh Ewald for long-range electrostatics 28 | ; VDW 29 | vdwtype = PME 30 | fourierspacing = 0.12 ; grid spacing for FFT 31 | fourier_nx = 0 32 | fourier_ny = 0 33 | fourier_nz = 0 34 | pme_order = 4 ; cubic interpolation 35 | ewald_rtol = 1e-5 36 | ; Temperature coupling is on 37 | tcoupl = V-rescale ; modified Berendsen thermostat 38 | tc-grps = non-Water Water ; two coupling groups - more accurate 39 | tau_t = 0.1 0.1 ; time constant, in ps 40 | ref_t = 300 300 ; reference temperature, one for each group, in K 41 | ; Pressure coupling is off 42 | pcoupl = no ; no pressure coupling in NVT 43 | ; Periodic boundary conditions 44 | pbc = xyz ; 3-D PBC 45 | ; Dispersion correction 46 | DispCorr = EnerPres ; account for cut-off vdW scheme 47 | ; Velocity generation 48 | gen_vel = yes ; assign velocities from Maxwell distribution 49 | gen_temp = 298.15 ; temperature for Maxwell distribution 50 | gen_seed = -1 ; generate a random seed 51 | 52 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/Octane/C2.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | C2 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 CH2 1 OCT C 1 0 14.00 8 | 9 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/Octane/C3.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | C3 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 CH3 1 OCT C 1 0 15.00 8 | 9 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/Octane/connect.in: -------------------------------------------------------------------------------- 1 | #[ BUILDING BLOCKS ] 2 | 1 C3 3 | 2 C2 4 | 3 C2 5 | 4 C2 6 | 5 C2 7 | 6 C2 8 | 7 C2 9 | 8 C3 10 | 11 | #[ CONNECTS ] 12 | 1 2 1 1 13 | 2 3 1 1 14 | 3 4 1 1 15 | 4 5 1 1 16 | 5 6 1 1 17 | 6 7 1 1 18 | 7 8 1 1 19 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/Octane/how_to_run_this_example.txt: -------------------------------------------------------------------------------- 1 | #; 2 | 3 | python3 ../../../../__main__.py --bbs=C3.itp,C2.itp \ 4 | --in=connect.in \ 5 | --polymer \ 6 | --params=list_param.itp \ 7 | --name=OCT \ 8 | --output=OCT.out.itp \ 9 | --gro=OCT.out.gro \ 10 | --nsteps 5000 11 | 12 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/Octane/list_param.itp: -------------------------------------------------------------------------------- 1 | # BONDS 2 | CH2 CH2 gb_27 3 | CH3 CH2 gb_21 4 | 5 | # ANGLES 6 | CH2 CH2 CH2 ga_15 7 | CH2 CH2 CH3 ga_15 8 | 9 | # IMPROPERS 10 | 11 | # DIHEDRALS 12 | CH2 CH2 CH2 CH2 gd_34 13 | CH2 CH2 CH2 CH3 gd_34 14 | CH3 CH2 CH2 CH3 gd_34 15 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PAMAM_PPI_Half/connect.in: -------------------------------------------------------------------------------- 1 | #[ BUILDING BLOCKS ] 2 | 1 PAMH 3 | 2 PPIH 4 | 5 | #[ CONNECTS ] 6 | 1 2 1 1 7 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PAMAM_PPI_Half/coreHalf_PAMAM.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | PAMC 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 CH2 1 PAMC C 1 0.250 14.02700 8 | 2 NT 1 PAMC N 1 -0.750 14.00670 9 | 3 CH2 1 PAMC C 1 0.250 14.02700 10 | 4 CH2 1 PAMC C 1 0.250 14.02700 11 | 5 CH2 1 PAMC C 3 0.000 14.02700 12 | 6 C 1 PAMC C 3 0.540 12.01100 13 | 7 O 1 PAMC O 3 -0.540 15.99940 14 | 8 CH2 1 PAMC C 4 0.000 14.02700 15 | 9 C 1 PAMC C 4 0.540 12.01100 16 | 10 O 1 PAMC O 4 -0.540 15.99940 17 | ; total charge of the molecule: 0.000 18 | 19 | [ bonds ] 20 | ; ai aj funct c0 c1 21 | 1 2 2 gb_21 22 | 2 3 2 gb_21 23 | 2 4 2 gb_21 24 | 3 5 2 gb_21 25 | 5 6 2 gb_21 26 | 6 7 2 gb_21 27 | 4 8 2 gb_21 28 | 8 9 2 gb_21 29 | 9 10 2 gb_21 30 | 31 | 32 | [ branches ] 33 | ; donor acceptor 34 | 0 6 35 | 0 9 36 | 37 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PAMAM_PPI_Half/coreHalf_PPI.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | PPIC 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 CH2 1 PPIC C 1 0.000 14.02700 8 | 2 CH2 1 PPIC C 2 0.250 14.02700 9 | 3 NT 1 PPIC N 2 -0.750 14.00670 10 | 4 CH2 1 PPIC C 2 0.250 14.02700 11 | 5 CH2 1 PPIC C 2 0.250 14.02700 12 | 6 CH2 1 PPIC C 3 0.000 14.02700 13 | 7 CH2 1 PPIC C 3 0.000 14.02700 14 | 8 CH2 1 PPIC C 4 0.000 14.02700 15 | 9 CH2 1 PPIC C 4 0.000 14.02700 16 | 17 | ; total charge of the molecule: 0.000 18 | 19 | [ bonds ] 20 | ; ai aj funct c0 c1 21 | 1 2 2 gb_21 22 | 2 3 2 gb_21 23 | 3 4 2 gb_21 24 | 3 5 2 gb_21 25 | 4 6 2 gb_21 26 | 6 7 2 gb_21 27 | 5 8 2 gb_21 28 | 8 9 2 gb_21 29 | 30 | [ branches ] 31 | ; donor acceptor 32 | 0 7 33 | 0 9 34 | 35 | 36 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PAMAM_PPI_Half/how_to_run_this_example.txt: -------------------------------------------------------------------------------- 1 | #This will create a PAMAM/PPI dendrimer of generation 1. In which literally each half of the dendrimer is from each dendrimer 2 | 3 | #1 - Create a half PAMAM 4 | python3 ../../../../__main__.py --core=coreHalf_PAMAM.itp \ 5 | --inter=inter_PAMAM.itp \ 6 | --ter=ter_PAMAM.itp \ 7 | --params=list_param.itp \ 8 | --ngen=1 \ 9 | --name=PAMH \ 10 | --output=PAMAMhalf.out.itp \ 11 | --nogeom 12 | 13 | #2 -Create a half PPI 14 | python3 ../../../../__main__.py --core=coreHalf_PPI.itp \ 15 | --inter=inter_PPI.itp \ 16 | --ter=ter_PPI.itp \ 17 | --params=list_param.itp \ 18 | --ngen=1 \ 19 | --name=PPIH \ 20 | --output=PPIhalf.out.itp \ 21 | --nogeom 22 | 23 | #3 - Connect them 24 | python3 ../../../../__main__.py --bbs=PAMAMhalf.out.itp,PPIhalf.out.itp \ 25 | --in=connect.in \ 26 | --params=list_param.itp \ 27 | --name=PAMPPI \ 28 | --output=PAMAMPPI.out.itp \ 29 | --gro=PAMAMPPI.out.gro \ 30 | --nsteps 500 \ 31 | --polymer 32 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PAMAM_PPI_Half/inter_PAMAM.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | PAMI 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 N 1 PAMI N 1 -0.500 14.00670 8 | 2 H 1 PAMI H 1 0.310 1.00800 9 | 3 CH2 1 PAMI C 1 0.190 14.02700 10 | 4 CH2 1 PAMI C 2 0.250 14.02700 11 | 5 NT 1 PAMI N 2 -0.750 14.00670 12 | 6 CH2 1 PAMI C 2 0.250 14.02700 13 | 7 CH2 1 PAMI C 2 0.250 14.02700 14 | 8 CH2 1 PAMI C 3 0.000 14.02700 15 | 9 C 1 PAMI C 3 0.540 12.01100 16 | 10 O 1 PAMI O 3 -0.540 15.99940 17 | 11 CH2 1 PAMI C 4 0.000 14.02700 18 | 12 C 1 PAMI C 4 0.540 12.01100 19 | 13 O 1 PAMI O 4 -0.540 15.99940 20 | 21 | ; total charge of the molecule: 0.000 22 | 23 | [ bonds ] 24 | ; ai aj funct c0 c1 25 | 1 2 2 gb_21 26 | 1 3 2 gb_21 27 | 3 4 2 gb_21 28 | 4 5 2 gb_21 29 | 5 6 2 gb_21 30 | 5 7 2 gb_21 31 | 6 8 2 gb_21 32 | 8 9 2 gb_21 33 | 9 10 2 gb_21 34 | 7 11 2 gb_21 35 | 11 12 2 gb_21 36 | 12 13 2 gb_21 37 | 38 | [ branches ] 39 | ; donor acceptor 40 | 1 0 41 | 0 9 42 | 0 12 43 | 44 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PAMAM_PPI_Half/inter_PPI.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | INTR 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 NT 1 PPII N 1 -0.500 14.00670 8 | 2 CH2 1 PPII C 1 0.250 14.02700 9 | 3 CH2 1 PPII C 1 0.250 14.02700 10 | 4 CH2 1 PPII C 2 0.250 14.02700 11 | 5 NT 1 PPII N 2 -0.750 14.00670 12 | 6 CH2 1 PPII C 2 0.250 14.02700 13 | 7 CH2 1 PPII C 2 0.250 14.02700 14 | 8 CH2 1 PPII C 3 0.000 14.02700 15 | 9 CH2 1 PPII C 3 0.000 14.02700 16 | 10 CH2 1 PPII C 3 0.000 14.02700 17 | 11 CH2 1 PPII C 3 0.000 14.02700 18 | 19 | ; total charge of the molecule: 0.000 20 | 21 | [ bonds ] 22 | ; ai aj funct c0 c1 23 | 1 2 2 gb_21 24 | 2 3 2 gb_21 25 | 3 4 2 gb_21 26 | 4 5 2 gb_21 27 | 5 6 2 gb_21 28 | 5 7 2 gb_21 29 | 6 8 2 gb_21 30 | 8 9 2 gb_21 31 | 7 10 2 gb_21 32 | 10 11 2 gb_21 33 | 34 | [ branches ] 35 | ; donor acceptor 36 | 1 0 37 | 0 9 38 | 0 11 39 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PAMAM_PPI_Half/run/PAMAMPPI.top: -------------------------------------------------------------------------------- 1 | ; Include forcefield parameters 2 | #include "../../../../../../gromos2016h66.ff/forcefield.itp" 3 | 4 | ;[ moleculetype ] 5 | ; Name nrexcl 6 | ;PAMAM_PPI 2 7 | 8 | ; Include Pamam topology 9 | #include "PAMAMPPI.itp" 10 | 11 | ; Include water topology 12 | #include "../../../../../../gromos2016h66.ff/spc.itp" 13 | 14 | 15 | #ifdef POSRES_WATER 16 | ; Position restraint for each water oxygen 17 | [ position_restraints ] 18 | ; i funct fcx fcy fcz 19 | 1 1 5000 5000 5000 20 | #endif 21 | 22 | ; Include generic topology for ions 23 | #include "../../../../../../gromos2016h66.ff/ions.itp" 24 | 25 | [ system ] 26 | ; Name 27 | PAMAMPPI in water 28 | 29 | [ molecules ] 30 | ; Compound #mols 31 | PAMPPI 1 32 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PAMAM_PPI_Half/run/mdp/em.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.01 ; Energy step size 5 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 6 | 7 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 8 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 9 | cutoff-scheme = Verlet 10 | ns_type = grid ; Method to determine neighbor list (simple, grid) 11 | coulombtype = PME ; Treatment of long range electrostatic interactions 12 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 13 | ; VDW 14 | vdwtype = PME 15 | fourierspacing = 0.12 ; grid spacing for FFT 16 | fourier_nx = 0 17 | fourier_ny = 0 18 | fourier_nz = 0 19 | pme_order = 4 ; cubic interpolation 20 | ewald_rtol = 1e-5 21 | rvdw = 1.0 ; Short-range Van der Waals cut-off 22 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 23 | 24 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PAMAM_PPI_Half/run/mdp/ion.mdp: -------------------------------------------------------------------------------- 1 | ; ions.mdp - used as input into grompp to generate ions.tpr 2 | ; Parameters describing what to do, when to stop and what to save 3 | integrator = steep ; Algorithm (steep = steepest descent minimization) 4 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 5 | emstep = 0.01 ; Energy step size 6 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 7 | 8 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 9 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 10 | cutoff-scheme = Verlet 11 | ns_type = grid ; Method to determine neighbor list (simple, grid) 12 | coulombtype = PME ; Treatment of long range electrostatic interactions 13 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 14 | rvdw = 1.0 ; Short-range Van der Waals cut-off 15 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 16 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PAMAM_PPI_Half/run/mdp/minim.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.01 ; Energy step size 5 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 6 | 7 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 8 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 9 | cutoff-scheme = Verlet 10 | ns_type = grid ; Method to determine neighbor list (simple, grid) 11 | coulombtype = PME ; Treatment of long range electrostatic interactions 12 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 13 | rvdw = 1.0 ; Short-range Van der Waals cut-off 14 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 15 | 16 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PAMAM_PPI_Half/run/mdp/nvt.mdp: -------------------------------------------------------------------------------- 1 | title = Default NVT equilibration 2 | ;define = -DPOSRES ; position restrain the dendrimer 3 | ; Run parameters 4 | integrator = md ; leap-frog integrator 5 | nsteps = 50000 ; 2 * 5000 = 100 ps 6 | dt = 0.002 ; 2 fs 7 | ; Output control 8 | nstxout = 500 ; save coordinates every 1.0 ps 9 | nstvout = 500 ; save velocities every 1.0 ps 10 | nstenergy = 500 ; save energies every 1.0 ps 11 | nstlog = 500 ; update log file every 1.0 ps 12 | nstxout-compressed = 500 ; save compressed coordinates every 1.0 ps 13 | ; Bond parameters 14 | continuation = no ; first dynamics run 15 | constraint_algorithm = lincs ; holonomic constraints 16 | constraints = all-bonds ; all bonds (even heavy atom-H bonds) constrained 17 | lincs_iter = 1 ; accuracy of LINCS 18 | lincs_order = 4 ; also related to accuracy 19 | ; Neighborsearching 20 | cutoff-scheme = Verlet 21 | rlist = 1.0 22 | ns_type = grid ; search neighboring grid cells 23 | nstlist = 10 ; 20 fs, largely irrelevant with Verlet scheme 24 | rcoulomb = 1.0 ; short-range electrostatic cutoff (in nm) 25 | rvdw = 1.0 ; short-range van der Waals cutoff (in nm) 26 | ; Electrostatics 27 | coulombtype = PME ; Particle Mesh Ewald for long-range electrostatics 28 | ; VDW 29 | vdwtype = PME 30 | fourierspacing = 0.12 ; grid spacing for FFT 31 | fourier_nx = 0 32 | fourier_ny = 0 33 | fourier_nz = 0 34 | pme_order = 4 ; cubic interpolation 35 | ewald_rtol = 1e-5 36 | ; Temperature coupling is on 37 | tcoupl = V-rescale ; modified Berendsen thermostat 38 | tc-grps = non-Water Water ; two coupling groups - more accurate 39 | tau_t = 0.1 0.1 ; time constant, in ps 40 | ref_t = 300 300 ; reference temperature, one for each group, in K 41 | ; Pressure coupling is off 42 | pcoupl = no ; no pressure coupling in NVT 43 | ; Periodic boundary conditions 44 | pbc = xyz ; 3-D PBC 45 | ; Dispersion correction 46 | DispCorr = EnerPres ; account for cut-off vdW scheme 47 | ; Velocity generation 48 | gen_vel = yes ; assign velocities from Maxwell distribution 49 | gen_temp = 298.15 ; temperature for Maxwell distribution 50 | gen_seed = -1 ; generate a random seed 51 | 52 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PAMAM_PPI_Half/ter_PAMAM.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | PAMT 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 N 1 PAMT N 1 -0.500 14.00670 8 | 2 H 1 PAMT H 1 0.310 1.00800 9 | 3 CH2 1 PAMT C 1 0.190 14.02700 10 | 4 CH2 1 PAMT C 2 0.250 14.02700 11 | 5 NT 1 PAMT N 2 -0.980 14.00670 12 | 6 H 1 PAMT H 2 0.365 1.00800 13 | 7 H 1 PAMT H 2 0.365 1.00800 14 | 15 | ; total charge of the molecule: 0.000 16 | 17 | [ bonds ] 18 | ; ai aj funct c0 c1 19 | 1 2 2 gb_21 20 | 1 3 2 gb_21 21 | 3 4 2 gb_21 22 | 4 5 2 gb_21 23 | 5 6 2 gb_21 24 | 5 7 2 gb_21 25 | 26 | [ branches ] 27 | ; donor acceptor 28 | 1 0 29 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PAMAM_PPI_Half/ter_PPI.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | TER 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 NT 1 PPIT N 1 -0.750 14.00670 8 | 2 H 1 PPIT H 1 0.375 1.00800 9 | 3 H 1 PPIT H 1 0.375 1.00800 10 | 11 | ; total charge of the molecule: 0.000 12 | 13 | [ bonds ] 14 | ; ai aj funct c0 c1 15 | 1 2 2 gb_21 16 | 1 3 2 gb_21 17 | 18 | [ branches ] 19 | ; donor acceptor 20 | 1 0 21 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PAMAM_PolyEtyleneglycol/connect.in: -------------------------------------------------------------------------------- 1 | #[ BUILDING BLOCKS ] 2 | 1 PAMH 3 | 2 EG 4 | 3 EG 5 | 4 PAMH 6 | 7 | #[ CONNECTS ] 8 | 1 2 1 1 9 | 2 3 3 1 10 | 3 4 3 1 11 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PAMAM_PolyEtyleneglycol/coreHalf_PAMAM.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | PAMC 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 CH2 1 PAMC C 1 0.250 14.02700 8 | 2 NT 1 PAMC N 1 -0.750 14.00670 9 | 3 CH2 1 PAMC C 1 0.250 14.02700 10 | 4 CH2 1 PAMC C 1 0.250 14.02700 11 | 5 CH2 1 PAMC C 3 0.000 14.02700 12 | 6 C 1 PAMC C 3 0.540 12.01100 13 | 7 O 1 PAMC O 3 -0.540 15.99940 14 | 8 CH2 1 PAMC C 4 0.000 14.02700 15 | 9 C 1 PAMC C 4 0.540 12.01100 16 | 10 O 1 PAMC O 4 -0.540 15.99940 17 | ; total charge of the molecule: 0.000 18 | 19 | [ bonds ] 20 | ; ai aj funct c0 c1 21 | 1 2 2 gb_21 22 | 2 3 2 gb_21 23 | 2 4 2 gb_21 24 | 3 5 2 gb_21 25 | 5 6 2 gb_21 26 | 6 7 2 gb_21 27 | 4 8 2 gb_21 28 | 8 9 2 gb_21 29 | 9 10 2 gb_21 30 | 31 | 32 | [ branches ] 33 | ; donor acceptor 34 | 0 6 35 | 0 9 36 | 37 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PAMAM_PolyEtyleneglycol/etyleneglycol.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | EG 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 CH2 1 POL C 1 0.250 14.02700 8 | 2 O 1 POL O 1 -0.500 15.99940 9 | 3 CH2 1 POL C 1 0.250 14.02700 10 | 11 | ; total charge of the molecule: 0.000 12 | 13 | [ bonds ] 14 | ; ai aj funct c0 c1 15 | 1 2 2 gb_21 16 | 2 3 2 gb_21 17 | 18 | 19 | [ branches ] 20 | ; donor acceptor 21 | 0 1 22 | 3 0 23 | 24 | 25 | [ exclusions ] 26 | ; ai aj 27 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PAMAM_PolyEtyleneglycol/how_to_run_this_example.txt: -------------------------------------------------------------------------------- 1 | #This example will create a two PAMAM-half molecule united by a two monomers PolyEtyleneglycol polymer 2 | 3 | #1 - create the PAMAM half dendrimer topology with the dendrimer module 4 | 5 | python3 ../../../../__main__.py --core=coreHalf_PAMAM.itp \ 6 | --inter=inter_PAMAM.itp \ 7 | --ter=ter_PAMAM.itp \ 8 | --params=list_param.itp \ 9 | --ngen=1 \ 10 | --name=PAMH \ 11 | --output=PAMAMhalf.out.itp \ 12 | --nogeom 13 | 14 | #2 - Note that the connect.in file have the information about which atom of a topology will bond at which atom of the other topology 15 | 16 | #3 - Run pyPolyBuilder in general mode 17 | 18 | python3 ../../../../__main__.py --bbs=PAMAMhalf.out.itp,etyleneglycol.itp \ 19 | --in=connect.in \ 20 | --params=list_param.itp \ 21 | --name=PAMPEG \ 22 | --output=PAMAM_PEG.out.itp \ 23 | --gro=PAMAM_PEG.out.gro \ 24 | --polymer 25 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PAMAM_PolyEtyleneglycol/inter_PAMAM.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | PAMI 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 N 1 PAMI N 1 -0.500 14.00670 8 | 2 H 1 PAMI H 1 0.310 1.00800 9 | 3 CH2 1 PAMI C 1 0.190 14.02700 10 | 4 CH2 1 PAMI C 2 0.250 14.02700 11 | 5 NT 1 PAMI N 2 -0.750 14.00670 12 | 6 CH2 1 PAMI C 2 0.250 14.02700 13 | 7 CH2 1 PAMI C 2 0.250 14.02700 14 | 8 CH2 1 PAMI C 3 0.000 14.02700 15 | 9 C 1 PAMI C 3 0.540 12.01100 16 | 10 O 1 PAMI O 3 -0.540 15.99940 17 | 11 CH2 1 PAMI C 4 0.000 14.02700 18 | 12 C 1 PAMI C 4 0.540 12.01100 19 | 13 O 1 PAMI O 4 -0.540 15.99940 20 | 21 | ; total charge of the molecule: 0.000 22 | 23 | [ bonds ] 24 | ; ai aj funct c0 c1 25 | 1 2 2 gb_21 26 | 1 3 2 gb_21 27 | 3 4 2 gb_21 28 | 4 5 2 gb_21 29 | 5 6 2 gb_21 30 | 5 7 2 gb_21 31 | 6 8 2 gb_21 32 | 8 9 2 gb_21 33 | 9 10 2 gb_21 34 | 7 11 2 gb_21 35 | 11 12 2 gb_21 36 | 12 13 2 gb_21 37 | 38 | [ branches ] 39 | ; donor acceptor 40 | 1 0 41 | 0 9 42 | 0 12 43 | 44 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PAMAM_PolyEtyleneglycol/run/PAMAM_PEG.top: -------------------------------------------------------------------------------- 1 | ; Include forcefield parameters 2 | #include "../../../../../../gromos2016h66.ff/forcefield.itp" 3 | 4 | ;[ moleculetype ] 5 | ; Name nrexcl 6 | ;PAMAM_PolyEtyleneglycol 2 7 | 8 | ; Include Pamam topology 9 | #include "PAMAM_PEG.itp" 10 | 11 | ; Include water topology 12 | #include "../../../../../../gromos2016h66.ff/spc.itp" 13 | 14 | 15 | #ifdef POSRES_WATER 16 | ; Position restraint for each water oxygen 17 | [ position_restraints ] 18 | ; i funct fcx fcy fcz 19 | 1 1 5000 5000 5000 20 | #endif 21 | 22 | ; Include generic topology for ions 23 | #include "../../../../../../gromos2016h66.ff/ions.itp" 24 | 25 | [ system ] 26 | ; Name 27 | PAMAM_PolyEtyleneglycol in water 28 | 29 | [ molecules ] 30 | ; Compound #mols 31 | PAMPEG 1 32 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PAMAM_PolyEtyleneglycol/run/mdp/em.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.01 ; Energy step size 5 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 6 | 7 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 8 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 9 | cutoff-scheme = Verlet 10 | ns_type = grid ; Method to determine neighbor list (simple, grid) 11 | coulombtype = PME ; Treatment of long range electrostatic interactions 12 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 13 | ; VDW 14 | vdwtype = PME 15 | fourierspacing = 0.12 ; grid spacing for FFT 16 | fourier_nx = 0 17 | fourier_ny = 0 18 | fourier_nz = 0 19 | pme_order = 4 ; cubic interpolation 20 | ewald_rtol = 1e-5 21 | rvdw = 1.0 ; Short-range Van der Waals cut-off 22 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 23 | 24 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PAMAM_PolyEtyleneglycol/run/mdp/ion.mdp: -------------------------------------------------------------------------------- 1 | ; ions.mdp - used as input into grompp to generate ions.tpr 2 | ; Parameters describing what to do, when to stop and what to save 3 | integrator = steep ; Algorithm (steep = steepest descent minimization) 4 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 5 | emstep = 0.01 ; Energy step size 6 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 7 | 8 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 9 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 10 | cutoff-scheme = Verlet 11 | ns_type = grid ; Method to determine neighbor list (simple, grid) 12 | coulombtype = PME ; Treatment of long range electrostatic interactions 13 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 14 | rvdw = 1.0 ; Short-range Van der Waals cut-off 15 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 16 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PAMAM_PolyEtyleneglycol/run/mdp/minim.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.01 ; Energy step size 5 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 6 | 7 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 8 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 9 | cutoff-scheme = Verlet 10 | ns_type = grid ; Method to determine neighbor list (simple, grid) 11 | coulombtype = PME ; Treatment of long range electrostatic interactions 12 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 13 | rvdw = 1.0 ; Short-range Van der Waals cut-off 14 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 15 | 16 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PAMAM_PolyEtyleneglycol/ter_PAMAM.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | PAMT 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 N 1 PAMT N 1 -0.500 14.00670 8 | 2 H 1 PAMT H 1 0.310 1.00800 9 | 3 CH2 1 PAMT C 1 0.190 14.02700 10 | 4 CH2 1 PAMT C 2 0.250 14.02700 11 | 5 NT 1 PAMT N 2 -0.980 14.00670 12 | 6 H 1 PAMT H 2 0.365 1.00800 13 | 7 H 1 PAMT H 2 0.365 1.00800 14 | 15 | ; total charge of the molecule: 0.000 16 | 17 | [ bonds ] 18 | ; ai aj funct c0 c1 19 | 1 2 2 gb_21 20 | 1 3 2 gb_21 21 | 3 4 2 gb_21 22 | 4 5 2 gb_21 23 | 5 6 2 gb_21 24 | 5 7 2 gb_21 25 | 26 | [ branches ] 27 | ; donor acceptor 28 | 1 0 29 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PNIPAM/bb_PNIP-end.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | PNIPE 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 CH2 1 PNIP C 1 0.000 14.02700 8 | 2 CH2 1 PNIP C 1 0.000 14.02700 9 | 3 C 1 PNIP C 2 0.540 12.01100 10 | 4 O 1 PNIP O 2 -0.540 15.99940 11 | 5 N 1 PNIP N 3 -0.500 14.00670 12 | 6 H 1 PNIP H 3 0.310 1.00800 13 | 7 CH1 1 PNIP C 3 0.190 12.01100 14 | 8 CH3 1 PNIP C 4 0.000 15.03500 15 | 9 CH3 1 PNIP C 5 0.000 15.03500 16 | ; total charge of the molecule: 0.000 17 | 18 | [ bonds ] 19 | ; ai aj funct c0 c1 20 | 1 2 2 gb_21 21 | 2 3 2 gb_21 22 | 3 4 2 gb_21 23 | 3 5 2 gb_21 24 | 5 6 2 gb_21 25 | 5 7 2 gb_21 26 | 7 8 2 gb_21 27 | 7 9 2 gb_21 28 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PNIPAM/bb_PNIP-start.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | PNIPS 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 CH3 1 PNIP C 1 0.000 15.03500 8 | 2 CH1 1 PNIP C 1 0.000 13.01900 9 | 3 C 1 PNIP C 2 0.540 12.01100 10 | 4 O 1 PNIP O 2 -0.540 15.99940 11 | 5 N 1 PNIP N 3 -0.500 14.00670 12 | 6 H 1 PNIP H 3 0.310 1.00800 13 | 7 CH1 1 PNIP C 3 0.190 12.01100 14 | 8 CH3 1 PNIP C 4 0.000 15.03500 15 | 9 CH3 1 PNIP C 5 0.000 15.03500 16 | ; total charge of the molecule: 0.000 17 | 18 | [ bonds ] 19 | ; ai aj funct c0 c1 20 | 1 2 2 gb_21 21 | 2 3 2 gb_21 22 | 3 4 2 gb_21 23 | 3 5 2 gb_21 24 | 5 6 2 gb_21 25 | 5 7 2 gb_21 26 | 7 8 2 gb_21 27 | 7 9 2 gb_21 28 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PNIPAM/bb_PNIP.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | PNIP 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 CH2 1 PNIP C 1 0.000 14.02700 8 | 2 CH1 1 PNIP C 1 0.000 13.01900 9 | 3 C 1 PNIP C 2 0.540 12.01100 10 | 4 O 1 PNIP O 2 -0.540 15.99940 11 | 5 N 1 PNIP N 3 -0.500 14.00670 12 | 6 H 1 PNIP H 3 0.310 1.00800 13 | 7 CH1 1 PNIP C 3 0.190 12.01100 14 | 8 CH3 1 PNIP C 4 0.000 15.03500 15 | 9 CH3 1 PNIP C 5 0.000 15.03500 16 | ; total charge of the molecule: 0.000 17 | 18 | [ bonds ] 19 | ; ai aj funct c0 c1 20 | 1 2 2 gb_21 21 | 2 3 2 gb_21 22 | 3 4 2 gb_21 23 | 3 5 2 gb_21 24 | 5 6 2 gb_21 25 | 5 7 2 gb_21 26 | 7 8 2 gb_21 27 | 7 9 2 gb_21 28 | 29 | [ dihedrals ] 30 | ; ai aj ak al funct ph0 cp mult 31 | ; 4 3 2 1 1 gd_39 32 | ; 4 3 2 1 1 gd_41 33 | 34 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PNIPAM/connect-5.in: -------------------------------------------------------------------------------- 1 | # Connectivity file to generate a PNIPAM with 3 monomers 2 | 3 | #[ BUILDING BLOCKS ] 4 | #BBNUM BBNAME 5 | 1 PNIPS 6 | 2 PNIP 7 | 3 PNIP 8 | 4 PNIP 9 | 5 PNIPE 10 | 11 | #[ CONNECTS ] 12 | #BBI BBJ IAT JAT 13 | 1 2 2 1 14 | 2 3 2 1 15 | 3 4 2 1 16 | 4 5 2 1 17 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PNIPAM/connect.in: -------------------------------------------------------------------------------- 1 | #[ BUILDING BLOCKS ] 2 | 1 PNIPS 3 | 2 PNIP 4 | 3 PNIP 5 | 4 PNIP 6 | 5 PNIP 7 | 6 PNIP 8 | 7 PNIP 9 | 8 PNIP 10 | 9 PNIP 11 | 10 PNIP 12 | 11 PNIP 13 | 12 PNIP 14 | 13 PNIP 15 | 14 PNIP 16 | 15 PNIP 17 | 16 PNIP 18 | 17 PNIP 19 | 18 PNIP 20 | 19 PNIP 21 | 20 PNIP 22 | 21 PNIP 23 | 22 PNIP 24 | 23 PNIP 25 | 24 PNIP 26 | 25 PNIP 27 | 26 PNIP 28 | 27 PNIP 29 | 28 PNIP 30 | 29 PNIP 31 | 30 PNIPE 32 | 33 | #[ CONNECTS ] 34 | 1 2 2 1 35 | 2 3 2 1 36 | 3 4 2 1 37 | 4 5 2 1 38 | 5 6 2 1 39 | 6 7 2 1 40 | 7 8 2 1 41 | 8 9 2 1 42 | 9 10 2 1 43 | 10 11 2 1 44 | 11 12 2 1 45 | 12 13 2 1 46 | 13 14 2 1 47 | 14 15 2 1 48 | 15 16 2 1 49 | 16 17 2 1 50 | 17 18 2 1 51 | 18 19 2 1 52 | 19 20 2 1 53 | 20 21 2 1 54 | 21 22 2 1 55 | 22 23 2 1 56 | 23 24 2 1 57 | 24 25 2 1 58 | 25 26 2 1 59 | 26 27 2 1 60 | 27 28 2 1 61 | 28 29 2 1 62 | 29 30 2 1 63 | 64 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PNIPAM/how_to_run_this_example.txt: -------------------------------------------------------------------------------- 1 | #This will create a polymer of generation 0 2 | 3 | python3 ../../../../__main__.py --bbs=bb_PNIP-start.itp,bb_PNIP.itp,bb_PNIP-end.itp \ 4 | --in=connect-5.in \ 5 | --params=list_param.itp \ 6 | --name=PNIPAM \ 7 | --output=PNIPAM.out.itp \ 8 | --gro=PNIPAM.out.gro \ 9 | --polymer 10 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PNIPAM/run/PNIPAM.top: -------------------------------------------------------------------------------- 1 | ; Include forcefield parameters 2 | #include "../../../../../../gromos2016h66.ff/forcefield.itp" 3 | 4 | ;[ moleculetype ] 5 | ; Name nrexcl 6 | ;PNIPAM 2 7 | 8 | ; Include Pamam topology 9 | #include "PNIPAM.itp" 10 | 11 | ; Include water topology 12 | #include "../../../../../../gromos2016h66.ff/spc.itp" 13 | 14 | 15 | #ifdef POSRES_WATER 16 | ; Position restraint for each water oxygen 17 | [ position_restraints ] 18 | ; i funct fcx fcy fcz 19 | 1 1 5000 5000 5000 20 | #endif 21 | 22 | ; Include generic topology for ions 23 | #include "../../../../../../gromos2016h66.ff/ions.itp" 24 | 25 | [ system ] 26 | ; Name 27 | PNIPAM in water 28 | 29 | [ molecules ] 30 | ; Compound #mols 31 | PNIPAM 1 32 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PNIPAM/run/mdp/em.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.01 ; Energy step size 5 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 6 | 7 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 8 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 9 | cutoff-scheme = Verlet 10 | ns_type = grid ; Method to determine neighbor list (simple, grid) 11 | coulombtype = PME ; Treatment of long range electrostatic interactions 12 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 13 | ; VDW 14 | vdwtype = PME 15 | fourierspacing = 0.12 ; grid spacing for FFT 16 | fourier_nx = 0 17 | fourier_ny = 0 18 | fourier_nz = 0 19 | pme_order = 4 ; cubic interpolation 20 | ewald_rtol = 1e-5 21 | rvdw = 1.0 ; Short-range Van der Waals cut-off 22 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 23 | 24 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PNIPAM/run/mdp/ion.mdp: -------------------------------------------------------------------------------- 1 | ; ions.mdp - used as input into grompp to generate ions.tpr 2 | ; Parameters describing what to do, when to stop and what to save 3 | integrator = steep ; Algorithm (steep = steepest descent minimization) 4 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 5 | emstep = 0.01 ; Energy step size 6 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 7 | 8 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 9 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 10 | cutoff-scheme = Verlet 11 | ns_type = grid ; Method to determine neighbor list (simple, grid) 12 | coulombtype = PME ; Treatment of long range electrostatic interactions 13 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 14 | rvdw = 1.0 ; Short-range Van der Waals cut-off 15 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 16 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PNIPAM/run/mdp/minim.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.01 ; Energy step size 5 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 6 | 7 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 8 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 9 | cutoff-scheme = Verlet 10 | ns_type = grid ; Method to determine neighbor list (simple, grid) 11 | coulombtype = PME ; Treatment of long range electrostatic interactions 12 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 13 | rvdw = 1.0 ; Short-range Van der Waals cut-off 14 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 15 | 16 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PNIPAM/run/mdp/nvt.mdp: -------------------------------------------------------------------------------- 1 | title = Default NVT equilibration 2 | ;define = -DPOSRES ; position restrain the dendrimer 3 | ; Run parameters 4 | integrator = md ; leap-frog integrator 5 | nsteps = 50000 ; 2 * 5000 = 100 ps 6 | dt = 0.002 ; 2 fs 7 | ; Output control 8 | nstxout = 500 ; save coordinates every 1.0 ps 9 | nstvout = 500 ; save velocities every 1.0 ps 10 | nstenergy = 500 ; save energies every 1.0 ps 11 | nstlog = 500 ; update log file every 1.0 ps 12 | nstxout-compressed = 500 ; save compressed coordinates every 1.0 ps 13 | ; Bond parameters 14 | continuation = no ; first dynamics run 15 | constraint_algorithm = lincs ; holonomic constraints 16 | constraints = all-bonds ; all bonds (even heavy atom-H bonds) constrained 17 | lincs_iter = 1 ; accuracy of LINCS 18 | lincs_order = 4 ; also related to accuracy 19 | ; Neighborsearching 20 | cutoff-scheme = Verlet 21 | rlist = 1.0 22 | ns_type = grid ; search neighboring grid cells 23 | nstlist = 10 ; 20 fs, largely irrelevant with Verlet scheme 24 | rcoulomb = 1.0 ; short-range electrostatic cutoff (in nm) 25 | rvdw = 1.0 ; short-range van der Waals cutoff (in nm) 26 | ; Electrostatics 27 | coulombtype = PME ; Particle Mesh Ewald for long-range electrostatics 28 | ; VDW 29 | vdwtype = PME 30 | fourierspacing = 0.12 ; grid spacing for FFT 31 | fourier_nx = 0 32 | fourier_ny = 0 33 | fourier_nz = 0 34 | pme_order = 4 ; cubic interpolation 35 | ewald_rtol = 1e-5 36 | ; Temperature coupling is on 37 | tcoupl = V-rescale ; modified Berendsen thermostat 38 | tc-grps = non-Water Water ; two coupling groups - more accurate 39 | tau_t = 0.1 0.1 ; time constant, in ps 40 | ref_t = 300 300 ; reference temperature, one for each group, in K 41 | ; Pressure coupling is off 42 | pcoupl = no ; no pressure coupling in NVT 43 | ; Periodic boundary conditions 44 | pbc = xyz ; 3-D PBC 45 | ; Dispersion correction 46 | DispCorr = EnerPres ; account for cut-off vdW scheme 47 | ; Velocity generation 48 | gen_vel = yes ; assign velocities from Maxwell distribution 49 | gen_temp = 298.15 ; temperature for Maxwell distribution 50 | gen_seed = -1 ; generate a random seed 51 | 52 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PNIPAM_fix_connection/connect-4.in: -------------------------------------------------------------------------------- 1 | # Connectivity file to generate a PNIPAM with 3 monomers 2 | 3 | #[ BUILDING BLOCKS ] 4 | #BBNUM BBNAME 5 | 1 PNIPS 6 | 2 PNIP 7 | 3 PNIP 8 | 4 PNIP 9 | 5 PNIPE 10 | 11 | #[ CONNECTS ] 12 | #BBI BBJ IAT JAT 13 | 1 2 2 1 14 | 2 3 2 1 15 | 3 4 2 1 16 | 4 5 2 1 17 | 18 | #[ ADVANCED DIHEDRAL ] 19 | #BBI BBJ IAT-1 IAT JAT JAT+1 funct ph0 20 | 1 2 1 2 1 2 1 HERE 21 | 1 2 1 2 1 2 1 HERE 22 | 2 3 1 2 1 2 1 HERE 23 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PNIPAM_fix_connection/default.gro: -------------------------------------------------------------------------------- 1 | Positions 2 | 45 3 | 1PNIP C 1 0.085 -0.183 -0.091 4 | 1PNIP C 2 0.222 -0.161 -0.045 5 | 1PNIP C 3 0.241 -0.109 0.086 6 | 1PNIP O 4 0.193 0.025 0.122 7 | 1PNIP N 5 0.319 -0.183 0.193 8 | 1PNIP H 6 0.384 -0.137 0.244 9 | 1PNIP C 7 0.270 -0.319 0.221 10 | 1PNIP C 8 0.362 -0.402 0.306 11 | 1PNIP C 9 0.155 -0.377 0.165 12 | 1PNIP C 10 0.328 -0.151 -0.145 13 | 1PNIP C 11 0.440 -0.245 -0.146 14 | 1PNIP C 12 0.444 -0.354 -0.049 15 | 1PNIP O 13 0.513 -0.335 0.077 16 | 1PNIP N 14 0.388 -0.484 -0.080 17 | 1PNIP H 15 0.333 -0.530 -0.011 18 | 1PNIP C 16 0.451 -0.564 -0.183 19 | 1PNIP C 17 0.543 -0.670 -0.144 20 | 1PNIP C 18 0.402 -0.559 -0.319 21 | 1PNIP C 19 0.564 -0.207 -0.217 22 | 1PNIP C 20 0.680 -0.296 -0.216 23 | 1PNIP C 21 0.782 -0.277 -0.111 24 | 1PNIP O 22 0.741 -0.259 0.026 25 | 1PNIP N 23 0.923 -0.286 -0.141 26 | 1PNIP H 24 0.978 -0.354 -0.092 27 | 1PNIP C 25 0.990 -0.171 -0.199 28 | 1PNIP C 26 1.089 -0.191 -0.303 29 | 1PNIP C 27 0.984 -0.043 -0.130 30 | 1PNIP C 28 0.667 -0.428 -0.280 31 | 1PNIP C 29 0.766 -0.475 -0.378 32 | 1PNIP C 30 0.874 -0.557 -0.331 33 | 1PNIP O 31 1.008 -0.499 -0.321 34 | 1PNIP N 32 0.863 -0.699 -0.321 35 | 1PNIP H 33 0.787 -0.740 -0.262 36 | 1PNIP C 34 0.950 -0.793 -0.387 37 | 1PNIP C 35 0.914 -0.929 -0.412 38 | 1PNIP C 36 1.089 -0.748 -0.414 39 | 1PNIP C 37 0.727 -0.483 -0.519 40 | 1PNIP C 38 0.807 -0.561 -0.612 41 | 1PNIP C 39 0.770 -0.699 -0.645 42 | 1PNIP O 40 0.669 -0.766 -0.565 43 | 1PNIP N 41 0.808 -0.755 -0.774 44 | 1PNIP H 42 0.747 -0.744 -0.852 45 | 1PNIP C 43 0.919 -0.851 -0.783 46 | 1PNIP C 44 0.936 -0.929 -0.903 47 | 1PNIP C 45 1.023 -0.851 -0.682 48 | 1.82060 1.82060 1.82060 49 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PNIPAM_fix_connection/how_to_run_this_example.txt: -------------------------------------------------------------------------------- 1 | #This will create a polymer of generation 0 2 | 3 | python3 ../../../../__main__.py --bbs=../PNIPAM/bb_PNIP-start.itp,../PNIPAM/bb_PNIP.itp,../PNIPAM/bb_PNIP-end.itp --in=connect-4.in --params=list_param.itp --polymer 4 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PolyEtyleneglycol/connect.in: -------------------------------------------------------------------------------- 1 | #[ BUILDING BLOCKS ] 2 | 1 EGS 3 | 2 EG 4 | 3 EG 5 | 4 EG 6 | 5 EGE 7 | 8 | #[ CONNECTS ] 9 | 1 2 3 1 10 | 2 3 3 1 11 | 3 4 3 1 12 | 4 5 3 1 13 | 14 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PolyEtyleneglycol/etyleneglycol-end.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | EGE 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 CH2 1 POL C 1 0.290 14.02700 8 | 2 OA 1 POL O 1 -0.700 15.99940 9 | 3 H 1 POL H 1 0.410 1.00000 10 | 11 | ; total charge of the molecule: 0.000 12 | 13 | [ bonds ] 14 | ; ai aj funct c0 c1 15 | 1 2 2 gb_18 16 | 2 3 2 gb_1 17 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PolyEtyleneglycol/etyleneglycol-start.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | EGS 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 H 1 POL H 1 0.410 1.0000 8 | 2 OA 1 POL O 1 -0.700 15.99940 9 | 3 CH2 1 POL C 1 0.290 14.02700 10 | 11 | ; total charge of the molecule: 0.000 12 | 13 | [ bonds ] 14 | ; ai aj funct c0 c1 15 | 1 2 2 gb_1 16 | 2 3 2 gb_18 17 | 18 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PolyEtyleneglycol/etyleneglycol.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | EG 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 CH2 1 POL C 1 0.290 14.02700 8 | 2 OE 1 POL O 1 -0.580 15.99940 9 | 3 CH2 1 POL C 1 0.290 14.02700 10 | 11 | ; total charge of the molecule: 0.000 12 | 13 | [ bonds ] 14 | ; ai aj funct c0 c1 15 | 1 2 2 gb_21 16 | 2 3 2 gb_21 17 | 18 | 19 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PolyEtyleneglycol/how_to_run_this_example.txt: -------------------------------------------------------------------------------- 1 | #This example will create a PolyEtyleneglycol polymer 2 | 3 | python3 ../../../../__main__.py --bbs=etyleneglycol-start.itp,etyleneglycol.itp,etyleneglycol-end.itp \ 4 | --in=connect.in \ 5 | --params=list_param.itp \ 6 | --name=PEG \ 7 | --output=PEG5x.out.itp \ 8 | --gro=PEG5x.out.gro \ 9 | --polymer 10 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PolyEtyleneglycol/list_param.itp: -------------------------------------------------------------------------------- 1 | # BONDS 2 | H OA gb_1 3 | CH2 CH2 gb_27 4 | CH2 OA gb_18 5 | CH2 OE gb_18 6 | 7 | 8 | # ANGLES 9 | CH2 OA H ga_12 10 | CH2 OE CH2 ga_15 11 | CH2 CH2 OA ga_15 12 | CH2 CH2 OE ga_15 13 | 14 | # IMPROPERS 15 | CH2 C O N gi_1 16 | C N H CH2 gi_1 17 | CH2 NT CH2 CH2 gi_2 18 | CH2 NT H H gi_2 19 | C CH2 O NT gi_1 20 | 21 | # DIHEDRALS 22 | CH2 CH2 OE CH2 gd_42,gd_43,gd_44 23 | #CH2 CH2 OE CH2 D1,D2,D3 24 | #CH2 OE CH2 CH2 D3*,D2*,D1* 25 | CH2 CH2 O CH2 gd_42,gd_43,gd_44 26 | CH2 CH2 OA H gd_23 27 | #CH2 CH2 OA H FOO 28 | #H OA CH2 CH2 OOF 29 | #OE CH2 CH2 OA D4,D5,D6 30 | #OE CH2 CH2 OE D4,D5,D6 31 | OE CH2 CH2 OA gd_45,gd_46,gd_47 32 | OE CH2 CH2 OE gd_45,gd_46,gd_47 33 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PolyEtyleneglycol/run/.PAMAM.sh.swp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/demo/gromacs_format/polymer/PolyEtyleneglycol/run/.PAMAM.sh.swp -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PolyEtyleneglycol/run/PEG5x.top: -------------------------------------------------------------------------------- 1 | ; Include forcefield parameters 2 | #include "../../../../../../gromos2016h66.ff/forcefield.itp" 3 | 4 | ;[ moleculetype ] 5 | ; Name nrexcl 6 | ;PEG 2 7 | 8 | ; Include Pamam topology 9 | #include "PEG5x.itp" 10 | 11 | ; Include water topology 12 | #include "../../../../../../gromos2016h66.ff/spc.itp" 13 | 14 | 15 | #ifdef POSRES_WATER 16 | ; Position restraint for each water oxygen 17 | [ position_restraints ] 18 | ; i funct fcx fcy fcz 19 | 1 1 5000 5000 5000 20 | #endif 21 | 22 | ; Include generic topology for ions 23 | #include "../../../../../../gromos2016h66.ff/ions.itp" 24 | 25 | [ system ] 26 | ; Name 27 | PEG in water 28 | 29 | [ molecules ] 30 | ; Compound #mols 31 | PEG 1 32 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PolyEtyleneglycol/run/mdp/em.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.01 ; Energy step size 5 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 6 | 7 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 8 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 9 | cutoff-scheme = Verlet 10 | ns_type = grid ; Method to determine neighbor list (simple, grid) 11 | coulombtype = PME ; Treatment of long range electrostatic interactions 12 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 13 | ; VDW 14 | vdwtype = PME 15 | fourierspacing = 0.12 ; grid spacing for FFT 16 | fourier_nx = 0 17 | fourier_ny = 0 18 | fourier_nz = 0 19 | pme_order = 4 ; cubic interpolation 20 | ewald_rtol = 1e-5 21 | rvdw = 1.0 ; Short-range Van der Waals cut-off 22 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 23 | 24 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PolyEtyleneglycol/run/mdp/ion.mdp: -------------------------------------------------------------------------------- 1 | ; ions.mdp - used as input into grompp to generate ions.tpr 2 | ; Parameters describing what to do, when to stop and what to save 3 | integrator = steep ; Algorithm (steep = steepest descent minimization) 4 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 5 | emstep = 0.01 ; Energy step size 6 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 7 | 8 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 9 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 10 | cutoff-scheme = Verlet 11 | ns_type = grid ; Method to determine neighbor list (simple, grid) 12 | coulombtype = PME ; Treatment of long range electrostatic interactions 13 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 14 | rvdw = 1.0 ; Short-range Van der Waals cut-off 15 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 16 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PolyEtyleneglycol/run/mdp/minim.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.01 ; Energy step size 5 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 6 | 7 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 8 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 9 | cutoff-scheme = Verlet 10 | ns_type = grid ; Method to determine neighbor list (simple, grid) 11 | coulombtype = PME ; Treatment of long range electrostatic interactions 12 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 13 | rvdw = 1.0 ; Short-range Van der Waals cut-off 14 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 15 | 16 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PolyEtyleneglycol/run/mdp/nvt.mdp: -------------------------------------------------------------------------------- 1 | title = Default NVT equilibration 2 | ;define = -DPOSRES ; position restrain the dendrimer 3 | ; Run parameters 4 | integrator = md ; leap-frog integrator 5 | nsteps = 50000 ; 2 * 5000 = 100 ps 6 | dt = 0.002 ; 2 fs 7 | ; Output control 8 | nstxout = 500 ; save coordinates every 1.0 ps 9 | nstvout = 500 ; save velocities every 1.0 ps 10 | nstenergy = 500 ; save energies every 1.0 ps 11 | nstlog = 500 ; update log file every 1.0 ps 12 | nstxout-compressed = 500 ; save compressed coordinates every 1.0 ps 13 | ; Bond parameters 14 | continuation = no ; first dynamics run 15 | constraint_algorithm = lincs ; holonomic constraints 16 | constraints = all-bonds ; all bonds (even heavy atom-H bonds) constrained 17 | lincs_iter = 1 ; accuracy of LINCS 18 | lincs_order = 4 ; also related to accuracy 19 | ; Neighborsearching 20 | cutoff-scheme = Verlet 21 | rlist = 1.0 22 | ns_type = grid ; search neighboring grid cells 23 | nstlist = 10 ; 20 fs, largely irrelevant with Verlet scheme 24 | rcoulomb = 1.0 ; short-range electrostatic cutoff (in nm) 25 | rvdw = 1.0 ; short-range van der Waals cutoff (in nm) 26 | ; Electrostatics 27 | coulombtype = PME ; Particle Mesh Ewald for long-range electrostatics 28 | ; VDW 29 | vdwtype = PME 30 | fourierspacing = 0.12 ; grid spacing for FFT 31 | fourier_nx = 0 32 | fourier_ny = 0 33 | fourier_nz = 0 34 | pme_order = 4 ; cubic interpolation 35 | ewald_rtol = 1e-5 36 | ; Temperature coupling is on 37 | tcoupl = V-rescale ; modified Berendsen thermostat 38 | tc-grps = non-Water Water ; two coupling groups - more accurate 39 | tau_t = 0.1 0.1 ; time constant, in ps 40 | ref_t = 300 300 ; reference temperature, one for each group, in K 41 | ; Pressure coupling is off 42 | pcoupl = no ; no pressure coupling in NVT 43 | ; Periodic boundary conditions 44 | pbc = xyz ; 3-D PBC 45 | ; Dispersion correction 46 | DispCorr = EnerPres ; account for cut-off vdW scheme 47 | ; Velocity generation 48 | gen_vel = yes ; assign velocities from Maxwell distribution 49 | gen_temp = 298.15 ; temperature for Maxwell distribution 50 | gen_seed = -1 ; generate a random seed 51 | 52 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PolyUrethane/connect-3.in: -------------------------------------------------------------------------------- 1 | #[ BUILDING BLOCKS ] 2 | 1 PUB 3 | 2 PUI 4 | 3 PUE 5 | 6 | #[ CONNECTS ] 7 | 1 2 36 1 8 | 2 3 35 1 9 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PolyUrethane/connect1.in: -------------------------------------------------------------------------------- 1 | #[ BUILDING BLOCKS ] 2 | 1 PUB 3 | 2 PUI 4 | 3 PUI 5 | 4 PUI 6 | 5 PUI 7 | 6 PUI 8 | 7 PUI 9 | 8 PUI 10 | 9 PUI 11 | 10 PUI 12 | 11 PUI 13 | 12 PUI 14 | 13 PUI 15 | 14 PUI 16 | 15 PUI 17 | 16 PUI 18 | 17 PUI 19 | 18 PUI 20 | 19 PUI 21 | 20 PUI 22 | 21 PUI 23 | 22 PUI 24 | 23 PUI 25 | 24 PUI 26 | 25 PUI 27 | 26 PUI 28 | 27 PUI 29 | 28 PUI 30 | 29 PUI 31 | 30 PUE 32 | 33 | #[ CONNECTS ] 34 | 1 2 36 1 35 | 2 3 35 1 36 | 3 4 35 1 37 | 4 5 35 1 38 | 5 6 35 1 39 | 6 7 35 1 40 | 7 8 35 1 41 | 8 9 35 1 42 | 9 10 35 1 43 | 10 11 35 1 44 | 11 12 35 1 45 | 12 13 35 1 46 | 13 14 35 1 47 | 14 15 35 1 48 | 15 16 35 1 49 | 16 17 35 1 50 | 17 18 35 1 51 | 18 19 35 1 52 | 19 20 35 1 53 | 20 21 35 1 54 | 21 22 35 1 55 | 22 23 35 1 56 | 23 24 35 1 57 | 24 25 35 1 58 | 25 26 35 1 59 | 26 27 35 1 60 | 27 28 35 1 61 | 28 29 35 1 62 | 29 30 35 1 63 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PolyUrethane/connect2.in: -------------------------------------------------------------------------------- 1 | #[ BUILDING BLOCKS ] 2 | 1 PUB 3 | 2 PUI 4 | 3 PUI 5 | 4 PUI 6 | 5 PUI 7 | 6 PUI 8 | 7 PUI 9 | 8 PUI 10 | 9 PUI 11 | 10 PUI 12 | 11 PUI 13 | 12 PUI 14 | 13 PUI 15 | 14 PUI 16 | 15 PUI 17 | 16 PUI 18 | 17 PUI 19 | 18 PUI 20 | 19 PUI 21 | 20 PUI 22 | 21 PUI 23 | 22 PUI 24 | 23 PUI 25 | 24 PUI 26 | 25 PUI 27 | 26 PUI 28 | 27 PUI 29 | 28 PUI 30 | 29 PUI 31 | 30 PUI 32 | 31 PUI 33 | 32 PUI 34 | 33 PUI 35 | 34 PUI 36 | 35 PUI 37 | 36 PUI 38 | 37 PUI 39 | 38 PUI 40 | 39 PUI 41 | 40 PUI 42 | 41 PUI 43 | 42 PUI 44 | 43 PUI 45 | 44 PUI 46 | 45 PUI 47 | 46 PUI 48 | 47 PUI 49 | 48 PUI 50 | 49 PUI 51 | 50 PUE 52 | 53 | #[ CONNECTS ] 54 | 1 2 36 1 55 | 2 3 35 1 56 | 3 4 35 1 57 | 4 5 35 1 58 | 5 6 35 1 59 | 6 7 35 1 60 | 7 8 35 1 61 | 8 9 35 1 62 | 9 10 35 1 63 | 10 11 35 1 64 | 11 12 35 1 65 | 12 13 35 1 66 | 13 14 35 1 67 | 14 15 35 1 68 | 15 16 35 1 69 | 16 17 35 1 70 | 17 18 35 1 71 | 18 19 35 1 72 | 19 20 35 1 73 | 20 21 35 1 74 | 21 22 35 1 75 | 22 23 35 1 76 | 23 24 35 1 77 | 24 25 35 1 78 | 25 26 35 1 79 | 26 27 35 1 80 | 27 28 35 1 81 | 28 29 35 1 82 | 29 30 35 1 83 | 30 31 35 1 84 | 31 32 35 1 85 | 32 33 35 1 86 | 33 34 35 1 87 | 34 35 35 1 88 | 35 36 35 1 89 | 36 37 35 1 90 | 37 38 35 1 91 | 38 39 35 1 92 | 39 40 35 1 93 | 40 41 35 1 94 | 41 42 35 1 95 | 42 43 35 1 96 | 43 44 35 1 97 | 44 45 35 1 98 | 45 46 35 1 99 | 46 47 35 1 100 | 47 48 35 1 101 | 48 49 35 1 102 | 49 50 35 1 103 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PolyUrethane/connect3.in: -------------------------------------------------------------------------------- 1 | #[ BUILDING BLOCKS ] 2 | 1 PUB 3 | 2 PUI 4 | 3 PUI 5 | 4 PUI 6 | 5 PUI 7 | 6 PUI 8 | 7 PUI 9 | 8 PUI 10 | 9 PUI 11 | 10 PUI 12 | 11 PUI 13 | 12 PUI 14 | 13 PUI 15 | 14 PUI 16 | 15 PUI 17 | 16 PUI 18 | 19 | #[ CONNECTS ] 20 | 1 2 36 1 21 | 2 3 35 1 22 | 3 4 35 1 23 | 4 5 35 1 24 | 5 6 35 1 25 | 6 7 35 1 26 | 7 8 35 1 27 | 8 9 35 1 28 | 9 10 35 1 29 | 10 11 35 1 30 | 11 12 35 1 31 | 12 13 35 1 32 | 13 14 35 1 33 | 14 15 35 1 34 | 15 16 35 1 35 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PolyUrethane/how_to_run_this_example.txt: -------------------------------------------------------------------------------- 1 | #This will create a polymer with 3 monomers 2 | 3 | python3 ../../../../__main__.py --bbs=bb_PU_B.itp,bb_PU_I.itp,bb_PU_E.itp \ 4 | --in=connect-3.in \ 5 | --params=list_param.itp \ 6 | --name=PU \ 7 | --output=PU3x.out.itp \ 8 | --gro=PU3x.out.gro \ 9 | --polymer 10 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PolyUrethane/list_param.itp: -------------------------------------------------------------------------------- 1 | # BONDS 2 | C OE gb_13 3 | 4 | 5 | # ANGLES 6 | CH2 OE H ga_8 7 | CH2 OA H ga_12 8 | CH2 CH2 OA ga_15 9 | CH2 CH2 CH2 ga_15 10 | C C C ga_27 11 | C C N ga_25 12 | C N H ga_32 13 | C C H ga_25 14 | C CH2 C ga_13 15 | C N C ga_25 16 | HC C C ga_25 17 | C C CH2 ga_25 18 | OE CH2 CH2 ga_15 19 | C OE CH2 ga_22 20 | O C N ga_33 21 | N C OE ga_33 22 | O C OE ga_31 23 | H C O ga_25 24 | H C N ga_25 25 | HC C O ga_25 26 | HC C N ga_25 27 | 28 | # IMPROPERS 29 | C N O OE gi_1 30 | N C H C gi_1 31 | C C HC C gi_1 32 | C C C CH2 gi_1 33 | C H O N gi_1 34 | 35 | # DIHEDRALS 36 | CH2 CH2 OE H gd_8 37 | CH2 CH2 OA H gd_23 38 | H OA CH2 CH2 gd_23 39 | CH2 CH2 CH2 OA gd_34 40 | CH2 CH2 CH2 OE gd_34 41 | C N C O gd_14 42 | C C N H gd_14 43 | ;HC C C N gd_33 44 | H N C O gd_14 45 | HC N C O gd_14 46 | HC C N O gd_14 47 | HC C N C gd_8 48 | HC C N H gd_8 49 | C C C N gd_10 50 | C N C C gd_14 51 | C C CH2 C gd_40 52 | ;HC C C CH2 gd_33 53 | CH2 CH2 CH2 CH2 gd_34 54 | O C OE C gd_12 55 | H C N H gd_14 56 | N C OE CH2 gd_12 57 | CH2 CH2 OE C gd_42 58 | O C OE CH2 gd_12 59 | C C C CH2 gd_10 60 | OE C N H gd_14 61 | ;HC C C HC gd_33 62 | ;C C C C gd_10 63 | ;C C C HC gd_33 64 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PolyUrethane/run/PU3x.top: -------------------------------------------------------------------------------- 1 | ; Include forcefield parameters 2 | #include "../../../../../../gromos2016h66.ff/forcefield.itp" 3 | 4 | ;[ moleculetype ] 5 | ; Name nrexcl 6 | ;PU 2 7 | 8 | ; Include Pamam topology 9 | #include "PU3x.itp" 10 | 11 | ; Include water topology 12 | #include "../../../../../../gromos2016h66.ff/spc.itp" 13 | 14 | 15 | #ifdef POSRES_WATER 16 | ; Position restraint for each water oxygen 17 | [ position_restraints ] 18 | ; i funct fcx fcy fcz 19 | 1 1 5000 5000 5000 20 | #endif 21 | 22 | ; Include generic topology for ions 23 | #include "../../../../../../gromos2016h66.ff/ions.itp" 24 | 25 | [ system ] 26 | ; Name 27 | PU in water 28 | 29 | [ molecules ] 30 | ; Compound #mols 31 | PU 1 32 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PolyUrethane/run/mdp/em.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.01 ; Energy step size 5 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 6 | 7 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 8 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 9 | cutoff-scheme = Verlet 10 | ns_type = grid ; Method to determine neighbor list (simple, grid) 11 | coulombtype = PME ; Treatment of long range electrostatic interactions 12 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 13 | ; VDW 14 | vdwtype = PME 15 | fourierspacing = 0.12 ; grid spacing for FFT 16 | fourier_nx = 0 17 | fourier_ny = 0 18 | fourier_nz = 0 19 | pme_order = 4 ; cubic interpolation 20 | ewald_rtol = 1e-5 21 | rvdw = 1.0 ; Short-range Van der Waals cut-off 22 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 23 | 24 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PolyUrethane/run/mdp/em1.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 100.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.001 ; Energy step size 5 | nsteps = 5000 ; Maximum number of (minimization) steps to perform 6 | nstcgsteep = 10 7 | 8 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 9 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 10 | cutoff-scheme = Verlet 11 | ns_type = grid ; Method to determine neighbor list (simple, grid) 12 | coulombtype = PME ; Treatment of long range electrostatic interactions 13 | rcoulomb = 1.2 ; Short-range electrostatic cut-off 14 | ; VDW 15 | vdwtype = PME 16 | fourierspacing = 0.12 ; grid spacing for FFT 17 | fourier_nx = 0 18 | fourier_ny = 0 19 | fourier_nz = 0 20 | pme_order = 4 ; cubic interpolation 21 | ewald_rtol = 1e-5 22 | rvdw = 1.2 ; Short-range Van der Waals cut-off 23 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 24 | rlist = 1.2 25 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PolyUrethane/run/mdp/em2.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 100.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.001 ; Energy step size 5 | nsteps = 5000 ; Maximum number of (minimization) steps to perform 6 | nstcgsteep = 10 7 | 8 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 9 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 10 | cutoff-scheme = Verlet 11 | ns_type = grid ; Method to determine neighbor list (simple, grid) 12 | coulombtype = PME ; Treatment of long range electrostatic interactions 13 | rcoulomb = 1.2 ; Short-range electrostatic cut-off 14 | ; VDW 15 | vdwtype = PME 16 | fourierspacing = 0.12 ; grid spacing for FFT 17 | fourier_nx = 0 18 | fourier_ny = 0 19 | fourier_nz = 0 20 | pme_order = 4 ; cubic interpolation 21 | ewald_rtol = 1e-5 22 | rvdw = 1.2 ; Short-range Van der Waals cut-off 23 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 24 | rlist = 1.2 25 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PolyUrethane/run/mdp/ion.mdp: -------------------------------------------------------------------------------- 1 | ; ions.mdp - used as input into grompp to generate ions.tpr 2 | ; Parameters describing what to do, when to stop and what to save 3 | integrator = steep ; Algorithm (steep = steepest descent minimization) 4 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 5 | emstep = 0.01 ; Energy step size 6 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 7 | 8 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 9 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 10 | cutoff-scheme = Verlet 11 | ns_type = grid ; Method to determine neighbor list (simple, grid) 12 | coulombtype = PME ; Treatment of long range electrostatic interactions 13 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 14 | rvdw = 1.0 ; Short-range Van der Waals cut-off 15 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 16 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PolyUrethane/run/mdp/minim.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.01 ; Energy step size 5 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 6 | 7 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 8 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 9 | cutoff-scheme = Verlet 10 | ns_type = grid ; Method to determine neighbor list (simple, grid) 11 | coulombtype = PME ; Treatment of long range electrostatic interactions 12 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 13 | rvdw = 1.0 ; Short-range Van der Waals cut-off 14 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 15 | 16 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/PolyUrethane/run/mdp/nvt.mdp: -------------------------------------------------------------------------------- 1 | title = Default NVT equilibration 2 | ;define = -DPOSRES ; position restrain the dendrimer 3 | ; Run parameters 4 | integrator = md ; leap-frog integrator 5 | nsteps = 50000 ; 2 * 5000 = 100 ps 6 | dt = 0.002 ; 2 fs 7 | ; Output control 8 | nstxout = 500 ; save coordinates every 1.0 ps 9 | nstvout = 500 ; save velocities every 1.0 ps 10 | nstenergy = 500 ; save energies every 1.0 ps 11 | nstlog = 500 ; update log file every 1.0 ps 12 | nstxout-compressed = 500 ; save compressed coordinates every 1.0 ps 13 | ; Bond parameters 14 | continuation = no ; first dynamics run 15 | constraint_algorithm = lincs ; holonomic constraints 16 | constraints = all-bonds ; all bonds (even heavy atom-H bonds) constrained 17 | lincs_iter = 1 ; accuracy of LINCS 18 | lincs_order = 4 ; also related to accuracy 19 | ; Neighborsearching 20 | cutoff-scheme = Verlet 21 | rlist = 1.0 22 | ns_type = grid ; search neighboring grid cells 23 | nstlist = 10 ; 20 fs, largely irrelevant with Verlet scheme 24 | rcoulomb = 1.0 ; short-range electrostatic cutoff (in nm) 25 | rvdw = 1.0 ; short-range van der Waals cutoff (in nm) 26 | ; Electrostatics 27 | coulombtype = PME ; Particle Mesh Ewald for long-range electrostatics 28 | ; VDW 29 | vdwtype = PME 30 | fourierspacing = 0.12 ; grid spacing for FFT 31 | fourier_nx = 0 32 | fourier_ny = 0 33 | fourier_nz = 0 34 | pme_order = 4 ; cubic interpolation 35 | ewald_rtol = 1e-5 36 | ; Temperature coupling is on 37 | tcoupl = V-rescale ; modified Berendsen thermostat 38 | tc-grps = non-Water Water ; two coupling groups - more accurate 39 | tau_t = 0.1 0.1 ; time constant, in ps 40 | ref_t = 300 300 ; reference temperature, one for each group, in K 41 | ; Pressure coupling is off 42 | pcoupl = no ; no pressure coupling in NVT 43 | ; Periodic boundary conditions 44 | pbc = xyz ; 3-D PBC 45 | ; Dispersion correction 46 | DispCorr = EnerPres ; account for cut-off vdW scheme 47 | ; Velocity generation 48 | gen_vel = yes ; assign velocities from Maxwell distribution 49 | gen_temp = 298.15 ; temperature for Maxwell distribution 50 | gen_seed = -1 ; generate a random seed 51 | 52 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/Poly_p-benzamide/bb_PPD_B.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | PPDB 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 H 1 PPDB H 1 0.3100 1.0080 8 | 2 H 1 PPDB H 1 0.3100 1.0080 9 | 3 N 1 PPDB N 1 -0.5000 14.0067 AR 10 | 4 C 1 PPDB C 1 0.1900 13.0190 AR 11 | 5 C 1 PPDB C 2 0.1298 12.0270 AR 12 | 6 HC 1 PPDB H 2 -0.1298 1.0080 AR 13 | 7 C 1 PPDB C 2 0.1298 14.0270 AR 14 | 8 HC 1 PPDB H 2 -0.1298 1.0080 AR 15 | 9 C 1 PPDB C 3 0.1298 14.0270 AR 16 | 10 C 1 PPDB C 2 0.1298 14.0270 AR 17 | 11 HC 1 PPDB H 2 -0.1298 1.0080 AR 18 | 12 C 1 PPDB C 2 0.0000 13.0190 AR 19 | 13 HC 1 PPDB H 2 -0.1298 1.0080 AR 20 | 14 N 1 PPDB N 3 -0.5000 14.0067 AR 21 | 15 H 1 PPDB H 3 0.3100 1.0080 22 | 23 | 24 | ; total charge of the molecule: 0.000 25 | 26 | [ bonds ] 27 | ; ai aj funct c0 c1 28 | 1 3 2 gb_1 29 | 2 3 2 gb_1 30 | 3 4 2 gb_1 31 | 4 5 2 gb_1 32 | 5 6 2 gb_1 33 | 5 7 2 gb_1 34 | 7 8 2 gb_1 35 | 7 9 2 gb_1 36 | 4 10 2 gb_1 37 | 10 11 2 gb_1 38 | 10 12 2 gb_1 39 | 12 13 2 gb_1 40 | 9 12 2 gb_1 41 | 9 14 2 gb_1 42 | 14 15 2 gb_1 43 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/Poly_p-benzamide/bb_PPD_I.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | PPDI 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 H 1 PPDI H 1 0.3100 1.0080 8 | 2 N 1 PPDI N 1 -0.5000 14.0067 AR 9 | 3 C 1 PPDI C 1 0.1900 13.0190 AR 10 | 4 C 1 PPDI C 1 0.1298 12.0270 AR 11 | 5 HC 1 PPDI H 1 -0.1298 1.0080 AR 12 | 6 C 1 PPDI C 1 0.1298 14.0270 AR 13 | 7 HC 1 PPDI H 1 -0.1298 1.0080 AR 14 | 8 C 1 PPDI C 1 0.1298 14.0270 AR 15 | 9 C 1 PPDI C 1 0.1298 14.0270 AR 16 | 10 HC 1 PPDI H 1 -0.1298 1.0080 AR 17 | 11 C 1 PPDI C 1 0.0000 13.0190 AR 18 | 12 HC 1 PPDI H 1 -0.1298 1.0080 AR 19 | 13 N 1 PPDI N 1 -0.5000 14.0067 AR 20 | 14 H 1 PPDI H 1 0.3100 1.0080 21 | 22 | 23 | ; total charge of the molecule: 0.000 24 | 25 | [ bonds ] 26 | ; ai aj funct c0 c1 27 | 1 2 2 gb_1 28 | 2 3 2 gb_1 29 | 3 4 2 gb_1 30 | 4 5 2 gb_1 31 | 4 6 2 gb_1 32 | 6 7 2 gb_1 33 | 6 8 2 gb_1 34 | 3 9 2 gb_1 35 | 9 10 2 gb_1 36 | 9 11 2 gb_1 37 | 11 12 2 gb_1 38 | 8 11 2 gb_1 39 | 8 13 2 gb_1 40 | 13 14 2 gb_1 41 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/Poly_p-benzamide/bb_TCO_E.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | TCOE 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 O 1 TCOE O 1 0.3100 15.9994 8 | 2 C 1 TCOE C 1 -0.5000 12.0270 AR 9 | 3 C 1 TCOE C 1 0.1900 13.0190 AR 10 | 4 C 1 TCOE C 1 0.1298 12.0270 AR 11 | 5 HC 1 TCOE H 1 -0.1298 1.0080 AR 12 | 6 C 1 TCOE C 1 0.1298 14.0270 AR 13 | 7 HC 1 TCOE H 1 -0.1298 1.0080 AR 14 | 8 C 1 TCOE C 1 0.1298 14.0270 AR 15 | 9 C 1 TCOE C 1 0.1298 14.0270 AR 16 | 10 HC 1 TCOE H 1 -0.1298 1.0080 AR 17 | 11 C 1 TCOE C 1 0.0000 13.0190 AR 18 | 12 HC 1 TCOE H 1 -0.1298 1.0080 AR 19 | 13 C 1 TCOE C 1 -0.5000 12.0270 AR 20 | 14 O 1 TCOE O 1 0.3100 15.9994 21 | 15 HC 1 TCOE H 1 -0.1298 1.0080 22 | 23 | 24 | ; total charge of the molecule: 0.000 25 | 26 | [ bonds ] 27 | ; ai aj funct c0 c1 28 | 1 2 2 gb_1 29 | 2 3 2 gb_1 30 | 3 4 2 gb_1 31 | 4 5 2 gb_1 32 | 4 6 2 gb_1 33 | 6 7 2 gb_1 34 | 6 8 2 gb_1 35 | 3 9 2 gb_1 36 | 9 10 2 gb_1 37 | 9 11 2 gb_1 38 | 11 12 2 gb_1 39 | 8 11 2 gb_1 40 | 8 13 2 gb_1 41 | 13 14 2 gb_1 42 | 13 15 2 gb_1 43 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/Poly_p-benzamide/bb_TCO_I.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | TCOI 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 O 1 TCOI O 1 0.3100 15.9994 8 | 2 C 1 TCOI C 1 -0.5000 12.0270 AR 9 | 3 C 1 TCOI C 1 0.1900 13.0190 AR 10 | 4 C 1 TCOI C 1 0.1298 12.0270 AR 11 | 5 HC 1 TCOI H 1 -0.1298 1.0080 AR 12 | 6 C 1 TCOI C 1 0.1298 14.0270 AR 13 | 7 HC 1 TCOI H 1 -0.1298 1.0080 AR 14 | 8 C 1 TCOI C 1 0.1298 14.0270 AR 15 | 9 C 1 TCOI C 1 0.1298 14.0270 AR 16 | 10 HC 1 TCOI H 1 -0.1298 1.0080 AR 17 | 11 C 1 TCOI C 1 0.0000 13.0190 AR 18 | 12 HC 1 TCOI H 1 -0.1298 1.0080 AR 19 | 13 C 1 TCOI C 1 -0.5000 12.0270 AR 20 | 14 O 1 TCOI O 1 0.3100 15.9994 21 | 22 | 23 | ; total charge of the molecule: 0.000 24 | 25 | [ bonds ] 26 | ; ai aj funct c0 c1 27 | 1 2 2 gb_1 28 | 2 3 2 gb_1 29 | 3 4 2 gb_1 30 | 4 5 2 gb_1 31 | 4 6 2 gb_1 32 | 6 7 2 gb_1 33 | 6 8 2 gb_1 34 | 3 9 2 gb_1 35 | 9 10 2 gb_1 36 | 9 11 2 gb_1 37 | 11 12 2 gb_1 38 | 8 11 2 gb_1 39 | 8 13 2 gb_1 40 | 13 14 2 gb_1 41 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/Poly_p-benzamide/connect-4.in: -------------------------------------------------------------------------------- 1 | #[ BUILDING BLOCKS ] 2 | 1 PPDB 3 | 2 TCOI 4 | 3 PPDI 5 | 4 TCOE 6 | 7 | #[ CONNECTS ] 8 | 1 2 14 2 9 | 2 3 13 2 10 | 3 4 13 2 11 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/Poly_p-benzamide/connect.in: -------------------------------------------------------------------------------- 1 | #[ BUILDING BLOCKS ] 2 | 1 PUB 3 | 2 PUI 4 | 3 PUI 5 | 4 PUI 6 | 5 PUI 7 | 6 PUI 8 | 7 PUI 9 | 8 PUI 10 | 9 PUI 11 | 10 PUI 12 | 11 PUI 13 | 12 PUI 14 | 13 PUI 15 | 14 PUI 16 | 15 PUI 17 | 16 PUI 18 | 17 PUI 19 | 18 PUI 20 | 19 PUI 21 | 20 PUI 22 | 21 PUI 23 | 22 PUI 24 | 23 PUI 25 | 24 PUI 26 | 25 PUI 27 | 26 PUI 28 | 27 PUI 29 | 28 PUI 30 | 29 PUI 31 | 30 PUI 32 | 31 PUI 33 | 32 PUI 34 | 33 PUI 35 | 34 PUI 36 | 35 PUI 37 | 36 PUI 38 | 37 PUI 39 | 38 PUI 40 | 39 PUI 41 | 40 PUI 42 | 41 PUI 43 | 42 PUI 44 | 43 PUI 45 | 44 PUI 46 | 45 PUI 47 | 46 PUI 48 | 47 PUI 49 | 48 PUI 50 | 49 PUI 51 | 50 PUE 52 | 53 | #[ CONNECTS ] 54 | 1 2 36 1 55 | 2 3 35 1 56 | 3 4 35 1 57 | 4 5 35 1 58 | 5 6 35 1 59 | 6 7 35 1 60 | 7 8 35 1 61 | 8 9 35 1 62 | 9 10 35 1 63 | 10 11 35 1 64 | 11 12 35 1 65 | 12 13 35 1 66 | 13 14 35 1 67 | 14 15 35 1 68 | 15 16 35 1 69 | 16 17 35 1 70 | 17 18 35 1 71 | 18 19 35 1 72 | 19 20 35 1 73 | 20 21 35 1 74 | 21 22 35 1 75 | 22 23 35 1 76 | 23 24 35 1 77 | 24 25 35 1 78 | 25 26 35 1 79 | 26 27 35 1 80 | 27 28 35 1 81 | 28 29 35 1 82 | 29 30 35 1 83 | 30 31 35 1 84 | 31 32 35 1 85 | 32 33 35 1 86 | 33 34 35 1 87 | 34 35 35 1 88 | 35 36 35 1 89 | 36 37 35 1 90 | 37 38 35 1 91 | 38 39 35 1 92 | 39 40 35 1 93 | 40 41 35 1 94 | 41 42 35 1 95 | 42 43 35 1 96 | 43 44 35 1 97 | 44 45 35 1 98 | 45 46 35 1 99 | 46 47 35 1 100 | 47 48 35 1 101 | 48 49 35 1 102 | 49 50 35 1 103 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/Poly_p-benzamide/how_to_run_this_example.txt: -------------------------------------------------------------------------------- 1 | #This will create a polymer of generation 0 2 | 3 | python3 ../../../../__main__.py --bbs=bb_PPD_B.itp,bb_PPD_I.itp,bb_TCO_I.itp,bb_TCO_E.itp \ 4 | --in=connect-4.in \ 5 | --params=list_param.itp \ 6 | --name=PPB \ 7 | --output=PPB.out.itp \ 8 | --gro=PPB.out.gro \ 9 | --polymer 10 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/Poly_p-benzamide/list_param.itp: -------------------------------------------------------------------------------- 1 | # BONDS 2 | N C gb_11 3 | C C gb_16 4 | N H gb_2 5 | C O gb_5 6 | C HC gb_3 7 | 8 | # ANGLES 9 | H N H ga_11 10 | H N C ga_32 11 | N N C ga_22 12 | C N C ga_22 13 | C C O ga_19 14 | C C N ga_19 15 | C C C ga_27 16 | C C HC ga_25 17 | N N H ga_32 18 | N C O ga_33 19 | O C HC ga_25 20 | 21 | # IMPROPERS 22 | C C O N gi_1 23 | C C C HC gi_1 24 | C C C N gi_1 25 | C C C C gi_1 26 | 27 | # DIHEDRALS 28 | C C C C gd_22; 29 | HC C C C gd_22; 30 | HC C C HC gd_22; 31 | C C C O gd_10 32 | C C C N gd_10 33 | C C N H gd_14 34 | N C C HC gd_10 35 | C N C C gd_14 36 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/Toy_Ciclic_Polymer/connect.in: -------------------------------------------------------------------------------- 1 | #[ BUILDING BLOCKS ] 2 | 1 nc3 3 | 2 nc3 4 | 3 nc3 5 | 4 nc3 6 | 5 etyleneglycol 7 | 6 etyleneglycol 8 | 7 etyleneglycol 9 | 8 etyleneglycol 10 | 9 etyleneglycol 11 | 10 etyleneglycol 12 | 11 etyleneglycol 13 | 12 etyleneglycol 14 | 13 etyleneglycol 15 | 14 etyleneglycol 16 | 15 ter_etyleneglycol 17 | 16 etyleneglycol 18 | 17 etyleneglycol 19 | 18 ter_etyleneglycol 20 | 19 etyleneglycol 21 | 20 etyleneglycol 22 | 21 ter_etyleneglycol 23 | 22 etyleneglycol 24 | 23 etyleneglycol 25 | 24 ter_etyleneglycol 26 | 27 | #[ CONNECTS ] 28 | 1 5 4 1 29 | 5 6 3 1 30 | 6 2 3 3 31 | 2 7 4 1 32 | 7 8 3 1 33 | 8 3 3 3 34 | 3 9 4 1 35 | 9 10 3 1 36 | 10 4 3 3 37 | 4 11 4 1 38 | 11 12 3 1 39 | 12 1 3 3 40 | 13 1 1 2 41 | 13 14 3 1 42 | 14 15 3 1 43 | 16 2 1 2 44 | 16 17 3 1 45 | 17 18 3 1 46 | 19 3 1 2 47 | 19 20 3 1 48 | 20 21 3 1 49 | 22 4 1 2 50 | 22 23 3 1 51 | 23 24 3 1 52 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/Toy_Ciclic_Polymer/connect_BBs.in: -------------------------------------------------------------------------------- 1 | #[ BUILDING BLOCKS ] 2 | 1 RING 3 | 2 ARM 4 | 3 ARM 5 | 4 ARM 6 | 5 ARM 7 | 8 | #[ CONNECTS ] 9 | 1 2 2 1 10 | 1 3 6 1 11 | 1 4 10 1 12 | 1 5 14 1 13 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/Toy_Ciclic_Polymer/connect_arm.in: -------------------------------------------------------------------------------- 1 | #[ BUILDING BLOCKS ] 2 | 1 etyleneglycol 3 | 2 etyleneglycol 4 | 3 ter_etyleneglycol 5 | 6 | #[ CONNECTS ] 7 | 1 2 3 1 8 | 2 3 3 1 9 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/Toy_Ciclic_Polymer/connect_ring.in: -------------------------------------------------------------------------------- 1 | #[ BUILDING BLOCKS ] 2 | 1 nc3 3 | 2 nc3 4 | 3 nc3 5 | 4 nc3 6 | 5 etyleneglycol 7 | 6 etyleneglycol 8 | 7 etyleneglycol 9 | 8 etyleneglycol 10 | 9 etyleneglycol 11 | 10 etyleneglycol 12 | 11 etyleneglycol 13 | 12 etyleneglycol 14 | 15 | #[ CONNECTS ] 16 | 1 5 4 1 17 | 5 6 3 1 18 | 6 2 3 3 19 | 2 7 4 1 20 | 7 8 3 1 21 | 8 3 3 3 22 | 3 9 4 1 23 | 9 10 3 1 24 | 10 4 3 3 25 | 4 11 4 1 26 | 11 12 3 1 27 | 12 1 3 3 28 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/Toy_Ciclic_Polymer/default.gro: -------------------------------------------------------------------------------- 1 | Positions 2 | 9 3 | 1POL C 1 0.018 0.028 0.041 4 | 1POL O 2 0.144 0.003 -0.030 5 | 1POL C 3 0.213 -0.130 0.002 6 | 1POL C 4 0.303 -0.127 0.120 7 | 1POL O 5 0.341 -0.261 0.177 8 | 1POL C 6 0.324 -0.277 0.322 9 | 1POL C 7 0.382 -0.407 0.381 10 | 1POL O 8 0.528 -0.410 0.398 11 | 1POL C 9 0.560 -0.469 0.485 12 | 1.82060 1.82060 1.82060 13 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/Toy_Ciclic_Polymer/etyleneglycol.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | etyleneglycol 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 CH2 1 POL C 1 0.250 14.02700 8 | 2 O 1 POL O 1 -0.500 15.99940 9 | 3 CH2 1 POL C 1 0.250 14.02700 10 | ; total charge of the molecule: 0.000 11 | 12 | [ bonds ] 13 | ; ai aj funct c0 c1 14 | 1 2 2 gb_21 15 | 2 3 2 gb_21 16 | 17 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/Toy_Ciclic_Polymer/how_to_run_this_example.txt: -------------------------------------------------------------------------------- 1 | #This example will create a fictional molecule that we are calling polymer 2 | 3 | #There are two ways that we can execute this procedure, the first is use the connect.in to connect each building block individually and make all the polymer at once; the second is to make each part of the polymer separately and then unite them. 4 | 5 | if [ $1 == '1' ]; then 6 | #The first way: 7 | 8 | #1- As all the files are already prepared: 9 | 10 | python3 ../../../../__main__.py --bbs=nc3.itp,ter_etyleneglycol.itp,etyleneglycol.itp --in=connect.in --params=list_param.itp --name=TOY --output=toy.itp --polymer 11 | 12 | elif [ $1 == '2' ]; then 13 | #The second way: 14 | 15 | #1- Firstly we will create the polymer ring: 16 | 17 | python ../pypolybuilder/__main__.py --bbs=nc3.itp,etyleneglycol.itp --in=connect_ring.in --params=list_param.itp --name=RING --output=ring.itp --polymer 18 | 19 | #2- And create one of the polymer arms: 20 | 21 | python3 ../../../../__main__.py --bbs=ter_etyleneglycol.itp,etyleneglycol.itp --in=connect_arm.in --params=list_param.itp --name=ARM --output=arm.itp --polymer 22 | 23 | #3- And so on, we will bond them: 24 | 25 | python3 ../../../../__main__.py --bbs=ring.itp,arm.itp --in=connect_BBs.in --params=list_param.itp --name=TOY --output=toy.itp --polymer 26 | 27 | else 28 | 29 | echo "The mode 1 or 2 for building this molecule should be selected" 30 | 31 | fi 32 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/Toy_Ciclic_Polymer/nc3.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | nc3 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 N 1 POL N 1 0.750 88 8 | 2 CH2 1 POL C 1 0.250 14.02700 9 | 3 CH2 1 POL C 1 0.250 14.02700 10 | 4 CH2 1 POL C 1 0.250 14.02700 11 | ; total charge of the molecule: 0.000 12 | 13 | [ bonds ] 14 | ; ai aj funct c0 c1 15 | 1 2 2 gb_21 16 | 1 3 2 gb_21 17 | 1 4 2 gb_21 18 | 19 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/Toy_Ciclic_Polymer/run/mdp/em.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.01 ; Energy step size 5 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 6 | 7 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 8 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 9 | cutoff-scheme = Verlet 10 | ns_type = grid ; Method to determine neighbor list (simple, grid) 11 | coulombtype = PME ; Treatment of long range electrostatic interactions 12 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 13 | ; VDW 14 | vdwtype = PME 15 | fourierspacing = 0.12 ; grid spacing for FFT 16 | fourier_nx = 0 17 | fourier_ny = 0 18 | fourier_nz = 0 19 | pme_order = 4 ; cubic interpolation 20 | ewald_rtol = 1e-5 21 | rvdw = 1.0 ; Short-range Van der Waals cut-off 22 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 23 | 24 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/Toy_Ciclic_Polymer/run/mdp/ion.mdp: -------------------------------------------------------------------------------- 1 | ; ions.mdp - used as input into grompp to generate ions.tpr 2 | ; Parameters describing what to do, when to stop and what to save 3 | integrator = steep ; Algorithm (steep = steepest descent minimization) 4 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 5 | emstep = 0.01 ; Energy step size 6 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 7 | 8 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 9 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 10 | cutoff-scheme = Verlet 11 | ns_type = grid ; Method to determine neighbor list (simple, grid) 12 | coulombtype = PME ; Treatment of long range electrostatic interactions 13 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 14 | rvdw = 1.0 ; Short-range Van der Waals cut-off 15 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 16 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/Toy_Ciclic_Polymer/run/mdp/minim.mdp: -------------------------------------------------------------------------------- 1 | ; minim.mdp - used as input into grompp to generate em.tpr 2 | integrator = steep ; Algorithm (steep = steepest descent minimization) 3 | emtol = 1000.0 ; Stop minimization when the maximum force < 1000.0 kJ/mol/nm 4 | emstep = 0.01 ; Energy step size 5 | nsteps = 50000 ; Maximum number of (minimization) steps to perform 6 | 7 | ; Parameters describing how to find the neighbors of each atom and how to calculate the interactions 8 | nstlist = 1 ; Frequency to update the neighbor list and long range forces 9 | cutoff-scheme = Verlet 10 | ns_type = grid ; Method to determine neighbor list (simple, grid) 11 | coulombtype = PME ; Treatment of long range electrostatic interactions 12 | rcoulomb = 1.0 ; Short-range electrostatic cut-off 13 | rvdw = 1.0 ; Short-range Van der Waals cut-off 14 | pbc = xyz ; Periodic Boundary Conditions (yes/no) 15 | 16 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/Toy_Ciclic_Polymer/run/toy.top: -------------------------------------------------------------------------------- 1 | ; Include forcefield parameters 2 | #include "/home/mayk/Documents/Labmmol/gromos2016h66.ff/forcefield.itp" 3 | 4 | ;[ moleculetype ] 5 | ; Name nrexcl 6 | ;TOY 2 7 | 8 | ; Include Pamam topology 9 | #include "toy.itp" 10 | 11 | ; Include water topology 12 | #include "/home/mayk/Documents/Labmmol/gromos2016h66.ff/spc.itp" 13 | 14 | 15 | #ifdef POSRES_WATER 16 | ; Position restraint for each water oxygen 17 | [ position_restraints ] 18 | ; i funct fcx fcy fcz 19 | 1 1 5000 5000 5000 20 | #endif 21 | 22 | ; Include generic topology for ions 23 | #include "/home/mayk/Documents/Labmmol/gromos2016h66.ff/ions.itp" 24 | 25 | [ system ] 26 | ; Name 27 | TOY in water 28 | 29 | [ molecules ] 30 | ; Compound #mols 31 | TOY 1 32 | -------------------------------------------------------------------------------- /pypolybuilder/demo/gromacs_format/polymer/Toy_Ciclic_Polymer/ter_etyleneglycol.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | ter_etyleneglycol 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 CH2 1 POL C 1 0.250 14.02700 8 | 2 O 1 POL O 1 -0.250 15.99940 9 | 3 H 1 POL C 1 0.000 1 10 | ; total charge of the molecule: 0.000 11 | 12 | [ bonds ] 13 | ; ai aj funct c0 c1 14 | 1 2 2 gb_21 15 | 2 3 2 gb_21 16 | -------------------------------------------------------------------------------- /pypolybuilder/gromos2016h66.ff/aminoacids.c.tdb: -------------------------------------------------------------------------------- 1 | [ None ] 2 | ; 3 | ; ---------- COOH terminal patch for peptides 4 | ; 5 | [ COOH ] 6 | [ replace ] 7 | C C C 12.0110 0.550 8 | O O OA 15.9994 -0.410 9 | OXT OT O 15.9994 -0.550 10 | [ add ] 11 | 1 2 OT C CA N 12 | O 15.9994 -0.550 13 | 1 2 HO O C CA 14 | H 1.00800 0.410 15 | [ bonds ] 16 | C O gb_13 17 | C OT gb_5 18 | O HO gb_1 19 | [ angles ] 20 | O C OT ga_33 21 | C O HO ga_12 22 | CA C O ga_19 23 | CA C OT ga_30 24 | [ dihedrals ] 25 | N CA C O gd_40 26 | CA C O HO gd_12 27 | [ impropers ] 28 | C CA O OT gi_1 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | [ COO- ] 37 | [ replace ] 38 | C C C 12.011 0.27 39 | O O1 OM 15.9994 -0.635 40 | OXT O2 OM 15.9994 -0.635 41 | [ add ] 42 | 2 8 O C CA N 43 | OM 15.9994 -0.635 44 | [ bonds ] 45 | C O1 gb_6 46 | C O2 gb_6 47 | [ angles ] 48 | O1 C O2 ga_38 49 | CA C O1 ga_22 50 | CA C O2 ga_22 51 | [ dihedrals ] 52 | N CA C O2 gd_40 53 | [ impropers ] 54 | C CA O2 O1 gi_1 55 | 56 | 57 | 58 | 59 | ; 60 | ; ---------- D3OH terminal patch for DNA 61 | ; 62 | [ D3OH ] 63 | [ replace ] 64 | C2* C2* CH2r 14.0270 0.000 65 | C3* C3* CH1 13.0190 0.150 66 | O3* O3* OA 15.9994 -0.548 67 | [ add ] 68 | 1 2 H3* O3* C3* C4* 69 | H 1.00800 0.398 70 | [ bonds ] 71 | O3* H3* gb_1 72 | [ angles ] 73 | C3* O3* H3* ga_12 74 | [ dihedrals ] 75 | C4* C3* O3* H3* gd_23 76 | -------------------------------------------------------------------------------- /pypolybuilder/gromos2016h66.ff/ff_dum.itp: -------------------------------------------------------------------------------- 1 | ; These constraints are used for vsite constructions as generated by pdb2gmx. 2 | ; Values depend on the details of the forcefield, vis. bondlengths and angles 3 | ; These parameters are designed to be used with the GROMOS96 forcefields 4 | ; G43a1, G43a2 and G43b1. 5 | 6 | ; Constraints for the rigid NH3/CH3 groups depend on the hygrogen mass, 7 | ; since an increased hydrogen mass translates into increased momentum of 8 | ; inertia which translates into a larger distance between the dummy masses. 9 | #ifdef HEAVY_H 10 | ; now the constraints for the rigid NH3 groups 11 | #define DC_MNC1 0.175695 12 | #define DC_MNC2 0.188288 13 | #define DC_MNMN 0.158884 14 | ; now the constraints for the rigid CH3 groups 15 | #define DC_MCN 0.198911 16 | #define DC_MCS 0.226838 17 | #define DC_MCC 0.204247 18 | #define DC_MCNR 0.199798 19 | #define DC_MCMC 0.184320 20 | #else 21 | ; now the constraints for the rigid NH3 groups 22 | #define DC_MNC1 0.144494 23 | #define DC_MNC2 0.158002 24 | #define DC_MNMN 0.079442 25 | ; now the constraints for the rigid CH3 groups 26 | #define DC_MCN 0.161051 27 | #define DC_MCS 0.190961 28 | #define DC_MCC 0.166809 29 | #define DC_MCNR 0.162009 30 | #define DC_MCMC 0.092160 31 | #endif 32 | ; and the angle-constraints for OH and SH groups in proteins: 33 | #define DC_CS 0.23721 34 | #define DC_CO 0.19849 35 | #define DC_PO 0.21603 36 | -------------------------------------------------------------------------------- /pypolybuilder/gromos2016h66.ff/forcefield.itp: -------------------------------------------------------------------------------- 1 | #define _FF_GROMOS96 2 | #define _FF_GROMOS2016H66 3 | 4 | [ defaults ] 5 | ; nbfunc comb-rule gen-pairs fudgeLJ fudgeQQ 6 | 1 1 no 1.0 1.0 7 | 8 | #include "ffnonbonded.itp" 9 | #include "ffbonded.itp" 10 | -------------------------------------------------------------------------------- /pypolybuilder/gromos2016h66.ff/spc.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; molname nrexcl 3 | SOL 2 4 | 5 | [ atoms ] 6 | ; nr type resnr residue atom cgnr charge mass 7 | #ifndef HEAVY_H 8 | 1 OW 1 SOL OW 1 -0.82 15.99940 9 | 2 H 1 SOL HW1 1 0.41 1.00800 10 | 3 H 1 SOL HW2 1 0.41 1.00800 11 | #else 12 | 1 OW 1 SOL OW 1 -0.82 9.95140 13 | 2 H 1 SOL HW1 1 0.41 4.03200 14 | 3 H 1 SOL HW2 1 0.41 4.03200 15 | #endif 16 | 17 | #ifndef FLEXIBLE 18 | [ settles ] 19 | ; OW funct doh dhh 20 | 1 1 0.1 0.16330 21 | 22 | [ exclusions ] 23 | 1 2 3 24 | 2 1 3 25 | 3 1 2 26 | #else 27 | [ bonds ] 28 | ; i j funct length force.c. 29 | 1 2 1 0.1 345000 0.1 345000 30 | 1 3 1 0.1 345000 0.1 345000 31 | 32 | [ angles ] 33 | ; i j k funct angle force.c. 34 | 2 1 3 1 109.47 383 109.47 383 35 | #endif 36 | -------------------------------------------------------------------------------- /pypolybuilder/gromos2016h66.ff/specbond.dat: -------------------------------------------------------------------------------- 1 | 8 2 | CYS SG 1 CYS SG 1 0.2 CYS2 CYS2 3 | CYS SG 1 HEM FE 2 0.25 CYS2 HEME 4 | CYS SG 1 HEM CAB 1 0.18 CYS2 HEME 5 | CYS SG 1 HEM CAC 1 0.18 CYS2 HEME 6 | HIS NE2 1 HEM FE 1 0.2 HIS1 HEME 7 | MET SD 1 HEM FE 1 0.24 MET HEME 8 | CO C 1 HEME FE 1 0.19 CO HEME 9 | CYM SG 1 CYM SG 1 0.2 CYS2 CYS2 10 | -------------------------------------------------------------------------------- /pypolybuilder/gromos2016h66.ff/xlateat.dat: -------------------------------------------------------------------------------- 1 | ; Copied from gromacs-5.1.2 distribution without changes 2 | ; 3 | 26 4 | ILE CD1 CD 5 | ILE HD11 HD1 6 | ILE HD12 HD2 7 | ILE HD13 HD3 8 | HOH O OW 9 | HOH OW1 OW 10 | HO4 O OW 11 | HO4 OW1 OW 12 | HO5 O OW 13 | HO5 OW1 OW 14 | HEME N_A NA 15 | HEME N_B NB 16 | HEME N_C NC 17 | HEME N_D ND 18 | protein HN H 19 | protein-nterm HT1 H1 20 | protein-nterm HT2 H2 21 | protein-nterm HT3 H3 22 | protein-cterm O1 O 23 | protein-cterm O2 OXT 24 | protein-cterm OT1 O 25 | protein-cterm OT2 OXT 26 | protein-cterm OT OXT 27 | protein-cterm O' O 28 | protein-cterm O'' OXT 29 | protein-cterm OC1 O 30 | protein-cterm OC2 OXT 31 | -------------------------------------------------------------------------------- /pypolybuilder/init.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/pypolybuilder/init.py -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/setup.cfg -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- 1 | from setuptools import setup 2 | setup( 3 | name = 'pypolybuilder', 4 | packages = ['pypolybuilder'], # this must be the same as the name above 5 | entry_points = { 6 | "console_scripts": ['pypolybuilder = pypolybuilder.pypolybuilder:main'] 7 | }, 8 | version = '0.1', 9 | description = 'pypolybuilder', 10 | author = 'Vitor Horta', 11 | author_email = 'vitor.horta@gmail.com', 12 | # url = 'https://github.com/vitorhorta/expertSystemPython', # use the URL to the github repo 13 | # download_url = 'https://github.com/vitorhorta/es/archive/0.7.tar.gz', # I'll explain this in a second 14 | keywords = ['pypolybuilder'], # arbitrary keywords 15 | classifiers = [], 16 | ) -------------------------------------------------------------------------------- /tests/.coverage: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/tests/.coverage -------------------------------------------------------------------------------- /tests/angleTests.py: -------------------------------------------------------------------------------- 1 | import unittest 2 | import sys 3 | sys.path.append('/home/vitor/dendribuilder') 4 | import utils 5 | from atom import Atom 6 | from bond import Bond 7 | from angle import Angle 8 | 9 | 10 | class angleTests(unittest.TestCase): 11 | @classmethod 12 | def setUpClass(cls): 13 | angleTests.a1 = Atom(1,'H',None,None,None,None,None,None) 14 | angleTests.a2 = Atom(2,'NT',None,None,None,None,None,None) 15 | angleTests.a3 = Atom(3,'H',None,None,None,None,None,None) 16 | angleTests.a4 = Atom(4,None,None,None,None,None,None,None) 17 | 18 | def testMakeFromBondsWithSuccess(self): 19 | b1 = bond = Bond(angleTests.a1,angleTests.a2,2,None) 20 | b2 = bond = Bond(angleTests.a2,angleTests.a3,2,None) 21 | angle = Angle.makeFromBonds(b1,b2) 22 | self.assertEqual(angle.get_a_1(),angleTests.a1) 23 | self.assertEqual(angle.get_a_2(),angleTests.a2) 24 | self.assertEqual(angle.get_a_3(),angleTests.a3) 25 | 26 | def testFindAngleParam(self): 27 | angle = Angle(angleTests.a1,angleTests.a2,angleTests.a3,None,None) 28 | self.assertNotEqual(angle.get_param,None) -------------------------------------------------------------------------------- /tests/bb_cco.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | CCO 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 CH2 1 CORE C 1 0.250 14.02700 8 | 2 CH2 1 CORE C 2 0.250 14.02700 9 | 3 O 1 CORE O 6 -0.540 15.99940 10 | ; total charge of the molecule: 0.000 11 | 12 | [ bonds ] 13 | ; ai aj funct c0 c1 14 | 1 2 2 gb_21 15 | 2 3 2 gb_21 16 | -------------------------------------------------------------------------------- /tests/bb_h.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | H 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 H 1 CORE H 1 0.250 14.02700 8 | ; total charge of the molecule: 0.000 9 | 10 | -------------------------------------------------------------------------------- /tests/bb_oh.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | OH 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 O 1 CORE O 6 -0.540 15.99940 8 | 2 H 1 CORE H 2 0.250 14.02700 9 | 10 | 11 | ; total charge of the molecule: 0.000 12 | 13 | [ bonds ] 14 | ; ai aj funct c0 c1 15 | 1 2 2 gb_21 16 | -------------------------------------------------------------------------------- /tests/bondTests.py: -------------------------------------------------------------------------------- 1 | import unittest 2 | import sys 3 | sys.path.append('/home/vitor/dendribuilder') 4 | import utils 5 | from atom import Atom 6 | from bond import Bond 7 | from angle import Angle 8 | 9 | 10 | class bondTests(unittest.TestCase): 11 | @classmethod 12 | def setUpClass(cls): 13 | bondTests.a1 = Atom(1,'H',None,None,None,None,None,None) 14 | bondTests.a2 = Atom(2,'NT',None,None,None,None,None,None) 15 | bondTests.a3 = Atom(3,'NT',None,None,None,None,None,None) 16 | 17 | def testFindBondParam(self): 18 | bond = Bond(bondTests.a1,bondTests.a2,None,None) 19 | self.assertNotEqual(bond.get_param,None) 20 | 21 | def testContainsAtom(self): 22 | bond = Bond(bondTests.a1,bondTests.a2,None,None) 23 | self.assertTrue(bond.contains_atom(bondTests.a1)) 24 | self.assertTrue(bond.contains_atom(bondTests.a2)) 25 | 26 | def testNotContainsAtom(self): 27 | bond = Bond(bondTests.a1,bondTests.a2,None,None) 28 | self.assertFalse(bond.contains_atom(bondTests.a3)) 29 | 30 | def testGetOtherAtom(self): 31 | bond = Bond(bondTests.a1,bondTests.a2,None,None) 32 | self.assertEqual(bond.get_other_atom(bondTests.a1),bondTests.a2) 33 | 34 | def testWrongGetOtherAtom(self): 35 | bond = Bond(bondTests.a1,bondTests.a2,None,None) 36 | self.assertNotEqual(bond.get_other_atom(bondTests.a1),bondTests.a1) -------------------------------------------------------------------------------- /tests/buildingBlockFactoryTests.py: -------------------------------------------------------------------------------- 1 | import unittest 2 | import sys 3 | sys.path.append('/home/vitor/dendribuilder') 4 | import utils 5 | from atom import Atom 6 | from bond import Bond 7 | from angle import Angle 8 | from itp import Itp 9 | from polymer import Polymer 10 | from BuildingBlockFactory import BuildingBlockFactory 11 | 12 | class buildingBlockTests(unittest.TestCase): 13 | @classmethod 14 | def setUpClass(cls): 15 | buildingBlockTests.itp = Polymer() 16 | 17 | def testMakeBBForItp(self): 18 | bbFactory = BuildingBlockFactory('bb_oh.itp') 19 | bb = bbFactory.makeBBForItp(buildingBlockTests.itp) 20 | self.assertNotEqual(bb,None) 21 | self.assertEqual(bb.get_atom_list()[0].get_nr(),1) 22 | buildingBlockTests.itp.set_atom_list(bb.get_atom_list()) 23 | bb2 = bbFactory.makeBBForItp(buildingBlockTests.itp) 24 | self.assertNotEqual(bb2,None) 25 | self.assertEqual(bb2.get_atom_list()[0].get_nr(),3) 26 | -------------------------------------------------------------------------------- /tests/buildingBlockTests.py: -------------------------------------------------------------------------------- 1 | import unittest 2 | import sys 3 | sys.path.append('/home/vitor/dendribuilder') 4 | import utils 5 | from atom import Atom 6 | from bond import Bond 7 | from angle import Angle 8 | from BuildingBlock import BuildingBlock 9 | 10 | class buildingBlockTests(unittest.TestCase): 11 | 12 | def testFindBondParam(self): 13 | bb = BuildingBlock('bb_oh.itp') 14 | self.assertNotEqual(bb.get_atom_list(),None) 15 | self.assertNotEqual(bb.get_bond_list(),None) -------------------------------------------------------------------------------- /tests/connect.in: -------------------------------------------------------------------------------- 1 | #[ BUILDING BLOCKS ] 2 | 1 OH 3 | 2 CCO 4 | 3 CCO 5 | 4 CCO 6 | 5 H 7 | 8 | #[ CONNECTS ] 9 | 1 2 1 1 10 | 2 3 3 1 11 | 3 4 3 1 12 | 4 5 3 1 13 | -------------------------------------------------------------------------------- /tests/coords.gro: -------------------------------------------------------------------------------- 1 | TITLE 2 | GromosXX 3 | Automatically generated input file 4 | hortab Sun May 12 17:49:41 2013 5 | final configuration 6 | END 7 | TIMESTEP 8 | 1000000 0.000000000 9 | END 10 | POSITION 11 | # first 24 chars ignored 12 | 1 CORE O 1 0.607587313 0.456937753 0.910409448 13 | 1 CORE H 2 0.712689498 0.531429185 0.370332143 14 | 1 CORE C 3 0.828143452 0.300309461 0.803276499 15 | 1 CORE C 4 0.553349805 0.863922252 0.652038272 16 | 1 CORE O 5 0.505669350 0.650694949 0.147555448 17 | 1 CORE C 6 0.261620897 0.767397202 0.380964149 18 | 1 CORE C 7 0.877174579 0.967360426 0.299787289 19 | 1 CORE O 8 0.714965656 0.122591638 0.278078182 20 | 1 CORE C 9 0.914529862 0.214705418 0.075020029 21 | 1 CORE C 10 0.910814070 0.724703468 0.447568808 22 | 1 CORE O 11 0.217450848 0.505221685 0.895725432 23 | 1 CORE H 12 0.111234711 0.025248558 0.355886066 24 | END 25 | GENBOX 26 | 1 27 | 3.552498053 3.552498053 4.126560555 28 | 90.000000000 90.000000000 90.000000000 29 | 0.000000000 0.000000000 0.000000000 30 | 0.000000000 0.000000000 0.000000000 31 | END -------------------------------------------------------------------------------- /tests/default.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; Name nrexcl 3 | TESTE 2 4 | 5 | [ atoms ] 6 | ; nr type resnr resid atom cgnr charge mass total_charge 7 | 1 O 1 CORE O 6 -0.540 15.99940 8 | 2 H 1 CORE H 2 0.250 14.02700 9 | 3 CH2 1 CORE C 1 0.250 14.02700 10 | 4 CH2 1 CORE C 2 0.250 14.02700 11 | 5 O 1 CORE O 6 -0.540 15.99940 12 | 6 CH2 1 CORE C 1 0.250 14.02700 13 | 7 CH2 1 CORE C 2 0.250 14.02700 14 | 8 O 1 CORE O 6 -0.540 15.99940 15 | 9 CH2 1 CORE C 1 0.250 14.02700 16 | 10 CH2 1 CORE C 2 0.250 14.02700 17 | 11 O 1 CORE O 6 -0.540 15.99940 18 | 12 H 1 CORE H 1 0.250 14.02700 19 | 20 | [ bonds ] 21 | ; ai aj funct c0 c1 22 | 1 2 2 gb_21 23 | 3 4 2 gb_27 24 | 4 5 2 gb_21 25 | 6 7 2 gb_27 26 | 7 8 2 gb_21 27 | 9 10 2 gb_27 28 | 10 11 2 gb_21 29 | 1 3 2 None 30 | 5 6 2 None 31 | 8 9 2 None 32 | 11 12 2 None 33 | 34 | [ angles ] 35 | ; ai aj ak funct angle fc 36 | 2 1 3 2 None 37 | 3 4 5 2 None 38 | 1 3 4 2 None 39 | 4 5 6 2 None 40 | 6 7 8 2 None 41 | 5 6 7 2 None 42 | 7 8 9 2 None 43 | 9 10 11 2 None 44 | 8 9 10 2 None 45 | 10 11 12 2 None 46 | 47 | [ dihedrals ] 48 | ; ai aj ak al funct ph0 cp mult 49 | 4 3 1 2 1 None 50 | 5 4 3 1 1 None 51 | 6 5 4 3 1 None 52 | 7 6 5 4 1 None 53 | 8 7 6 5 1 None 54 | 9 8 7 6 1 None 55 | 10 9 8 7 1 None 56 | 11 10 9 8 1 None 57 | 12 11 10 9 1 None 58 | 9 10 11 12 1 None 59 | 60 | [ branches ] 61 | ; donor acceptor 62 | -------------------------------------------------------------------------------- /tests/dendritest.py: -------------------------------------------------------------------------------- 1 | import unittest 2 | import sys 3 | sys.path.append('/home/vitor/dendribuilder') 4 | import testEnv 5 | import itp 6 | import getopt 7 | import copy 8 | from polymer import Polymer 9 | from dendrimer import Dendrimer 10 | import utils 11 | import polymerTests 12 | 13 | 14 | 15 | def load_tests(loader, tests, pattern): 16 | print loader.discover('.') 17 | return loader.discover('.') 18 | 19 | if __name__ == '__main__': 20 | all_tests = unittest.TestLoader().discover('.', pattern='*.py') 21 | unittest.TextTestRunner().run(all_tests) -------------------------------------------------------------------------------- /tests/htmlcov/jquery.isonscreen.js: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2010 2 | * @author Laurence Wheway 3 | * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) 4 | * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses. 5 | * 6 | * @version 1.2.0 7 | */ 8 | (function($) { 9 | jQuery.extend({ 10 | isOnScreen: function(box, container) { 11 | //ensure numbers come in as intgers (not strings) and remove 'px' is it's there 12 | for(var i in box){box[i] = parseFloat(box[i])}; 13 | for(var i in container){container[i] = parseFloat(container[i])}; 14 | 15 | if(!container){ 16 | container = { 17 | left: $(window).scrollLeft(), 18 | top: $(window).scrollTop(), 19 | width: $(window).width(), 20 | height: $(window).height() 21 | } 22 | } 23 | 24 | if( box.left+box.width-container.left > 0 && 25 | box.left < container.width+container.left && 26 | box.top+box.height-container.top > 0 && 27 | box.top < container.height+container.top 28 | ) return true; 29 | return false; 30 | } 31 | }) 32 | 33 | 34 | jQuery.fn.isOnScreen = function (container) { 35 | for(var i in container){container[i] = parseFloat(container[i])}; 36 | 37 | if(!container){ 38 | container = { 39 | left: $(window).scrollLeft(), 40 | top: $(window).scrollTop(), 41 | width: $(window).width(), 42 | height: $(window).height() 43 | } 44 | } 45 | 46 | if( $(this).offset().left+$(this).width()-container.left > 0 && 47 | $(this).offset().left < container.width+container.left && 48 | $(this).offset().top+$(this).height()-container.top > 0 && 49 | $(this).offset().top < container.height+container.top 50 | ) return true; 51 | return false; 52 | } 53 | })(jQuery); 54 | -------------------------------------------------------------------------------- /tests/htmlcov/keybd_closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/tests/htmlcov/keybd_closed.png -------------------------------------------------------------------------------- /tests/htmlcov/keybd_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/tests/htmlcov/keybd_open.png -------------------------------------------------------------------------------- /tests/list_param.itp: -------------------------------------------------------------------------------- 1 | # BONDS 2 | H N gb_2 3 | H NT gb_2 4 | HC C gb_3 5 | C O gb_5 6 | C NT gb_9 7 | C N gb_10 8 | CH2 C gb_27 9 | CH2 CH2 gb_27 10 | CH2 N gb_21 11 | CH2 NT gb_21 12 | 13 | 14 | 15 | # ANGLES 16 | H NT CH2 ga_11 17 | H NT H ga_10 18 | CH2 CH2 CH2 ga_15 19 | CH2 CH2 C ga_15 20 | CH2 CH2 NT ga_15 21 | CH2 CH2 N ga_15 22 | CH2 NT CH2 ga_15 23 | N CH2 C ga_13 24 | CH2 C O ga_30 25 | CH2 C N ga_19 26 | O C N ga_33 27 | H N C ga_32 28 | CH2 N C ga_31 29 | H N CH2 ga_18 30 | 31 | 32 | 33 | # IMPROPERS 34 | CH2 C O N gi_1 35 | C N H CH2 gi_1 36 | CH2 NT CH2 CH2 gi_2 37 | CH2 NT H H gi_2 38 | 39 | 40 | 41 | # DIHEDRALS 42 | CH2 CH2 C O gd_40 43 | CH2 CH2 C N gd_40 44 | CH2 C N CH2 gd_14 45 | CH2 C N H gd_14 46 | O C N CH2 gd_14 47 | O C N H gd_14 48 | C N CH2 CH2 gd_39 49 | CH2 CH2 CH2 NT gd_34 50 | CH2 CH2 NT CH2 gd_34 51 | CH2 NT CH2 CH2 gd_34 52 | NT CH2 CH2 NT gd_34 53 | NT CH2 CH2 N gd_34 54 | NT CH2 CH2 C gd_34 55 | CH2 CH2 NT H gd_29 56 | CH2 CH2 N H gd_39 57 | -------------------------------------------------------------------------------- /tests/polymerTests.py: -------------------------------------------------------------------------------- 1 | import unittest 2 | import sys 3 | sys.path.append('/home/vitor/dendribuilder') 4 | import itp 5 | import getopt 6 | import copy 7 | from polymer import Polymer 8 | from dendrimer import Dendrimer 9 | import utils 10 | 11 | class PolymerTests(unittest.TestCase): 12 | def testReadBBs(self): 13 | polymer = Polymer() 14 | polymer.read_bbs() 15 | self.assertNotEqual(polymer.bb_factories['H'],None) 16 | self.assertNotEqual(polymer.bb_factories['CCO'],None) 17 | self.assertNotEqual(polymer.bb_factories['OH'],None) 18 | 19 | def testReadConnections(self): 20 | polymer = Polymer() 21 | polymer.read_bbs() 22 | polymer.read_connections() 23 | self.assertEqual(len(polymer.connections),4) 24 | -------------------------------------------------------------------------------- /tests/testEnv.py: -------------------------------------------------------------------------------- 1 | import unittest 2 | import sys 3 | sys.path.append('/home/vitor/dendribuilder') 4 | from polymer import Polymer 5 | from dendrimer import Dendrimer 6 | import utils 7 | from ff_params import ff_params 8 | 9 | utils.connections_paths = 'connect.in' 10 | utils.bbs_paths = ['bb_oh.itp','bb_cco.itp','bb_h.itp'] 11 | utils.ff_param = ff_params('list_param.itp') 12 | -------------------------------------------------------------------------------- /userGuide/Cyclic_Pol/Cyclic_Pol.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/Cyclic_Pol/Cyclic_Pol.tex -------------------------------------------------------------------------------- /userGuide/Octane/Octane.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/Octane/Octane.tex -------------------------------------------------------------------------------- /userGuide/PAMAM/PAMAM.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PAMAM/PAMAM.pdf -------------------------------------------------------------------------------- /userGuide/PAMAM/PAMAMBBs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PAMAM/PAMAMBBs.png -------------------------------------------------------------------------------- /userGuide/PAMAM/PAMAMG2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PAMAM/PAMAMG2.png -------------------------------------------------------------------------------- /userGuide/PAMAM/PAMAMGs.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PAMAM/PAMAMGs.pdf -------------------------------------------------------------------------------- /userGuide/PAMAM/PAMAMSOL.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PAMAM/PAMAMSOL.pdf -------------------------------------------------------------------------------- /userGuide/PAMAM_PEG/PAMAMPEG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PAMAM_PEG/PAMAMPEG.png -------------------------------------------------------------------------------- /userGuide/PAMAM_PEG/PAMAMPEG2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PAMAM_PEG/PAMAMPEG2.png -------------------------------------------------------------------------------- /userGuide/PAMAM_PEG/PAMAMPEGBBs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PAMAM_PEG/PAMAMPEGBBs.png -------------------------------------------------------------------------------- /userGuide/PAMAM_PEG/PAMAMPEGHalf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PAMAM_PEG/PAMAMPEGHalf.png -------------------------------------------------------------------------------- /userGuide/PAMAM_PEG/PAMAM_PEG_PPB.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PAMAM_PEG/PAMAM_PEG_PPB.pdf -------------------------------------------------------------------------------- /userGuide/PAMAM_PEG/PAMAM_PEG_SOL.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PAMAM_PEG/PAMAM_PEG_SOL.pdf -------------------------------------------------------------------------------- /userGuide/PAMAM_PPI-Janus/JANUSBBs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PAMAM_PPI-Janus/JANUSBBs.png -------------------------------------------------------------------------------- /userGuide/PAMAM_PPI-Janus/JANUSG1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PAMAM_PPI-Janus/JANUSG1.png -------------------------------------------------------------------------------- /userGuide/PAMAM_PPI-Janus/JANUSPAMAMhalf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PAMAM_PPI-Janus/JANUSPAMAMhalf.png -------------------------------------------------------------------------------- /userGuide/PAMAM_PPI-Janus/PAMAM_PPI.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PAMAM_PPI-Janus/PAMAM_PPI.pdf -------------------------------------------------------------------------------- /userGuide/PAMAM_PPI-Janus/PAMAM_PPISOL.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PAMAM_PPI-Janus/PAMAM_PPISOL.pdf -------------------------------------------------------------------------------- /userGuide/PAMAM_PPI-half/PAMAMPPIBBs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PAMAM_PPI-half/PAMAMPPIBBs.png -------------------------------------------------------------------------------- /userGuide/PAMAM_PPI-half/PAMAMPPIHalfs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PAMAM_PPI-half/PAMAMPPIHalfs.png -------------------------------------------------------------------------------- /userGuide/PAMAM_PPI-half/PAMAMPPIPOL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PAMAM_PPI-half/PAMAMPPIPOL.png -------------------------------------------------------------------------------- /userGuide/PAMAM_PPI-half/PAMAMPPIPPB.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PAMAM_PPI-half/PAMAMPPIPPB.pdf -------------------------------------------------------------------------------- /userGuide/PAMAM_PPI-half/PAMAMPPISOL.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PAMAM_PPI-half/PAMAMPPISOL.pdf -------------------------------------------------------------------------------- /userGuide/PEG/PEG.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PEG/PEG.png -------------------------------------------------------------------------------- /userGuide/PEG/PEGBBs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PEG/PEGBBs.png -------------------------------------------------------------------------------- /userGuide/PEG/PEGPPB.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PEG/PEGPPB.png -------------------------------------------------------------------------------- /userGuide/PEG/PEGSOL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PEG/PEGSOL.png -------------------------------------------------------------------------------- /userGuide/PNIPAM/PNIPAMBBs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PNIPAM/PNIPAMBBs.png -------------------------------------------------------------------------------- /userGuide/PNIPAM/PNIPAMPOL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PNIPAM/PNIPAMPOL.png -------------------------------------------------------------------------------- /userGuide/PNIPAM/PNIPAMPPB.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PNIPAM/PNIPAMPPB.pdf -------------------------------------------------------------------------------- /userGuide/PNIPAM/PNIPAMSIZE.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PNIPAM/PNIPAMSIZE.pdf -------------------------------------------------------------------------------- /userGuide/PNIPAM/PNIPAMSOL.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PNIPAM/PNIPAMSOL.pdf -------------------------------------------------------------------------------- /userGuide/PPI/PPI.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PPI/PPI.pdf -------------------------------------------------------------------------------- /userGuide/PPI/PPIBBs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PPI/PPIBBs.png -------------------------------------------------------------------------------- /userGuide/PPI/PPIG1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PPI/PPIG1.png -------------------------------------------------------------------------------- /userGuide/PPI/PPISOL.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/PPI/PPISOL.pdf -------------------------------------------------------------------------------- /userGuide/Poly_Benzamide/PBZ.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/Poly_Benzamide/PBZ.tex -------------------------------------------------------------------------------- /userGuide/SPL7013/SPL1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/SPL7013/SPL1.pdf -------------------------------------------------------------------------------- /userGuide/SPL7013/SPL2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/SPL7013/SPL2.pdf -------------------------------------------------------------------------------- /userGuide/SPL7013/SPL7013BBs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/SPL7013/SPL7013BBs.png -------------------------------------------------------------------------------- /userGuide/SPL7013/SPL7013G1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/SPL7013/SPL7013G1.png -------------------------------------------------------------------------------- /userGuide/SPL7013/SPLSOL.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/SPL7013/SPLSOL.pdf -------------------------------------------------------------------------------- /userGuide/userGuide.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/userGuide.pdf -------------------------------------------------------------------------------- /userGuide/userGuide.synctex.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mssm-labmmol/pypolybuilder/2625531c1dfd59cd8cef514a0bc91e47d887c97a/userGuide/userGuide.synctex.gz -------------------------------------------------------------------------------- /userGuide/userGuide.toc: -------------------------------------------------------------------------------- 1 | \contentsline {section}{\numberline {1}General concepts of the software}{2}% 2 | \contentsline {subsection}{\numberline {1.1}Dendrimer module}{2}% 3 | \contentsline {subsubsection}{\numberline {1.1.1}Input files}{2}% 4 | \contentsline {subsubsection}{\numberline {1.1.2}Command line call and optional flags}{6}% 5 | \contentsline {subsection}{\numberline {1.2}Network module}{7}% 6 | \contentsline {subsubsection}{\numberline {1.2.1}Input files}{7}% 7 | \contentsline {subsubsection}{\numberline {1.2.2}Command line call and optional flags}{9}% 8 | \contentsline {subsection}{\numberline {1.3}Command line options}{9}% 9 | \contentsline {section}{\numberline {2}Tutorials}{13}% 10 | \contentsline {subsection}{\numberline {2.1}Dendrimer module}{14}% 11 | \contentsline {subsubsection}{\numberline {2.1.1}PAMAM}{14}% 12 | \contentsline {subsubsection}{\numberline {2.1.2}PPI}{20}% 13 | \contentsline {subsubsection}{\numberline {2.1.3}SPL7013}{24}% 14 | \contentsline {subsubsection}{\numberline {2.1.4}PAMAM/PPI-Janus}{29}% 15 | \contentsline {subsection}{\numberline {2.2}Network module}{36}% 16 | \contentsline {subsubsection}{\numberline {2.2.1}PEG}{36}% 17 | \contentsline {subsubsection}{\numberline {2.2.2}PNIPAM}{39}% 18 | \contentsline {subsection}{\numberline {2.3}Advanced examples}{44}% 19 | \contentsline {subsubsection}{\numberline {2.3.1}PAMAM/PPI-half}{44}% 20 | \contentsline {subsubsection}{\numberline {2.3.2}PEG connected PAMAM dendrimer}{51}% 21 | --------------------------------------------------------------------------------