¶General information
¶Welcome to MolPlay
MolPlay is a virtual molecular playground for interactive simulations and analyses (IMSA).
MolPlay provides a bootable USB platform as a turnkey environment for IMSA. It democratizes access to powerful computational techniques for researchers, educators, and students.
¶Key Features
- Portable and self-contained
- User-friendly interface
- Curated set of hands-on examples
- Lowered technical barriers for IMSA
¶Quick Links
- Getting Started
- Explore Examples
- Download MolPlay
- Latest News
- MolPlay prototype release - Marc Baaden · July 09, 2024
- MolPlay website goes online - Marc Baaden · June 26, 2024
- Successful testing at international workshop - Marc Baaden · April 24, 2024
¶Interactive Molecular Simulations and Analyses Examples
MolPlay includes a variety of examples to demonstrate different IMSA techniques and applications. Each example comes with a brief description, detailed documentation, and a video walkthrough.
¶List of Examples
- BPTI: interactive protein simulation
- Demonstrates protein dynamics in water
- Explores force propagation and structural manipulation
- Deca-alanine helix in water: interactive peptide simulation
- Simple system for beginners
- Demonstrates basic molecular dynamics
- DMPC: interactive membrane simulation
- Explores lipid bilayer dynamics
- Demonstrates membrane perturbation and lipid extraction
- GK BS: interactive enzyme manipulation (coarse-grained)
- Investigates enzyme binding cleft dynamics
- Compares with all-atom simulation
- GK: interactive enzyme simulation (all-atom)
- Explores allosteric effects in enzymes
- Allows comparison with coarse-grained model
- OMPT: interactive membrane protein insertion
- Simulates protein insertion into implicit membrane
- Explores preferred orientations and insertion depths
- Protein-DNA: interactive DNA docking to a protein
- Demonstrates protein-DNA interactions
- Explores electrostatic-driven docking
- SNARE complex: interactive double membrane protein bundle simulation
- Investigates mechanical properties of membrane fusion proteins
- Demonstrates force propagation analysis
- VAMP-CG-v1: interactive membrane peptide simulation
- Small coarse-grained bilayer system
- Explores membrane - protein - water - ion interactions
¶Additional Information
- Access full documentation for each example
- More examples will be added as they become available
¶Detailed documentation
¶MolPlay Documentation
¶QuickStart
- MolPlay Keyboard and Mouse Cheat Sheet (PDF)
- UnityMol User Interface Cheat Sheet (PDF)
- (more cheat sheets to come..)
¶User Guide
¶Example Documentation
- Video Walkthrough Series: MolPlay Essentials
- Detailed instructions for each included example
- Tips for optimal use and analysis are provided when relevant in the example documentation
¶Technical Details
- MolPlay architecture
- Integration with Batocera and Guix
- Python scripting for experiment launching
- Customized python scripts manage launching the visualization, simulation and control modules for each experiment
- All such scripts are located in
/userdata/roms/pygame
¶Extending MolPlay
Adding new examples..not yetCustomizing the interface..not yetIntegrating additional hardware..not yet
¶Appendix
¶CPU compatibility
CPU Family | CPUs |
---|---|
AMD Athlon | 3000G, Silver 3050e |
AMD Ryzen | 7 5800H |
AMD Custom | Aerith APU Zen 2 |
Intel Celeron | 1037U, G1610, G1610T, N2830, N3450 |
Intel Core i3 | 4130T, 4350, 4360, 8109U |
Intel Core i5 | 2415M, 3427U, 4250U, 4440, 4570, 4670, 6200U, 12500T |
Intel Core i7 | 4770T, 4790, 4790K |
Intel Core m7 | 6Y75 |
Intel Other | N100, Pentium 4405U, B960, G3220, G4500, Xeon E3-1246 v3 |
Beelink | SER5 MAX |
CPU compatibility information is taken from the Batocera wiki website. CPU models were constituted from reported working benchmark configurations.
¶GPU compatibility
GPU Family | GPUs |
---|---|
NVIDIA GeForce | GTX 750 Ti, GTX 1050, GTX 1050 Ti |
NVIDIA Other | GTX 750 Ti |
AMD Radeon RX | 550, 6500 XT |
AMD Radeon Vega | 3, Vega 3 |
AMD Integrated | Radeon (3GB VRAM) |
AMD RDNA | 2 |
Intel HD Graphics | Bay Trail, Haswell, Sandy Bridge, 500, 510, 515, 520, 530, 2500, 3000, 4000, 4400, 4600, 5000 |
Intel Iris Plus Graphics | 655 |
Intel UHD Graphics | 770, Xe 24EUs 750MHz |
Intel Other | HD Graphics 4600 |
GPU compatibility information is taken from the Batocera wiki website. GPU models were constituted from reported working benchmark configurations.
¶MolPlay Keyboard Shortcuts
¶Basic Navigation
`Enter` | Navigate to sub-menu, launch experiment |
`Esc` | Go back to previous menu |
`↑` / `↓` arrow keys | Navigate through available items |
`Ctrl` + `X` | Exit a running experiment |
¶Advanced Navigation
`Spacebar` | Configuration menu |
`Enter` long press | Documentation, animation for experiment |
¶MolPlay Mouse Usage
left-click + drag in void | Rotate the view |
left-click + drag on atom | Apply forces to molecules |
MIddle-click and drag | Pan the view |
Right-click and drag | Zoom in/out |
Scroll wheel | Zoom in/out |
¶Installation
¶MolPlay Downloads
¶Latest Version
- MolPlay v1.0 ISO image Download Link for molplay_v1.0.img.gz
- MD5sum checksum:
992287f3d2bceed9ff8e87b3e6d09f42
- Release date: 9.7.2024
¶System Requirements
- 64-bit x86_64 CPU (recommended, see full list in documentation)
- 1 GB RAM (minimum)
- Compatible graphics card (see full list in documentation)
¶Installation Instructions
- Download the ISO image
- Create a bootable USB stick
- Boot your computer from the MolPlay USB stick
More detailed instructions for a quick start here.
¶Additional Resources
- User Manual [Download Link]
- Video Tutorials: MolPlay Essentials video series
View installation and usage instructions for a quick start.
¶Further Information
¶Get in Touch
We welcome your feedback, questions, and suggestions about MolPlay.
¶General Inquiries
Email: molplay-info at smplinux.de
¶Technical Support
Email: molplay-support at smplinux.de
¶Contribute
Interested in contributing to MolPlay? Contact us at: molplay-contribute@smplinux.de
¶Social Media
- Twitter: @UnityMol
¶Principal Investigator
Marc Baaden - Theoretical Biochemistry Lab, CNRS - Paris, France - Email: baaden at smplinux.de
¶Core MolPlay Citations
- Work in progress.. stay tuned!
¶Posters
UnityMol: Simulation et Visualisation Interactive à des fins d’Enseignement et de Recherche 19ème congrès Groupe Graphisme et Modélisation Moléculaire (GGMM 2015)
¶Related work
- Doutreligne, S., Gageat, C., Cragnolini, T., Taly, A., Pasquali, S., Derreumaux, P., Baaden, M. UnityMol: interactive and ludic visual manipulation of coarse-grained RNA and other biomolecules Virtual and Augmented Reality for Molecular Science (VARMS@IEEEVR), 2015 IEEE 1st International Workshop on
¶Examples
This video provides another interactive simulation example.
Explore the power of interactive molecular dynamics with MolPlay!
This video demonstrates an all-atom interactive simulation of a fully hydrated DMPC lipid bilayer using Gromacs and UnityMol. Watch as we interactively manipulate molecules, showcasing the intuitive interface and real-time feedback of MolPlay.
Perfect for researchers and students interested in protein dynamics and interactive simulation techniques.
This video also features some explanations of UnityMol functionalities.
You’ll learn:
- Changing the representation to individualize lipids
- Playing with periodic boundary conditions
- Perturbing the system significantly and observing its relaxation
Click like 👍 on the video if you’re excited to get started!
This video provides another interactive simulation example.
Explore the power of interactive molecular simulations with MolPlay!
This video demonstrates an interactive membrane insertion run of a membrane protein using BioSpring and UnityMol. Watch as we interactively manipulate molecules, showcasing the intuitive interface and real-time feedback of MolPlay.
Perfect for researchers and students interested in membrane protein dynamics and interactive simulation techniques.
This video also features some explanations of UnityMol functionalities.
You’ll learn:
- Work with a rigid body protein model and an implicit membrane
- Use advanced plotting functionalities
- Use multiple scene projections for a comprehensive overview
Click like 👍 on the video if you’re excited to get started! You can find the complete MolPlay Essentials playlist on YouTube!
¶Episodes
- Getting MolPlay to boot on your computer
- The Basics of MolPlay
- The Basics of Interactive Simulations: coarse-grained membrane patch
- The Basics of Interactive Simulations: a simple peptide in water
- The Basics of Interactive Simulations: protein in water
- More Interactive Simulations: a lipid bilayer in water
- More Interactive Simulations: an enzyme in water
- More Interactive Simulations: enzyme allostery with elastic networks
- Advanced Interactive Simulations: protein-DNA elastic network docking
- Advanced Interactive Simulations: UNILIPID membrane protein insertion
- Advanced Interactive Simulations: dynamics of a complex double membrane system
This video provides another interactive simulation example.
Explore the power of interactive molecular dynamics with MolPlay!
This video demonstrates an all-atom interactive simulation of a short deca-alanin peptide in water using Gromacs and UnityMol. Watch as we interactively manipulate molecules, showcasing the intuitive interface and real-time feedback of MolPlay.
Perfect for researchers and students interested in a simple interactive simulation experience.
This video also features some explanations of UnityMol functionalities.
You’ll learn:
- Hide water representations
- Adjusting pulling force
- Switch between UnityMol and Gromacs windows
- writing a snapshot to a pdb file
Click like 👍 on the video if you’re excited to get started!
This video shows the very first step to get MolPlay started! In this preparatory video, I illustrate the boot process necessary to start MolPlay.
You’ll learn:
- The steps during the boot process
- The screens that you should see during boot up
- The landing page once MolPlay is booted
- Approximately how long the boot process takes
Whether you’re a researcher, educator, or student, this video will help you with the very first steps in getting MolPlay booted so you can enhoy it’s interactive molecular simulations and analyses features.
Let’s take a look at how you can boot up MolPlay!
Click like 👍 on the video if you’re excited to get started!
This video opens the MolPlay video walkthrough series! In this first video, I guide you through the initial process to work with MolPlay and demonstrate key functionalities for navigating the user interface.
You’ll learn:
- What to expect when MolPlay first boots up
- How to navigate through the main menu system
- Exploring and selecting from available examples
- Basic interface controls and hotkeys
Whether you’re a researcher, educator, or student, this video will help you get started with MolPlay’s interactive molecular simulations and analyses. Stay tuned for more in-depth tutorials on specific examples and advanced features!
Let’s take a look at how you can quickly get started using MolPlay!
Click like 👍 on the video if you’re excited to get started!
This video provides a first interactive simulation example.
Explore the power of interactive molecular dynamics with MolPlay!
This video demonstrates a coarse-grained simulation of transmembrane peptides in a membrane environment using Gromacs and UnityMol. Watch as we interactively manipulate molecules, showcasing the intuitive interface and real-time feedback of MolPlay.
Perfect for researchers and students interested in membrane protein dynamics and interactive simulation techniques.
This video also features an explanation of the basic user interface functionalities of UnityMol to show and hide representations and tune visual appearance.
You’ll learn:
- Manipulating the view
- Changing representations, hiding, deleting and creating them
- Pulling on atoms and tuning your applied force
Click like 👍 on the video if you’re excited to get started!
This video provides another interactive simulation example.
Explore the power of interactive molecular simulations with MolPlay!
This video demonstrates an elastic network docking simulation of a DNA fragment onto a protein using BioSpring and UnityMol. Watch as we interactively manipulate molecules, showcasing the intuitive interface and real-time feedback of MolPlay.
Perfect for researchers and students interested in protein dynamics and interactive simulation techniques.
This video also features some explanations of UnityMol functionalities.
You’ll learn:
- Work with an electrostatic field driving docking
- Use simplified elastic network representations for efficient docking
- Get visual guidance to speed up complex operations
Click like 👍 on the video if you’re excited to get started!
This video provides another interactive simulation example.
Explore the power of interactive molecular simulations with MolPlay!
This video demonstrates an elastic network interactive simulation of the guanylate kinase enzyme using BioSpring and UnityMol. Watch as we interactively manipulate molecules, showcasing the intuitive interface and real-time feedback of MolPlay.
Perfect for researchers and students interested in protein dynamics and interactive simulation techniques.
This video also features some explanations of UnityMol functionalities.
You’ll learn:
- Probing allosteric interactions in an enzyme
- Triggering complex long-range functional motions
- Discovering augmented elastic networks
Click like 👍 on the video if you’re excited to get started!
This video provides another interactive simulation example.
Explore the power of interactive molecular dynamics with MolPlay!
This video demonstrates an all-atom interactive simulation of bovine pancreatic trypsin inhibitor BPTI in water using Gromacs and UnityMol. Watch as we interactively manipulate molecules, showcasing the intuitive interface and real-time feedback of MolPlay.
Perfect for researchers and students interested in protein dynamics and interactive simulation techniques.
This video also features some explanations of UnityMol functionalities.
You’ll learn:
- Manipulating the representations
- Adjusting pulling force
- Pulling on explicit atom or abstracted cartoon representations
Click like 👍 on the video if you’re excited to get started!
This video provides another interactive simulation example.
Explore the power of interactive molecular dynamics with MolPlay!
This video demonstrates an all-atom interactive simulation of the guanylate kinase enzyme in water using Gromacs and UnityMol. Watch as we interactively manipulate molecules, showcasing the intuitive interface and real-time feedback of MolPlay.
Perfect for researchers and students interested in protein dynamics and interactive simulation techniques.
This video also features some explanations of UnityMol functionalities.
You’ll learn:
- Playing with visual effects such as outline
- Working on large conformational changes
Click like 👍 on the video if you’re excited to get started!
This video provides another interactive simulation example.
Explore the power of interactive molecular simulations with MolPlay!
This video demonstrates an interactive molecular dynamics simulation of a complex double bilayer system using Gromacs and UnityMol. Watch as we interactively manipulate molecules, showcasing the intuitive interface and real-time feedback of MolPlay.
Perfect for researchers and students interested in membrane protein dynamics and interactive simulation techniques.
This video also features some explanations of UnityMol functionalities.
You’ll learn:
- Tuning colors and representations
- Adjusting the forces and probing interactions
- Crashing the simulation 😂
Click like 👍 on the video if you’re excited to get started!
¶Getting started
¶The exercise: interactive membrane simulation
Start up the DMPC-IMD-v1
exercise using the graphical interface.
UnityMol will open, Gromacs will start up in the background, and the
visualization will connect to the running simulation.
More instructions are provided in the video walkthrough.
The lipid bilayer is shown as multi-colored hyperballs, while the water molecules are shown as white-red-white colored triangle segments.
After an initial visual exploration, you may want to get rid of the water molecules, to simplify the manipulation of the trajectory. You can achieve this from the menu, by clicking on the eye icon next to the Lines title line in the model_water submenu.
When you manipulate the simulation, be gentle, otherwise the simulation will crash and you need to start over. Common tasks may be:
- try to pull out a lipid molecule from the membrane to various degrees
- assess if the lipid is able to insert back into the membrane
- pull strongly on a lipid to create a perturbation in the membrane and observe how it propagates and/or heals over time
- pull lipids across periodic boundaries, for instance laterally, to see the periodicity-related hopping
¶Minimal UnityMol tips
- on the right hand side you have a python console. You can
quit each tutorial by typing
q()
plus enter. - you can modulate the applied force with the
f(value)
shortcut, wherevalue
is something in the range from roughly 0.1 to 6.0. You can check for the current value withfp()
. - if you want to save the coordinates of the current scene, use
s()
, which writessnap.pdb
in the current directory (it is indicated in the console upon saving) - if you do not need the console, you can hide it with the arrow in a blue circle
- on the left hand side you have the main graphical menu. you can control the visualization, trajectory player speed and a few other settings, such as visual effects
- the menu can also be hidden with it’s attached arrow in a blue circle, when you don’t need it
¶Video Walkthrough
You’ll learn:
- Changing the representation to individualize lipids
- Playing with periodic boundary conditions
- Perturbing the system significantly and observing its relaxation
Click like 👍 on the video if you’re excited to get started!
¶Getting started
¶The exercise: interactive membrane protein insertion into a bilayer
Start up the OMPT-UNILIPID-v1
exercise using the graphical
interface. UnityMol will open, Biospring will start up in the
background, and the visualization will connect to the running
simulation. More instructions are provided in the video walkthrough.
The protein is shown as a colored surface inside placeholders for the implicit membrane. Two projections of the protein insertion are shown to immediately see the orientation normal to the membrane.
When you manipulate the simulation, be gentle, otherwise the simulation will crash and you need to start over. The main task is to:
- insert the protein in various ways into the membrane and observe the arrangements it prefers
- compare in particular insertion depths and angles
- try to pull the protein out of the membrane, or put it flat in the middle of the bilayer and observe what happens
¶Minimal UnityMol tips
- on the right hand side you have a python console. You can
quit each tutorial by typing
q()
plus enter. - you can modulate the applied force with the
f(value)
shortcut, wherevalue
is something in the range from roughly 0.1 to 6.0. You can check for the current value withfp()
. - if you want to save the coordinates of the current scene, use
s()
, which writessnap.pdb
in the current directory (it is indicated in the console upon saving) - if you do not need the console, you can hide it with the arrow in a blue circle
- on the left hand side you have the main graphical menu. you can control the visualization, trajectory player speed and a few other settings, such as visual effects
- the menu can also be hidden with it’s attached arrow in a blue circle, when you don’t need it
¶Video Walkthrough
You’ll learn:
- Work with a rigid body protein model and an implicit membrane
- Use advanced plotting functionalities
- Use multiple scene projections for a comprehensive overview
Click like 👍 on the video if you’re excited to get started! Below are links to complete, detailed documentation pages for each example. You can find an overview here, the video walkthroughs here.
¶Episodes
- The Basics of Interactive Simulations: coarse-grained membrane patch
- The Basics of Interactive Simulations: a simple peptide in water
- The Basics of Interactive Simulations: protein in water
- More Interactive Simulations: a lipid bilayer in water
- More Interactive Simulations: an enzyme in water
- More Interactive Simulations: enzyme allostery with elastic networks
- Advanced Interactive Simulations: protein-DNA elastic network docking
- Advanced Interactive Simulations: UNILIPID membrane protein insertion
- Advanced Interactive Simulations: dynamics of a complex double membrane system
¶Getting started
¶The exercise: interactive peptide simulation
Start up the DECAALA-IMD-v1
exercise using the graphical interface.
UnityMol will open, Gromacs will start up in the background, and the
visualization will connect to the running simulation. More
instructions are provided in the video walkthrough.
The peptide is shown as multi-colored hyperballs, superposed with the cartoon representation, while the water molecules are shown as white-red-white colored triangle segments.
After an initial visual exploration, you may want to get rid of the water molecules, to simplify the manipulation of the trajectory. You can achieve this from the menu, by clicking on the eye icon next to the Line title line in the model_water submenu.
When you manipulate the simulation, be gentle, otherwise the simulation will crash and you need to start over. Common tasks may be:
- try to manipulate different parts of the peptide: it’s two extremities, or a part in the middle
- observe how applied forces propagate in this system
- pull in different directions and observe the response
- try to make a knot with the peptide chain
¶Minimal UnityMol tips
- on the right hand side you have a python console. You can
quit each tutorial by typing
q()
plus enter. - you can modulate the applied force with the
f(value)
shortcut, wherevalue
is something in the range from roughly 0.1 to 6.0. You can check for the current value withfp()
. - if you want to save the coordinates of the current scene, use
s()
, which writessnap.pdb
in the current directory (it is indicated in the console upon saving) - if you do not need the console, you can hide it with the arrow in a blue circle
- on the left hand side you have the main graphical menu. you can control the visualization, trajectory player speed and a few other settings, such as visual effects
- the menu can also be hidden with it’s attached arrow in a blue circle, when you don’t need it
¶Video Walkthrough
You’ll learn:
- Hide water representations
- Adjusting pulling force
- Switch between UnityMol and Gromacs windows
- writing a snapshot to a pdb file
Click like 👍 on the video if you’re excited to get started!
¶Getting started
¶The exercise: interactive membrane peptide simulation
Start up the vamp-cg-v1
exercise using the graphical interface.
UnityMol will open, Gromacs will start up in the background, and the
visualization will connect to the running simulation.
More instructions will be provided live during the session.
After an initial visual exploration, you may want to get rid of the water molecules, to simplify the manipulation of the trajectory. You can achieve this from the menu, by clicking on the eye icon next to the Point title line in the model_water submenu.
The peptide is multi-colored, one lipid molecule is colored in green, one ion is colored in yellow. All other molecular species, in particular the lipid bilayer, are in white.
When you manipulate the simulation, be gentle, otherwise the simulation will crash and you need to start over. Common tasks may be:
- try to extract the peptide out of the bilayer. Is it doable?
- try to pull out the lipid a little, see how easily it slips back in, then pull it out completely
- how do the lipid and peptide membrane anchoring compare?
- try to pull the ion through the bilayer
¶Minimal UnityMol tips
- on the right hand side you have a python console. You can
quit each tutorial by typing
q()
plus enter. - other than for quitting or starting up (usually with the
go()
command, you will not really need the console. You can hide it with the arrow in a blue circle - on the left hand side you have the main graphical menu. you can control the visualization, trajectory player speed and a few other settings, such as visual effects
- the menu can also be hidden with it’s attached arrow in a blue circle, when you don’t need it
¶Video Walkthrough
You’ll learn:
- Manipulating the view
- Changing representations, hiding, deleting and creating them
- Pulling on atoms and tuning your applied force
Click like 👍 on the video if you’re excited to get started!
¶Getting started
¶The exercise: interactive DNA docking to a protein
Start up the PROT-DNA-BS-v1
exercise using the graphical interface.
UnityMol will open, Biospring will start up in the background, and the
visualization will connect to the running simulation. More
instructions are provided in the video walkthrough.
The fixed protein and the flexible DNA are shown as multi-colored beads. A transparent DNA surface is shown for guidance to indicate the actual solution to the docking problem.
When you manipulate the simulation, be gentle, otherwise the simulation will crash and you need to start over. The main task is to:
- dock the DNA onto the protein, getting as close as possible to the true solution
- note this is a coarse-grained representation and a perfect match may not be possible
- pay attention to when the electrostatic background field of the protein starts to kick in the process and automagically drive the DNA towards it location
¶Minimal UnityMol tips
- on the right hand side you have a python console. You can
quit each tutorial by typing
q()
plus enter. - you can modulate the applied force with the
f(value)
shortcut, wherevalue
is something in the range from roughly 0.1 to 6.0. You can check for the current value withfp()
. - if you want to save the coordinates of the current scene, use
s()
, which writessnap.pdb
in the current directory (it is indicated in the console upon saving) - if you do not need the console, you can hide it with the arrow in a blue circle
- on the left hand side you have the main graphical menu. you can control the visualization, trajectory player speed and a few other settings, such as visual effects
- the menu can also be hidden with it’s attached arrow in a blue circle, when you don’t need it
¶Video Walkthrough
You’ll learn:
- Work with an electrostatic field driving docking
- Use simplified elastic network representations for efficient docking
- Get visual guidance to speed up complex operations
Click like 👍 on the video if you’re excited to get started!
¶Getting started
¶The exercise: interactive enzyme manipulation
Start up the GK-BS-v1
exercise using the graphical interface.
UnityMol will open, Biospring will start up in the background, and the
visualization will connect to the running simulation. More
instructions are provided in the video walkthrough.
The protein is shown as multi-colored beads.
When you manipulate the simulation, be gentle, otherwise the simulation will crash and you need to start over. Common tasks may be:
- try to further open or close the binding cleft of the enzyme
- observe how applied forces propagate in this allosteric system
- identify sites that are strongly inter-connected across the structure
- compare to observations with the all-atom simulation equivalent that is provided as another demo
- trap the system in a metastable state by using the nonbonded interactions as barrier to escape
¶Minimal UnityMol tips
- on the right hand side you have a python console. You can
quit each tutorial by typing
q()
plus enter. - you can modulate the applied force with the
f(value)
shortcut, wherevalue
is something in the range from roughly 0.1 to 6.0. You can check for the current value withfp()
. - if you want to save the coordinates of the current scene, use
s()
, which writessnap.pdb
in the current directory (it is indicated in the console upon saving) - if you do not need the console, you can hide it with the arrow in a blue circle
- on the left hand side you have the main graphical menu. you can control the visualization, trajectory player speed and a few other settings, such as visual effects
- the menu can also be hidden with it’s attached arrow in a blue circle, when you don’t need it
¶Video Walkthrough
You’ll learn:
- Probing allosteric interactions in an enzyme
- Triggering complex long-range functional motions
- Discovering augmented elastic networks
Click like 👍 on the video if you’re excited to get started!
¶Welcome!
If this is your first time here, this channel is about crafting your own system configuration using free and open source tools like GNU Emacs, GNU Guix, and more!
I’ve made about 50 videos on Emacs for this channel, but the one thing I haven’t done yet is make a video that’s strictly for those who have either never used Emacs or only used it very little.
In this video, I’m going to give you exactly what you need to get started using Emacs and understand the basic concepts and key bindings of the editor. I know this video might seem long, but I’ve got chapter markers in the timeline below so that you can easily jump around to different parts if you want to use it as a reference.
Let’s get started!
¶Installation
Emacs can be installed on GNU/Linux, macOS and Windows.
The latest stable version is 27.1, so it’s best to try and find that version for your operating system. However, much of what I will show you should work on many previous versions of Emacs.
¶GNU/Linux
GNU/Linux is the easiest OS for installing and using Emacs. It is available in (pretty much) every Linux distribution’s package manager, typically under the name emacs
, so it’s easy to find!
Just keep in mind that your distribution may have an older version of Emacs in their package repository (possibly version 26) so you might need to find another source to install the latest version.
- GUI or Terminal?
On Linux, there are often
emacs-no-x
packages that don’t include the graphical UI if you don’t need it. There are no major differences in behavior between GUI and terminal Emacs so you can use whichever you feel most comfortable with.One major benefit of graphical Emacs is the ability to use multiple fonts for text display and a full range of colors. This is why my presentation looks the way it does!
¶macOS
Installation on macOS
with Homebrew is easy! There’s a default recipe called emacs
which can be installed with the following command:
brew install --cask emacs
An alternative recipe called Emacs Plus provides additional options for customizing your Emacs install, check out its README to learn how to use it.
You can also download a .app for Emacs from the site https://emacsformacosx.com/
¶Windows
On Windows, you can download Emacs directly from the GNU website!
If you use MSYS2, you can install it using Pacman:
pacman -S mingw-w64-x86_64-emacs
You can also install it using Chocolatey:
choco install emacs
¶Basic Concepts
Let’s talk about the basic things you need to understand about Emacs to use it effectively!
¶The User Interface
Emacs has a menu and tool bar like many conventional graphical programs. They can be useful at first to learn the functionality that is available, but I think that you won’t need them for very long!
Note that the menu bar actually is present in the terminal version of Emacs!
If you’re coming from another IDE or editor, you might expect to see a file tree on the left side of the window. This isn’t provided by Emacs by default, but it’s easy to add through community packages! There are other ways to show files in Emacs that are even better, in my opinion.
¶Windows and Frames
The concept of a “window” is different in Emacs than what you probably know from using graphical computing environments. In modern desktop environments, a window is a graphical interface of a program which is managed by the window manager of the desktop environment, usually with buttons to close or minimize it.
In Emacs, a window is more like a “pane” in the desktop window of Emacs. A window in Emacs always displays a buffer. Windows can also be split in arbitrary ways, both horizontally and vertically, so that you can create whatever window layout you like. Each of these windows can show different buffers or even the same buffer!
What you think of as a window in typical desktop environments, Emacs calls a “frame”! Emacs can display multiple frames (desktop windows) at the same time. These frames all share the same internal state and buffers. Some people never use more than one frame, others use many frames. It all depends on how you prefer to use Emacs!
Emacs Manual: Concepts of Emacs Windows Emacs Manual: Frames and Graphical Displays
¶Buffers
A buffer holds text and other information that is usually displayed in a window. The most obvious example is a buffer that contains the contents of a file for the purpose of editing it.
However, there are many types of special buffers that are used only for displaying temporary information or user interface elements! The Magit package provides an excellent interface for Git inside of a custom Emacs buffer.
Buffers can be one of the more confusing aspects of Emacs to beginners because you don’t have any indication of what buffers are open until you try to switch to another buffer.
Some important buffers you will definitely see when you use Emacs:
*scratch*
- Basically like a blank sheet of paper for taking notes, writing temporary Emacs Lisp expressions, or whatever you want!*Messages*
- This contains log messages and all the text that gets written to the echo area at the bottom of the screen*Warnings*
- A list of potential errors that may be displayed from time to time
¶The Mode Line
When coming from other editors, you might expect to see a “status bar” at the bottom of the main editor window that gives you information about the state of the current buffer and the editor. Emacs also has this, but does it slightly differently!
The mode line is a line of text displayed at the bottom of every window (pane) in Emacs. It displays information about the current buffer you’re viewing and also global status information:
- The line and column of the cursor
- The major mode of the buffer
- The minor modes active in the buffer (or globally in Emacs)
The major difference between the mode line and the status bar is that there is a mode line under every visible window, so when you split the window, you’ll see multiple mode lines! There are benefits to this even though it takes up extra screen space.
The mode line is fully customizable and can be made to look very nice either through your own configuration or from community packages!
¶The Echo Area and Minibuffer
The echo area is a line at the very bottom of the frame which displays informational text when you perform certain operations in Emacs.
It also turns into a prompt at times when you run a command that needs to accept user input; this prompt is called the “minibuffer”! You can think of it like a temporary buffer that is used for interacting with the user. It can also expand its height to be slightly larger than a single line when needed.
One example of the minibuffer in use can be seen when we attempt to run a command by name.
¶Commands
In Emacs, there are a variety of built in commands that enable a lot of interesting and useful behavior, especially things that aren’t specifically for text editing! You can think of Emacs as more of a personal productivity suite than a plain text editor.
To run a command, you can press Alt+x
(or M-x
in Emacs lingo). This will bring up a prompt where you can type in the name of the command to be run.
This prompt features a completion system (like many prompts in Emacs) so you can press TAB
to show all possible commands that you can run.
Try out the following commands:
dired
(Manual) - Check out my video about Diredcalendar
(Manual)eshell
(Manual)tetris
:) (Manual)
New commands can be installed into Emacs using community packages, and you can also write your own! We’ll cover this in another video.
¶Major and Minor Modes
In other editors, there is usually functionality that gets enabled for files with a particular extension, e.g. Python programming functionality for .py
files.
Emacs also has this! This functionality is provided through something called a “major mode.” A major mode provides the primary functionality for a particular buffer and it is usually activated based on the extension of a file you open in that buffer.
As we’ve seen before, some buffers are not files and have special functionality! This functionality also comes from custom major modes. In this case, the major mode is being activated using a command, typically with the name of the mode.
The major mode is what we see down in the mode line which indicates what type of buffer we are looking it.
There can only be one major mode active in a buffer at once!
¶Minor Modes
Minor modes are different in that many minor modes can be active in a single buffer, and even globally across Emacs.
Minor modes typically provide helpful functionality that isn’t specific to the major mode of the current buffer, but things you might need to customize your workflow or even change the display of things in Emacs.
Try out hl-line-mode
and global-hl-line-mode
as an example of local and global minor modes!
¶Basic Key Bindings
Emacs is most efficient and productive when you focus on keyboard-based control. The key binding system in Emacs is one of the most flexible and customizable I’ve ever seen; once you start customizing Emacs’ bindings for your own personal workflow, you’ll see how limited other programs are by comparison.
I’m going to cover some basic keybindings that you’ll want to learn for basic everyday use. In future videos I’ll go much more in depth about Emacs’ own special keybindings that you can use to make text editing and your general workflow a lot more efficient!
¶Understanding Emacs Key Bindings
You will often see people write out the key bindings in a specific format when explaining things. Let’s quickly cover what everything means since you will see it often!
C-c
- hold the Ctrl key and press the letter ’c’C-x C-s
- hold the Ctrl key and press the letters ’x’ then ’s’ while still holding CtrlC-x b
- hold the Ctrl key and press ’x’, then release Ctrl and press ’b’M-x
- hold the Alt key and press ’x’ (you will see this often likeM-x find-file
)M-g C-s
- hold the Alt key and press the letter ’g’, release Alt, hold Ctrl and press ’s’
These single-letters can be interpreted as follows:
C
- CtrlM
- Alt (Meta in Emacs lingo)S
- Shifts
- Super (Windows key)
Generally when you see a capital C
, M
, or S
hyphened together with another key, those should all be pressed together, i.e. C-M-s
or M-S-d
.
One last important thing to mention are the two main key prefixes that have special meaning:
C-x
- This is a prefix for all of Emacs’ primary key bindings likeC-x C-f
C-c
- This is considered to be a combination of bindings created by active major and minor modes or by the user!
¶Opening and Saving Files
To open a file in Emacs, press C-x C-f
(find-file
). This will bring up a prompt in the minibuffer so that you can type in the file name.
You can also navigate through directories by deleting the directory path and using TAB
to complete parts of directory and file names!
When you’ve opened a file into a buffer, you can make edits to it and then save the file with C-x C-s
(save-buffer
).
You can also save the buffer to a different file (“Save as” in other editors) with C-x C-w
(write-file
).
¶Switching Buffers
As we talked about before, Emacs can have many buffers open at the same time but you will only see the buffers that are currently open in a window.
If you want to switch between buffers, you can use the C-x b
(switch-to-buffer
) binding to be prompted for a buffer to switch to. This prompt features completions, so press TAB
at any time to see the possible buffers based on the current text you’ve entered.
There’s also C-x C-b
(list-buffers
) which will show you a full listing of all the buffers that are open in Emacs.
Once you start customizing Emacs, there are a variety of packages that make this even easier and enable you to customize it for your workflow!
You can also easily move between buffers using the C-x <left arrow>
and C x <right arrow>
keys!
(See, I remembered :)
¶Cutting and Copying Text
This is an area which always confuses new Emacs users! Many programs across Linux and Windows use C-c
to copy text and C-x
to copy and delete the selected text (cut).
This is not the case in Emacs! As we mentioned before, these two key bindings are actually special key prefixes in Emacs so they aren’t used for cut and copy.
In Emacs, to “kill” text means to “cut” it, basically copy it and delete it. The most common thing you will do is to kill a region, either to just delete the text or to cut it to be pasted somewhere else.
But to kill a region, you first need to select one! You can begin marking a region using C-SPC
(set-mark-command
) then use the arrow keys to move the cursor to expand or shrink the selection.
Now that you have a region selected, you can use C-w
(kill-region
) to cut the text or M-w
(kill-ring-save
) to copy it.
One interesting aspect of killing text is that it gets stored in the “kill ring” to be used later. We will discuss this in a future episode!
¶Pasting Text
In typical Emacs style, the concept of “pasting” text has a different name: “yank.”
You can press C-y
to yank (paste) the most recent text from the kill ring back into this buffer.
¶CUA Mode
If you must have the old C-c
(copy) C-x
(cut) and C-v
(paste) behavior that you’re familiar with, you can turn on the CUA mode using the menu item “Options -> Cut/Paste with C-x/C-c/C-v (CUA Mode)”.
This will make the cut and copy key bindings work when you’ve selected a region of text with the mouse or keyboard. It will also turn C-v
into a Paste keybinding which will do what you expect!
¶Undo and Redo
You can undo changes to a buffer by pressing C-_
(Ctrl+underscore) to run the undo
command. An alternative binding which is easier to press is C-/
To redo something that you deleted with undo, press C-g C-_
, but note that pressing C-_
again right after this will keep redoing things that you’ve undo’ed! It will then cycle back to undoing once you’ve reached the end of your redo history.
As you can see, Emacs’ undo system operates differently than what you’re used to! There are packages that can replace this with more understood behavior; we will talk about them in another video.
Emacs Manual: Undo StackOverflow answer about how to undo and redo
¶Cancelling Operations
Sometimes you might run a command that you want to cancel before it completes. For this you can press C-g
(Ctrl+g). This interrupts any active command and brings you back to a normal state in Emacs.
One example is showing any prompt, like the one for the (find-file
) command. If you decide you want to cancel that prompt, just press C-g
.
Sometimes you might need to press it repeatedly before you can fully get back to normal!
If Emacs ever seems to be hung, try this key binding first before killing the process.
¶Learning More Key Bindings
There are two ways to figure out more key bindings for Emacs, especially when editing different types of files:
- As we talked about before, look at the menu bar for common commands and their keys
- Run the command
describe-bindings
- Run the command
describe-key
(C-h k
) to learn what command is bound to a specific key combination!
¶The Help System
We’ll cover this in detail in another video, but the whole Emacs manual is built in to Emacs and you can find help on any function or variable in Emacs using the describe-*
functions!
¶Configuring Emacs
There are two ways to configure Emacs to customize its behavior. We won’t go in depth on either of these in this video, I just want to point them out to you since it will be an obvious question you might have!
¶The Customization UI
Emacs provides a full user interface for customizing all options in the editor. To access it, run the command customize
.
You can either navigate through the settings hierarchy to see what is available or put your cursor in the search box, type a term, then press ENTER
.
Each setting will have an input field of some kind that you can change by putting your cursor in the box and editing the value. Once you’re finished editing, you can click the “Apply” button to save the changes.
Try searching for “tab width” in the search box!
¶The init.el
file
Once you’ve become sufficiently comfortable with Emacs, you’ll want to investigate how to configure Emacs using the init.el
file. Emacs can be completely configured and extended using Lisp code!
In your configuration file, you can write your own functions and commands to add new behavior to Emacs. This is where a lot of the true power of Emacs comes into play!
Check out my series Emacs From Scratch if you want to learn how to build up a modern Emacs configuration from scratch using the init.el
file and a bunch of community packages.
¶What’s next?
This video should give you much of what you need to know to start using Emacs! However, we weren’t able to cover many things in depth.
I’m going to start making more videos in a new series called Emacs Essentials which will cover many of these topics at a deeper level so that you can go from being a beginner at Emacs to an advanced user by the end of it.
I’ve already been making a ton of other videos about Emacs on this channel, so you should definitely check out my playlists if you want to learn a lot more while I’m building out the Emacs Essentials series:
Also, if you want to know a little more about what Emacs is capable of, check out my video 5 Reasons to Learn Emacs in 2021!
¶Demo Configuration
This configuration is not intended to be used! However, if you’re curious:
Put this text in a file called demo.el
:
;; Make the colors and text less eye-strainy (load-theme 'tango-dark t) (set-face-attribute 'default nil :height 200) ;; I mindlessly press ESC, so stop me from wreaking havoc (global-set-key (kbd "<escape>") 'keyboard-escape-quit)
Run Emacs with the configuration:
emacs -Q -l demo.el
¶Getting started
¶The exercise: interactive protein simulation
Start up the BPTI-IMD-v1
exercise using the graphical interface.
UnityMol will open, Gromacs will start up in the background, and the
visualization will connect to the running simulation. More
instructions are provided in the video walkthrough.
The protein is shown as multi-colored hyperballs, while the water molecules are shown as white-red-white colored triangle segments and the counter-ions as green spheres.
After an initial visual exploration, you may want to get rid of the water molecules, to simplify the manipulation of the trajectory. You can achieve this from the menu, by clicking on the eye icon next to the Line title line in the model_water submenu.
When you manipulate the simulation, be gentle, otherwise the simulation will crash and you need to start over. Common tasks may be:
- try to manipulate different parts of the protein: side-chains, backbone, secondary structure elements, loops, etc.
- observe how applied forces propagate in this system
- try to pull the termini apart, they are firmly held together
- you can manipulate the atomistic hyperballs, or the cartoon representation for comparison
¶Minimal UnityMol tips
- on the right hand side you have a python console. You can
quit each tutorial by typing
q()
plus enter. - you can modulate the applied force with the
f(value)
shortcut, wherevalue
is something in the range from roughly 0.1 to 6.0. You can check for the current value withfp()
. - if you want to save the coordinates of the current scene, use
s()
, which writessnap.pdb
in the current directory (it is indicated in the console upon saving) - if you do not need the console, you can hide it with the arrow in a blue circle
- on the left hand side you have the main graphical menu. you can control the visualization, trajectory player speed and a few other settings, such as visual effects
- the menu can also be hidden with it’s attached arrow in a blue circle, when you don’t need it
¶Video Walkthrough
You’ll learn:
- Manipulating the representations
- Adjusting pulling force
- Pulling on explicit atom or abstracted cartoon representations
Click like 👍 on the video if you’re excited to get started!
¶Getting started
¶The exercise: interactive enzyme simulation
Start up the GK-IMD-v1
exercise using the graphical interface.
UnityMol will open, Gromacs will start up in the background, and the
visualization will connect to the running simulation. More
instructions are provided in the video walkthrough.
The protein is shown as multi-colored hyperballs, while the water molecules are shown as white-red-white colored triangle segments.
After an initial visual exploration, you may want to get rid of the water molecules, to simplify the manipulation of the trajectory. You can achieve this from the menu, by clicking on the eye icon next to the Line title line in the model_water submenu.
When you manipulate the simulation, be gentle, otherwise the simulation will crash and you need to start over. Common tasks may be:
- try to further open or close the binding cleft of the enzyme
- observe how applied forces propagate in this allosteric system
- identify sites that are strongly inter-connected across the structure
- compare to obsevations with the coarse-grained simulation equivalent that is provided as another demo
¶Minimal UnityMol tips
- on the right hand side you have a python console. You can
quit each tutorial by typing
q()
plus enter. - you can modulate the applied force with the
f(value)
shortcut, wherevalue
is something in the range from roughly 0.1 to 6.0. You can check for the current value withfp()
. - if you want to save the coordinates of the current scene, use
s()
, which writessnap.pdb
in the current directory (it is indicated in the console upon saving) - if you do not need the console, you can hide it with the arrow in a blue circle
- on the left hand side you have the main graphical menu. you can control the visualization, trajectory player speed and a few other settings, such as visual effects
- the menu can also be hidden with it’s attached arrow in a blue circle, when you don’t need it
¶Video Walkthrough
You’ll learn:
- Playing with visual effects such as outline
- Working on large conformational changes
Click like 👍 on the video if you’re excited to get started!
¶Getting started
¶The exercise: interactive double membrane protein bundle simulation
Start up the SNARE-IMD-v1
exercise using the graphical interface.
UnityMol will open, Gromacs will start up in the background, and the
visualization will connect to the running simulation.
More instructions are provided in the video walkthrough.
After an initial visual exploration, you may want to get rid of the water molecules, to simplify the manipulation of the trajectory. You can achieve this from the menu, by clicking on the eye icon next to the Point title line in the model_water submenu.
The protein bundle is shown as multi-colored beads, while the two lipid bilayers are in white.
When you manipulate the simulation, be gentle, otherwise the simulation will crash and you need to start over. Common tasks may be:
- try to pull on the end of the protein bundle and observe impact on the bilayers
- try to detach the bundle that is in contact with the lipid bilayer from the membrane
- examine and manipulate the membrane-inserted transmembrane peptide domains
¶Minimal UnityMol tips
- on the right hand side you have a python console. You can
quit each tutorial by typing
q()
plus enter. - you can modulate the applied force with the
f(value)
shortcut, wherevalue
is something in the range from roughly 0.1 to 6.0. You can check for the current value withfp()
. - if you want to save the coordinates of the current scene, use
s()
, which writessnap.pdb
in the current directory (it is indicated in the console upon saving) - if you do not need the console, you can hide it with the arrow in a blue circle
- on the left hand side you have the main graphical menu. you can control the visualization, trajectory player speed and a few other settings, such as visual effects
- the menu can also be hidden with it’s attached arrow in a blue circle, when you don’t need it
¶Video Walkthrough
You’ll learn:
- Tuning colors and representations
- Adjusting the forces and probing interactions
- Crashing the simulation 😂
Click like 👍 on the video if you’re excited to get started! Today the first ISO image of MolPlay is released here on the website. Now everyone can download, install and test the MolPlay virtual molecular playground!
The molplay_v1.0.img.gz
image is available for download here. The md5sum checksum is 992287f3d2bceed9ff8e87b3e6d09f42
.
After putting together the first really working prototype, MolPlay was today tested at an international training workshop in Iasi, Romania. Feedback was overall very positive and no major issues were observed. A good start!
Hi! Welcome to the brand new MolPlay website designed by Marc Baaden. I am excited to bring MolPlay to you and hope you will have fun with the software and also do some exciting research and interactive simulations with it. Feedback is always welcome.
¶MolPlay Architecture
MolPlay is built on a modular architecture that combines several key components to create a portable, user-friendly environment.
¶Core Components
- Batocera Linux
- Serves as the base operating system
- Provides a lightweight and efficient runtime environment
- Originally designed for gaming and emulation
- Offers good hardware compatibility across various PC configurations
- Guix Package Manager
- Integrated into the Batocera/MolPlay environment
- Manages and distributes scientific software
- Ensures consistent availability of dependencies and libraries
- Enables reproducible software environments
- Emulation Station Frontend
- Provides a user-friendly interface for accessing tools and examples
- Offers an intuitive menu system for navigation
- Customized to present applications as selectable items
¶Software Stack
The full software stack necessary for MolPlay applications is accessible through Guix:
- Native packages (e.g., Gromacs)
- Custom-compiled software (e.g., BioSpring)
- Runtime environments with specific dependencies
¶User Experience
- Boots directly from a USB stick
- No complex installation or configuration required
- Presents a catalog of examples and use cases
- Allows seamless exploration and implementation
¶Customization and Extension
- Python scripting approach for launching experiences
- Each “script” can include:
- Short description
- Image
- Video
- Documentation
- Metadata support (e.g., language of instructions)
- Easily expandable catalog of experiments
¶Hardware Integration through Batocera
- Manages configuration of input devices
- Handles graphics card setup
- Configures sound and network settings
- Enables Wi-Fi connectivity
¶Future Potential
- Modular design facilitates integration with different hardware configurations
- Possibility to separate computational tasks from visualization/interaction
- Potential for future integration with specialized hardware (e.g., VR environments, large-scale display walls)
¶Conclusion
MolPlay’s architecture combines the stability of Batocera Linux, the reproducibility of Guix package management, and a user-friendly interface to create a portable, self-contained environment. This design lowers technical barriers and promotes wider adoption of interactive molecular simulations in research and education.
¶What is MolPlay?
MolPlay is an innovative platform designed to make interactive molecular simulations and analyses (IMSA) accessible to a wide range of users. It combines powerful computational techniques with an intuitive interface, allowing researchers, educators, and students to explore complex molecular systems in real-time.
¶Origins and Development
MolPlay was developed to address the underutilization of IMSA techniques in research and education. It builds on over a decade of expertise in the field, consolidating various tools and approaches into a single, user-friendly platform.
¶Technical Overview
MolPlay is built on:
- Batocera Linux distribution
- Guix package manager
- Emulation Station frontend
- Custom Python scripting for experiment launching
¶Applications
- Research: Hypothesis generation and preliminary investigations
- Education: Hands-on learning experiences in molecular biology and biochemistry
- Outreach: Public engagement at science fairs and museums
¶How to Use MolPlay: A Detailed Walkthrough
¶System Requirements
Before you begin, ensure your system meets the following requirements:
- CPU: 64-bit x86_64 processor (recommended)
- Check the full list of compatible CPUs in the documentation
- Minimum: Any 32-bit x86 processor
- RAM: 1 GB minimum, 2 GB or more recommended
- Graphics Card: Compatible GPU required
- Refer to the GPU compatibility table in the documentation
- Integrated graphics may work but dedicated GPUs are preferred for better performance
- USB Port: Available USB port for the bootable drive
- BIOS: Ability to boot from USB (may require changing boot order in BIOS settings)
¶Installation
- Overview
- Download the MolPlay ISO image from the Download page
- Create a bootable USB stick using the ISO image. You need at least a 16 GB USB stick. Use software like Rufus or Etcher
- Boot your computer from the MolPlay USB stick
- Downloading MolPlay
- Navigate to the Download page on the MolPlay website
- Locate the latest version of the MolPlay ISO image
- Click the download link and save the ISO file to your computer
- Verify the download by checking the MD5 checksum
- Creating a Bootable USB Drive
You’ll need a USB drive with at least 16 GB capacity. Warning: This process will erase all data on the USB drive.
- Using Rufus (Windows):
- Download and install Rufus from https://rufus.ie/
- Insert your USB drive
- Open Rufus
- In Rufus, select your USB drive in the “Device” dropdown
- Click “SELECT” and choose the MolPlay ISO file that you downloaded
- Click “Start” and wait for the process to complete
- Using Etcher (Windows, macOS, Linux):
- Download and install Etcher from https://www.balena.io/etcher/
- Insert your USB drive
- Open Etcher
- Click “Flash from file” and select the MolPlay ISO you downloaded
- Click “Select target” and choose your USB drive
- Click “Flash!” and wait for the process to complete
- Note on USB Drive Partition Size
By default, MolPlay creates a fixed-size partition designed for 16 GB USB drives. If your USB drive is larger, you can enable automatic resizing to utilize the full capacity:
Option 1: Edit before booting
- After creating the bootable USB, mount it on a Mac/Windows/Linux system
- Locate and edit the file `/boot/batocera-boot.conf`
- Find the line `#autoresize=true` and uncomment it (remove the `#`)
- Save the file and safely eject the USB drive
Option 2: Edit after booting MolPlay
- Boot into MolPlay
- Open a terminal (press F1)
- Run the following commands:
mount -o remount,rw /boot/ nano /boot/batocera-boot.conf
- Find the line
#autoresize=true
and uncomment it (remove the `#`) - Save the file (
Ctrl+X
, thenY
, thenEnter
) - Reboot the system
After enabling autoresize and rebooting, MolPlay will automatically expand to use the full capacity of your USB drive.
- Using Rufus (Windows):
- Booting from the MolPlay USB
- Insert the MolPlay USB drive into your computer
- Restart your computer
- During startup, press the key to enter the boot menu (often F12, F2, or Del - check your computer’s manual).
- In the boot menu, select the USB drive as the boot device. If it does not show up, you may need to switch between
legacy
andUEFI
boot modes, depending on your computer. - Your computer should now boot into MolPlay
If you encounter issues booting, consult the troubleshooting guide or drop us an email.
¶Navigating the MolPlay Interface
- Overview
- Use the Emulation Station menu to browse available examples
- Check available instructions on-screen for each experiment
- Select an example to launch the interactive simulation
- Menu navigation: launching your first simulation
Once MolPlay has booted successfully, you’ll see the Emulation Station interface. Right now there is a single collection of examples available. There is also background music playing.
- From the main collection, use the
Enter
key to see all available examples - Use
Up
/Down
arrow keys to browse available simulations- There is an image and a brief description for each example; the description is read by a synthetic computer voice every time a new line is selected
- Use a long press on
Enter
to bring up the extended menu for the selected example. This feature gives you access to a written manual by choosingView Game Manual
or to an image by choosingView Game Media
- Press
Enter
to launch the selected simulation
- Press
Esc
to go back from the example submenu to the main menu
- Setup and configuration:
The general Batocera Linux and EmulationStation functionalities are accessible. You can for instance access the EmulationStation main menu using the
spacebar
key. An overview is given in the Batocera wiki page on EmulationStation. You should also consult this wiki if you have any trouble or are looking for assistance with setup, for instance to make audio work or configure network accessibility.- Documentation: View the user manual using the
Quick Access
menu via thebackspace
key in the main menu (not the “game” submenu) - Settings: Adjust system and display settings using the EmulationStation main menu described above
- Documentation: View the user manual using the
- From the main collection, use the
- Interacting with Simulations
Each simulation may have slightly different controls, but generally:
- Mouse, left-click and drag in the void: Rotate the view
- Left-click and drag on an atom: Apply forces to molecules
- MIddle-click and drag: pan the view
- Right-click and drag: Zoom in/out
- Scroll wheel: Zoom in/out
Ctrl
+X
: Exit the simulation and return to the menu
Refer to the instructions or documentation for simulation-specific controls.
¶Exploring MolPlay
- Tips for Beginners
- Start with simpler examples like “Deca-alanine helix in water” before moving to more complex systems
- Take time to read the documentation for each example before launching
- Experiment with different interactions and observe how the system responds
- Don’t hesitate to restart a simulation if you want to try a different approach
A description for the examples is provided here.
- Exploring More Examples
As you become comfortable with basic simulations, explore more complex examples:
- Return to the main menu by pressing
Ctrl
+X
when in a simulation - You may also go back to the Main menu via
Esc
and/or re-select “Examples” withEnter
- Browse through more advanced simulations like “VAMP-CG-v1” or “FepA iron transporter”
- Challenge yourself with different molecular systems and interaction scenarios
- Return to the main menu by pressing
¶Accessing Help and Documentation
If you need additional assistance:
- From the main menu, select “Documentation”
- Browse through available topics for detailed information
- Look for video tutorials that may be available for specific examples
If you do get stuck, do not panic! You can always drop us an email.
Remember, practice and experimentation are key to mastering interactive molecular simulations with MolPlay!
¶Credits and Attribution
The MolPlay website uses some content and tools created by others under permissive licenses. When I put this site together, I took much inspiration and resources across the internet. Here is a list (I hope not to forget anything too important – tell me if you notice I used some of your tools or resources and didn’t credit you!).
¶Website editing and generation from org-mode files
Heavy inspiration from SystemCrafter’s website and the many resources it provides. I have followed many of David Wilson’s Youtube videos and started the basic layout of this site from the available Codeberg repository. This was essential for me to make the transition from the previous RapidWeaver website to the current one happen. I made slight adaptations, learning all along the way how things actually worked under the hood.
¶For the style (colors and fonts):
Again, I duplicated the style of SystemCrafter’s website as I liked the color and font setup very much. I copied it almost literally over to this website’s stylesheets etc.. I hope David Wilson will forgive me the heavy inspiration I took from his style. The fonts -as mentioned- are the same as used by David Wilson on the original SystemCrafters, namely JetBrains Mono (SIL OFL-1.1 license) and Iosevka Aile (SIL OFL-1.1 license). The color theme, I believe, is a mix between the dark Modus theme modus-vivendi
and the doom-palenight
theme from Doom themes.
¶General tools and workflows
The usual way I work requires a large number of tools that I cannot all thank here. Among the essential ones figures GNU Emacs and a broad range of packages for it such as org-mode.
¶Disclaimers
All information on this website is shared as is, without any warranties and only based on limited experience on available computers and setups. Before applying anything to your specific case and re-using snippets of code, be aware that it is your responsibility to make sure nothing bad may happen (data loss, unintended information sharing, ..).