This repository contains the scripts that run the GUI for cryofold, described in the following preprint:
https://www.biorxiv.org/content/10.1101/687087v3
MAINMAST requires 40-200 CPU hrs for the full-automated computation. This time could be reduced if the user manually checks the models of backbone trace by eye.
MELD requires 30 dedicated GPUs and a couple of days depending on the system size. MELD currently performs synchronous REMD, so each GPU is a different replica.
ReMDFF requires 1-2 days on 11 CPUs, depending on system size.
Note that the CryoFold GUI currently supports MDFF, not ReMDFF. MDFF requires less CPU-hours than ReMDFF.
The CryoFold GUI is optimized for LINUX/macOS distributions.
Anaconda and GFortran needs to be pre-installed in order to run the CryoFold GUI. CryoFold has four sections, namely, MAINMAST, TMD, MDFF and MELD. The GUI submits MAINMAST and MELD jobs, which requires these softwares to be installed as well. For TMD and MDFF, CryoFold GUI generates NAMD input scripts that the user can submit manually (NAMD need not be installed to run the GUI). However, these two sections require VMD to be installed.
-
Anaconda installation: https://www.anaconda.com/distribution/
-
GFortran installation: https://gcc.gnu.org/wiki/GFortran
-
VMD installation: https://www.ks.uiuc.edu/Research/vmd/
-
NAMD installation (not required to run GUI): https://www.ks.uiuc.edu/Research/namd/
-
OpenMM installation: https://github.com/pandegroup/openmm
-
MELD installation: https://github.com/maccallumlab/meld
Run install_linux.sh
script to install everything needed - GFortran compilation of Mainmast and ThreadCA, Anaconda environment creation, python packages (kivy, numpy, mdtraj and meld). Finally, run start.sh
to launch the CryoFold GUI.
Run install_mac.sh
script to install everything needed - GFortran compilation of Mainmast and ThreadCA, Anaconda environment creation, python packages (kivy, numpy, mdtraj and meld). Finally, run start.sh
to launch the CryoFold GUI.
Alternatively, the packages could be installed manually with the instructions on the following page:
- Numpy: https://anaconda.org/anaconda/numpy
- Mdtraj: https://anaconda.org/omnia/mdtraj
- MELD: https://github.com/maccallumlab/meld
- Kivy: https://anaconda.org/conda-forge/kivy
For gfortran compilation of MAINMAST and ThreadCA, run the following commands from the command line:
gfortran ./MAINMAST_GUI/MainmastThreadCA/MAINMAST.f -w -O3 -fbounds-check -o ./MAINMAST_GUI/MainmastThreadCA/MAINMAST -mcmodel=medium
gfortran ./MAINMAST_GUI/MainmastThreadCA/ThreadCA.f -w -O3 -fbounds-check -o ./MAINMAST_GUI/MainmastThreadCA/ThreadCA -mcmodel=medium
The CryoFold GUI can then be launched by running gui.py by running python gui.py
or by creating an executable.
Manual changes to installation script install_linux.sh
or install_mac.sh
might be necessary. Line 10 of the script specifies python version 3.5, which the user can change as per their choice. Additionally, MELD is available for CUDA versions 7.5, 8.0, 9.0 and 9.2. The current script will install meld-cuda75 (line 10), which is for CUDA 7.5. The user can manually change this (to meld-cuda80, meld-cuda90 or meld-cuda92) to suit their CUDA compiler.
We recommend using the installation script as it creates a separate python environment called "CryoFold" where all the packages are installed in. This keeps the default packages untouched.
For more information, refer to the ”Notes.txt” file.
The CryoFold GUI has 4 sections, namely, MAINMAST, Targeted Molecular Dynamics, MDFF, and MELD. Note that depending upon the map resolution, you might not need to use all 4 sections. Given below is an explanation of all the parameters that are used as input in CryoFold GUI.