Repository files navigation

ComplexModeler

ComplexModeler is a computational tool using CryoREAD and DiffModeler to automatically build full protein-DNA/RNA complex structure from cryo-EM maps at 0-5A resolution.

Copyright (C) 2023 Xiao Wang, Han Zhu, Genki Terashi, Daisuke Kihara, and Purdue University.

License: GPL v3. (If you are interested in a different license, for example, for commercial use, please contact us.)

Contact: Daisuke Kihara (dkihara@purdue.edu)

For technical problems or questions, please reach to Xiao Wang (wang3702@purdue.edu).

Citation:

Xiao Wang, Han Zhu, Genki Terashi & Daisuke Kihara. Protein Complex Structure Modeling with Diffusion Model and AlphaFold in cryo-EM maps.bioArxiv, 2023.

@article{wang2023DiffModeler, title={Protein Complex Structure Modeling with Diffusion Model and AlphaFold in cryo-EM maps}, author={Xiao Wang, Han Zhu, Genki Terashi, and Daisuke Kihara}, journal={bioArxiv}, year={2023} } 

Free Online Server:

Input map+single-chain structures: https://em.kiharalab.org/algorithm/ComplexModeler

Introduction

Details

For detailed introduction and protocol, please check DiffModeler and CryoREAD

Installation

Details

System Requirements

CPU: >=8 cores
Memory (RAM): >=50Gb. For maps with more than 3,000 nucleotides, memory space should be higher than 200GB if the sequence is provided.
GPU: any GPU supports CUDA with at least 12GB memory.
GPU is required for DiffModeler and CryoREAD.

Installation

2. Clone the repository in your computer

git clone --recurse-submodules https://github.com/kiharalab/ComplexModeler && cd ComplexModeler

3. Configure environment for ComplexModeler.

3.1.1 Install anaconda

Install anaconda from https://www.anaconda.com/download#downloads.

3.1.2 Install environment via yml file

Then create the environment via

conda env create -f environment.yml

3.1.3 Activate environment for running

Each time when you want to run this software, simply activate the environment by

conda activate ComplexModeler
conda deactivate(If you want to exit) 

4. Download the pre-trained model and database

Run the following command in the project direcotry

chmod 777 set_up.sh
./set_up.sh

If it fails, you can run set_up.sh line by line in command line.

5. Install Other Dependency

Blast: Please follow the instructions in NCBI website to install Blast locally.
(Optional but highly recommended): Phenix: https://phenix-online.org/documentation/install-setup-run.html Coot: https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/ To verify phenix is correctly installed for final refinement step, please run

phenix.real_space_refine -h

To veryify coot is correctly installed for final refinement step, please run

coot

If it can print out the help information of this function, then the refinemnt step of our program can be supported.
If not, please always remove --refine command line in all the commands, then ComplexModeler will build structure without refinement.

6. (Optional) Visualization software

Pymol (for structure visualization): https://pymol.org/2/
Chimera (for map visualization): https://www.cgl.ucsf.edu/chimera/download.html

Usage

Command Parameters
usage: main.py [-h] -F F [-P P] [--resolution RESOLUTION] [--gpu GPU] [--output OUTPUT]
[--contour CONTOUR] [--refine] [--gpu_only]
optional arguments:
-h, --help show this help message and exit
-F F input map path
-P P input fasta path
--resolution RESOLUTION
resolution for diffusion and structure refinement
--gpu GPU specify the gpu we will use
--output OUTPUT Output directory
--contour CONTOUR Contour level for input map, suggested 0.5*[author_contour]. (Float), Default
value: 0.0
--refine Optional Input. Do the last step refinement or not (Suggested to set as True).
--gpu_only only run GPU related part, server use only
Complex Structure Modeling

Complex Structure Modeling

python3 main.py -F=[Map_Path] -P=[Fasta_Path] --contour=[contour_level] --gpu=[GPU_ID] --output=[Output_Directory] --resolution=[Map_Resolution]

[Map_Path] is the path of the experimental cryo-EM map
[Fasta_Path] is the path of the input fasta file about sequence information. The sequence information of protein is required but can be partial, DNA/RNA sequence information is optional
[contour_level] is the contour_level (suggested by author) to remove outside regions to save processing time. This is absolute density threshold, not standard deviation. If you are not sure, just set 0. Our model will automatically detect useful regions.
[GPU_ID] specifies the gpu used for inference
[Output_Directory] specifies the directory you want to save the output. If you don't specify, the default will be "Predict_Result/[map_name]". The final structure is kept as ComplexModeler.cif in this directory.
[Map_Resolution] is the resolution of the deposited maps, which is for refinement usage.

Example of fasta file

>A,B,C,D
MATPAGRRASETERLLTPNPGYGTQVGTSPAPTTPTEEEDLRR
>E,F
VVTFREENTIAFRHLFLLGYSDGSDDTFAAYTQEQLYQ

For ID line, please only include the chain id without any other information. If multiple chains include the identical sequences, please use comma "," to split different chains.
In this example, we have 6 chains in total, with A,B,C,D share the identical sequences and E,F share another identical sequences.
Here sequence information of protein is required but can be partial, DNA/RNA sequence information is optional.

If you have successfully installed phenix and coot, please also specify --refine in the command line to refine structures.

Example Command

python3 main.py -F=example/20031.mrc -P=example/20031.fasta --contour=0.6 --gpu=0 --output=output_21051 --resolution=3.7

The example dir should be set up by set_up.sh. If not, please download examples here and put into example directory.
The automatically build atomic structure is saved in output_21051/Complex_Modeler.cif.
If you have successfully installed phenix and coot, please also specify --refine in the command line to refine structures.

Example

Details

Input File

Cryo-EM map with mrc format.
Sequence information with fasta format. Our example input can be found here

Output File

ComplexModeler.cif: a CIF file that stores the atomic protein-DNA/RNA structure by our method.
Our example output can be found here. All the intermediate results are also kept here.

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

ComplexModeler

ComplexModeler is a computational tool using CryoREAD and DiffModeler to automatically build full protein-DNA/RNA complex structure from cryo-EM maps at 0-5A resolution.

Copyright (C) 2023 Xiao Wang, Han Zhu, Genki Terashi, Daisuke Kihara, and Purdue University.

License: GPL v3. (If you are interested in a different license, for example, for commercial use, please contact us.)

Contact: Daisuke Kihara (dkihara@purdue.edu)

For technical problems or questions, please reach to Xiao Wang (wang3702@purdue.edu).

Citation:

Xiao Wang, Han Zhu, Genki Terashi & Daisuke Kihara. Protein Complex Structure Modeling with Diffusion Model and AlphaFold in cryo-EM maps.bioArxiv, 2023.

@article{wang2023DiffModeler, title={Protein Complex Structure Modeling with Diffusion Model and AlphaFold in cryo-EM maps}, author={Xiao Wang, Han Zhu, Genki Terashi, and Daisuke Kihara}, journal={bioArxiv}, year={2023} } 

Free Online Server:

Input map+single-chain structures: https://em.kiharalab.org/algorithm/ComplexModeler

Introduction

Details

For detailed introduction and protocol, please check DiffModeler and CryoREAD

Installation

Details

System Requirements

CPU: >=8 cores
Memory (RAM): >=50Gb. For maps with more than 3,000 nucleotides, memory space should be higher than 200GB if the sequence is provided.
GPU: any GPU supports CUDA with at least 12GB memory.
GPU is required for DiffModeler and CryoREAD.

Installation

2. Clone the repository in your computer

git clone --recurse-submodules https://github.com/kiharalab/ComplexModeler && cd ComplexModeler

3. Configure environment for ComplexModeler.

3.1.1 Install anaconda

Install anaconda from https://www.anaconda.com/download#downloads.

3.1.2 Install environment via yml file

Then create the environment via

conda env create -f environment.yml

3.1.3 Activate environment for running

Each time when you want to run this software, simply activate the environment by

conda activate ComplexModeler
conda deactivate(If you want to exit) 

4. Download the pre-trained model and database

Run the following command in the project direcotry

chmod 777 set_up.sh
./set_up.sh

If it fails, you can run set_up.sh line by line in command line.

5. Install Other Dependency

Blast: Please follow the instructions in NCBI website to install Blast locally.
(Optional but highly recommended): Phenix: https://phenix-online.org/documentation/install-setup-run.html Coot: https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/ To verify phenix is correctly installed for final refinement step, please run

phenix.real_space_refine -h

To veryify coot is correctly installed for final refinement step, please run

coot

If it can print out the help information of this function, then the refinemnt step of our program can be supported.
If not, please always remove --refine command line in all the commands, then ComplexModeler will build structure without refinement.

6. (Optional) Visualization software

Pymol (for structure visualization): https://pymol.org/2/
Chimera (for map visualization): https://www.cgl.ucsf.edu/chimera/download.html

Usage

Command Parameters
usage: main.py [-h] -F F [-P P] [--resolution RESOLUTION] [--gpu GPU] [--output OUTPUT]
[--contour CONTOUR] [--refine] [--gpu_only]
optional arguments:
-h, --help show this help message and exit
-F F input map path
-P P input fasta path
--resolution RESOLUTION
resolution for diffusion and structure refinement
--gpu GPU specify the gpu we will use
--output OUTPUT Output directory
--contour CONTOUR Contour level for input map, suggested 0.5*[author_contour]. (Float), Default
value: 0.0
--refine Optional Input. Do the last step refinement or not (Suggested to set as True).
--gpu_only only run GPU related part, server use only
Complex Structure Modeling

Complex Structure Modeling

python3 main.py -F=[Map_Path] -P=[Fasta_Path] --contour=[contour_level] --gpu=[GPU_ID] --output=[Output_Directory] --resolution=[Map_Resolution]

[Map_Path] is the path of the experimental cryo-EM map
[Fasta_Path] is the path of the input fasta file about sequence information. The sequence information of protein is required but can be partial, DNA/RNA sequence information is optional
[contour_level] is the contour_level (suggested by author) to remove outside regions to save processing time. This is absolute density threshold, not standard deviation. If you are not sure, just set 0. Our model will automatically detect useful regions.
[GPU_ID] specifies the gpu used for inference
[Output_Directory] specifies the directory you want to save the output. If you don't specify, the default will be "Predict_Result/[map_name]". The final structure is kept as ComplexModeler.cif in this directory.
[Map_Resolution] is the resolution of the deposited maps, which is for refinement usage.

Example of fasta file

>A,B,C,D
MATPAGRRASETERLLTPNPGYGTQVGTSPAPTTPTEEEDLRR
>E,F
VVTFREENTIAFRHLFLLGYSDGSDDTFAAYTQEQLYQ

For ID line, please only include the chain id without any other information. If multiple chains include the identical sequences, please use comma "," to split different chains.
In this example, we have 6 chains in total, with A,B,C,D share the identical sequences and E,F share another identical sequences.
Here sequence information of protein is required but can be partial, DNA/RNA sequence information is optional.

If you have successfully installed phenix and coot, please also specify --refine in the command line to refine structures.

Example Command

python3 main.py -F=example/20031.mrc -P=example/20031.fasta --contour=0.6 --gpu=0 --output=output_21051 --resolution=3.7

The example dir should be set up by set_up.sh. If not, please download examples here and put into example directory.
The automatically build atomic structure is saved in output_21051/Complex_Modeler.cif.
If you have successfully installed phenix and coot, please also specify --refine in the command line to refine structures.

Example

Details

Input File

Cryo-EM map with mrc format.
Sequence information with fasta format. Our example input can be found here

Output File

ComplexModeler.cif: a CIF file that stores the atomic protein-DNA/RNA structure by our method.
Our example output can be found here. All the intermediate results are also kept here.

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ComplexModeler

ComplexModeler is a computational tool using CryoREAD and DiffModeler to automatically build full protein-DNA/RNA complex structure from cryo-EM maps at 0-5A resolution.

Copyright (C) 2023 Xiao Wang, Han Zhu, Genki Terashi, Daisuke Kihara, and Purdue University.

License: GPL v3. (If you are interested in a different license, for example, for commercial use, please contact us.)

Contact: Daisuke Kihara (dkihara@purdue.edu)

For technical problems or questions, please reach to Xiao Wang (wang3702@purdue.edu).

Citation:

Xiao Wang, Han Zhu, Genki Terashi & Daisuke Kihara. Protein Complex Structure Modeling with Diffusion Model and AlphaFold in cryo-EM maps.bioArxiv, 2023.

@article{wang2023DiffModeler, title={Protein Complex Structure Modeling with Diffusion Model and AlphaFold in cryo-EM maps}, author={Xiao Wang, Han Zhu, Genki Terashi, and Daisuke Kihara}, journal={bioArxiv}, year={2023} } 

Free Online Server:

Input map+single-chain structures: https://em.kiharalab.org/algorithm/ComplexModeler

Introduction

Details

For detailed introduction and protocol, please check DiffModeler and CryoREAD

Installation

Details

System Requirements

CPU: >=8 cores
Memory (RAM): >=50Gb. For maps with more than 3,000 nucleotides, memory space should be higher than 200GB if the sequence is provided.
GPU: any GPU supports CUDA with at least 12GB memory.
GPU is required for DiffModeler and CryoREAD.

Installation

2. Clone the repository in your computer

git clone --recurse-submodules https://github.com/kiharalab/ComplexModeler && cd ComplexModeler

3. Configure environment for ComplexModeler.

3.1.1 Install anaconda

Install anaconda from https://www.anaconda.com/download#downloads.

3.1.2 Install environment via yml file

Then create the environment via

conda env create -f environment.yml

3.1.3 Activate environment for running

Each time when you want to run this software, simply activate the environment by

conda activate ComplexModeler
conda deactivate(If you want to exit) 

4. Download the pre-trained model and database

Run the following command in the project direcotry

chmod 777 set_up.sh
./set_up.sh

If it fails, you can run set_up.sh line by line in command line.

5. Install Other Dependency

Blast: Please follow the instructions in NCBI website to install Blast locally.
(Optional but highly recommended): Phenix: https://phenix-online.org/documentation/install-setup-run.html Coot: https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/ To verify phenix is correctly installed for final refinement step, please run

phenix.real_space_refine -h

To veryify coot is correctly installed for final refinement step, please run

coot

If it can print out the help information of this function, then the refinemnt step of our program can be supported.
If not, please always remove --refine command line in all the commands, then ComplexModeler will build structure without refinement.

6. (Optional) Visualization software

Pymol (for structure visualization): https://pymol.org/2/
Chimera (for map visualization): https://www.cgl.ucsf.edu/chimera/download.html

Usage

Command Parameters
usage: main.py [-h] -F F [-P P] [--resolution RESOLUTION] [--gpu GPU] [--output OUTPUT]
[--contour CONTOUR] [--refine] [--gpu_only]
optional arguments:
-h, --help show this help message and exit
-F F input map path
-P P input fasta path
--resolution RESOLUTION
resolution for diffusion and structure refinement
--gpu GPU specify the gpu we will use
--output OUTPUT Output directory
--contour CONTOUR Contour level for input map, suggested 0.5*[author_contour]. (Float), Default
value: 0.0
--refine Optional Input. Do the last step refinement or not (Suggested to set as True).
--gpu_only only run GPU related part, server use only
Complex Structure Modeling

Complex Structure Modeling

python3 main.py -F=[Map_Path] -P=[Fasta_Path] --contour=[contour_level] --gpu=[GPU_ID] --output=[Output_Directory] --resolution=[Map_Resolution]

[Map_Path] is the path of the experimental cryo-EM map
[Fasta_Path] is the path of the input fasta file about sequence information. The sequence information of protein is required but can be partial, DNA/RNA sequence information is optional
[contour_level] is the contour_level (suggested by author) to remove outside regions to save processing time. This is absolute density threshold, not standard deviation. If you are not sure, just set 0. Our model will automatically detect useful regions.
[GPU_ID] specifies the gpu used for inference
[Output_Directory] specifies the directory you want to save the output. If you don't specify, the default will be "Predict_Result/[map_name]". The final structure is kept as ComplexModeler.cif in this directory.
[Map_Resolution] is the resolution of the deposited maps, which is for refinement usage.

Example of fasta file

>A,B,C,D
MATPAGRRASETERLLTPNPGYGTQVGTSPAPTTPTEEEDLRR
>E,F
VVTFREENTIAFRHLFLLGYSDGSDDTFAAYTQEQLYQ

For ID line, please only include the chain id without any other information. If multiple chains include the identical sequences, please use comma "," to split different chains.
In this example, we have 6 chains in total, with A,B,C,D share the identical sequences and E,F share another identical sequences.
Here sequence information of protein is required but can be partial, DNA/RNA sequence information is optional.

If you have successfully installed phenix and coot, please also specify --refine in the command line to refine structures.

Example Command

python3 main.py -F=example/20031.mrc -P=example/20031.fasta --contour=0.6 --gpu=0 --output=output_21051 --resolution=3.7

The example dir should be set up by set_up.sh. If not, please download examples here and put into example directory.
The automatically build atomic structure is saved in output_21051/Complex_Modeler.cif.
If you have successfully installed phenix and coot, please also specify --refine in the command line to refine structures.

Example

Details

Input File

Cryo-EM map with mrc format.
Sequence information with fasta format. Our example input can be found here

Output File

ComplexModeler.cif: a CIF file that stores the atomic protein-DNA/RNA structure by our method.
Our example output can be found here. All the intermediate results are also kept here.

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ComplexModeler

ComplexModeler is a computational tool using CryoREAD and DiffModeler to automatically build full protein-DNA/RNA complex structure from cryo-EM maps at 0-5A resolution.

Copyright (C) 2023 Xiao Wang, Han Zhu, Genki Terashi, Daisuke Kihara, and Purdue University.

License: GPL v3. (If you are interested in a different license, for example, for commercial use, please contact us.)

Contact: Daisuke Kihara (dkihara@purdue.edu)

For technical problems or questions, please reach to Xiao Wang (wang3702@purdue.edu).

Citation:

Xiao Wang, Han Zhu, Genki Terashi & Daisuke Kihara. Protein Complex Structure Modeling with Diffusion Model and AlphaFold in cryo-EM maps.bioArxiv, 2023.

@article{wang2023DiffModeler, title={Protein Complex Structure Modeling with Diffusion Model and AlphaFold in cryo-EM maps}, author={Xiao Wang, Han Zhu, Genki Terashi, and Daisuke Kihara}, journal={bioArxiv}, year={2023} } 

Free Online Server:

Input map+single-chain structures: https://em.kiharalab.org/algorithm/ComplexModeler

Introduction

Details

For detailed introduction and protocol, please check DiffModeler and CryoREAD

Installation

Details

System Requirements

CPU: >=8 cores
Memory (RAM): >=50Gb. For maps with more than 3,000 nucleotides, memory space should be higher than 200GB if the sequence is provided.
GPU: any GPU supports CUDA with at least 12GB memory.
GPU is required for DiffModeler and CryoREAD.

Installation

2. Clone the repository in your computer

git clone --recurse-submodules https://github.com/kiharalab/ComplexModeler && cd ComplexModeler

3. Configure environment for ComplexModeler.

3.1.1 Install anaconda

Install anaconda from https://www.anaconda.com/download#downloads.

3.1.2 Install environment via yml file

Then create the environment via

conda env create -f environment.yml

3.1.3 Activate environment for running

Each time when you want to run this software, simply activate the environment by

conda activate ComplexModeler
conda deactivate(If you want to exit) 

4. Download the pre-trained model and database

Run the following command in the project direcotry

chmod 777 set_up.sh
./set_up.sh

If it fails, you can run set_up.sh line by line in command line.

5. Install Other Dependency

Blast: Please follow the instructions in NCBI website to install Blast locally.
(Optional but highly recommended): Phenix: https://phenix-online.org/documentation/install-setup-run.html Coot: https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/ To verify phenix is correctly installed for final refinement step, please run

phenix.real_space_refine -h

To veryify coot is correctly installed for final refinement step, please run

coot

If it can print out the help information of this function, then the refinemnt step of our program can be supported.
If not, please always remove --refine command line in all the commands, then ComplexModeler will build structure without refinement.

6. (Optional) Visualization software

Pymol (for structure visualization): https://pymol.org/2/
Chimera (for map visualization): https://www.cgl.ucsf.edu/chimera/download.html

Usage

Command Parameters
usage: main.py [-h] -F F [-P P] [--resolution RESOLUTION] [--gpu GPU] [--output OUTPUT]
[--contour CONTOUR] [--refine] [--gpu_only]
optional arguments:
-h, --help show this help message and exit
-F F input map path
-P P input fasta path
--resolution RESOLUTION
resolution for diffusion and structure refinement
--gpu GPU specify the gpu we will use
--output OUTPUT Output directory
--contour CONTOUR Contour level for input map, suggested 0.5*[author_contour]. (Float), Default
value: 0.0
--refine Optional Input. Do the last step refinement or not (Suggested to set as True).
--gpu_only only run GPU related part, server use only
Complex Structure Modeling

Complex Structure Modeling

python3 main.py -F=[Map_Path] -P=[Fasta_Path] --contour=[contour_level] --gpu=[GPU_ID] --output=[Output_Directory] --resolution=[Map_Resolution]

[Map_Path] is the path of the experimental cryo-EM map
[Fasta_Path] is the path of the input fasta file about sequence information. The sequence information of protein is required but can be partial, DNA/RNA sequence information is optional
[contour_level] is the contour_level (suggested by author) to remove outside regions to save processing time. This is absolute density threshold, not standard deviation. If you are not sure, just set 0. Our model will automatically detect useful regions.
[GPU_ID] specifies the gpu used for inference
[Output_Directory] specifies the directory you want to save the output. If you don't specify, the default will be "Predict_Result/[map_name]". The final structure is kept as ComplexModeler.cif in this directory.
[Map_Resolution] is the resolution of the deposited maps, which is for refinement usage.

Example of fasta file

>A,B,C,D
MATPAGRRASETERLLTPNPGYGTQVGTSPAPTTPTEEEDLRR
>E,F
VVTFREENTIAFRHLFLLGYSDGSDDTFAAYTQEQLYQ

For ID line, please only include the chain id without any other information. If multiple chains include the identical sequences, please use comma "," to split different chains.
In this example, we have 6 chains in total, with A,B,C,D share the identical sequences and E,F share another identical sequences.
Here sequence information of protein is required but can be partial, DNA/RNA sequence information is optional.

If you have successfully installed phenix and coot, please also specify --refine in the command line to refine structures.

Example Command

python3 main.py -F=example/20031.mrc -P=example/20031.fasta --contour=0.6 --gpu=0 --output=output_21051 --resolution=3.7

The example dir should be set up by set_up.sh. If not, please download examples here and put into example directory.
The automatically build atomic structure is saved in output_21051/Complex_Modeler.cif.
If you have successfully installed phenix and coot, please also specify --refine in the command line to refine structures.

Example

Details

Input File

Cryo-EM map with mrc format.
Sequence information with fasta format. Our example input can be found here

Output File

ComplexModeler.cif: a CIF file that stores the atomic protein-DNA/RNA structure by our method.
Our example output can be found here. All the intermediate results are also kept here.

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

ComplexModeler

ComplexModeler is a computational tool using CryoREAD and DiffModeler to automatically build full protein-DNA/RNA complex structure from cryo-EM maps at 0-5A resolution.

Copyright (C) 2023 Xiao Wang, Han Zhu, Genki Terashi, Daisuke Kihara, and Purdue University.

License: GPL v3. (If you are interested in a different license, for example, for commercial use, please contact us.)

Contact: Daisuke Kihara (dkihara@purdue.edu)

For technical problems or questions, please reach to Xiao Wang (wang3702@purdue.edu).

Citation:

Xiao Wang, Han Zhu, Genki Terashi & Daisuke Kihara. Protein Complex Structure Modeling with Diffusion Model and AlphaFold in cryo-EM maps.bioArxiv, 2023.

@article{wang2023DiffModeler, title={Protein Complex Structure Modeling with Diffusion Model and AlphaFold in cryo-EM maps}, author={Xiao Wang, Han Zhu, Genki Terashi, and Daisuke Kihara}, journal={bioArxiv}, year={2023} } 

Free Online Server:

Input map+single-chain structures: https://em.kiharalab.org/algorithm/ComplexModeler

Introduction

Details

For detailed introduction and protocol, please check DiffModeler and CryoREAD

Installation

Details

System Requirements

CPU: >=8 cores
Memory (RAM): >=50Gb. For maps with more than 3,000 nucleotides, memory space should be higher than 200GB if the sequence is provided.
GPU: any GPU supports CUDA with at least 12GB memory.
GPU is required for DiffModeler and CryoREAD.

Installation

2. Clone the repository in your computer

git clone --recurse-submodules https://github.com/kiharalab/ComplexModeler && cd ComplexModeler

3. Configure environment for ComplexModeler.

3.1.1 Install anaconda

Install anaconda from https://www.anaconda.com/download#downloads.

3.1.2 Install environment via yml file

Then create the environment via

conda env create -f environment.yml

3.1.3 Activate environment for running

Each time when you want to run this software, simply activate the environment by

conda activate ComplexModeler
conda deactivate(If you want to exit) 

4. Download the pre-trained model and database

Run the following command in the project direcotry

chmod 777 set_up.sh
./set_up.sh

If it fails, you can run set_up.sh line by line in command line.

5. Install Other Dependency

Blast: Please follow the instructions in NCBI website to install Blast locally.
(Optional but highly recommended): Phenix: https://phenix-online.org/documentation/install-setup-run.html Coot: https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/ To verify phenix is correctly installed for final refinement step, please run

phenix.real_space_refine -h

To veryify coot is correctly installed for final refinement step, please run

coot

If it can print out the help information of this function, then the refinemnt step of our program can be supported.
If not, please always remove --refine command line in all the commands, then ComplexModeler will build structure without refinement.

6. (Optional) Visualization software

Pymol (for structure visualization): https://pymol.org/2/
Chimera (for map visualization): https://www.cgl.ucsf.edu/chimera/download.html

Usage

Command Parameters
usage: main.py [-h] -F F [-P P] [--resolution RESOLUTION] [--gpu GPU] [--output OUTPUT]
[--contour CONTOUR] [--refine] [--gpu_only]
optional arguments:
-h, --help show this help message and exit
-F F input map path
-P P input fasta path
--resolution RESOLUTION
resolution for diffusion and structure refinement
--gpu GPU specify the gpu we will use
--output OUTPUT Output directory
--contour CONTOUR Contour level for input map, suggested 0.5*[author_contour]. (Float), Default
value: 0.0
--refine Optional Input. Do the last step refinement or not (Suggested to set as True).
--gpu_only only run GPU related part, server use only
Complex Structure Modeling

Complex Structure Modeling

python3 main.py -F=[Map_Path] -P=[Fasta_Path] --contour=[contour_level] --gpu=[GPU_ID] --output=[Output_Directory] --resolution=[Map_Resolution]

[Map_Path] is the path of the experimental cryo-EM map
[Fasta_Path] is the path of the input fasta file about sequence information. The sequence information of protein is required but can be partial, DNA/RNA sequence information is optional
[contour_level] is the contour_level (suggested by author) to remove outside regions to save processing time. This is absolute density threshold, not standard deviation. If you are not sure, just set 0. Our model will automatically detect useful regions.
[GPU_ID] specifies the gpu used for inference
[Output_Directory] specifies the directory you want to save the output. If you don't specify, the default will be "Predict_Result/[map_name]". The final structure is kept as ComplexModeler.cif in this directory.
[Map_Resolution] is the resolution of the deposited maps, which is for refinement usage.

Example of fasta file

>A,B,C,D
MATPAGRRASETERLLTPNPGYGTQVGTSPAPTTPTEEEDLRR
>E,F
VVTFREENTIAFRHLFLLGYSDGSDDTFAAYTQEQLYQ

For ID line, please only include the chain id without any other information. If multiple chains include the identical sequences, please use comma "," to split different chains.
In this example, we have 6 chains in total, with A,B,C,D share the identical sequences and E,F share another identical sequences.
Here sequence information of protein is required but can be partial, DNA/RNA sequence information is optional.

If you have successfully installed phenix and coot, please also specify --refine in the command line to refine structures.

Example Command

python3 main.py -F=example/20031.mrc -P=example/20031.fasta --contour=0.6 --gpu=0 --output=output_21051 --resolution=3.7

The example dir should be set up by set_up.sh. If not, please download examples here and put into example directory.
The automatically build atomic structure is saved in output_21051/Complex_Modeler.cif.
If you have successfully installed phenix and coot, please also specify --refine in the command line to refine structures.

Example

Details

Input File

Cryo-EM map with mrc format.
Sequence information with fasta format. Our example input can be found here

Output File

ComplexModeler.cif: a CIF file that stores the atomic protein-DNA/RNA structure by our method.
Our example output can be found here. All the intermediate results are also kept here.

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ComplexModeler

ComplexModeler is a computational tool using CryoREAD and DiffModeler to automatically build full protein-DNA/RNA complex structure from cryo-EM maps at 0-5A resolution.

Copyright (C) 2023 Xiao Wang, Han Zhu, Genki Terashi, Daisuke Kihara, and Purdue University.

License: GPL v3. (If you are interested in a different license, for example, for commercial use, please contact us.)

Contact: Daisuke Kihara (dkihara@purdue.edu)

For technical problems or questions, please reach to Xiao Wang (wang3702@purdue.edu).

Citation:

Xiao Wang, Han Zhu, Genki Terashi & Daisuke Kihara. Protein Complex Structure Modeling with Diffusion Model and AlphaFold in cryo-EM maps.bioArxiv, 2023.

@article{wang2023DiffModeler, title={Protein Complex Structure Modeling with Diffusion Model and AlphaFold in cryo-EM maps}, author={Xiao Wang, Han Zhu, Genki Terashi, and Daisuke Kihara}, journal={bioArxiv}, year={2023} } 

Free Online Server:

Input map+single-chain structures: https://em.kiharalab.org/algorithm/ComplexModeler

Introduction

Details

For detailed introduction and protocol, please check DiffModeler and CryoREAD

Installation

Details

System Requirements

CPU: >=8 cores
Memory (RAM): >=50Gb. For maps with more than 3,000 nucleotides, memory space should be higher than 200GB if the sequence is provided.
GPU: any GPU supports CUDA with at least 12GB memory.
GPU is required for DiffModeler and CryoREAD.

Installation

2. Clone the repository in your computer

git clone --recurse-submodules https://github.com/kiharalab/ComplexModeler && cd ComplexModeler

3. Configure environment for ComplexModeler.

3.1.1 Install anaconda

Install anaconda from https://www.anaconda.com/download#downloads.

3.1.2 Install environment via yml file

Then create the environment via

conda env create -f environment.yml

3.1.3 Activate environment for running

Each time when you want to run this software, simply activate the environment by

conda activate ComplexModeler
conda deactivate(If you want to exit) 

4. Download the pre-trained model and database

Run the following command in the project direcotry

chmod 777 set_up.sh
./set_up.sh

If it fails, you can run set_up.sh line by line in command line.

5. Install Other Dependency

Blast: Please follow the instructions in NCBI website to install Blast locally.
(Optional but highly recommended): Phenix: https://phenix-online.org/documentation/install-setup-run.html Coot: https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/ To verify phenix is correctly installed for final refinement step, please run

phenix.real_space_refine -h

To veryify coot is correctly installed for final refinement step, please run

coot

If it can print out the help information of this function, then the refinemnt step of our program can be supported.
If not, please always remove --refine command line in all the commands, then ComplexModeler will build structure without refinement.

6. (Optional) Visualization software

Pymol (for structure visualization): https://pymol.org/2/
Chimera (for map visualization): https://www.cgl.ucsf.edu/chimera/download.html

Usage

Command Parameters
usage: main.py [-h] -F F [-P P] [--resolution RESOLUTION] [--gpu GPU] [--output OUTPUT]
[--contour CONTOUR] [--refine] [--gpu_only]
optional arguments:
-h, --help show this help message and exit
-F F input map path
-P P input fasta path
--resolution RESOLUTION
resolution for diffusion and structure refinement
--gpu GPU specify the gpu we will use
--output OUTPUT Output directory
--contour CONTOUR Contour level for input map, suggested 0.5*[author_contour]. (Float), Default
value: 0.0
--refine Optional Input. Do the last step refinement or not (Suggested to set as True).
--gpu_only only run GPU related part, server use only
Complex Structure Modeling

Complex Structure Modeling

python3 main.py -F=[Map_Path] -P=[Fasta_Path] --contour=[contour_level] --gpu=[GPU_ID] --output=[Output_Directory] --resolution=[Map_Resolution]

[Map_Path] is the path of the experimental cryo-EM map
[Fasta_Path] is the path of the input fasta file about sequence information. The sequence information of protein is required but can be partial, DNA/RNA sequence information is optional
[contour_level] is the contour_level (suggested by author) to remove outside regions to save processing time. This is absolute density threshold, not standard deviation. If you are not sure, just set 0. Our model will automatically detect useful regions.
[GPU_ID] specifies the gpu used for inference
[Output_Directory] specifies the directory you want to save the output. If you don't specify, the default will be "Predict_Result/[map_name]". The final structure is kept as ComplexModeler.cif in this directory.
[Map_Resolution] is the resolution of the deposited maps, which is for refinement usage.

Example of fasta file

>A,B,C,D
MATPAGRRASETERLLTPNPGYGTQVGTSPAPTTPTEEEDLRR
>E,F
VVTFREENTIAFRHLFLLGYSDGSDDTFAAYTQEQLYQ

For ID line, please only include the chain id without any other information. If multiple chains include the identical sequences, please use comma "," to split different chains.
In this example, we have 6 chains in total, with A,B,C,D share the identical sequences and E,F share another identical sequences.
Here sequence information of protein is required but can be partial, DNA/RNA sequence information is optional.

If you have successfully installed phenix and coot, please also specify --refine in the command line to refine structures.

Example Command

python3 main.py -F=example/20031.mrc -P=example/20031.fasta --contour=0.6 --gpu=0 --output=output_21051 --resolution=3.7

The example dir should be set up by set_up.sh. If not, please download examples here and put into example directory.
The automatically build atomic structure is saved in output_21051/Complex_Modeler.cif.
If you have successfully installed phenix and coot, please also specify --refine in the command line to refine structures.

Example

Details

Input File

Cryo-EM map with mrc format.
Sequence information with fasta format. Our example input can be found here

Output File

ComplexModeler.cif: a CIF file that stores the atomic protein-DNA/RNA structure by our method.
Our example output can be found here. All the intermediate results are also kept here.

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

ComplexModeler

ComplexModeler is a computational tool using CryoREAD and DiffModeler to automatically build full protein-DNA/RNA complex structure from cryo-EM maps at 0-5A resolution.

Copyright (C) 2023 Xiao Wang, Han Zhu, Genki Terashi, Daisuke Kihara, and Purdue University.

License: GPL v3. (If you are interested in a different license, for example, for commercial use, please contact us.)

Contact: Daisuke Kihara (dkihara@purdue.edu)

For technical problems or questions, please reach to Xiao Wang (wang3702@purdue.edu).

Citation:

Xiao Wang, Han Zhu, Genki Terashi & Daisuke Kihara. Protein Complex Structure Modeling with Diffusion Model and AlphaFold in cryo-EM maps.bioArxiv, 2023.

@article{wang2023DiffModeler, title={Protein Complex Structure Modeling with Diffusion Model and AlphaFold in cryo-EM maps}, author={Xiao Wang, Han Zhu, Genki Terashi, and Daisuke Kihara}, journal={bioArxiv}, year={2023} } 

Free Online Server:

Input map+single-chain structures: https://em.kiharalab.org/algorithm/ComplexModeler

Introduction

Details

For detailed introduction and protocol, please check DiffModeler and CryoREAD

Installation

Details

System Requirements

CPU: >=8 cores
Memory (RAM): >=50Gb. For maps with more than 3,000 nucleotides, memory space should be higher than 200GB if the sequence is provided.
GPU: any GPU supports CUDA with at least 12GB memory.
GPU is required for DiffModeler and CryoREAD.

Installation

2. Clone the repository in your computer

git clone --recurse-submodules https://github.com/kiharalab/ComplexModeler && cd ComplexModeler

3. Configure environment for ComplexModeler.

3.1.1 Install anaconda

Install anaconda from https://www.anaconda.com/download#downloads.

3.1.2 Install environment via yml file

Then create the environment via

conda env create -f environment.yml

3.1.3 Activate environment for running

Each time when you want to run this software, simply activate the environment by

conda activate ComplexModeler
conda deactivate(If you want to exit) 

4. Download the pre-trained model and database

Run the following command in the project direcotry

chmod 777 set_up.sh
./set_up.sh

If it fails, you can run set_up.sh line by line in command line.

5. Install Other Dependency

Blast: Please follow the instructions in NCBI website to install Blast locally.
(Optional but highly recommended): Phenix: https://phenix-online.org/documentation/install-setup-run.html Coot: https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/ To verify phenix is correctly installed for final refinement step, please run

phenix.real_space_refine -h

To veryify coot is correctly installed for final refinement step, please run

coot

If it can print out the help information of this function, then the refinemnt step of our program can be supported.
If not, please always remove --refine command line in all the commands, then ComplexModeler will build structure without refinement.

6. (Optional) Visualization software

Pymol (for structure visualization): https://pymol.org/2/
Chimera (for map visualization): https://www.cgl.ucsf.edu/chimera/download.html

Usage

Command Parameters
usage: main.py [-h] -F F [-P P] [--resolution RESOLUTION] [--gpu GPU] [--output OUTPUT]
[--contour CONTOUR] [--refine] [--gpu_only]
optional arguments:
-h, --help show this help message and exit
-F F input map path
-P P input fasta path
--resolution RESOLUTION
resolution for diffusion and structure refinement
--gpu GPU specify the gpu we will use
--output OUTPUT Output directory
--contour CONTOUR Contour level for input map, suggested 0.5*[author_contour]. (Float), Default
value: 0.0
--refine Optional Input. Do the last step refinement or not (Suggested to set as True).
--gpu_only only run GPU related part, server use only
Complex Structure Modeling

Complex Structure Modeling

python3 main.py -F=[Map_Path] -P=[Fasta_Path] --contour=[contour_level] --gpu=[GPU_ID] --output=[Output_Directory] --resolution=[Map_Resolution]

[Map_Path] is the path of the experimental cryo-EM map
[Fasta_Path] is the path of the input fasta file about sequence information. The sequence information of protein is required but can be partial, DNA/RNA sequence information is optional
[contour_level] is the contour_level (suggested by author) to remove outside regions to save processing time. This is absolute density threshold, not standard deviation. If you are not sure, just set 0. Our model will automatically detect useful regions.
[GPU_ID] specifies the gpu used for inference
[Output_Directory] specifies the directory you want to save the output. If you don't specify, the default will be "Predict_Result/[map_name]". The final structure is kept as ComplexModeler.cif in this directory.
[Map_Resolution] is the resolution of the deposited maps, which is for refinement usage.

Example of fasta file

>A,B,C,D
MATPAGRRASETERLLTPNPGYGTQVGTSPAPTTPTEEEDLRR
>E,F
VVTFREENTIAFRHLFLLGYSDGSDDTFAAYTQEQLYQ

For ID line, please only include the chain id without any other information. If multiple chains include the identical sequences, please use comma "," to split different chains.
In this example, we have 6 chains in total, with A,B,C,D share the identical sequences and E,F share another identical sequences.
Here sequence information of protein is required but can be partial, DNA/RNA sequence information is optional.

If you have successfully installed phenix and coot, please also specify --refine in the command line to refine structures.

Example Command

python3 main.py -F=example/20031.mrc -P=example/20031.fasta --contour=0.6 --gpu=0 --output=output_21051 --resolution=3.7

The example dir should be set up by set_up.sh. If not, please download examples here and put into example directory.
The automatically build atomic structure is saved in output_21051/Complex_Modeler.cif.
If you have successfully installed phenix and coot, please also specify --refine in the command line to refine structures.

Example

Details

Input File

Cryo-EM map with mrc format.
Sequence information with fasta format. Our example input can be found here

Output File

ComplexModeler.cif: a CIF file that stores the atomic protein-DNA/RNA structure by our method.
Our example output can be found here. All the intermediate results are also kept here.

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

ComplexModeler

ComplexModeler is a computational tool using CryoREAD and DiffModeler to automatically build full protein-DNA/RNA complex structure from cryo-EM maps at 0-5A resolution.

Copyright (C) 2023 Xiao Wang, Han Zhu, Genki Terashi, Daisuke Kihara, and Purdue University.

License: GPL v3. (If you are interested in a different license, for example, for commercial use, please contact us.)

Contact: Daisuke Kihara (dkihara@purdue.edu)

For technical problems or questions, please reach to Xiao Wang (wang3702@purdue.edu).

Citation:

Xiao Wang, Han Zhu, Genki Terashi & Daisuke Kihara. Protein Complex Structure Modeling with Diffusion Model and AlphaFold in cryo-EM maps.bioArxiv, 2023.

@article{wang2023DiffModeler, title={Protein Complex Structure Modeling with Diffusion Model and AlphaFold in cryo-EM maps}, author={Xiao Wang, Han Zhu, Genki Terashi, and Daisuke Kihara}, journal={bioArxiv}, year={2023} } 

Free Online Server:

Input map+single-chain structures: https://em.kiharalab.org/algorithm/ComplexModeler

Introduction

Details

For detailed introduction and protocol, please check DiffModeler and CryoREAD

Installation

Details

System Requirements

CPU: >=8 cores
Memory (RAM): >=50Gb. For maps with more than 3,000 nucleotides, memory space should be higher than 200GB if the sequence is provided.
GPU: any GPU supports CUDA with at least 12GB memory.
GPU is required for DiffModeler and CryoREAD.

Installation

2. Clone the repository in your computer

git clone --recurse-submodules https://github.com/kiharalab/ComplexModeler && cd ComplexModeler

3. Configure environment for ComplexModeler.

3.1.1 Install anaconda

Install anaconda from https://www.anaconda.com/download#downloads.

3.1.2 Install environment via yml file

Then create the environment via

conda env create -f environment.yml

3.1.3 Activate environment for running

Each time when you want to run this software, simply activate the environment by

conda activate ComplexModeler
conda deactivate(If you want to exit) 

4. Download the pre-trained model and database

Run the following command in the project direcotry

chmod 777 set_up.sh
./set_up.sh

If it fails, you can run set_up.sh line by line in command line.

5. Install Other Dependency

Blast: Please follow the instructions in NCBI website to install Blast locally.
(Optional but highly recommended): Phenix: https://phenix-online.org/documentation/install-setup-run.html Coot: https://www2.mrc-lmb.cam.ac.uk/personal/pemsley/coot/ To verify phenix is correctly installed for final refinement step, please run

phenix.real_space_refine -h

To veryify coot is correctly installed for final refinement step, please run

coot

If it can print out the help information of this function, then the refinemnt step of our program can be supported.
If not, please always remove --refine command line in all the commands, then ComplexModeler will build structure without refinement.

6. (Optional) Visualization software

Pymol (for structure visualization): https://pymol.org/2/
Chimera (for map visualization): https://www.cgl.ucsf.edu/chimera/download.html

Usage

Command Parameters
usage: main.py [-h] -F F [-P P] [--resolution RESOLUTION] [--gpu GPU] [--output OUTPUT]
[--contour CONTOUR] [--refine] [--gpu_only]
optional arguments:
-h, --help show this help message and exit
-F F input map path
-P P input fasta path
--resolution RESOLUTION
resolution for diffusion and structure refinement
--gpu GPU specify the gpu we will use
--output OUTPUT Output directory
--contour CONTOUR Contour level for input map, suggested 0.5*[author_contour]. (Float), Default
value: 0.0
--refine Optional Input. Do the last step refinement or not (Suggested to set as True).
--gpu_only only run GPU related part, server use only
Complex Structure Modeling

Complex Structure Modeling

python3 main.py -F=[Map_Path] -P=[Fasta_Path] --contour=[contour_level] --gpu=[GPU_ID] --output=[Output_Directory] --resolution=[Map_Resolution]

[Map_Path] is the path of the experimental cryo-EM map
[Fasta_Path] is the path of the input fasta file about sequence information. The sequence information of protein is required but can be partial, DNA/RNA sequence information is optional
[contour_level] is the contour_level (suggested by author) to remove outside regions to save processing time. This is absolute density threshold, not standard deviation. If you are not sure, just set 0. Our model will automatically detect useful regions.
[GPU_ID] specifies the gpu used for inference
[Output_Directory] specifies the directory you want to save the output. If you don't specify, the default will be "Predict_Result/[map_name]". The final structure is kept as ComplexModeler.cif in this directory.
[Map_Resolution] is the resolution of the deposited maps, which is for refinement usage.

Example of fasta file

>A,B,C,D
MATPAGRRASETERLLTPNPGYGTQVGTSPAPTTPTEEEDLRR
>E,F
VVTFREENTIAFRHLFLLGYSDGSDDTFAAYTQEQLYQ

For ID line, please only include the chain id without any other information. If multiple chains include the identical sequences, please use comma "," to split different chains.
In this example, we have 6 chains in total, with A,B,C,D share the identical sequences and E,F share another identical sequences.
Here sequence information of protein is required but can be partial, DNA/RNA sequence information is optional.

If you have successfully installed phenix and coot, please also specify --refine in the command line to refine structures.

Example Command

python3 main.py -F=example/20031.mrc -P=example/20031.fasta --contour=0.6 --gpu=0 --output=output_21051 --resolution=3.7

The example dir should be set up by set_up.sh. If not, please download examples here and put into example directory.
The automatically build atomic structure is saved in output_21051/Complex_Modeler.cif.
If you have successfully installed phenix and coot, please also specify --refine in the command line to refine structures.

Example

Details

Input File

Cryo-EM map with mrc format.
Sequence information with fasta format. Our example input can be found here

Output File

ComplexModeler.cif: a CIF file that stores the atomic protein-DNA/RNA structure by our method.
Our example output can be found here. All the intermediate results are also kept here.

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages