Giter VIP home page Giter VIP logo

orbeckst / g_count Goto Github PK

View Code? Open in Web Editor NEW
8.0 3.0 1.0 156 KB

g_count and g_flux are simple Gromacs tools that are primarily useful to characterize movement of water inside a cylindrical region. This can be the pore of an ion channel or a carbon nanotube. g_count returns statistics about how many atoms of a certain type (for instance, water oxygens) occupied the region of interest. g_flux calculates the flux through a cylindrical region. g_zcoord is a dumb piece of code that just prints z-coordinates of atoms in a cylindrical region; it should be easy enough to add additional functionality. g_flux is more sophisticated than g_count and gives more detailed information but you are encouraged to check that the reported results agree with what you can see in your system. For instance, get the indices of translocating particles and then track them in a trajectory viewer such as VMD. Detailed documentation can be found in the help functions for each program (run it with -h). Background information (slighly outdated for the current g_count-gmx4.5 release) can be found in the appendix (pdf) of my thesis. When you use g_flux/g_count please cite * O. Beckstein and M. S. P. Sansom, The influence of geometry, surface character and flexibility on the permeation of ions and water through biological pores, Phys. Biol. 1 (2004), 42โ€“52. doi:10.1088/1478-3967/1/1/005

License: Other

C 91.74% Makefile 8.26%

g_count's Introduction

==============
README g_count
==============

-------------------------------------------------------------------
UNSUPPORTED AND DEPRECATED

Development and support for this tool has been discontinued.
If you have questions/bugs please put them in the issue tracker
https://github.com/orbeckst/g_count/issues to keep a record.

If you are fixing bugs please send PULL REQUESTS.

For more modern/universal approaches to accomplishing similar
analysis look at https://www.mdanalysis.org and there are now
also some Gromacs tools that do similar things.
--------------------------------------------------------------------

Analysis of permeation events: g_count and g_flux

Copyright (c) 2001-2011 Oliver Beckstein <[email protected]>
Published under the GNU Public Licence, version 2. See LICENCE.

Contributors:
   Marc Baaden (xpm output in g_zcoord)

The latest sources can be found in the git repository at

    https://github.com/orbeckst/g_count

Please report bugs and feature requests through the Issue tracker
https://github.com/orbeckst/g_count/issues


Introduction
============

g_count simply counts the molecules within a cylinder aligned with a
coordinate axis.

g_flux calculates fluxes by analyzing the trajectories of molecules
passing through a cylinder.

g_zcoord simply writes out the z-coordinate of atoms in a
cylindrical region or makes a xpm matrix for quick visualization. You
may be able to do pretty much the same with g_traj and some
post-processing.


Citing
======

When you use g_flux or g_count in published work please cite

   O. Beckstein and M. S. P. Sansom, The influence of geometry,
   surface character and flexibility on the permeation of ions and
   water through biological pores, Phys. Biol. 1 (2004),
   42--52. doi:10.1088/1478-3967/1/1/005

Thank you!


Required software
=================

You must have a compiled version of Gromacs 4.5.3 (or probably later)
with all libraries and include files, and the appropriate
C-compiler. If you compiled Gromacs with X11 support see the end of
this README if you have problems.

Note that this software now requires at least Gromacs 4.5.3 to
compile. This version is NOT backwards compatible (although 4.5.x
might work). Use an older tar ball for previous versions of Gromacs.


Installation
============

See INSTALL.

---------------------------------------------------------------
  THIS VERSION OF g_count ONLY COMPILES AGAINST GROMACS 4.5.x
---------------------------------------------------------------

(Specifically, it has been verified with 4.5.3.)


Problems, Questions
===================

* A water molecule is reported as crossing but in VMD I can see that
  this is not the case. What is going on?

  There appears to be a subtle problem when linking gflux gmx4.4
  against Gromacs 4.0.4. It works for 4.0.2. Sorry, this is all that's
  known at the moment.

* Gromacs 4.x: 
  Versions of g_flux and g_count for 3.x were able to handle
  molecules; the current code base can only handle atoms. Use water
  oxygens when analysing water.

* Do I need the [Gromacs] CVS version somewhere? Would it be better to
  reinstall gromacs 3.1.4 too?  

  > No, you don't need the sources to compile, only libraries and
  > include files.
  > Just make sure that you point GMX_LIB_DIR to the directory where the
  > libmd.a (or libmd.so) and libgmx.a (or .so) files are. The
  > GMX_INCLUDE_DIR must point to the directory with the *.h files.



* Missing X libraries, indicated by errors similar to the following:

  >> gcc -o g_count g_count.o utilgmx.o xmgr.o count.o -lm
  >> -L/usr/local/gromacs/i686-pc-linux-gnu/lib -lmd -lgmx
  >> /usr/local/gromacs/i686-pc-linux-gnu/lib/libgmx.a(mgmx.o): In function
  >> `gmx_gui':
  >> mgmx.o(.text+0x29): undefined reference to
  >> `applicationShellWidgetClass'
  >> mgmx.o(.text+0x4c): undefined reference to `XtOpenApplication'
  >> mgmx.o(.text+0x7c): undefined reference to `XtRealizeWidget'
  >> /usr/local/gromacs/i686-pc-linux-gnu/lib/libgmx.a(mgmx.o): In function
  >> `mk_gui':
  >> mgmx.o(.text+0x1d5): undefined reference to `_XmStrings'
  >> mgmx.o(.text+0x1f6): undefined reference to
  >> `XmCreateFileSelectionDialog'
  [...]

  >  However, the errors you get look to me as if your gromacs libraries are
  > also linked against X-Windows/Motif. I tend to switch it off on
  > compilation, something --without-x (X is more hassle than help and ngmx
  > doesn't get used anymore since vmd...).
  >
  > You might have to add the include path for X includes to CPPFLAGS, eg
  > (no idea if it works)
  >
  > CPPFLAGS += -I/usr/X11R6/include
  >
  > and X libs to LDFLAGS
  >
  > LDFLAGS += -L/usr/X11R6/lib -lX11 -lXm -lXaw -lXpm

* If compilation fails and error messages mention 'fatal.h' then you
  are compiling against the wrong version of Gromacs. Please see the
  top of this file for the compatible versions.

* Compiling/linking fails with messages such as

     libgmx.a(vmddlopen.o): In function `vmddlopen': vmddlopen.c:(.text+0x43): undefined reference to `dlopen'
     ...
     collect2: ld returned 1 exit status

  This indicates that you also have to link against the dynamic loader
  library, libdl. In the Makefile, add `-ldl' to LDFLAGS so that it
  looks like

     LDFLAGS  +=  -lm -L$(GMX_LIB_DIR) -lmd -lgmx -ldl

* Compiling/linking fails with messages such as 

     libgmx.a(pthreads.o): In function `tMPI_Thread_key_delete': pthreads.c:(.text+0x64d): undefined reference to `pthread_key_delete'
     ...
     collect2: ld returned 1 exit status

  This indicates that you also have to link against the parallel
  threads library, libpthread. In the Makefile, add `-lpthread' to
  LDFLAGS so that it looks like

     LDFLAGS  +=  -lm -L$(GMX_LIB_DIR) -lmd -lgmx -lpthread


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.