From: Axel Kohlmeyer (akohlmey_at_gmail.com)
Date: Wed Sep 17 2014 - 05:53:48 CDT

On Wed, Sep 17, 2014 at 5:55 AM, Alessandro Mariani
<alessandro.mariani_at_uniroma1.it> wrote:
> This is the first time that I write in this list, so I don't know the
> correct way to describe the problem.

the classic document suggesting how to ask questions about a software
in a corresponding mailing list is here:
http://www.catb.org/esr/faqs/smart-questions.html

> I'm asking if there is a method, with VMD, to identify a solute cluster
> using the criterion of center of mass pair distance. I need this analysis as

none that i know of.

> soon as possible, so if there is a ready-to-use tool to do it, it will be
> great, but there will be no problem even if I'll have to write it. I have
> some programming skills, I would say average, in C and C++, but I've never
> used VMD/TCL. In the attachments you will find a pseudo-program (no

there is not a lot of help you can get from VMD scripting unless you
don't need to care for periodic boundaries.
without having to take PBC into account, you could piggyback on the
automatic bond detection algorithm (which is distance based).
1) create a trajectory with only the center of mass coordinates from
your molecule trajectory or pick the atom that is closest to the COM
and set all other atom radii to a small number (0.1) and crank the
other up to match the bond guess requirement
2) use mol bondsrecalc to compute contact pairs
3) use mol reanalyze to let VMD compute bonded fragments (which will
be your clusters)
4) process the assigned frament id and fragment size for your further analysis

since mol bondsrecalc is not PBC aware, it will fail for those cases.
probably not a good choice without significant VMD/Tcl experience anyway.

another option would be to extend a C++ code like LAMMPS, it has a
"compute cluster/atom" module and a "compute com/molecule" module, so
you'd have to somehow write a hybrid compute "compute
cluster/molecule" that would first do the com/molecule step and then
use that information to do the clustering and then see if you can use
LAMMPS internal postprocessing. LAMMPS has a rerun option that allows
you to postprocess precomputed trajectories. in this case, you would
only need to provide atom types and per type masses as necessary
information and assign a dummy lj/cut potential with a large enough
cutoff.

also not easy, especially if you have no experience with LAMMPS but
some steps are skipped. i met some people earlier this year at a
workshop that were working on somewhat similar kinds of analysis and
there can be nasty details.

> programming language) that I was writing to solve this problem, but it has
> some problems. The other file is a practical example of the program

yes. the obvious issue with your approach is its bad scaling with
system size. you want to do spatial binning based on your cutoff
distance (or half the cutoff) first (look at cell list algorithms
implementations for MD codes for example).
other issue is to track cluster identities, which can be tricky if you
have a lot of cluster fusion and fission events, or how to measure
exit and re-entry of molecules into a cluster (i.e. whether to apply a
hysteresis)
this all is not something done on the quick and usually requires
specific knowledge.
some colleagues of mine worked on micellization and have documented
their approach here: http://dx.doi.org/10.1021/ct2005193

axel

> _____________________________________________
>
> Dr. Alessandro Mariani
>
> PhD Student
> Department of Chemistry
> "La Sapienza" University of Rome
> P.le Aldo Moro, 5
> 00185 Rome (IT)
>
> Telephone: +39 06 49934082
> Mobile Phone: +39 340 4124911
> _____________________________________________
>
> 2014-09-17 11:41 GMT+02:00 Axel Kohlmeyer <akohlmey_at_gmail.com>:
>>
>> On Wed, Sep 17, 2014 at 4:57 AM, Alessandro Mariani
>> <alessandro.mariani_at_uniroma1.it> wrote:
>> > Hello,
>> > I'm currently having some problems and maybe you can help me.
>> > I have a MD trajectory (Amber xtc) where are visible some solute
>> > clusters.
>> > The thing I want to do is to identify these clusters (i. e. which
>> > molecules
>> > are part of it) and then compute the lifetime of them (as an
>> > autocorrelation
>> > function). The criterion of two molecules to be in the same cluster is
>> > that
>> > their centre of mass are within a certain distance.
>> >
>> > Any idea?
>>
>> this is the kind of inquiry that is almost impossible to answer in a
>> helpful manner.
>> what is it that you are asking for? and what is the kind of effort
>> that you are willing to invest? and what is the level of your
>> programming skills (in general, and in VMD/Tcl)?
>>
>> there are plenty of papers and instructions for the individual steps
>> available.
>>
>> >
>> > Thanks for help
>> > _____________________________________________
>> >
>> > Dr. Alessandro Mariani
>> >
>> > PhD Student
>> > Department of Chemistry
>> > "La Sapienza" University of Rome
>> > P.le Aldo Moro, 5
>> > 00185 Rome (IT)
>> >
>> > Telephone: +39 06 49934082
>> > Mobile Phone: +39 340 4124911
>> > _____________________________________________
>>
>>
>>
>> --
>> Dr. Axel Kohlmeyer akohlmey_at_gmail.com http://goo.gl/1wk0
>> College of Science & Technology, Temple University, Philadelphia PA, USA
>> International Centre for Theoretical Physics, Trieste. Italy.
>
>

-- 
Dr. Axel Kohlmeyer  akohlmey_at_gmail.com  http://goo.gl/1wk0
College of Science & Technology, Temple University, Philadelphia PA, USA
International Centre for Theoretical Physics, Trieste. Italy.