multi-ego

Set of tools to generate a multi-eGO force field to perform molecular dynamics simulations

https://github.com/multi-ego/multi-ego

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 13 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org, biorxiv.org, acs.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.5%) to scientific vocabulary

Keywords

aggregation folding molecular-dynamics proteins self-assembly structure-based-models
Last synced: 6 months ago · JSON representation ·

Repository

Set of tools to generate a multi-eGO force field to perform molecular dynamics simulations

Basic Info
  • Host: GitHub
  • Owner: multi-ego
  • License: gpl-3.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 414 MB
Statistics
  • Stars: 14
  • Watchers: 5
  • Forks: 10
  • Open Issues: 5
  • Releases: 6
Topics
aggregation folding molecular-dynamics proteins self-assembly structure-based-models
Created over 3 years ago · Last pushed 7 months ago
Metadata Files
Readme License Citation

README.md

Multi-eGO: a multi-ensemble Gō model

Version License: GPL v3 Code style: black Multi-eGO test cmdata CodeQL

Current Developers:

  • Fran Bacic Toplek
  • Carlo Camilloni
  • Riccardo Capelli
  • Bruno Stegani

Table of Contents

Requirements

Multi-eGO force fields and tools are intended to be used with GROMACS, currently suggested versions are 2023 and 2024. You will need to know how to compile GROMACS from source, as some multi-eGO tools require GROMACS to be recompiled.

Installation

Use conda and the environment file provided as conda env create -f conda/environment.yml conda activate meGO It is also possible to use pip install -r requirements.txt.

To install the cmdata see here

Usage

Image

Preparing your first multi-eGO system

Back to Usage

The first step in running a multi-eGO simulation is to create a GROMACS topology file (.top). Copy your PDB file and the multi-ego-basic.ff/ included here into a folder, then run gmx pdb2gmx -f file.pdb -ignh and select the multi-ego-basic forcefield. This should give you a (.gro) file for your structure and a (.top) topology file. In the multi-eGO/inputs folder, add a folder for your system and a reference/ subfolder. Copy your GROMACS topology into this reference/ subfolder so that the final structure looks like this: └── input └── system_name └── reference ├── topol.top └── multi-eGO_basic.ff

Analysis of a training simulation

Back to Usage

Assuming that a training simulation has already been run, two steps are required to learn the interactions from that simulation. First, one need to extract the contact data from the simulation. To do this you can use the cmdata tool. The tool has to be installed by recompiling GROMACS, see Installation.

cmdata -f $YOUR_TRAJECTORY.xtc -s $YOUR_TOPOLOGY.tpr cmdata reads a trajectory and a GROMACS run input file. The output will be a collection of histograms in the form of .dat text files. These files then need to be processed to obtain contact distances and probabilities. To do this one can use tools/make_mat/make_mat.py as follows, assuming that the histograms are located in the md simulation directory in a subdirectory called histo/: python tools/make_mat/make_mat.py --histo $MD_DIRECTORY/histo --target_top $MD_DIRECTORY/topol.top --mego_top inputs/$SYSTEM_NAME/reference/topol.top --out inputs/$SYSTEM_NAME/md_ensemble

Finally, you need to copy the topology, force field and contact files into an appropriate folder, such as

└── input └── system_name ├── reference │ ├── topol.top │ └── multi-eGO_basic.ff └── md_ensemble ├── topol.top ├── intramat_1_1.ndx └── all-atom.ff

Setup of a multi-eGO random coil simulation

Back to Usage

Create a folder in which you want to run the random coil simulation. Copy the multi-ego-basic.ff/ folder and the .gro file generated in the first step into this folder. To generate a random coil force field and associated topology run python multiego.py --system $SYSTEM_NAME --egos rc multiego.py will then create an output directory in multi-eGO/outputs/${SYSTEM_NAME}_rc which provides the inputs for the random coil simulation. The contents of the output folder are ffnonbonded.itp and topol_mego.top. The former is the non-bonded interaction file and needs to be copied into the multi-ego-basic.ff/ folder. The latter needs to be placed in the simulation root directory. We provide mdps simulation setup files tested with various multi-eGO setups in the multi-eGO/mdps folder. The order in which the simulations are run is as follows:

1. ff_em.mdp 2. ff_cg.mdp 3. ff_aa-posre.mdp 4. ff_rc.mdp

Once the random coil simulation is done, you need to analyse it using cmdata and make_mat.py as before:

cmdata -f $YOUR_TRAJECTORY.xtc -s $YOUR_TOPOLOGY.tpr python tools/make_mat/make_mat.py --histo $RC_DIRECTORY/histo --target_top $RC_DIRECTORY/topol.top --mego_top inputs/$SYSTEM_NAME/reference/topol.top --out inputs/$SYSTEM_NAME/reference

This is the final structure of the input folders:

└── input └── system_name ├── reference │ ├── topol.top │ ├── intramat_1_1.ndx │ └── multi-eGO_basic.ff └── md_ensemble ├── topol.top ├── intramat_1_1.ndx └── all-atom.ff

Setup of a multi-eGO production simulation

Back to Usage

To setup a multi-eGO production simulation, you need to run multiego.py again. Before running the code, make sure that the topologies of your systems all have the same moleculetype name. If they do not, you need to change the name in the topol.top file or the program will crash. python multiego.py --system $SYSTEM_NAME --egos production --epsilon 0.3 --train md_ensemble Here one sets the energy scale ε to 0.3 kJ/mol and trains the model from the md_ensemble data. The output directory will be multi-eGO/outputs/${SYSTEM_NAME}_production_e0.3_0.3 and will contain the inputs for the production simulation. Again, the contents of the output directory are ffnonbonded.itp and topol_mego.top and need to be copied to the multi-ego-basic.ff/ folder and the simulation root directory. The mdps files are the same except for the last step which is now ff_aa.mdp.

Happy simulating :)

Cite us

Key developments

  1. Scalone, E., et al. Multi-eGO: An in silico lens to look into protein aggregation kinetics at atomic resolution. Proc Natl Acad Sci USA 119, e2203181119 (2022); preprint available: bioRxiv
  2. Bacic Toplek, F., Scalone, E., et al. Multi-eGO: model improvements towards the study of complex self-assembly processes. J. Chem. Theory Comput. 20, 459-468 (2024); preprint available: chemRxiv ### Our works and applications
  3. Pennacchietti, V., et al. A PDZ tandem repeat folds and unfolds via different pathways. Protein Sci. 33, e5203 (2024).
  4. Stegani, B., et al. Estimation of Ligand Binding Free Energy Using Multi-eGO. J. Chem. Inf. Model. 65, 351–362 (2025); preprint available: chemRxiv
  5. Stegani B. and Capelli R. Kinetic rates calculation via non-equilibrium dynamics. arXiv ### Other works 6.

Owner

  • Name: meGO
  • Login: multi-ego
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Bacic Toplek"
  given-names: "Fran"
- family-names: "Scalone"
  given-names: "Emanuele"
- family-names: "Stegani"
  given-names: "Bruno"
- family-names: "Paissoni"
  given-names: "Cristina"
- family-names: "Capelli"
  given-names: "Riccardo"
- family-names: "Camilloni"
  given-names: "Carlo"
title: "Multi-eGO"
version: beta.4
date-released: 2023-10-24
url: "https://github.com/multi-ego/multi-ego"
preferred-citation:
  type: article
  authors:
  - family-names: "Bacic Toplek"
    given-names: "Fran"
  - family-names: "Scalone"
    given-names: "Emanuele"
  - family-names: "Stegani"
    given-names: "Bruno"
  - family-names: "Paissoni"
    given-names: "Cristina"
  - family-names: "Capelli"
    given-names: "Riccardo"
  - family-names: "Camilloni"
    given-names: "Carlo"
  doi: "10.1021/acs.jctc.3c01182"
  journal: "J. Chem. Theory Comput."
  start: 459 
  end: 468
  title: "Multi-eGO: model improvements towards the study of complex self-assembly processes"
  issue:
  volume: 20
  year: 2024

GitHub Events

Total
  • Create event: 9
  • Release event: 1
  • Issues event: 11
  • Watch event: 3
  • Delete event: 10
  • Issue comment event: 2
  • Push event: 99
  • Pull request event: 203
  • Fork event: 3
Last Year
  • Create event: 9
  • Release event: 1
  • Issues event: 11
  • Watch event: 3
  • Delete event: 10
  • Issue comment event: 2
  • Push event: 99
  • Pull request event: 203
  • Fork event: 3

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 6
  • Total pull requests: 50
  • Average time to close issues: 7 months
  • Average time to close pull requests: about 1 hour
  • Total issue authors: 1
  • Total pull request authors: 3
  • Average comments per issue: 0.33
  • Average comments per pull request: 0.0
  • Merged pull requests: 39
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 3
  • Pull requests: 50
  • Average time to close issues: about 2 months
  • Average time to close pull requests: about 1 hour
  • Issue authors: 1
  • Pull request authors: 3
  • Average comments per issue: 0.33
  • Average comments per pull request: 0.0
  • Merged pull requests: 39
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • carlocamilloni (23)
  • frantropy (1)
Pull Request Authors
  • carlocamilloni (148)
  • brunostega (33)
  • frantropy (32)
  • gaiaperaja (5)
Top Labels
Issue Labels
enhancement (7) bug (6) future (2) experimental (1) regtests (1)
Pull Request Labels

Dependencies

.github/workflows/test.yml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
requirements.txt pypi
  • ParmEd >=3.4.3
  • numpy >=1.26.2
  • pandas >=2.1.3
.github/workflows/cmdata.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
conda/environment.yml pypi