For viewing and exploring proteins and small molecules. View atom positions, bonds, solvent-accessible-surfaces, and electron density. Perform and visualize molecular dynamics using built-in Amber parameters.
Conceptually similar to PyMol, Chimera, and Discovery Studio, with functionality similar to Coot and VMD as well.
Designed to be as easy to use, and fast as possible. Has tight integration with RSCB, Pubchem, drugbank, and Amber.
Notes:
- On Linux distros that use Gnome (e.g. Ubuntu), run
setup_linux_desktop.sh
, included in the zip, to create a Desktop GUI entry. - On Windows, the first time you run the program, you may get the message "Microsoft Defender prevented an unrecognized app from starting". To bypass this, click More info, then Run Anyway.
Compile from source by downloading and installing Rust, then running cargo build --release
from a CLI
in the project directory. See notes in the compiling section below about setting up Amber parameter files,
and disabling CUDA.
- View the 3D structure of proteins and small molecules
- Visualize ligand docking
- Molecular dynamics, using Amber force fields, and an OPC water model
- WIP: This software is a platform for ab-initio simulations of electron density.
Launch the program. Either open a molecule using the "Open" or "Open Lig" buttons, drag the file into the program window, enter a protein identifier in the Query databases field, or click I'm feeling lucky, to load a recently-uploaded protein from the RCSB PDB.
Many UI items provide tooltip descriptions, when you hover the mouse.
- Fast
- Easy-to-use
- Practical workflow
- Updates responsive to user feedback
- Proteins: mmCIF (.pdb supported removed; use mmCIF instead)
- Small molecules: SDF, Mol2, and PDBQT
- Electron density: 2fo-fc CIF, and Map.
- Force field parameters: dat, and frcmode (Amber)
Integrates the following Amber parameters:
- Small organic molecules, e.g. ligands: General Amber Force Fields: GAFF2
- Protein/AA: FF19SB
- Water: OPC
Currently, MD only supports polypeptides and small organic molecules. We plan to support carbohydrates, DNA, RNA, and lipids later. If you're interested in these, please add a Github Issue.
These general parameters do not need to be loaded externally; they provide the information needed to perform MD with any amino acid sequence, and provide a baseline for dynamics of small organic molecules. You may wish to load frcmod data over these that have overrides for specific small molecules.
This program can automatically load ligands with Amber parameters, for the Amber Geostd set. This includes many common small organic molecules with force field parameters, and partial charges included. It can infer these from the protein loaded, or be queried by identifier.
You can load these molecules with parameters directly from the GUI by typing the identifier. If you load an SDF molecule, the program may be able to automatically update it using Amber parameters and partial charges.
For details on how dynamics using this parameterized approach works, see the Amber Reference Manual. Section 3 and 15 are of particular interest, regarding force field parameters.
Moleucule-specific overrides to these general parameters can be loaded from .frcmod and .dat files. We delegate this to the bio files library.
We load partial charges for ligands from mol2, PDBQT etc files. Protein dynamics and water can be simulated using parameters built-in to the program (The Amber one above). Simulating ligands requires the loaded file (e.g. mol2) include partial charges. we recommend including ligand-specific override files as well, e.g. to load dihedral angles from .frcmod that aren't present in Gaff2.
There are two camera control schemes, selectable using buttons in the camera section of the GUI.
The free camera mode is intended to be used with a keyboard and mouse together. They operate on the perspective of the viewer, vice the molecule. You can move and rotate and move the camera in 6 degrees of freedom, allowing you to easily view the molecule from any perspective.
- Hold the left mouse button while dragging to rotate the camera in pitch and yaw.
- Hold the middle mouse button while dragging to move the camera left, right, up, and down.
- Scroll to move the camera forward and backwards.
- Scroll while holding left mouse button to roll.
- Right click to select the atom or residue under the cursor.
-
W: Move forward
-
A: Move right
-
A: Move left
-
D: Move back
-
Space: Move up
-
C: Move down
-
Q: Roll counter-clockwise
-
R: Roll clockwise
-
Shift (left): Hold to increase camera movement and rotation speed.
-
Scroll whlie holding left mouse: Roll (Alternative to Q/R)
-
Left arrow: Select previous residue
-
Right arrow: Select next residue
-
Left backet: Previous view mode (sticks, surface mesh etc)
-
Right bracket: Next view mode
Similar to traditional molecular viewing software. The camera arcs (or orbits) around the molecule, when holding the left mouse button and dragging. Other controls, like scroll wheel and middle mouse, operate similar to the free camera. If orbit sel is set in the GUI, the orbit center will be the selected atom or residue, vice the molecule center.
- Esc: Clear selection
- Left arrow: select previous residue
- Right arrow: select next residue
Supports volumetric and isosurface views for electron density data, e.g. from Cryo-EM and X-Ray crystallography data. It can download this data from RCSB PDB, or load files directly. Currently, to convert 2fo-fc files to map data, you must have Gemmi available on your PC's Path. For convenience, we provide a download link of the Windows version of Gemmi.
Can import Map files directly. MTZ support is not yet available.
Daedalus supports a very limited subset of PyMol's CLI interface. Supported commands:
help
: Lists commandspwd
ls
cd
set seq_view
fetch
: Loads a protein from the RCSB PDB. e.g.fetch 1C8K
save
: Save the opened protein or small molecule to disk. e.g.save molecules/1htm.cif
load
: Load a protein or small molecule from disk. e.g.load ../1htm.cif
show
: Set the view mode. e.g.show sticks
view
: Save and load scenes. e.g.view v1
,view v1 store
,view v2 recall
hide
: Limited options available, e.g.resn HOH
,hydro
,chain
,hetatm
etc.remove
: Limited options available, e.g.resn HOH
,hydro
,chain
,hetatm
etc.
select resn
: Select a residue by 3-letter amino acid identifierselect resi
: Select a residue by indexselect elem
: Select an atom by element abbreviation
(sele
works too)
turn
move
orient
reset
You may notice that this program places a daedalus_prefs.dae file in the same folder as the executable. This is a small binary file containing application state. It's what lets it remember the last file opened, current view settings etc. It will grow with the number of molecules you've opened, as it stores per-molecule settings. Deleting it is harmless, other than resetting these conveniences.
This application is pure rust, so compiles normally using cargo build --release
, which produces a standalone executable.
It requires these 6 Amber parameter files to be present under the project's resources
folder at compile time.
These are available in Amber tools. Download, unpack, then copy these files from
dat/leap/parm
and dat/leap/lib
:
amino19.lib
aminoct12.lib
aminont12.lib
parm19.dat
frcmod.ff19SB
gaff2.dat
We provide a copy of these files
for convenience; this is a much smaller download than the entire Amber package, and prevents needing to locate the specific files.
Unpack, and place these under resources
.
If you're not running on a machine with an nvidia GPU or without CUDA installed, append the --no-default-features
to the build command.
Note: If using CUDA, you must set the environment var LD_LIBARARY_PATH
(Linux) or PATH
(Windows) to your CUDA bin
directory, e.g. C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v13.0\bin
.
CUDA v13.0 or higher must be installed on the machine that compiles if compiling with CUDA. TBD on if you need a CUDA toolkit installed on the machine running it.
- Ribbon (cartoon) view is currently unavailable.
- Opening a molecule by drag + drop may not work until minimizing/unminimizing the program
- Loading map files that are very large (e.g. high detail, especially Map files directly available on RCSB, vice created from 2fo-fc) may crash the program.
- The GUI doesn't handle proteins with many chains well.