DMcloudComplex is a macromolecular structure modeling tool using point cloud matching with diffusion model and 3D U-net (CryoREAD) for cryo-EM maps at 3-10A resolution.
First, clone the DMCloud repository and the submodules:
git clone https://github.com/kiharalab/DMcloudComplex.git
cd DMcloudComplex
git submodule update --init --recursiveDownload the pre-trained diffusion model weights:
cd DMCloud
mkdir -p best_model
wget -O best_model/diffusion_best.pth.tar https://github.com/kiharalab/DMCloud/releases/download/weights/diffusion_best.pth.tarFirst, install a conda package manager if you don't have one:
- Miniforge (recommended): Download from https://github.com/conda-forge/miniforge
- Miniconda: Download from https://docs.conda.io/en/latest/miniconda.html
Using conda:
conda env create -f environment.yml
conda activate dmcloud
pip install ortools pulp numba_progress progressOr using mamba (faster alternative):
mamba env create -f environment.yml
mamba activate dmcloud
pip install ortools pulp numba_progress progressNote: If you installed Miniforge,
mambais included by default. For Miniconda users, install mamba with:conda install mamba -n base -c conda-forge
python DMcloudComplex.py --map [MAP file] --gpu [GPU-ID] --output [OutPut Dir] --contour_nuc [Contour Level for DNA/RNA] --contour_prot [COntour Level for Protein] --protein [Protein Models] --nucleic [DNA/RNA models] [options]python ./DMcloudComplex.py --map ./examples/21051.mrc --gpu 0 --output ./OutPut --contour_nuc 0.3 --contour_prot 0.3 --protein examples/A.pdb,examples/B-C.pdb --nucleic examples/TEMP_6v5c.cifDNA/RNA models in CIF/PDB format
best_rna_models.cif
best_rna_models.pdb
Protein models in CIF/PDB format
best_protein_models.cif
best_protein_models.pdb
Enhanced Map
DMcloudProtein_run0/Diffusion/diffusion.mrc
CryoREAD Outputs (Point cloud)
CryoREAD_run/graph_atomic_modeling/pho_LDP/pho_LDPdens.cif
CryoREAD_run/graph_atomic_modeling/sugar_LDP/sugar_LDPdens.cif
CryoREAD Outputs (Probability Map)
CryoREAD_run/graph_atomic_modeling/pho_LDP/pho_LDP.mrc
CryoREAD_run/graph_atomic_modeling/sugar_LDP/sugar_LDP.mrc
| Parameter | Type | Default | Required | Description |
|---|---|---|---|---|
--map |
str | - | Yes | Input MAP file in MRC/MAP format |
--protein |
str | - | Yes | Protein Model CfoDMcloudComplex. Multiple file names sould be separated by ",", like "AAA.pdb,BBB.pdb" |
--nucleic |
str | - | Yes | DNA/RNA Model in CIF/PDB format. Multiple file names sould be separated by ",", like "RNA2.cif,RNA1.cif" |
--output |
str | ./Predictions/ | No | Final output directory |
--contour_nuc |
float | 0.0 | No | Contour Level for DNA/RNA regions |
--contour_prot |
float | 0.0 | No | Contour Level for Protein regions |
--gpu |
int | 0 | No | GPU-ID |
- Config File Path Resolution: When using MRC/MAP files as targets, DMcloud automatically uses
config/diffusion.jsonas the default configuration. The config path is resolved relative to theDMcloud.pyscript location, so the tool works correctly when called from any directory. - Cross-Directory Usage: You can run DMcloud from any directory, and it will automatically find the default config file relative to its installation location.
License: GPL v3. (If you are interested in a different license, for example, for commercial use, please contact us.)
Contact: Genki Terashi (gterashi@purdue.edu) Daisuke Kihara (dkihara@purdue.edu)