Re: [AMBER] algorithm for clustering solvent molecules?

From: Jose Borreguero <>
Date: Mon, 3 Aug 2015 15:21:09 -0400

I have created a graph for every frame. Nodes in the graph are the solvent
molecules, and two nodes are connected with and edge if the distance
between the associated solvent molecules is below a cutoff I chose. I have
systems with different solvation levels, some of then featuring "pockets"
of solvent molecules. These pockets are the clusters I'm interested in.
Algorithm networkx.connected_components
find the connected clusters from a graph. To create the graph, I am using
MDAnalysis to obtain the contact map between solvent molecules. Regarding
time, it takes 2.2seconds to create a contact map for 4132 solvent
molecules, which I think is reasonable (unless you have many thousands of

On Mon, Aug 3, 2015 at 1:17 PM, Jason Swails <> wrote:

> On Mon, 2015-08-03 at 12:57 -0400, Jose Borreguero wrote:
> > Thanks a lot, Jason. I'll go along with python for the clustering step. I
> > found module networkx which is very straighforward for clustering, and
> > quite fast.
> How are you using networkx for this? I've used it to define a bond
> graph in molecular topology before, but I don't see how networkx maps to
> clustering here. Do you have a fully connected graph whose edge weights
> are the distance between the nodes or something? That sounds like it
> would be an expensive graph to create. Keep in mind that the PBC will
> have an effect on the clusters, so how you pick the unit cell
> representation is likely important.
> I've used sklearn to cluster in the past, and I've found it to be pretty
> easy to use, for what that's worth.
> All the best,
> Jason
> --
> Jason M. Swails
> BioMaPS,
> Rutgers University
> Postdoctoral Researcher
> _______________________________________________
> AMBER mailing list
AMBER mailing list
Received on Mon Aug 03 2015 - 12:30:03 PDT
Custom Search