![]() | The topic of this article may not meet Wikipedia's notability guidelines for products and services .(March 2018) |
SAMSON | |
---|---|
![]() | |
![]() The main user interface. | |
Developer | OneAngstrom |
Stable release | 2025 R2 / 2025 |
Written in | C++ (Qt) |
Operating system | Windows, macOS, Linux |
Platform | x86-64 |
Available in | English |
Type | Molecular design |
License | Proprietary [1] |
Website | www |
SAMSON (Software for Adaptive Modeling and Simulation Of Nanosystems) is a computer software platform for molecular design being developed by OneAngstrom and previously by the NANO-D group at the French Institute for Research in Computer Science and Automation (INRIA). [2]
SAMSON has a modular architecture that makes it suitable for different domains of nanoscience, including material science, [3] life science, [4] and drug design. [5] [6] [7] [8] [9] [10] [11]
SAMSON Extensions, developed with the SAMSON software development kit (SDK), help users perform tasks, including building new models, performing calculations, running interactive or offline simulations, and visualizing and interpreting results.
SAMSON, SAMSON Extensions and the SAMSON Software Development Kit are distributed via the SAMSON Connect website. [6] The site acts as a repository for the SAMSON Extensions being uploaded by developers, and users of SAMSON choose and add extensions from SAMSON Connect.
SAMSON has a built-in assistant based on GPT-5 and Retrieval-augmented generation (RAG) that helps users discover functionality, open relevant documentation, and execute commands directly from chat. It can also assist with selecting, Python scripting, analyzing documents, retrieve online information relevant to molecular design, and supports voice interaction.
SAMSON represents nanosystems using five categories of models:
Molecules and systems can be built using atoms, fragment libraries, and procedural generators.
Simulators (potentially interactive ones) are used to ensure that models are physically based and predict properties.
All models and simulators are integrated into a hierarchical, layered structure that form the SAMSON data graph. SAMSON Extensions interact with each other and with the data graph to perform modeling and simulation tasks. A signals and slots mechanism makes it possible for data graph nodes to send events when they are updated, which makes it possible to develop e.g., adaptive simulation algorithms. [12] [13] [14]
SAMSON uses its own document format, which is designed to be extensible. Each document header specifies the list of required SAMSON Extensions, making it possible to preserve compatibility across different installations by automatically indicating which extensions must be present to open the file. In addition to molecular models and simulation data, SAMSON documents can embed arbitrary file types, such as scripts, datasets, or media, which remain bundled inside the document for distribution and sharing through SAMSON Connect.
Certain workflows can be launched in the cloud directly from the SAMSON interface, with results synchronized back into the client. Supported computations include protein structure prediction (e.g., AlphaFold) and molecular dynamics (e.g., GROMACS). External developers can contribute cloud services to the platform.
SAMSON provides Python bindings to the SAMSON API, available through an embedded Jupyter Qt console and an embedded editor component from Visual Studio Code. Users can automate modeling, simulation and visualization, build pipelines, integrate external Python packages, and create applications with graphical user interfaces in Python.
SAMSON integrates the Cycles renderer from Blender to enable interactive, path-traced rendering of molecular systems for images and animations. Materials and rendering parameters may be controlled from the graphical interface.
Through SAMSON Connect, users can create profiles and groups, share documents and cloud jobs, and manage access permissions. SAMSON documents can be published to SAMSON Connect and accessed via shareable links and permanent identifiers.
SAMSON has a node specification language (NSL) that users may employ to select data graph nodes based on their properties. Example NSL expressions include:
Hydrogen
– select all hydrogens (short version: H
)atom.chainID > 2
– select all atoms with a chain ID strictly larger than 2 (short version: a.ci > 2
)Carbon in node.selected
– select all carbons in the current selection (short version: C in n.s
)bond.order > 1.5
– select all bonds with order strictly larger than 1.5 (short version: b.o > 1.5
)O in node.type sidechain
– select all oxygens in sidechain nodes (short version: O in n.t sc
)"CA" within 5A of S
– select all nodes named CA that are within 5 angstrom of any sulfur atom (short version: "CA" w 5A of S
)SAMSON is developed in C++ and implements features to ease developing SAMSON Extensions, including: