Sixteen step-by-step tutorials from SAMSON School 2017


SAMSON School 2017 is now over, and this year sixteen lectures had accompanying written step-by-step tutorials! Feel free to follow the links below to learn how to install and use SAMSON, as well as develop your own SAMSON Elements and share them on SAMSON Connect:

Users program

  • Installing SAMSON

    We introduce the Users program of the SAMSON School and SAMSON, the software platform for computational nanoscience. We highlight the need for an integrated platform able to combine diverse domains of nanoscience, which led to SAMSON’s open architecture and the creation of the SAMSON Connect online platform. We introduce SAMSON Connect, the online platform used to distribute SAMSON and SAMSON Elements, the modules for SAMSON, and we install SAMSON and default SAMSON Elements.

    View tutorial

  • Producing publication-quality images and animations

    We explore how SAMSON can be used to generate publication-quality images and animations, thanks to visual models and color schemes, and fine control of rendering options and effects, including interactive ambient occlusion, depth-of-field rendering, silhouettes, anti-aliasing, multisampling, etc. We show how to setup SAMSON to capture snapshots of the viewport.

    View tutorial

  • Simulating small molecules, graphene and proteins

    We demonstrate how SAMSON can be used to perform interactive simulation of various systems, including small molecules with the Universal Force Field (UFF), graphene and nanotubes with the Brenner force field, and proteins with GROMACS force fields. We show how interactive minimization helps produce realistic structures. We discuss the choice of state updaters.

    View tutorial

  • Calculating non-linear normal modes

    We demonstrate the SAMSON app which makes it possible to compute non-linear normal modes very efficiently. We show how they help produce large realistic deformations of protein structures, and demonstrate how to generate and export trajectories and snapshots.

    View tutorial

  • Aligning sequences with MUSCLE – Interactive Ramachandran plots

    We show how to use the SAMSON app that integrates the MUSCLE tool for multiple sequence alignement, and we demonstrate the SAMSON app for interactive Ramachandran plots, which lets users directly edit the Ramachandran plot to modify the protein structure.

    View tutorial

  • Generating crystal models

    We show how to use the crystal generator app to easily create crystal models in SAMSON. We also show how to import cif models, visualize and edit them.

    View tutorial

  • Performing Orbital-Free Density Functional Theory calculations

    We demonstrate how to perform Orbital-Free Density Functional Theory (OF-DFT) calculations in SAMSON. In particular, we show how to set up the system and calculation, as well as combine these calculations with simulators in SAMSON to perform energy minimization.

    View tutorial


Developers program

  • Installing the SAMSON SDK

    We introduce the Developers program of the SAMSON School, and the SAMSON Software Development Kit (SDK) that we will use to develop SAMSON Elements. We set up a programming environment for everyone, and we install the SAMSON SDK. We explore the SAMSON Connect platform from the developer point of view. We explain the structure of the SAMSON SDK. We introduce the libraries composing the SDK, and the main classes used to represent atoms, molecules and data graph nodes in SAMSON. We describe naming conventions, as well as the typical file structure of a SAMSON Element.

    View tutorial

  • Programming new apps

    We use the SAMSON Element Generator to create the template of a new SAMSON app. We use this template to develop our first app: a tool to perturb atoms positions in the document. We explore the creation of the user interface, the retrieval of atoms in a document or in a user selection, and perturb atom positions using a random number generator. We use SAMSON’s holding mechanism to let users undo and redo their actions.

    View tutorial

  • Handling units and dimensional analysis

    In SAMSON, physical quantities are strongly typed. We show how to define and manipulate physical quantities and their units, in order to help ensure the quality of the calculations. We show how to convert between units, define new units and constants, and program an app that performs energy conversions.

    View tutorial

  • Importing and exporting data

    We describe how to import and export data into SAMSON. We implement an XYZ parser that creates a structural model based on atom coordinates and types, and we export an XYZ file based on the contents of the active document or the user selection.

    View tutorial

  • Creating novel visualizations

    We introduce visual models, and show how they can be used to provide new visual representations to users. We introduce SAMSON’s various display functions used to simplify the rendering of spheres, cylinders, surfaces, etc. We program a van der Waals representation of a group of atoms. We show how to make objects selectable by the user.

    View tutorial

  • Programming new force fields

    We explain how to program new force fields in SAMSON. We introduce dynamical models and interaction models, and show how to create and apply a set of springs to a group of atoms. We show how to compute energies and forces based on the information contained in the dynamical model.

    View tutorial

  • Programming new simulation methods

    We explain how to program new simulation methods in SAMSON. We introduce state updaters, the data graph nodes used to perform interactive simulation, and we implement a Metropolis Monte Carlo sampler. We show how to save the best structures found by the Monte Carlo minimizer in the document.

    View tutorial

  • Integrating external programs

    We explain how to develop a SAMSON app that integrates an external executable. In particular, we implement a prototype app that a) creates a configuration file on disk based on the parameters the user has entered in the app GUI, b) launches the external executable and c) retrieves the output of the external executable and imports it into SAMSON.

    View tutorial

  • Distributing new SAMSON Elements on SAMSON Connect

    We explain how to use the SAMSON Element Packager to prepare a SAMSON Element for distribution on SAMSON Connect. We show how to upload screenshots and describe SAMSON Elements, manage collaborators allowed to edit the SAMSON Element, as well as manage versions of SAMSON Elements.

    View tutorial

Please share, and don’t hesitate to contact us or comment below if you have any questions!


Leave a Reply

Your email address will not be published.

Time limit is exhausted. Please reload CAPTCHA.

  • Subscribe

    Subscribe to make sure you receive all our updates, tips and tutorials