Giter VIP home page Giter VIP logo

cnt-martini's Introduction

Open Carbon Nanotubes for the Martini Model

Generates a Martini model for an open carbon nanotube (CNT) for use with the Gromacs simulation package. It provides a structure file (.gro), a topology-include file (.itp) and a position-restraints file (.itp).

Tools to analyze Martini CNT simulations can be found here: https://github.com/bio-phys/cnt-martini-analysis.

Requirements

Python (2/3) with packages argparse, math, and sys

Usage

For a new nanotube model, run

python martini-cnt-generator.py -nr [number of rings] \
                                -rs [number of beads per ring] \
                                -bl [bond length] \
                                -bf [bond force const.] \
                                -af [angle force const.] \
                                -bt [bead type] \
                                -ft [bead type of the functional groups] \
                                -fb [number of functionalized rings at one end] \
                                -fe [number of functionalized rings at the other end] \
                                --base36

for example

python martini-cnt-generator.py -nr 12 -rs 8 -bl 0.47 -bt CNP -ft SNda -fb 1 -fe 1

All arguments are optional. If an argument is not used, the default value for the standard CNT porin [1] is used.

Notes

  • By default, atom names are a letter denoting their function (C - plain carbon grid, F - funcional group) plus the last three digits of their atom number (decimal system). The flag --base36 switches to a base of 36 (including letters) to expand the number of unique atom names from 10^3 = 1000 (decimal) to 36^3 = 46656.
  • For large CNTs, a higher force constant than the standard value of 5000 should be used. A rule of thumb is to use a value of 20000 if the circumference exceeds 10 beads/ring or the length exceeds 15 rings.
  • The script produces position restraints, too. These are usually inteded for equilibration. They will not work with a Parrinello-Rahman barostat.

Literature

If the script or the model is helpful, please cite:

The model is based on previous work:

  • [2] R. M. Bhaskara, S. M. Linker, M. Vögele, J. Köfinger, G. Hummer Carbon Nanotubes Mediate Fusion of Lipid Vesicles. ACS Nano, 2017, 11 (2), pp 1273–1280
  • [3] M. Vögele, G. Hummer: Divergent Diffusion Coefficients in Simulations of Fluids and Lipid Membranes. J. Phys. Chem. B, 2016, 120 (33), pp 8722–8732 DOI: 10.1021/acs.jpcb.6b05102
  • [4] S. Baoukina, L. Monticelli, D.P. Tieleman: Interaction of Pristine and Functionalized Carbon Nanotubes with Lipid Membranes. J. Phys. Chem. B (2013), 117, 12113-23.
  • [5] L. Monticelli On atomistic and coarse-grained models for C60 fullerene. J. Chem. Theory Comput. (2012), 8, 1370−1378 (DOI: 10.1021/ct3000102).

cnt-martini's People

Contributors

martinvoegele avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

cnt-martini's Issues

Add option for bond force constant

In case of wide CNTs (large diameter), the force constant of the bonds has to be increased. For example, the Monticelli lab set it to 20,000 (instead of 5000) in such cases. It would be great to pass it as an argument.

Specify diameter and length of CNT instead of bead numbers

So far, users can specify ring size and number of rings. However, they may be more interested in generating structures with a specific diameter and length of CNT. We should add an option to specify the input in terms of diameter and length in nanometers. The script can then automatically determine the number of beads per ring and the number of rings. The reverse is already being implemented in the script where the box size is written to the gro file based on the ring size and the number of rings.

Large diameter CNT not modelled properly

cnt-200-50-a470-CNP-f00-SNda.zip
I have created a large diameter CNT using the following command:
python3 martini-cnt-generator.py -nr 200 -rs 50 -bl 0.47 -bt CNP -fb 0 -fe 0
When I open the generated .gro file in VMD, several beads appear adrift from the expected CNT surface. While most of the beads appear outside the CNT, some appear inside the CNT as well.

Any quick fixes will be helpful.

Thanks!
Raman

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.