multi-ego
Set of tools to generate a multi-eGO force field to perform molecular dynamics simulations
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
Repository
Set of tools to generate a multi-eGO force field to perform molecular dynamics simulations
Basic Info
Statistics
- Stars: 14
- Watchers: 5
- Forks: 10
- Open Issues: 5
- Releases: 6
Topics
Metadata Files
README.md
Multi-eGO: a multi-ensemble Gō model
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
- Preparing your first multi-eGO system
- Analysis of a training simulation
- Setup of a multi-eGO random coil simulation
- Setup of a multi-eGO production simulation

Preparing your first multi-eGO system
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
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
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
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
- 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
- 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
- Pennacchietti, V., et al. A PDZ tandem repeat folds and unfolds via different pathways. Protein Sci. 33, e5203 (2024).
- Stegani, B., et al. Estimation of Ligand Binding Free Energy Using Multi-eGO. J. Chem. Inf. Model. 65, 351–362 (2025); preprint available: chemRxiv
- Stegani B. and Capelli R. Kinetic rates calculation via non-equilibrium dynamics. arXiv ### Other works 6.
Owner
- Name: meGO
- Login: multi-ego
- Kind: organization
- Repositories: 2
- Profile: https://github.com/multi-ego
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
Pull Request Labels
Dependencies
- actions/cache v3 composite
- actions/checkout v3 composite
- actions/setup-python v3 composite
- ParmEd >=3.4.3
- numpy >=1.26.2
- pandas >=2.1.3
- actions/checkout v4 composite
- actions/setup-python v4 composite