SAMSON (Software for Adaptive Modeling and Simulation Of Nanosystems) is a computer
software
Software consists of computer programs that instruct the Execution (computing), execution of a computer. Software also includes design documents and specifications.
The history of software is closely tied to the development of digital comput ...
platform for molecular design being developed b
OneAngstromand previously by the NANO-D group at the
(INRIA).
[NANO-D - INRIA](_blank)
/ref>
SAMSON has a modular architecture that makes it suitable for different domains of nanoscience, including material science, life science, and drug design.[SAMSON Connect](_blank)
/ref>[SAMSON 0.7.0 is available - Macs in Chemistry](_blank)
/ref>[RDKit in SAMSON - Macs in Chemistry](_blank)
/ref>
SAMSON Elements
SAMSON Elements are modules for SAMSON, developed with the SAMSON software development kit
A software development kit (SDK) is a collection of software development tools in one installable package. They facilitate the creation of applications by having a compiler, debugger and sometimes a software framework. They are normally specific t ...
(SDK). SAMSON Elements help users perform tasks in SAMSON, including building new models, performing calculations, running interactive or offline simulations, and visualizing and interpreting results.
SAMSON Elements may contain different class types, including for example:
* ''Apps'' – generic classes with a graphical user interface
A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
that extend the functions of SAMSON
* ''Editors'' – classes that receive user interaction events to provide editing functions (e.g., model generation, structure deformation, etc.)
* ''Models'' – classes that describe properties of nanosystems (see below)
* ''Parsers'' – classes that may parse files to add content to SAMSON's data graph (see below)
SAMSON Elements expose their functions to SAMSON and other Elements through an introspection mechanism, and may thus be integrated and pipelined.
Modeling and simulation
SAMSON represents nanosystems using five categories of models:
* ''Structural models'' – describe geometry and topology
* ''Visual models'' – provide graphical representations
* ''Dynamical models'' – describe dynamical degrees of freedom
* ''Interaction models'' – describe energies and forces
* ''Property models'' – describe traits that do not enter in the first four model categories
Simulators (potentially interactive ones) are used to build physically-based models, and predict properties.
Data graph
All models and simulators are integrated into a hierarchical, layered structure that form the SAMSON data graph. SAMSON Elements 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.
Node specification language
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
)
* node.type backbone
– select all backbone nodes (short version: n.t bb
)
* 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
)
* node.type residue beyond 5A of node.selected
– select all residue nodes beyond 5 angstrom of the current selection (short version: n.t r b 5A of n.s
)
* residue.secondaryStructure helix
– select residue nodes in alpha helices (short version: r.ss h
)
* node.type sidechain having S
– select sidechain nodes that have at least one sulfur atom (short version: n.t sc h S
)
* H linking O
– select all hydrogens bonded to oxygen atoms (short version: H l O
)
* C or H
– select atoms that are carbons or hydrogens
Features
SAMSON is developed in C++ and implements many features to ease developing SAMSON Elements, including:
* Managed memory
* Signals and slots
* Serialization
* Multilevel undo-redo
* Introspection
* Referencing
* Unit system
* Functors and predicate logic
* SAMSON Element source code generators
SAMSON Connect
SAMSON, SAMSON Elements and the SAMSON Software Development Kit are distributed via the SAMSON Connect website. The site acts as a repository for the SAMSON Elements being uploaded by developers, and users of SAMSON choose and add Elements from SAMSON Connect.
See also
* Comparison of software for molecular mechanics modeling
This is a list of computer programs that are predominantly used for molecular mechanics calculations.
See also
*Car–Parrinello molecular dynamics
*Comparison of force-field implementations
*Comparison of nucleic acid simulation software
* ...
* Gabedit
Gabedit is a graphical user interface to GAMESS (US), Gaussian, MOLCAS, MOLPRO, MPQC, OpenMopac, PC GAMESS, ORCA and Q-Chem computational chemistry packages.
Major features
* Builds molecules by atom, ring, group, amino acid and nucleo ...
* Jmol
Jmol is computer software for molecular modelling of chemical structures in 3 dimensions.
It is an open-source Java viewer for chemical structures in 3D.
The name originated from ''Jva (the programming language) + olcules, and also the m ...
* Molden
Molden is a general molecular and electronic structure processing program.
Major features
* Reads output from the ab initio packages GAMESS (US), Gaussian, MOLPRO, PySCF and from semi-empirical packages such as MOPAC, and supports a num ...
* Molecular design software Molecular design software is notable software for molecular modeling, that provides special support for developing molecular models ''de novo''.
In contrast to the usual molecular modeling programs, such as for molecular dynamics and quantum chemi ...
* Molekel
Molekel is a free software multiplatform molecular visualization program. It was originally developed at the University of Geneva by Peter F. Flükiger in the 1990s for Silicon Graphics Computers. In 1998, Stefan Portmann took over responsibi ...
* PyMol
PyMOL is a source-available molecular visualization system created by Warren Lyford DeLano. It was commercialized initially by DeLano Scientific LLC, which was a private software company dedicated to creating useful tools that become universall ...
* RasMol
RasMol is a computer program written for molecular graphics visualization intended and used mainly to depict and explore biological macromolecule structures, such as those found in the Protein Data Bank (PDB).
History
It was originally develo ...
* UCSF Chimera
UCSF Chimera (or simply Chimera) is an extensible program for interactive visualization and analysis of molecular structures and related data, including density maps, supramolecular assemblies, sequence alignments, docking results, trajectories ...
* Visual Molecular Dynamics
Visual Molecular Dynamics (VMD) is a molecular modelling and Visualization (computer graphics), visualization computer program. VMD is developed mainly as a tool to view and analyze the results of molecular dynamics simulations. It also includes ...
(VMD)
References
{{Chemistry software
Computational chemistry software
Nanotechnology
Simulation software