From: Ashar Malik (
Date: Tue Feb 18 2020 - 11:21:52 CST

Building on Josh's answer -- you can get the centroid of each molecule, get
pairwise distances between centroids, and do clustering on those distances
using a distance cutoff which you think qualifies as a cluster.

VMD/TCL can get centroids and pairwise distances.
For clustering you will have to use something from SciPy in Python or
something similar in other environments.

On Tue, Feb 18, 2020 at 11:26 PM Josh Vermaas <>

> I'd deal with this using graph theory. For each frame in your trajectory,
> you'd create nodes for each molecule, and link them together if they have
> contacts in that particular frame. Never done it in Tcl though, so I don't
> have a script to crib off of.
> -Josh
> On Tue, Feb 18, 2020 at 1:36 AM Mikhail Suyetin <>
> wrote:
>> Dear All,
>> Hope you are doing great.
>> I am doing some MD simulations of SDS agglomeration in water. I have got
>> a question how can I calculate how many SDS molecules per agglomerate? May
>> be somebody did similar task and she/he has a tcl script?
>> Thank you.
>> Kind Regards,
>> Mikhail