SOM
SOM implements the Self-Organizing Map algorithm in Python to cluster and visualize conformational ensembles of biological macromolecules, enabling analysis of conformational space sampling and large-scale dataset mining.
Key Features:
- Scalability: Supports large-scale SOMs with computation time that scales linearly with dataset size.
- Descriptor computation: Calculates descriptors for each conformation in a trajectory for downstream mapping and analysis.
- U-matrix visualization: Maps descriptors onto a 3D U-matrix that represents distances between neighboring neurons to reveal data structure.
- Flooding algorithm for cluster identification: Uses a hierarchical flooding algorithm to delineate clusters by identifying local basins from global minima to maxima.
- Comprehensive workflow implementation: Implements an end-to-end analysis workflow from data input to result interpretation within the library.
Scientific Applications:
- Conformational space analysis: Extraction of meaningful patterns and clusters from conformational ensembles of macromolecules.
- Molecular dynamics and interaction studies: Aid in elucidating molecular dynamics and interaction-related structural diversity.
Methodology:
Descriptors are calculated for each molecular conformation and mapped onto a U-matrix using the SOM algorithm; the flooding algorithm then processes the U-matrix to identify and delineate clusters hierarchically.
Details
- License:
- GPL-2.0
- Maturity:
- Mature
- Cost:
- Free of charge
- Tool Type:
- library
- Operating Systems:
- Linux, Windows, Mac
- Programming Languages:
- Python
- Added:
- 8/11/2019
- Last Updated:
- 11/24/2024
Operations
Publications
Bouvier G, Desdouits N, Ferber M, Blondel A, Nilges M. An automatic tool to analyze and cluster macromolecular conformations based on self-organizing maps. Bioinformatics. 2014;31(9):1490-1492. doi:10.1093/bioinformatics/btu849. PMID:25543048.
PMID: 25543048
Documentation
Training material
http://nbviewer.ipython.org/gist/bougui505/9952997Very basic tutorial on 2D data using the test set in test directory.; Tutorial
Training material
http://nbviewer.ipython.org/gist/bougui505/9955459Tutorial to cluster a trajectory in dcd format.; Tutorial
Links
Issue tracker
https://github.com/bougui505/SOM/issues