My PhD research (computational organic chemistry) often generates large data sets (>10000 entires) of 'conformers' - where a conformer is basically the spatial arrangement of atoms in space.

From 10000 conformers, there are generally around 10 'unique' shapes, with all of the 10000 roughly corresponding to one of these 10 shapes.

In order to try and sort these conformers, I looked at the possibility of clustering. I generated 20 variables from the data set (measurements of various angles which ultimately determine the shape of the molecule) and ran the two step clustering analysis in SPSS.

This works fine, and does sort the conformers into sensible clusters. The issue I have is how to visualise this clustering. At the moment, the only things I can plot are the variables I imported into SPSS to begin with, but depending on which two I choose, I get a random graph which has dimensions (angles in this case). An example is below:

enter image description here

In the examples I've seen of similar work, the axis tend to be dimensionless, but I'm unsure of how to achieve this, or if I'm even approaching this in the right way.

Any advice would be appreciated.


Multidimensional scaling (MDS) seems like a good fit for this problem. Given a pairwise distance matrix that measures the dissimilarity between each pair of data points, MDS embeds the data into a vector space such that Euclidean distances in the embedding space match the input distances. By embedding into a two- or three-dimensional space, you can visualize a low dimensional representation of the data.

It's important to choose an appropriate distance measure because this determines the structure that the low dimensional embedding tries to preserve. In your case, distances would indicate how dissimilar two molecules are in terms of their angles. Since you're trying to visualize an existing clustering, it would make sense to use the same distance measure that you used to produce the clustering.

Different variants of MDS arise from different ways of measuring how well embedding distances match input distances. For example, metric MDS attempts to directly preserve input distances, whereas nonmetric MDS attempts to produce an embedding where distances are monotonically (but perhaps nonlinearly) related to input distances. There are multiple variants of each.

If runtime is an issue with >10k data points, have a look at this question for some computational tricks.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.