├── .github └── workflows │ ├── cmdata.yml │ └── test.yml ├── .gitignore ├── CITATION.cff ├── LICENSE ├── README.md ├── codecheck.sh ├── conda └── environment.yml ├── img └── mego_workflow_black.png ├── inputs └── .gitignore ├── mdps ├── ff_aa-posre.mdp ├── ff_aa.mdp ├── ff_aa_npt_xy.mdp ├── ff_cg.mdp ├── ff_em.mdp └── ff_rc.mdp ├── multi-ego-basic.ff ├── README.md ├── aminoacids.c.tdb ├── aminoacids.hdb ├── aminoacids.n.tdb ├── aminoacids.r2b ├── aminoacids.rtp ├── aminoacids.vsd ├── atomtypes.atp ├── chl1.itp ├── dppc.itp ├── ffbonded.itp ├── ffnonbonded.itp ├── forcefield.doc ├── forcefield.itp ├── ions.itp ├── lipids.hdb ├── lipids.rtp ├── popc.itp └── watermodels.dat ├── multiego.py ├── outputs └── .gitignore ├── requirements.txt ├── src └── multiego │ ├── __init__.py │ ├── arguments.py │ ├── ensemble.py │ ├── io.py │ ├── resources │ ├── __init__.py │ └── type_definitions.py │ ├── topology.py │ └── util │ ├── __init__.py │ ├── float_range.py │ └── masking.py ├── test ├── run_cmdata.sh ├── run_make_mat.sh ├── run_tests.py ├── test_cases.txt ├── test_inputs │ ├── abetaref │ │ ├── aa_sym │ │ ├── config.yml │ │ ├── native_MD │ │ │ ├── charmm27.ff │ │ │ │ ├── aminoacids.arn │ │ │ │ ├── aminoacids.c.tdb │ │ │ │ ├── aminoacids.hdb │ │ │ │ ├── aminoacids.n.tdb │ │ │ │ ├── aminoacids.r2b │ │ │ │ ├── aminoacids.rtp │ │ │ │ ├── aminoacids.vsd │ │ │ │ ├── atomtypes.atp │ │ │ │ ├── cmap.itp │ │ │ │ ├── dna.arn │ │ │ │ ├── dna.c.tdb │ │ │ │ ├── dna.hdb │ │ │ │ ├── dna.n.tdb │ │ │ │ ├── dna.rtp │ │ │ │ ├── ffbonded.itp │ │ │ │ ├── ffnabonded.itp │ │ │ │ ├── ffnanonbonded.itp │ │ │ │ ├── ffnonbonded.itp │ │ │ │ ├── forcefield.doc │ │ │ │ ├── forcefield.itp │ │ │ │ ├── ions.itp │ │ │ │ ├── lipids.hdb │ │ │ │ ├── lipids.rtp │ │ │ │ ├── rna.arn │ │ │ │ ├── rna.c.tdb │ │ │ │ ├── rna.hdb │ │ │ │ ├── rna.n.tdb │ │ │ │ ├── rna.r2b │ │ │ │ ├── rna.rtp │ │ │ │ ├── spc.itp │ │ │ │ ├── spce.itp │ │ │ │ ├── tip3p.itp │ │ │ │ ├── tip4p.itp │ │ │ │ ├── tip5p.itp │ │ │ │ ├── tips3p.itp │ │ │ │ └── watermodels.dat │ │ │ ├── intramat_1_1.ndx.h5 │ │ │ └── topol.top │ │ ├── ref │ │ │ ├── conf.gro │ │ │ ├── ffnonbonded.itp │ │ │ ├── intramat_1_1.ndx.h5 │ │ │ └── topol_mego.top │ │ └── topol.top │ ├── cmdata │ │ ├── .gitignore │ │ ├── protein.tpr │ │ └── traj.xtc │ ├── gpref │ │ ├── config.yml │ │ ├── md_ensemble │ │ │ ├── charmm22st.ff │ │ │ │ ├── aminoacids.arn │ │ │ │ ├── aminoacids.c.tdb │ │ │ │ ├── aminoacids.hdb │ │ │ │ ├── aminoacids.n.tdb │ │ │ │ ├── aminoacids.r2b │ │ │ │ ├── aminoacids.rtp │ │ │ │ ├── aminoacids.vsd │ │ │ │ ├── atomtypes.atp │ │ │ │ ├── cmap.itp │ │ │ │ ├── dna.arn │ │ │ │ ├── dna.c.tdb │ │ │ │ ├── dna.hdb │ │ │ │ ├── dna.n.tdb │ │ │ │ ├── dna.rtp │ │ │ │ ├── ffbonded.itp │ │ │ │ ├── ffnabonded.itp │ │ │ │ ├── ffnanonbonded.itp │ │ │ │ ├── ffnonbonded.itp │ │ │ │ ├── forcefield.doc │ │ │ │ ├── forcefield.itp │ │ │ │ ├── gb.itp │ │ │ │ ├── ions.itp │ │ │ │ ├── lipids.hdb │ │ │ │ ├── lipids.rtp │ │ │ │ ├── rna.arn │ │ │ │ ├── rna.c.tdb │ │ │ │ ├── rna.hdb │ │ │ │ ├── rna.n.tdb │ │ │ │ ├── rna.r2b │ │ │ │ ├── rna.rtp │ │ │ │ ├── spc.itp │ │ │ │ ├── spce.itp │ │ │ │ ├── tip3p.itp │ │ │ │ ├── tip4p.itp │ │ │ │ ├── tip5p.itp │ │ │ │ ├── tips3p.itp │ │ │ │ └── watermodels.dat │ │ │ ├── intramat_1_1.ndx.h5 │ │ │ └── topol.top │ │ ├── reference │ │ │ ├── conf.gro │ │ │ ├── ffnonbonded.itp │ │ │ ├── intramat_1_1.ndx.h5 │ │ │ ├── native.pdb │ │ │ ├── posre.itp │ │ │ └── topol_mego.top │ │ └── topol.top │ ├── lyso-bnz_ref │ │ ├── aa_sym │ │ ├── aa_sym_all │ │ ├── config.yml │ │ ├── config_1.yml │ │ ├── config_2.yml │ │ ├── epsilon_file.txt │ │ ├── epsilon_inter_domain_file.txt │ │ ├── epsilon_inter_file.txt │ │ ├── md_ensemble │ │ │ ├── des-amber.ff │ │ │ │ ├── aminoacids.arn │ │ │ │ ├── aminoacids.hdb │ │ │ │ ├── aminoacids.r2b │ │ │ │ ├── aminoacids.rtp │ │ │ │ ├── atomtypes.atp │ │ │ │ ├── ffbonded.itp │ │ │ │ ├── ffnonbonded.itp │ │ │ │ ├── forcefield.doc │ │ │ │ ├── forcefield.itp │ │ │ │ ├── ions.itp │ │ │ │ ├── tip3p.itp │ │ │ │ ├── tip4pd.itp │ │ │ │ ├── tip4pd_rerun.itp │ │ │ │ └── watermodels.dat │ │ │ ├── intermat_1_2.ndx.gz │ │ │ ├── intermat_2_2.ndx.gz │ │ │ ├── intramat_1_1.ndx.gz │ │ │ ├── intramat_2_2.ndx.gz │ │ │ ├── topol.top │ │ │ ├── topol_BNZ.itp │ │ │ └── topol_Lyso.itp │ │ ├── ref_1_1_interdom │ │ │ ├── ffnonbonded.itp │ │ │ ├── intramat_1_1.ndx.gz │ │ │ └── topol_mego.top │ │ ├── reference │ │ │ ├── ffnonbonded.itp │ │ │ ├── intermat_1_2.ndx.gz │ │ │ ├── intermat_2_2.ndx.gz │ │ │ ├── intramat_1_1.ndx.gz │ │ │ ├── intramat_2_2.ndx.gz │ │ │ └── topol_mego.top │ │ ├── topol.top │ │ ├── topol_BNZ.itp │ │ └── topol_Lyso.itp │ ├── make_mat_popc │ │ ├── .gitignore │ │ ├── hh.tgz │ │ ├── topol_md.top │ │ ├── topol_ref.top │ │ └── toppar │ │ │ ├── CLA.itp │ │ │ ├── POPC.itp │ │ │ ├── POPC_dih.itp │ │ │ ├── SOD.itp │ │ │ ├── TIP3.itp │ │ │ └── forcefield.itp │ ├── make_mat_ttr │ │ ├── .gitignore │ │ ├── ffnonbonded.itp │ │ ├── hh.tgz │ │ ├── topol.top │ │ └── topol_mego.top │ └── ttrref │ │ ├── .DS_Store │ │ ├── aa_sym │ │ ├── config.yml │ │ ├── fibril_MD │ │ ├── charmm22st.ff │ │ │ ├── aminoacids.arn │ │ │ ├── aminoacids.c.tdb │ │ │ ├── aminoacids.hdb │ │ │ ├── aminoacids.n.tdb │ │ │ ├── aminoacids.r2b │ │ │ ├── aminoacids.rtp │ │ │ ├── aminoacids.vsd │ │ │ ├── atomtypes.atp │ │ │ ├── cmap.itp │ │ │ ├── dna.arn │ │ │ ├── dna.c.tdb │ │ │ ├── dna.hdb │ │ │ ├── dna.n.tdb │ │ │ ├── dna.rtp │ │ │ ├── ffbonded.itp │ │ │ ├── ffnabonded.itp │ │ │ ├── ffnanonbonded.itp │ │ │ ├── ffnonbonded.itp │ │ │ ├── forcefield.doc │ │ │ ├── forcefield.itp │ │ │ ├── gb.itp │ │ │ ├── ions.itp │ │ │ ├── lipids.hdb │ │ │ ├── lipids.rtp │ │ │ ├── rna.arn │ │ │ ├── rna.c.tdb │ │ │ ├── rna.hdb │ │ │ ├── rna.n.tdb │ │ │ ├── rna.r2b │ │ │ ├── rna.rtp │ │ │ ├── spc.itp │ │ │ ├── spce.itp │ │ │ ├── tip3p.itp │ │ │ ├── tip4p.itp │ │ │ ├── tip5p.itp │ │ │ ├── tips3p.itp │ │ │ └── watermodels.dat │ │ ├── intermat_1_1.ndx.h5 │ │ ├── intramat_1_1.ndx.h5 │ │ ├── topol.top │ │ └── topol_Protein_chain_A.itp │ │ ├── native_MD │ │ ├── amber99SBdisp.ff │ │ │ ├── .DS_Store │ │ │ ├── aminoacids.arn │ │ │ ├── aminoacids.c.tdb │ │ │ ├── aminoacids.hdb │ │ │ ├── aminoacids.n.tdb │ │ │ ├── aminoacids.r2b │ │ │ ├── aminoacids.rtp │ │ │ ├── aminoacids.vsd │ │ │ ├── atomtypes.atp │ │ │ ├── ffbonded.itp │ │ │ ├── ffnonbonded.itp │ │ │ ├── forcefield.doc │ │ │ ├── forcefield.itp │ │ │ ├── ions.itp │ │ │ ├── tip4pd.itp │ │ │ └── watermodels.dat │ │ ├── intramat_1_1.ndx.h5 │ │ └── topol.top │ │ ├── ref_inter │ │ ├── ffnonbonded.itp │ │ ├── intermat_1_1.ndx.h5 │ │ ├── intramat_1_1.ndx.h5 │ │ └── topol_mego.top │ │ ├── ref_intra │ │ ├── ffnonbonded.itp │ │ ├── intramat_1_1.ndx.h5 │ │ └── topol_mego.top │ │ └── topol.top ├── test_outputs │ ├── abetaref │ │ └── case_1 │ │ │ ├── ffnonbonded.itp │ │ │ └── topol_mego.top │ ├── cmdata │ │ ├── .gitignore │ │ └── hh.tgz │ ├── gpref │ │ ├── case_1 │ │ │ ├── ffnonbonded.itp │ │ │ └── topol_mego.top │ │ └── case_2 │ │ │ ├── ffnonbonded.itp │ │ │ └── topol_mego.top │ ├── lyso-bnz_ref │ │ ├── case_1 │ │ │ ├── ffnonbonded.itp │ │ │ └── topol_mego.top │ │ └── case_2 │ │ │ ├── ffnonbonded.itp │ │ │ └── topol_mego.top │ ├── make_mat_popc │ │ └── intramat_1_1.ndx.gz │ ├── make_mat_ttr │ │ ├── intermat_1_1.ndx │ │ ├── intermat_1_1.ndx.zero │ │ ├── intramat_1_1.ndx │ │ └── intramat_1_1.ndx.zero │ └── ttrref │ │ └── case_1 │ │ ├── ffnonbonded.itp │ │ └── topol_mego.top └── update_testing_data.sh └── tools ├── README.md ├── box_concentration ├── README.md └── get_box.py ├── cmdata ├── .gitignore ├── CMakeLists.txt ├── README.md ├── main.cpp ├── popt.patch └── src │ └── cmdata │ ├── cmdata.hpp │ ├── density.hpp │ ├── function_types.hpp │ ├── indexing.hpp │ ├── io.hpp │ ├── mindist.hpp │ ├── parallel.hpp │ ├── selection.hpp │ └── xtc_frame.hpp ├── domain_sectioner ├── README.md └── domains.py ├── equivalent_atoms └── aa_sym.txt ├── face_generator └── generate_face.py ├── make_mat ├── HDF52ndx.py ├── README.md ├── make_mat.py └── ndx2HDF5.py └── resdata ├── .gitignore ├── CMakeLists.txt ├── README.md ├── main.cpp ├── popt.patch └── src └── resdata ├── block_avg.hpp ├── density.hpp ├── function_types.hpp ├── indexing.hpp ├── io.hpp ├── parallel.hpp ├── resdata.hpp └── xtc_frame.hpp /.github/workflows/cmdata.yml: -------------------------------------------------------------------------------- 1 | name: cmdata 2 | 3 | on: 4 | push: 5 | paths: 6 | - 'tools/cmdata/**' 7 | pull_request: 8 | paths: 9 | - 'tools/cmdata/**' 10 | 11 | jobs: 12 | build-linux-gromacs: 13 | runs-on: ubuntu-latest 14 | 15 | steps: 16 | - uses: actions/checkout@v4 17 | - name: Set up Python 18 | uses: actions/setup-python@v5 19 | with: 20 | python-version: '3.11' 21 | - name: Install generic packages 22 | run: | 23 | sudo apt-get update -qq 24 | - name: Build gromacs 25 | run: | 26 | git clone --depth 1 -b release-2023 https://github.com/multi-ego/gromacs.git 27 | cd gromacs; mkdir build; cd build 28 | cmake .. -DGMX_FFT_LIBRARY=fftpack -DBUILD_TESTING=OFF -DGMX_INSTALL_LEGACY_API=ON -DGMX_IMD=OFF 29 | make -j2 30 | sudo make install 31 | - name: Build cmdata 32 | run: | 33 | cd tools/cmdata; mkdir build; cd build 34 | cmake ../ 35 | make 36 | sudo make install 37 | cmdata --help 38 | - name: Run cmdata test 39 | run: | 40 | source /usr/local/gromacs/bin/GMXRC 41 | cd test; bash run_cmdata.sh; cd .. 42 | 43 | 44 | -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- 1 | name: 'Multi-eGO test' 2 | 3 | on: 4 | push: 5 | paths-ignore: 6 | - 'tools/cmdata/**' 7 | pull_request: 8 | paths-ignore: 9 | - 'tools/cmdata/**' 10 | 11 | 12 | jobs: 13 | build-linux-conda: 14 | runs-on: ubuntu-latest 15 | 16 | steps: 17 | - uses: actions/checkout@v4 18 | - name: Set up Python 3.12 19 | uses: actions/setup-python@v5 20 | with: 21 | python-version: '3.12' 22 | - name: Add conda to system path 23 | uses: conda-incubator/setup-miniconda@v3 24 | with: 25 | environment-file: conda/environment.yml 26 | miniforge-version: latest 27 | activate-environment: test 28 | - name: Run flake8 29 | run: | 30 | # Flake8 exit on most issues 31 | # we use blake to enforce formatting 32 | conda install flake8 33 | $CONDA/bin/flake8 . --count --extend-ignore E501,W605,E731,E402,E711 --show-source --statistics 34 | - name: Run tests 35 | shell: bash -el {0} 36 | run: | 37 | $CONDA/bin/python test/run_tests.py 38 | cd test; bash run_make_mat.sh; cd .. 39 | 40 | build-linux-pip: 41 | runs-on: ubuntu-latest 42 | steps: 43 | - uses: actions/checkout@v4 44 | - name: Set up Python 3.13 45 | uses: actions/setup-python@v5 46 | with: 47 | python-version: '3.13' 48 | - name: Install requirements 49 | run: pip install -r requirements.txt 50 | - name: Run tests 51 | run: | 52 | python test/run_tests.py 53 | cd test; bash run_make_mat.sh; cd .. 54 | 55 | build-macos-conda: 56 | runs-on: macos-13 57 | 58 | steps: 59 | - uses: actions/checkout@v4 60 | - name: Set up Python 3.12 61 | uses: actions/setup-python@v5 62 | with: 63 | python-version: '3.12' 64 | - name: Add conda to system path 65 | uses: conda-incubator/setup-miniconda@v3 66 | with: 67 | environment-file: conda/environment.yml 68 | miniforge-version: latest 69 | activate-environment: test 70 | - name: Run tests 71 | shell: bash -el {0} 72 | run: | 73 | $CONDA/bin/python test/run_tests.py 74 | cd test; bash run_make_mat.sh; cd .. 75 | 76 | build-macos-pip: 77 | runs-on: macos-latest 78 | steps: 79 | - uses: actions/checkout@v4 80 | - name: Set up Python 3.13 81 | uses: actions/setup-python@v5 82 | with: 83 | python-version: '3.13' 84 | - name: Install requirements 85 | run: pip install -r requirements.txt 86 | - name: Run tests 87 | run: | 88 | python test/run_tests.py 89 | cd test; bash run_make_mat.sh; cd .. 90 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | pip-wheel-metadata/ 24 | share/python-wheels/ 25 | *.egg-info/ 26 | .installed.cfg 27 | *.egg 28 | MANIFEST 29 | 30 | # PyInstaller 31 | # Usually these files are written by a python script from a template 32 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 33 | *.manifest 34 | *.spec 35 | 36 | # Installer logs 37 | pip-log.txt 38 | pip-delete-this-directory.txt 39 | log 40 | 41 | # Unit test / coverage reports 42 | htmlcov/ 43 | .tox/ 44 | .nox/ 45 | .coverage 46 | .coverage.* 47 | .cache 48 | nosetests.xml 49 | coverage.xml 50 | *.cover 51 | *.py,cover 52 | .hypothesis/ 53 | .pytest_cache/ 54 | 55 | # Translations 56 | *.mo 57 | *.pot 58 | 59 | # Django stuff: 60 | *.log 61 | local_settings.py 62 | db.sqlite3 63 | db.sqlite3-journal 64 | 65 | # Flask stuff: 66 | instance/ 67 | .webassets-cache 68 | 69 | # Scrapy stuff: 70 | .scrapy 71 | 72 | # Sphinx documentation 73 | docs/_build/ 74 | 75 | # PyBuilder 76 | target/ 77 | 78 | # Jupyter Notebook 79 | .ipynb_checkpoints 80 | 81 | # IPython 82 | profile_default/ 83 | ipython_config.py 84 | 85 | # pyenv 86 | .python-version 87 | 88 | # pipenv 89 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 90 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 91 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 92 | # install all needed dependencies. 93 | #Pipfile.lock 94 | 95 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow 96 | __pypackages__/ 97 | 98 | # Celery stuff 99 | celerybeat-schedule 100 | celerybeat.pid 101 | 102 | # SageMath parsed files 103 | *.sage.py 104 | 105 | # Environments 106 | .env 107 | .venv 108 | env/ 109 | venv/ 110 | ENV/ 111 | env.bak/ 112 | venv.bak/ 113 | 114 | # Spyder project settings 115 | .spyderproject 116 | .spyproject 117 | 118 | # Rope project settings 119 | .ropeproject 120 | 121 | # mkdocs documentation 122 | /site 123 | 124 | # mypy 125 | .mypy_cache/ 126 | .dmypy.json 127 | dmypy.json 128 | 129 | # Pyre type checker 130 | .pyre/ 131 | .vscode/settings.json 132 | 133 | # more 134 | inputs/* 135 | outputs/* 136 | *.swp 137 | analysis/* 138 | .DS_Store 139 | *.ff 140 | !multi-ego-basic.ff 141 | -------------------------------------------------------------------------------- /CITATION.cff: -------------------------------------------------------------------------------- 1 | cff-version: 1.2.0 2 | message: "If you use this software, please cite it as below." 3 | authors: 4 | - family-names: "Bacic Toplek" 5 | given-names: "Fran" 6 | - family-names: "Scalone" 7 | given-names: "Emanuele" 8 | - family-names: "Stegani" 9 | given-names: "Bruno" 10 | - family-names: "Paissoni" 11 | given-names: "Cristina" 12 | - family-names: "Capelli" 13 | given-names: "Riccardo" 14 | - family-names: "Camilloni" 15 | given-names: "Carlo" 16 | title: "Multi-eGO" 17 | version: beta.4 18 | date-released: 2023-10-24 19 | url: "https://github.com/multi-ego/multi-ego" 20 | preferred-citation: 21 | type: article 22 | authors: 23 | - family-names: "Bacic Toplek" 24 | given-names: "Fran" 25 | - family-names: "Scalone" 26 | given-names: "Emanuele" 27 | - family-names: "Stegani" 28 | given-names: "Bruno" 29 | - family-names: "Paissoni" 30 | given-names: "Cristina" 31 | - family-names: "Capelli" 32 | given-names: "Riccardo" 33 | - family-names: "Camilloni" 34 | given-names: "Carlo" 35 | doi: "10.1021/acs.jctc.3c01182" 36 | journal: "J. Chem. Theory Comput." 37 | start: 459 38 | end: 468 39 | title: "Multi-eGO: model improvements towards the study of complex self-assembly processes" 40 | issue: 41 | volume: 20 42 | year: 2024 43 | -------------------------------------------------------------------------------- /codecheck.sh: -------------------------------------------------------------------------------- 1 | # check for black 2 | pip show black 3 | if [ $? -eq 0 ]; then 4 | python -m black -t py310 -t py311 -t py312 -t py313 --line-length=127 . 5 | else 6 | echo "black module not found!" 7 | echo "you can install it as pip install git+https://github.com/psf/black" 8 | fi 9 | flake8 . --count --extend-ignore E501,W605,E731,E402,E711 --show-source --statistics 10 | if [ $? -eq 1 ]; then 11 | flak="Fix the remaining formatting issue before pushing your code" 12 | fi 13 | echo "Running the regtests" 14 | python test/run_tests.py >& /dev/null 15 | if [ $? -eq 1 ]; then 16 | echo "Regtests failing, you should not push your code" 17 | echo $flak 18 | else 19 | echo "Regtests passed" 20 | if [ -z "$flak" ]; then 21 | echo "Ready to push" 22 | else 23 | echo $flak 24 | fi 25 | fi 26 | -------------------------------------------------------------------------------- /conda/environment.yml: -------------------------------------------------------------------------------- 1 | name: meGO 2 | channels: 3 | - conda-forge 4 | dependencies: 5 | - python=3.12 6 | - numpy 7 | - pandas 8 | - ParmEd 9 | - GitPython 10 | - PyYAML 11 | - scipy 12 | - hdf5 13 | - h5py 14 | - pytables 15 | -------------------------------------------------------------------------------- /img/mego_workflow_black.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/img/mego_workflow_black.png -------------------------------------------------------------------------------- /inputs/.gitignore: -------------------------------------------------------------------------------- 1 | * -------------------------------------------------------------------------------- /multi-ego-basic.ff/README.md: -------------------------------------------------------------------------------- 1 | This is the force field including the basic multi-eGO parameters 2 | to setup a random coil simulation. 3 | -------------------------------------------------------------------------------- /multi-ego-basic.ff/aminoacids.c.tdb: -------------------------------------------------------------------------------- 1 | [ COO- ] 2 | [ replace ] 3 | C C C 12.011 0.000 4 | O O1 OM 15.9994 0.000 5 | OXT O2 OM 15.9994 0.000 6 | [ add ] 7 | 2 8 O C CA N 8 | OM 15.9994 0.000 9 | [ bonds ] 10 | C O1 gb_6 11 | C O2 gb_6 12 | [ angles ] 13 | O1 C O2 ga_38 14 | CA C O1 ga_22 15 | CA C O2 ga_22 16 | [ dihedrals ] 17 | N CA C O2 gd_45A 18 | N CA C O2 gd_42A 19 | [ impropers ] 20 | C CA O2 O1 gi_1 21 | 22 | [ None ] 23 | 24 | -------------------------------------------------------------------------------- /multi-ego-basic.ff/aminoacids.hdb: -------------------------------------------------------------------------------- 1 | ALA 1 2 | 1 1 H N -C CA 3 | 4 | ARG 1 5 | 1 1 H N -C CA 6 | 7 | ASN 1 8 | 1 1 H N -C CA 9 | 10 | ASP 1 11 | 1 1 H N -C CA 12 | 13 | CYS 1 14 | 1 1 H N -C CA 15 | 16 | CYS2 1 17 | 1 1 H N -C CA 18 | 19 | GLN 1 20 | 1 1 H N -C CA 21 | 22 | GLU 1 23 | 1 1 H N -C CA 24 | 25 | GLY 1 26 | 1 1 H N -C CA 27 | 28 | HIS 1 29 | 1 1 H N -C CA 30 | 31 | ILE 1 32 | 1 1 H N -C CA 33 | 34 | LEU 1 35 | 1 1 H N -C CA 36 | 37 | LYS 1 38 | 1 1 H N -C CA 39 | 40 | MET 1 41 | 1 1 H N -C CA 42 | 43 | PHE 1 44 | 1 1 H N -C CA 45 | 46 | SER 1 47 | 1 1 H N -C CA 48 | 49 | THR 1 50 | 1 1 H N -C CA 51 | 52 | TRP 1 53 | 1 1 H N -C CA 54 | 55 | TYR 1 56 | 1 1 H N -C CA 57 | 58 | NME 1 59 | 1 1 H N -C CA 60 | 61 | VAL 1 62 | 1 1 H N -C CA 63 | -------------------------------------------------------------------------------- /multi-ego-basic.ff/aminoacids.n.tdb: -------------------------------------------------------------------------------- 1 | [ NH3+ ] 2 | [ replace ] 3 | N NL 17.0067 0.000 ; weight and charge include the 3 hydrogens 4 | [ delete ] 5 | H 6 | 7 | 8 | [ PRO-NH2+ ] 9 | [ replace ] 10 | N NT 16.0067 0.000 11 | [ dihedrals ] 12 | CD N CA C gd_39 13 | 14 | [ None ] 15 | 16 | -------------------------------------------------------------------------------- /multi-ego-basic.ff/aminoacids.r2b: -------------------------------------------------------------------------------- 1 | ; rtp residue to rtp building block table 2 | ;GMX Force-field 3 | CYS CYS 4 | HISH HIS 5 | HISD HIS 6 | HISE HIS 7 | HID HIS 8 | HIE HIS 9 | HIP HIS 10 | HSD HIS 11 | HSE HIS 12 | LYS LYS 13 | LYSN LYS 14 | -------------------------------------------------------------------------------- /multi-ego-basic.ff/aminoacids.vsd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/multi-ego-basic.ff/aminoacids.vsd -------------------------------------------------------------------------------- /multi-ego-basic.ff/atomtypes.atp: -------------------------------------------------------------------------------- 1 | O 15.99940 ; carbonyl oxygen (C=O) 2 | OM 15.99940 ; carboxyl oxygen (CO-) 3 | OA 16.99940 ; hydroxyl, sugar or ester oxygen 4 | ; N 15.00670 ; peptide nitrogen (N or NH) 5 | N 13.00670 ; peptide nitrogen (N or NH) 6 | NT 16.00670 ; terminal nitrogen (NH2) 7 | NL 17.00670 ; terminal nitrogen (NH3) 8 | NR 15.00670 ; aromatic nitrogen 9 | NZ 16.00670 ; Arg NH (NH2) 10 | NE 15.00670 ; Arg NE (NH) 11 | ; C 12.01100 ; bare carbon 12 | C 11.01100 ; bare carbon 13 | CH 13.01900 ; aromatic CH 14 | CAH 12.01100 ; aliphatic or sugar CH-group 15 | CH1 13.01900 ; aliphatic or sugar CH-group 16 | CH2 14.02700 ; aliphatic or sugar CH2-group 17 | CAH2 14.02700 ; aliphatic or sugar CH2-group 18 | CH3 15.03500 ; aliphatic CH3-group 19 | CH2r 14.02700 ; CH2-group in a ring 20 | S 32.06000 ; sulfur 21 | H 4.03200 ; backbone Hydrogen 22 | ; LIPIDS 23 | CH3p 15.03500 ; Polar aliphatic CH3-group 24 | P 30.97380 ; phosphor 25 | OE 15.99940 ; ether or ester oxygen 26 | CR1 13.01900 ; aromatic CH-group 27 | ; IONS 28 | C0 40.08000 ; calcium (charge 2+) DES-AMBER 29 | -------------------------------------------------------------------------------- /multi-ego-basic.ff/ffnonbonded.itp: -------------------------------------------------------------------------------- 1 | [ atomtypes ] 2 | ;name at.num mass charge ptype c6 c12 3 | O 8 0.000 0.000 A 0.0000000000 2.631580e-07 4 | OM 8 0.000 0.000 A 0.0000000000 1.724403e-07 5 | OA 8 0.000 0.000 A 0.0000000000 5.018430e-07 6 | N 7 0.000 0.000 A 0.0000000000 8.752940e-07 7 | NT 7 0.000 0.000 A 0.0000000000 2.596154e-06 8 | NL 7 0.000 0.000 A 0.0000000000 8.752940e-07 9 | NR 7 0.000 0.000 A 0.0000000000 1.506347e-06 10 | NZ 7 0.000 0.000 A 0.0000000000 8.752940e-07 11 | NE 7 0.000 0.000 A 0.0000000000 8.752940e-07 12 | C 6 0.000 0.000 A 0.0000000000 2.598570e-06 13 | CH 6 0.000 0.000 A 0.0000000000 2.598570e-06 14 | H 1 0.000 0.000 A 0.0000000000 3.239247e-09 15 | CAH 6 0.000 0.000 A 0.0000000000 6.555574e-05 16 | CH1 6 0.000 0.000 A 0.0000000000 6.555574e-05 17 | CH2 6 0.000 0.000 A 0.0000000000 1.543890e-05 18 | CAH2 6 0.000 0.000 A 0.0000000000 1.543890e-05 19 | CH3 6 0.000 0.000 A 0.0000000000 8.595562e-06 20 | CH2r 6 0.000 0.000 A 0.0000000000 1.193966e-05 21 | S 16 0.000 0.000 A 0.0000000000 2.724050e-06 22 | CH3p 6 0.000 0.000 A 0.0000000000 8.736473e-06 23 | P 15 0.000 0.000 A 0.0000000000 3.893600e-06 24 | OE 8 0.000 0.000 A 0.0000000000 3.558824e-07 25 | CR1 6 0.000 0.000 A 0.0000000000 6.298560e-06 26 | ;ions 27 | C0 20 0.000 0.000 A 0.0000000000 2.659360e-07 28 | 29 | -------------------------------------------------------------------------------- /multi-ego-basic.ff/forcefield.doc: -------------------------------------------------------------------------------- 1 | Multi-eGO force field 2 | 3 | The force field is described here: 4 | 5 | [1] Scalone E., et al. PNAS 2022 .. 6 | [2] 7 | -------------------------------------------------------------------------------- /multi-ego-basic.ff/forcefield.itp: -------------------------------------------------------------------------------- 1 | #define _FF_MAGROS 2 | 3 | [ defaults ] 4 | ; nbfunc comb-rule gen-pairs fudgeLJ fudgeQQ 5 | 1 1 yes 1.0 1.0 6 | 7 | #include "ffnonbonded.itp" 8 | #include "ffbonded.itp" 9 | 10 | -------------------------------------------------------------------------------- /multi-ego-basic.ff/ions.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; molname nrexcl 3 | Ca+2 1 4 | 5 | [ atoms ] 6 | ; id at type res nr residu name at name cg nr charge 7 | 1 C0 1 Ca+2 Cal 1 0.000 8 | -------------------------------------------------------------------------------- /multi-ego-basic.ff/lipids.hdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/multi-ego-basic.ff/lipids.hdb -------------------------------------------------------------------------------- /multi-ego-basic.ff/watermodels.dat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/multi-ego-basic.ff/watermodels.dat -------------------------------------------------------------------------------- /outputs/.gitignore: -------------------------------------------------------------------------------- 1 | * -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | GitPython>=3.1.44 2 | h5py>=3.11.0 3 | numpy>=2.2.2,<2.3 4 | pandas>=2.2.3 5 | ParmEd>=4.2.2 6 | PyYAML>=6.0.2 7 | scipy>=1.15.1 8 | tables>=3.9.2 9 | -------------------------------------------------------------------------------- /src/multiego/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/src/multiego/__init__.py -------------------------------------------------------------------------------- /src/multiego/resources/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/src/multiego/resources/__init__.py -------------------------------------------------------------------------------- /src/multiego/util/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/src/multiego/util/__init__.py -------------------------------------------------------------------------------- /src/multiego/util/float_range.py: -------------------------------------------------------------------------------- 1 | class FloatRange(object): 2 | """ 3 | Represents a range of floating-point values. 4 | 5 | Attributes: 6 | - start (float): The starting value of the range. 7 | - end (float): The ending value of the range. 8 | """ 9 | 10 | def __init__(self, start, end): 11 | """ 12 | Initializes a FloatRange object with a start and end value. 13 | 14 | Args: 15 | - start (float): The starting value of the range. 16 | - end (float): The ending value of the range. 17 | """ 18 | self.start = start 19 | self.end = end 20 | 21 | def __eq__(self, other): 22 | """ 23 | Checks if a value falls within the defined range. 24 | 25 | Args: 26 | - other (float): The value to check against the range. 27 | 28 | Returns: 29 | - bool: True if the value falls within the range, False otherwise. 30 | """ 31 | return self.start <= other <= self.end 32 | -------------------------------------------------------------------------------- /src/multiego/util/masking.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | 4 | def create_matrix_mask( 5 | set1, 6 | set2, 7 | types, 8 | symmetrize=False, 9 | inner_op=lambda x, y: x == y, 10 | outer_op=lambda x, y: x * y, 11 | ): 12 | """ 13 | Creates a boolean matrix mask based on comparison operations between two sets. 14 | 15 | Args: 16 | - set1 (numpy.ndarray): First set of values. 17 | - set2 (numpy.ndarray): Second set of values. 18 | - types (list): List of tuples representing types for comparison. 19 | - symmetrize (bool): Flag to determine whether to symmetrize type selection. 20 | - inner_op (function): Operation for element-wise comparison within each set. 21 | - outer_op (function): Operation for the combination of comparisons between sets. 22 | 23 | Returns: 24 | - numpy.ndarray: A boolean matrix mask reflecting the comparison operations. 25 | 26 | Note: 27 | - `inner_op` should be a function that compares an element of `set1` with a type. 28 | - `outer_op` should be a function that combines comparisons between `set1` and `set2`. 29 | """ 30 | # symmetrize type selection 31 | if symmetrize: 32 | types = list(set(types + [(t[1], t[0]) for t in types])) 33 | 34 | mask = np.full((set1.shape[0], set2.shape[0]), False) 35 | for type1, type2 in types: 36 | mask |= outer_op(inner_op(set1, type1), inner_op(set2, type2)[:, np.newaxis]).T 37 | 38 | return mask 39 | 40 | 41 | def create_array_mask( 42 | set1, 43 | set2, 44 | types, 45 | symmetrize=False, 46 | inner_op=lambda x, y: x == y, 47 | outer_op=lambda x, y: x * y, 48 | ): 49 | """ 50 | Creates a linearized boolean array mask from a matrix mask based on comparison operations between two sets. 51 | 52 | Args: 53 | - set1 (numpy.ndarray): First set of values. 54 | - set2 (numpy.ndarray): Second set of values. 55 | - types (list): List of tuples representing types for comparison. 56 | - symmetrize (bool): Flag to determine whether to symmetrize type selection. 57 | - inner_op (function): Operation for element-wise comparison within each set. 58 | - outer_op (function): Operation for the combination of comparisons between sets. 59 | 60 | Returns: 61 | - numpy.ndarray: A linearized boolean array mask reflecting the comparison operations. 62 | 63 | Note: 64 | - This function is derived from create_matrix_mask() to provide a flattened mask array. 65 | """ 66 | mask = create_matrix_mask(set1, set2, types, symmetrize, inner_op, outer_op) 67 | 68 | return mask.flatten() 69 | 70 | 71 | def create_linearized_mask( 72 | set1, 73 | set2, 74 | types, 75 | symmetrize=False, 76 | inner_op=lambda x, y: x == y, 77 | outer_op=lambda x, y: x * y, 78 | ): 79 | """ 80 | Creates a linearized boolean mask based on comparison operations between two sets. 81 | 82 | Args: 83 | - set1 (numpy.ndarray): First set of values. 84 | - set2 (numpy.ndarray): Second set of values. 85 | - types (list): List of tuples representing types for comparison. 86 | - symmetrize (bool): Flag to determine whether to symmetrize type selection. 87 | - inner_op (function): Operation for element-wise comparison within each set. 88 | - outer_op (function): Operation for the combination of comparisons between sets. 89 | 90 | Returns: 91 | - numpy.ndarray: A linearized boolean mask reflecting the comparison operations. 92 | 93 | Note: 94 | - This function does not provide a flattened mask array but operates on a 1D array. 95 | """ 96 | if symmetrize: 97 | types = list(set(types + [(t[1], t[0]) for t in types])) 98 | 99 | mask = np.full(set1.shape[0], False) 100 | for type1, type2 in types: 101 | mask |= outer_op(inner_op(set1, type1), inner_op(set2, type2)) 102 | 103 | return mask 104 | 105 | 106 | def map_c12_mask(types, mask, standard_c12_dict, special_c12_dict): 107 | """ 108 | Maps the c12 values based on a mask to derive a combined c12 array. 109 | 110 | Args: 111 | - types (numpy.ndarray): Array of types used for the mask. 112 | - mask (numpy.ndarray): Boolean mask array. 113 | - standard_c12_dict (dict): Dictionary mapping types to standard c12 values. 114 | - special_c12_dict (dict): Dictionary mapping types to special c12 values. 115 | 116 | Returns: 117 | - numpy.ndarray: A combined array of c12 values based on the mask and dictionaries. 118 | """ 119 | translator = lambda types, c12s_dict: np.vectorize(c12s_dict.__getitem__)(types) 120 | standard_c12 = np.where(np.logical_not(mask), translator(types, standard_c12_dict), 0.0) 121 | special_c12 = np.where(mask, translator(types, special_c12_dict), 0.0) 122 | 123 | all_c12 = standard_c12 + special_c12 124 | 125 | return all_c12 126 | -------------------------------------------------------------------------------- /test/run_cmdata.sh: -------------------------------------------------------------------------------- 1 | set -e 2 | set -o pipefail 3 | mkdir test_inputs/cmdata/histo 4 | cd test_inputs/cmdata/histo 5 | cmdata -f ../traj.xtc -s ../protein.tpr --mode=intra --noh5 6 | cd ../../../ 7 | tar -zxf test_outputs/cmdata/hh.tgz -C test_outputs/cmdata/ 8 | for i in `ls -1 test_inputs/cmdata/histo`; do 9 | diff test_inputs/cmdata/histo/$i test_outputs/cmdata/histo/$i 10 | done 11 | -------------------------------------------------------------------------------- /test/run_make_mat.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | set -o pipefail 5 | 6 | tar -zxf test_inputs/make_mat_ttr/hh.tgz -C test_inputs/make_mat_ttr/ 7 | python ../tools/make_mat/make_mat.py --histo test_inputs/make_mat_ttr/histo --target_top test_inputs/make_mat_ttr/topol_mego.top --mego_top test_inputs/make_mat_ttr/topol.top --cutoff 0.75 --mode intra+same --out test_inputs/make_mat_ttr/ 8 | python ../tools/make_mat/HDF52ndx.py --input test_inputs/make_mat_ttr/intramat_1_1.ndx.h5 9 | python ../tools/make_mat/HDF52ndx.py --input test_inputs/make_mat_ttr/intermat_1_1.ndx.h5 10 | diff test_inputs/make_mat_ttr/intramat_1_1.ndx test_outputs/make_mat_ttr/intramat_1_1.ndx 11 | diff test_inputs/make_mat_ttr/intermat_1_1.ndx test_outputs/make_mat_ttr/intermat_1_1.ndx 12 | python ../tools/make_mat/make_mat.py --zero --target_top test_inputs/make_mat_ttr/topol_mego.top --mego_top test_inputs/make_mat_ttr/topol.top --cutoff 0.75 --mode intra+same --out test_inputs/make_mat_ttr/ 13 | python ../tools/make_mat/HDF52ndx.py --input test_inputs/make_mat_ttr/intramat_1_1.ndx.h5 14 | python ../tools/make_mat/HDF52ndx.py --input test_inputs/make_mat_ttr/intermat_1_1.ndx.h5 15 | diff test_inputs/make_mat_ttr/intramat_1_1.ndx test_outputs/make_mat_ttr/intramat_1_1.ndx.zero 16 | diff test_inputs/make_mat_ttr/intermat_1_1.ndx test_outputs/make_mat_ttr/intermat_1_1.ndx.zero 17 | 18 | tar -zxf test_inputs/make_mat_popc/hh.tgz -C test_inputs/make_mat_popc/ 19 | python ../tools/make_mat/make_mat.py --histo test_inputs/make_mat_popc/histo --target_top test_inputs/make_mat_popc/topol_md.top --mego_top test_inputs/make_mat_popc/topol_ref.top --cutoff 0.75 --mode intra --out test_inputs/make_mat_popc/ --noh5 20 | #diff <(gzip -dc test_inputs/make_mat_popc/intramat_1_1.ndx.h5) <(gzip -dc test_outputs/make_mat_popc/intramat_1_1.ndx.h5) 21 | -------------------------------------------------------------------------------- /test/test_cases.txt: -------------------------------------------------------------------------------- 1 | --system gpref --egos mg --no_header --explicit_name case 2 | --config TEST_ROOT/test_inputs/gpref/config.yml --explicit_name case # --system gpref --egos production 3 | --config TEST_ROOT/test_inputs/abetaref/config.yml --explicit_name case # --system abetaref --egos production 4 | --config TEST_ROOT/test_inputs/ttrref/config.yml --explicit_name case # --system ttrref --egos production 5 | #--config TEST_ROOT/test_inputs/lyso-bnz_ref/config_1.yml --explicit_name case # --system lyso-bnz_ref --egos production 6 | #--config TEST_ROOT/test_inputs/lyso-bnz_ref/config.yml --explicit_name case # --system lyso-bnz_ref --egos production 7 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/aa_sym: -------------------------------------------------------------------------------- 1 | ARG NH1 NH2 2 | ASP OD1 OD2 3 | GLU OE1 OE2 4 | LEU CD1 CD2 5 | PHE CD1 CD2 6 | PHE CE1 CE2 7 | TYR CD1 CD2 8 | TYR CE1 CE2 9 | VAL CG1 CG2 10 | ALA O1 O2 # <--- CHANGE WITH THE CORRECT TERMINAL RESIDUE 11 | POPC C13 C14 12 | POPC C13 C15 13 | POPC C14 C15 14 | POPC O13 O14 15 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/config.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - system: abetaref 3 | - egos: production 4 | - no_header 5 | - single_molecule 6 | - symmetry: 7 | - ARG NH1 NH2 8 | - ASP OD1 OD2 9 | - GLU OE1 OE2 10 | - PHE CD1 CD2 11 | - PHE CE1 CE2 12 | - TYR CD1 CD2 13 | - TYR CE1 CE2 14 | - ALA O1 O2 15 | - input_refs: 16 | - reference: ref 17 | train: native_MD 18 | matrix: intramat_1_1 19 | epsilon: 0.31 20 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/native_MD/charmm27.ff/aminoacids.arn: -------------------------------------------------------------------------------- 1 | ; atom renaming specification 2 | ; residue gromacs forcefield 3 | * H HN 4 | 5 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/native_MD/charmm27.ff/aminoacids.c.tdb: -------------------------------------------------------------------------------- 1 | [ None ] 2 | 3 | [ COO- ] 4 | [ replace ] 5 | C C CC 12.011 0.34 6 | O OT1 OC 15.9994 -0.67 7 | OXT OT2 OC 15.9994 -0.67 8 | [ add ] 9 | 2 8 OT C CA N 10 | OC 15.9994 -0.67 -1 11 | [ impropers ] 12 | C CA OT2 OT1 13 | 14 | 15 | [ COOH ] 16 | [ replace ] 17 | C C CD 12.011 0.72 18 | O OT1 OB 15.9994 -0.55 19 | OXT OT2 OH1 15.9994 -0.61 20 | [ add ] 21 | 2 8 OT C CA N 22 | OB 15.9994 -0.55 -1 23 | 1 2 HT2 OT2 C CA 24 | H 1.008 0.44 -1 25 | [ replace ] 26 | OT2 OT2 OH1 15.9994 -0.61 27 | [ impropers ] 28 | C CA OT2 OT1 29 | 30 | 31 | [ CT2 ] 32 | [ replace ] 33 | C CC 12.011 0.55 34 | O O 15.9994 -0.55 35 | [ add ] 36 | 1 2 NT C CA N 37 | NH2 14.0027 -0.62 -1 38 | 2 3 HT NT C CA 39 | H 1.008 0.00 -1 40 | [ replace ] 41 | HT1 H 1.008 0.30 ; this one is trans to O 42 | HT2 H 1.008 0.32 ; this one is cis to O 43 | [ impropers ] 44 | C NT CA O 45 | C CA NT O 46 | NT C HT1 HT2 47 | NT C HT2 HT1 48 | [ CT3 ] 49 | ; N-Methylamide C-terminus 50 | ; 51 | ; | 52 | ; C=O 53 | ; | 54 | ; NT-HNT 55 | ; | 56 | ; HT1-CAT-HT3 57 | ; | 58 | ; HT2 59 | ; 60 | [ delete ] 61 | OXT 62 | [ add ] 63 | 1 8 NT C CA N 64 | NH1 14.0027 -0.47 -1 65 | 1 2 HNT NT C O 66 | H 1.008 0.31 -1 67 | 1 8 CAT NT C O 68 | CT3 12.011 -0.11 -1 69 | 3 4 HT CAT NT C 70 | HA 1.008 0.09 -1 71 | [ bonds ] 72 | NT CAT ; otherwise CAT does not get bonded to other atoms... 73 | [ impropers ] 74 | NT C CAT HNT 75 | C CA NT O 76 | [ cmap ] 77 | -C N CA C NT 78 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/native_MD/charmm27.ff/aminoacids.hdb: -------------------------------------------------------------------------------- 1 | ACE 1 2 | 3 4 HH3 CH3 C O 3 | AIB 3 4 | 1 1 HN N -C CA 5 | 3 4 HB1 CB1 CA N 6 | 3 4 HB2 CB2 CA N 7 | ALA 3 8 | 1 1 HN N -C CA 9 | 1 5 HA CA N C CB 10 | 3 4 HB CB CA N 11 | ARG 8 12 | 1 1 HN N -C CA 13 | 1 5 HA CA N C CB 14 | 2 6 HB CB CG CA 15 | 2 6 HG CG CD CB 16 | 2 6 HD CD NE CG 17 | 1 1 HE NE CD CZ 18 | 2 3 HH1 NH1 CZ NE 19 | 2 3 HH2 NH2 CZ NE 20 | ARGN 8 21 | 1 1 HN N -C CA 22 | 1 5 HA CA N C CB 23 | 2 6 HB CB CG CA 24 | 2 6 HG CG CD CB 25 | 2 6 HD CD NE CG 26 | 1 1 HE NE CD CZ 27 | 1 2 HH1 NH1 CZ NE 28 | 2 3 HH2 NH2 CZ NE 29 | ASN 4 30 | 1 1 HN N -C CA 31 | 1 5 HA CA N C CB 32 | 2 6 HB CB CG CA 33 | 2 3 HD2 ND2 CG CB 34 | ASP 3 35 | 1 1 HN N -C CA 36 | 1 5 HA CA N C CB 37 | 2 6 HB CB CG CA 38 | ASPP 4 39 | 1 1 HN N -C CA 40 | 1 5 HA CA N C CB 41 | 2 6 HB CB CG CA 42 | 1 2 HD2 OD2 CG CB 43 | CT3 2 44 | 1 1 HN N -C CH3 45 | 3 4 HH3 CH3 N HN 46 | CYS2 3 47 | 1 1 HN N -C CA 48 | 1 5 HA CA N C CB 49 | 2 6 HB CB SG CA 50 | CYS 4 51 | 1 1 HN N -C CA 52 | 1 5 HA CA N C CB 53 | 2 6 HB CB SG CA 54 | 1 2 HG1 SG CB CA 55 | GLN 5 56 | 1 1 HN N -C CA 57 | 1 5 HA CA N C CB 58 | 2 6 HB CB CG CA 59 | 2 6 HG CG CD CB 60 | 2 3 HE2 NE2 CD CG 61 | GLU 4 62 | 1 1 HN N -C CA 63 | 1 5 HA CA N C CB 64 | 2 6 HB CB CG CA 65 | 2 6 HG CG CD CB 66 | GLUP 5 67 | 1 1 HN N -C CA 68 | 1 5 HA CA N C CB 69 | 2 6 HB CB CG CA 70 | 2 6 HG CG CD CB 71 | 1 2 HE2 OE2 CD CG 72 | GLY 2 73 | 1 1 HN N -C CA 74 | 2 6 HA CA C N 75 | HSD 6 76 | 1 1 HN N -C CA 77 | 1 5 HA CA N C CB 78 | 2 6 HB CB CG CA 79 | 1 1 HD2 CD2 CG NE2 80 | 1 1 HE1 CE1 ND1 NE2 81 | 1 1 HD1 ND1 CG CE1 82 | HSE 6 83 | 1 1 HN N -C CA 84 | 2 6 HB CB CG CA 85 | 1 5 HA CA N C CB 86 | 1 1 HE2 NE2 CE1 CD2 87 | 1 1 HD2 CD2 CG NE2 88 | 1 1 HE1 CE1 ND1 NE2 89 | HSP 7 90 | 1 1 HN N -C CA 91 | 1 5 HA CA N C CB 92 | 2 6 HB CB CG CA 93 | 1 1 HD2 CD2 CG NE2 94 | 1 1 HE1 CE1 ND1 NE2 95 | 1 1 HD1 ND1 CG CE1 96 | 1 1 HE2 NE2 CE1 CD2 97 | HO4 1 98 | 3 10 HW OW 99 | HO5 1 100 | 4 11 HW OW 101 | HOH 1 102 | 2 7 HW OW 103 | ILE 6 104 | 1 1 HN N -C CA 105 | 1 5 HA CA N C CB 106 | 1 5 HB CB CA CG1 CG2 107 | 2 6 HG1 CG1 CD CB 108 | 3 4 HG2 CG2 CB CA 109 | 3 4 HD CD CG1 CB 110 | LEU 6 111 | 1 1 HN N -C CA 112 | 1 5 HA CA N C CB 113 | 2 6 HB CB CG CA 114 | 1 5 HG CG CB CD1 CD2 115 | 3 4 HD1 CD1 CG CB 116 | 3 4 HD2 CD2 CG CB 117 | LSN 7 118 | 1 1 HN N -C CA 119 | 1 5 HA CA N C CB 120 | 2 6 HB CB CG CA 121 | 2 6 HG CG CD CB 122 | 2 6 HD CD CE CG 123 | 2 6 HE CE NZ CD 124 | 2 4 HZ NZ CE CD 125 | LYS 7 126 | 1 1 HN N -C CA 127 | 1 5 HA CA N C CB 128 | 2 6 HB CB CG CA 129 | 2 6 HG CG CD CB 130 | 2 6 HD CD CE CG 131 | 2 6 HE CE NZ CD 132 | 3 4 HZ NZ CE CD 133 | MET 5 134 | 1 1 HN N -C CA 135 | 1 5 HA CA N C CB 136 | 2 6 HB CB CG CA 137 | 2 6 HG CG SD CB 138 | 3 4 HE CE SD CG 139 | PHE 8 140 | 1 1 HN N -C CA 141 | 1 5 HA CA N C CB 142 | 2 6 HB CB CG CA 143 | 1 1 HD1 CD1 CG CE1 144 | 1 1 HD2 CD2 CG CE2 145 | 1 1 HE1 CE1 CD1 CZ 146 | 1 1 HE2 CE2 CD2 CZ 147 | 1 1 HZ CZ CE1 CE2 148 | PRO 4 149 | 1 5 HA CA N C CB 150 | 2 6 HB CB CG CA 151 | 2 6 HG CG CD CB 152 | 2 6 HD CD N CG 153 | SER 4 154 | 1 1 HN N -C CA 155 | 1 5 HA CA N C CB 156 | 2 6 HB CB OG CA 157 | 1 2 HG1 OG CB CA 158 | THR 5 159 | 1 1 HN N -C CA 160 | 1 5 HA CA N C CB 161 | 1 5 HB CB CA OG1 CG2 162 | 1 2 HG1 OG1 CB CA 163 | 3 4 HG2 CG2 CB CA 164 | TRP 9 165 | 1 1 HN N -C CA 166 | 1 5 HA CA N C CB 167 | 2 6 HB CB CG CA 168 | 1 1 HD1 CD1 NE1 CG 169 | 1 1 HE1 NE1 CD1 CE2 170 | 1 1 HE3 CE3 CD2 CZ3 171 | 1 1 HZ3 CZ3 CE3 CH2 172 | 1 1 HH2 CH2 CZ3 CZ2 173 | 1 1 HZ2 CZ2 CE2 CH2 174 | TYR 8 175 | 1 1 HN N -C CA 176 | 1 5 HA CA N C CB 177 | 2 6 HB CB CG CA 178 | 1 1 HD1 CD1 CG CE1 179 | 1 1 HD2 CD2 CG CE2 180 | 1 1 HE1 CE1 CD1 CZ 181 | 1 1 HE2 CE2 CD2 CZ 182 | 1 2 HH OH CZ CE1 183 | VAL 5 184 | 1 1 HN N -C CA 185 | 1 5 HA CA N C CB 186 | 1 5 HB CB CA CG1 CG2 187 | 3 4 HG1 CG1 CB CA 188 | 3 4 HG2 CG2 CB CA 189 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/native_MD/charmm27.ff/aminoacids.n.tdb: -------------------------------------------------------------------------------- 1 | [ None ] 2 | 3 | [ GLY-NH3+ ] 4 | [ replace ] 5 | N N NH3 14.007 -0.3 6 | CA CA CT2 12.011 0.13 7 | [ Add ] 8 | 3 4 H N CA C 9 | HC 1.008 0.33 -1 10 | [ delete ] 11 | HN 12 | 13 | [ NH3+ ] 14 | [ replace ] 15 | N N NH3 14.007 -0.3 16 | CA CA CT1 12.011 0.21 17 | HA HA HB 1.008 0.10 18 | [ Add ] 19 | 3 4 H N CA C 20 | HC 1.008 0.33 -1 21 | [ delete ] 22 | HN 23 | 24 | [ PRO-NH2+ ] 25 | [ replace ] 26 | N N NP 14.007 -0.07 27 | CA CA CP1 12.011 0.16 28 | CD CD CP3 12.011 0.16 29 | [ add ] 30 | 2 4 H N CA C 31 | HC 1.008 0.24 -1 32 | 33 | ; 34 | [ NH2 ] 35 | [ replace ] 36 | N NH2 14.007 -0.96 37 | CA CT1 12.011 0.19 38 | HA HB 1.008 0.09 39 | [ add ] 40 | 2 4 HT N CA C 41 | H 1.008 0.34 -1 42 | [ delete ] 43 | HN 44 | 45 | 46 | ; 47 | [ GLY-NH2 ] 48 | [ replace ] 49 | N NH2 14.007 -0.96 50 | CA CT2 12.011 0.10 51 | [ add ] 52 | 2 4 HT N CA C 53 | H 1.008 0.34 -1 54 | [ delete ] 55 | HN 56 | 57 | 58 | ; 59 | [ PRO-NH ] 60 | [ replace ] 61 | N NP 14.007 -0.40 62 | CA CP1 12.011 -0.08 63 | CD CP3 12.011 -0.10 64 | [ add ] 65 | 1 4 H N CA C 66 | HC 1.008 0.31 -1 67 | 68 | 69 | 70 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/native_MD/charmm27.ff/aminoacids.r2b: -------------------------------------------------------------------------------- 1 | ; rtp residue to rtp building block table 2 | ;GMX Force-field 3 | HISD HSD 4 | HIS1 HSD 5 | HISE HSE 6 | HISH HSP 7 | LYSN LSN 8 | ASPH ASPP 9 | GLUH GLUP 10 | HEM HEME 11 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/native_MD/charmm27.ff/dna.arn: -------------------------------------------------------------------------------- 1 | DNA C7 C5M 2 | DNA H71 H51 3 | DNA H72 H52 4 | DNA H73 H53 5 | DNA OP1 O1P 6 | DNA OP2 O2P 7 | DNA H2' H2'1 8 | DNA H2'' H2'2 9 | DNA H5' H5'1 10 | DNA H5'' H5'2 11 | DNA HO5' H5T 12 | DNA HO3' H3T 13 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/native_MD/charmm27.ff/dna.c.tdb: -------------------------------------------------------------------------------- 1 | [ None ] 2 | 3 | [ 3' ] 4 | [ replace ] 5 | C3' C3' CN7 12.011 0.14 6 | H3' H3' HN7 1.008 0.09 7 | O3' O3' ON5 15.9994 -0.66 8 | [ Add ] 9 | 1 2 H3T O3' C3' C4' 10 | HN5 1.008 0.43 -1 11 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/native_MD/charmm27.ff/dna.hdb: -------------------------------------------------------------------------------- 1 | DA 8 2 | 2 6 H5' C5' O5' C4' 3 | 1 5 H4' C4' C5' O4' C3' 4 | 1 5 H1' C1' O4' N9 C2' 5 | 1 1 H8 C8 N9 N7 6 | 2 3 H6 N6 C6 C5 7 | 1 1 H2 C2 N1 N3 8 | 1 5 H3' C3' C4' C2' O3' 9 | 2 6 H2' C2' C1' C3' 10 | DT 8 11 | 2 6 H5' C5' O5' C4' 12 | 1 5 H4' C4' C5' O4' C3' 13 | 1 5 H1' C1' O4' N1 C2' 14 | 1 1 H6 C6 N1 C5 15 | 3 4 H5 C5M C5 C6 16 | 1 1 H3 N3 C4 C2 17 | 1 5 H3' C3' C4' C2' O3' 18 | 2 6 H2' C2' C1' C3' 19 | DG 8 20 | 2 6 H5' C5' O5' C4' 21 | 1 5 H4' C4' C5' O4' C3' 22 | 1 5 H1' C1' O4' N9 C2' 23 | 1 1 H8 C8 N9 N7 24 | 1 1 H1 N1 C6 C2 25 | 2 3 H2 N2 C2 N1 26 | 1 5 H3' C3' C4' C2' O3' 27 | 2 6 H2' C2' C1' C3' 28 | DC 8 29 | 2 6 H5' C5' O5' C4' 30 | 1 5 H4' C4' C5' O4' C3' 31 | 1 5 H1' C1' O4' N1 C2' 32 | 1 1 H6 C6 N1 C5 33 | 1 1 H5 C5 C6 C4 34 | 2 3 H4 N4 C4 C5 35 | 1 5 H3' C3' C4' C2' O3' 36 | 2 6 H2' C2' C1' C3' 37 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/native_MD/charmm27.ff/dna.n.tdb: -------------------------------------------------------------------------------- 1 | [ None ] 2 | 3 | [ 5' ] 4 | [ delete ] 5 | P 6 | O1P 7 | O2P 8 | [ replace ] 9 | O5' O5' ON5 15.9994 -0.66 10 | C5' C5' CN8B 12.011 0.05 11 | [ Add ] 12 | 1 2 H5T O5' C5' C4' 13 | HN5 1.008 0.43 -1 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/native_MD/charmm27.ff/forcefield.doc: -------------------------------------------------------------------------------- 1 | CHARMM27 all-atom force field (CHARM22 plus CMAP for proteins) 2 | 3 | ******************************************************************************* 4 | * CHARMM port writted by * 5 | * Par Bjelkmar, Per Larsson, Michel Cuendet, * 6 | * Berk Hess and Erik Lindahl. * 7 | * Correspondance: * 8 | * bjelkmar@cbr.su.se or lindahl@cbr.su.se * 9 | ******************************************************************************* 10 | 11 | 12 | Parameters derived from c32b1 version of CHARMM 13 | NOTE: Atom-based charge groups 14 | 15 | References: 16 | 17 | Proteins 18 | 19 | MacKerell, Jr., A. D., Feig, M., Brooks, C.L., III, Extending the 20 | treatment of backbone energetics in protein force fields: limitations 21 | of gas-phase quantum mechanics in reproducing protein conformational 22 | distributions in molecular dynamics simulations, Journal of 23 | Computational Chemistry, 25: 1400-1415, 2004. 24 | 25 | and 26 | 27 | MacKerell, Jr., A. D., et al. All-atom 28 | empirical potential for molecular modeling and dynamics Studies of 29 | proteins. Journal of Physical Chemistry B, 1998, 102, 3586-3616. 30 | 31 | Lipids 32 | 33 | Feller, S. and MacKerell, Jr., A.D. An Improved Empirical Potential 34 | Energy Function for Molecular Simulations of Phospholipids, Journal 35 | of Physical Chemistry B, 2000, 104: 7510-7515. 36 | 37 | Nucleic Acids 38 | 39 | Foloppe, N. and MacKerell, Jr., A.D. "All-Atom Empirical Force Field for 40 | Nucleic Acids: 2) Parameter Optimization Based on Small Molecule and 41 | Condensed Phase Macromolecular Target Data. 2000, 21: 86-104. 42 | 43 | and 44 | 45 | MacKerell, Jr., A.D. and Banavali, N. "All-Atom Empirical Force Field for 46 | Nucleic Acids: 2) Application to Molecular Dynamics Simulations of DNA 47 | and RNA in Solution. 2000, 21: 105-120. 48 | 49 | 50 | 51 | If using there parameters for research please cite: 52 | Bjelkmar, P., Larsson, P., Cuendet, M. A, Bess, B., Lindahl, E. 53 | Implementation of the CHARMM force field in GROMACS: Analysis of protein 54 | stability effects from correction maps, virtual interaction sites, and 55 | water models., Journal of Chemical Theory and Computation, 6: 459-466, 2010. 56 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/native_MD/charmm27.ff/forcefield.itp: -------------------------------------------------------------------------------- 1 | ******************************************************************************* 2 | * CHARMM port writted by * 3 | * Par Bjelkmar, Per Larsson, Michel Cuendet, * 4 | * Berk Hess and Erik Lindahl. * 5 | * Correspondance: * 6 | * bjelkmar@cbr.su.se or lindahl@cbr.su.se * 7 | ******************************************************************************* 8 | 9 | 10 | #define _FF_CHARMM 11 | [ defaults ] 12 | ; nbfunc comb-rule gen-pairs fudgeLJ fudgeQQ 13 | 1 2 yes 1.0 1.0 14 | 15 | #include "ffnonbonded.itp" 16 | #include "ffbonded.itp" 17 | #include "cmap.itp" 18 | ; Nucleic acids nonbonded and bonded parameters" 19 | #include "ffnanonbonded.itp" 20 | #include "ffnabonded.itp" 21 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/native_MD/charmm27.ff/ions.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] ; added by Bjelkmar Jan 2010, from c32b1/toppar/stream/toppar_water_ions.str 2 | ; molname nrexcl 3 | OH 1 4 | 5 | [ atoms ] 6 | ; id at type res nr residu name at name cg nr charge mass 7 | 1 OC 1 OH O1 1 -1.32 8 | 2 H 1 OH H1 1 0.32 9 | 10 | [ bonds ] 11 | ;i j funct length force.c. 12 | 1 2 1 0.09700 456056 ; hydroxyl bond 13 | 14 | [ moleculetype ] 15 | ; molname nrexcl 16 | NA 1 17 | 18 | [ atoms ] 19 | ; id at type res nr residu name at name cg nr charge 20 | 1 SOD 1 NA NA 1 1 21 | 22 | [ moleculetype ] 23 | ; molname nrexcl 24 | MG 1 25 | 26 | [ atoms ] 27 | ; id at type res nr residu name at name cg nr charge 28 | 1 MG 1 MG MG 1 2 29 | 30 | [ moleculetype ] 31 | ; molname nrexcl 32 | K 1 33 | 34 | [ atoms ] 35 | ; id at type res nr residu name at name cg nr charge 36 | 1 POT 1 K K 1 1 37 | 38 | [ moleculetype ] 39 | ; molname nrexcl 40 | CS 1 41 | 42 | [ atoms ] 43 | ; id at type res nr residu name at name cg nr charge 44 | 1 CES 1 CS CS 1 1 45 | 46 | [ moleculetype ] 47 | ; molname nrexcl 48 | CA 1 49 | 50 | [ atoms ] 51 | ; id at type res nr residu name at name cg nr charge 52 | 1 CAL 1 CA CA 1 2 53 | 54 | [ moleculetype ] 55 | ; molname nrexcl 56 | CL 1 57 | 58 | [ atoms ] 59 | ; id at type res nr residu name at name cg nr charge 60 | 1 CLA 1 CL CL 1 -1 61 | 62 | [ moleculetype ] 63 | ; molname nrexcl 64 | ZN 1 65 | 66 | [ atoms ] 67 | ; id at type res nr residu name at name cg nr charge 68 | 1 ZN 1 ZN ZN 1 2 69 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/native_MD/charmm27.ff/lipids.hdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/abetaref/native_MD/charmm27.ff/lipids.hdb -------------------------------------------------------------------------------- /test/test_inputs/abetaref/native_MD/charmm27.ff/rna.arn: -------------------------------------------------------------------------------- 1 | RNA OP1 O1P 2 | RNA OP2 O2P 3 | RNA H2' H2'1 4 | RNA H2'' H2'2 5 | RNA H5' H5'1 6 | RNA H5'' H5'2 7 | RNA HO5' H5T 8 | RNA HO3' H3T 9 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/native_MD/charmm27.ff/rna.c.tdb: -------------------------------------------------------------------------------- 1 | [ None ] 2 | 3 | [ 3' ] 4 | [ replace ] 5 | C3' C3' CN7 12.011 0.14 6 | H3' H3' HN7 1.008 0.09 7 | O3' O3' ON5 15.9994 -0.66 8 | [ Add ] 9 | 1 2 H3T O3' C3' C4' 10 | HN5 1.008 0.43 -1 11 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/native_MD/charmm27.ff/rna.hdb: -------------------------------------------------------------------------------- 1 | RA 9 2 | 2 6 H5' C5' O5' C4' 3 | 1 5 H4' C4' C5' O4' C3' 4 | 1 5 H1' C1' O4' N9 C2' 5 | 1 1 H8 C8 N9 N7 6 | 2 3 H6 N6 C6 C5 7 | 1 1 H2 C2 N1 N3 8 | 1 5 H3' C3' C4' C2' O3' 9 | 1 5 H2'2 C2' C1' C3' O2' 10 | 1 2 H2'1 O2' C2' C1' 11 | RU 9 12 | 2 6 H5' C5' O5' C4' 13 | 1 5 H4' C4' C5' O4' C3' 14 | 1 5 H1' C1' O4' N1 C2' 15 | 1 1 H6 C6 N1 C5 16 | 1 1 H5 C5 C6 C4 17 | 1 1 H3 N3 C4 C2 18 | 1 5 H3' C3' C4' C2' O3' 19 | 1 5 H2'2 C2' C1' C3' O2' 20 | 1 2 H2'1 O2' C2' C1' 21 | RG 9 22 | 2 6 H5' C5' O5' C4' 23 | 1 5 H4' C4' C5' O4' C3' 24 | 1 5 H1' C1' O4' N9 C2' 25 | 1 1 H8 C8 N9 N7 26 | 1 1 H1 N1 C6 C2 27 | 2 3 H2 N2 C2 N1 28 | 1 5 H3' C3' C4' C2' O3' 29 | 1 5 H2'2 C2' C1' C3' O2' 30 | 1 2 H2'1 O2' C2' C1' 31 | RC 9 32 | 2 6 H5' C5' O5' C4' 33 | 1 5 H4' C4' C5' O4' C3' 34 | 1 5 H1' C1' O4' N1 C2' 35 | 1 1 H6 C6 N1 C5 36 | 1 1 H5 C5 C6 C4 37 | 2 3 H4 N4 C4 C5 38 | 1 5 H3' C3' C4' C2' O3' 39 | 1 5 H2'2 C2' C1' C3' O2' 40 | 1 2 H2'1 O2' C2' C1' 41 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/native_MD/charmm27.ff/rna.n.tdb: -------------------------------------------------------------------------------- 1 | [ None ] 2 | 3 | [ 5' ] 4 | [ delete ] 5 | P 6 | O1P 7 | O2P 8 | [ replace ] 9 | O5' O5' ON5 15.9994 -0.66 10 | C5' C5' CN8B 12.011 0.05 11 | [ Add ] 12 | 1 2 H5T O5' C5' C4' 13 | HN5 1.008 0.43 -1 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/native_MD/charmm27.ff/rna.r2b: -------------------------------------------------------------------------------- 1 | ; rtp residue to rtp building block table 2 | ;GMX Force-field 3 | A RA 4 | G RG 5 | C RC 6 | U RU 7 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/native_MD/charmm27.ff/spc.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; molname nrexcl 3 | SOL 2 4 | 5 | [ atoms ] 6 | ; nr type resnr residue atom cgnr charge mass 7 | 1 OW 1 SOL OW 1 -0.82 8 | 2 HW 1 SOL HW1 1 0.41 9 | 3 HW 1 SOL HW2 1 0.41 10 | 11 | #ifndef FLEXIBLE 12 | [ settles ] 13 | ; OW funct doh dhh 14 | 1 1 0.1 0.16330 15 | 16 | [ exclusions ] 17 | 1 2 3 18 | 2 1 3 19 | 3 1 2 20 | #else 21 | [ bonds ] 22 | ; i j funct length force.c. 23 | 1 2 1 0.1 345000 0.1 345000 24 | 1 3 1 0.1 345000 0.1 345000 25 | 26 | [ angles ] 27 | ; i j k funct angle force.c. 28 | 2 1 3 1 109.47 383 109.47 383 29 | #endif 30 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/native_MD/charmm27.ff/spce.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; molname nrexcl 3 | SOL 2 4 | 5 | [ atoms ] 6 | ; nr type resnr residue atom cgnr charge mass 7 | 1 OW 1 SOL OW 1 -0.8476 8 | 2 HW 1 SOL HW1 1 0.4238 9 | 3 HW 1 SOL HW2 1 0.4238 10 | 11 | #ifndef FLEXIBLE 12 | [ settles ] 13 | ; OW funct doh dhh 14 | 1 1 0.1 0.16330 15 | 16 | [ exclusions ] 17 | 1 2 3 18 | 2 1 3 19 | 3 1 2 20 | #else 21 | [ bonds ] 22 | ; i j funct length force.c. 23 | 1 2 1 0.1 345000 0.1 345000 24 | 1 3 1 0.1 345000 0.1 345000 25 | 26 | [ angles ] 27 | ; i j k funct angle force.c. 28 | 2 1 3 1 109.47 383 109.47 383 29 | #endif 30 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/native_MD/charmm27.ff/tip3p.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; molname nrexcl 3 | SOL 2 4 | 5 | [ atoms ] 6 | ; id at type res nr residu name at name cg nr charge 7 | #ifdef _FF_CHARMM 8 | 1 OWT3 1 SOL OW 1 -0.834 9 | 2 HWT3 1 SOL HW1 1 0.417 10 | 3 HWT3 1 SOL HW2 1 0.417 11 | #endif 12 | 13 | 14 | #ifdef FLEXIBLE 15 | 16 | #ifdef CHARMM_TIP3P 17 | [ bonds ] 18 | ; i j funct length force.c. 19 | 1 2 1 0.09572 376560.0 0.09572 376560.0 20 | 1 3 1 0.09572 376560.0 0.09572 376560.0 21 | 22 | [ angles ] 23 | ; i j k funct angle force.c. 24 | 2 1 3 1 104.52 460.24 104.52 460.24 25 | #else 26 | [ bonds ] 27 | ; i j funct length force.c. 28 | 1 2 1 0.09572 502416.0 0.09572 502416.0 29 | 1 3 1 0.09572 502416.0 0.09572 502416.0 30 | 31 | [ angles ] 32 | ; i j k funct angle force.c. 33 | 2 1 3 1 104.52 628.02 104.52 628.02 34 | #endif 35 | 36 | 37 | #else 38 | [ settles ] 39 | ; i j funct length 40 | 1 1 0.09572 0.15139 41 | 42 | [ exclusions ] 43 | 1 2 3 44 | 2 1 3 45 | 3 1 2 46 | #endif 47 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/native_MD/charmm27.ff/tip4p.itp: -------------------------------------------------------------------------------- 1 | ; 2 | ; Note the strange order of atoms to make it faster in gromacs. 3 | ; 4 | [ moleculetype ] 5 | ; molname nrexcl 6 | SOL 2 7 | 8 | [ atoms ] 9 | ; id at type res nr residu name at name cg nr charge 10 | 1 OWT4 1 SOL OW 1 0.0 11 | 2 HWT4 1 SOL HW1 1 0.52 12 | 3 HWT4 1 SOL HW2 1 0.52 13 | 4 MWT4 1 SOL MW 1 -1.04 14 | 15 | #ifndef FLEXIBLE 16 | [ settles ] 17 | ; OW funct doh dhh 18 | 1 1 0.09572 0.15139 19 | #else 20 | [ bonds ] 21 | ; i j funct length force.c. 22 | 1 2 1 0.09572 502416.0 0.09572 502416.0 23 | 1 3 1 0.09572 502416.0 0.09572 502416.0 24 | 25 | [ angles ] 26 | ; i j k funct angle force.c. 27 | 2 1 3 1 104.52 628.02 104.52 628.02 28 | #endif 29 | 30 | [ exclusions ] 31 | 1 2 3 4 32 | 2 1 3 4 33 | 3 1 2 4 34 | 4 1 2 3 35 | 36 | ; The position of the virtual site is computed as follows: 37 | ; 38 | ; O 39 | ; 40 | ; D 41 | ; 42 | ; H H 43 | ; 44 | ; const = distance (OD) / [ cos (angle(DOH)) * distance (OH) ] 45 | ; 0.015 nm / [ cos (52.26 deg) * 0.09572 nm ] 46 | 47 | ; Vsite pos x4 = x1 + a*(x2-x1) + b*(x3-x1) 48 | 49 | [ virtual_sites3 ] 50 | ; Vsite from funct a b 51 | 4 1 2 3 1 0.128012065 0.128012065 52 | 53 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/native_MD/charmm27.ff/tip5p.itp: -------------------------------------------------------------------------------- 1 | ; original reference: [M. W. Mahoney and W. L. Jorgensen, J. Chem. Phys. 112 , 2000] 2 | ; 3 | ; Note that there are various issues with tip5p and the different forcefields. 4 | ; Discussion is here: https://gitlab.com/gromacs/gromacs/-/issues/1348 5 | 6 | [ moleculetype ] 7 | ; molname nrexcl 8 | SOL 2 9 | 10 | [ atoms ] 11 | ; id at type res nr res name at name cg nr charge mass 12 | 1 OWT5 1 SOL OW 1 0 15.99940 13 | 2 HWT5 1 SOL HW1 1 0.241 1.00800 14 | 3 HWT5 1 SOL HW2 1 0.241 1.00800 15 | 4 MWT5 1 SOL LP1 1 -0.241 0.00000 16 | 5 MWT5 1 SOL LP2 1 -0.241 0.00000 17 | 18 | #ifndef FLEXIBLE 19 | 20 | [ settles ] 21 | ; i funct doh dhh 22 | 1 1 0.09572 0.15139 23 | 24 | #else 25 | 26 | [ bonds ] 27 | ; i j funct length force.c. 28 | 1 2 1 0.09572 502416.0 0.09572 502416.0 29 | 1 3 1 0.09572 502416.0 0.09572 502416.0 30 | 31 | [ angles ] 32 | ; i j k funct angle force.c. 33 | 2 1 3 1 104.52 628.02 104.52 628.02 34 | 35 | #endif 36 | 37 | 38 | [ virtual_sites3 ] 39 | ; Vsite from funct a b c 40 | 4 1 2 3 4 -0.344908262 -0.34490826 -6.4437903493 41 | 5 1 2 3 4 -0.344908262 -0.34490826 6.4437903493 42 | 43 | 44 | [ exclusions ] 45 | 1 2 3 4 5 46 | 2 1 3 4 5 47 | 3 1 2 4 5 48 | 4 1 2 3 5 49 | 5 1 2 3 4 50 | 51 | 52 | ; The positions of the vsites are computed as follows: 53 | ; 54 | ; LP1 LP2 55 | ; 56 | ; O 57 | ; 58 | ; H1 H2 59 | ; 60 | ; angle A (H1-O-H2) = 104.52 61 | ; angle B (M1-O-M2) = 109.47 62 | ; dist C (H-O) = 0.09572 nm 63 | ; dist D (M-O) = 0.070 nm 64 | ; 65 | ;atom x y z 66 | ;O 0.0 0.0 0.0 67 | ;H1 0.585882276 0.756950327 0.0 68 | ;H2 0.585882276 -0.756950327 0.0 69 | ;M1 -0.404151276 0.0 0.571543301 70 | ;M2 -0.404151276 0.0 -0.571543301 71 | ; Dummy pos x4 = x1 + a4*(x2-x1) + b4*(x3-x1) + c4*((x2-x1) x (x3-x1)) 72 | ; Dummy pos x5 = x1 + a5*(x2-x1) + b5*(x3-x1) + c5*((x2-x1) x (x3-x1)) 73 | ; a4 = b4 = a5 = b5 = (D*cos(B/2)) / (2*C*cos(A/2)) = -0.34490826 74 | ; c5 = -c4 = (D * sin(B/2))/ (C^2 * sin(A)) = 6.4437903 75 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/native_MD/charmm27.ff/tips3p.itp: -------------------------------------------------------------------------------- 1 | ; CHARMM TIP3P [MacKerell et al. J Phys Chem B, 1998] with LJ interaction 2 | ; sites on the hydrogens, about 2 times slower than the original TIP3P model 3 | 4 | [ moleculetype ] 5 | ; molname nrexcl 6 | SOL 2 7 | 8 | [ atoms ] 9 | ; id at type res nr residu name at name cg nr charge 10 | 1 OT 1 SOL OW 1 -0.834 11 | 2 HT 1 SOL HW1 1 0.417 12 | 3 HT 1 SOL HW2 1 0.417 13 | 14 | #ifndef FLEXIBLE 15 | [ settles ] 16 | ; i j funct length 17 | 1 1 0.09572 0.15139 18 | 19 | [ exclusions ] 20 | 1 2 3 21 | 2 1 3 22 | 3 1 2 23 | #else 24 | [ bonds ] 25 | ; i j funct length force.c. 26 | 1 2 1 0.09572 376560.0 0.09572 376560.0 27 | 1 3 1 0.09572 376560.0 0.09572 376560.0 28 | 29 | [ angles ] 30 | ; i j k funct angle force.c. 31 | 2 1 3 1 104.52 460.24 104.52 460.24 32 | #endif 33 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/native_MD/charmm27.ff/watermodels.dat: -------------------------------------------------------------------------------- 1 | tip3p TIP3P TIP 3-point, recommended 2 | tip4p TIP4P TIP 4-point 3 | tips3p TIPS3P CHARMM TIP 3-point with LJ on H's 4 | tip5p TIP5P TIP 5-point (see https://gitlab.com/gromacs/gromacs/-/issues/1348 for issues) 5 | spc SPC simple point charge 6 | spce SPC/E extended simple point charge 7 | -------------------------------------------------------------------------------- /test/test_inputs/abetaref/native_MD/intramat_1_1.ndx.h5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/abetaref/native_MD/intramat_1_1.ndx.h5 -------------------------------------------------------------------------------- /test/test_inputs/abetaref/ref/intramat_1_1.ndx.h5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/abetaref/ref/intramat_1_1.ndx.h5 -------------------------------------------------------------------------------- /test/test_inputs/cmdata/.gitignore: -------------------------------------------------------------------------------- 1 | histo/ 2 | -------------------------------------------------------------------------------- /test/test_inputs/cmdata/protein.tpr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/cmdata/protein.tpr -------------------------------------------------------------------------------- /test/test_inputs/cmdata/traj.xtc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/cmdata/traj.xtc -------------------------------------------------------------------------------- /test/test_inputs/gpref/config.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - system: gpref 3 | - egos: production 4 | - no_header 5 | - single_molecule 6 | - symmetry: 7 | - ARG NH1 NH2 8 | - ASP OD1 OD2 9 | - GLU OE1 OE2 10 | - PHE CD1 CD2 11 | - PHE CE1 CE2 12 | - TYR CD1 CD2 13 | - TYR CE1 CE2 14 | - GLU O1 O2 15 | - input_refs: 16 | - reference: reference 17 | train: md_ensemble 18 | matrix: intramat_1_1 19 | epsilon: 0.310 20 | -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/charmm22st.ff/aminoacids.arn: -------------------------------------------------------------------------------- 1 | ; atom renaming specification 2 | ; residue gromacs forcefield 3 | * H HN 4 | 5 | -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/charmm22st.ff/aminoacids.c.tdb: -------------------------------------------------------------------------------- 1 | [ None ] 2 | 3 | [ COO- ] 4 | [ replace ] 5 | C C CC 12.011 0.34 6 | O OT1 OC 15.9994 -0.67 7 | OXT OT2 OC 15.9994 -0.67 8 | [ add ] 9 | 2 8 OT C CA N 10 | OC 15.9994 -0.67 -1 11 | [ impropers ] 12 | C CA OT2 OT1 13 | 14 | 15 | [ COOH ] 16 | [ replace ] 17 | C C CD 12.011 0.72 18 | O OT1 OB 15.9994 -0.55 19 | OXT OT2 OH 15.9994 -0.61 20 | [ add ] 21 | 2 8 OT C CA N 22 | OB 15.9994 -0.55 -1 23 | 1 2 HT2 OT2 C CA 24 | H 1.008 0.44 -1 25 | [ replace ] 26 | OT2 OT2 OH1 15.9994 -0.61 27 | [ impropers ] 28 | C CA OT2 OT1 29 | 30 | 31 | [ CT2 ] 32 | [ replace ] 33 | C CC 12.011 0.55 34 | O O 15.9994 -0.55 35 | [ add ] 36 | 1 2 NT C CA N 37 | NH2 14.0027 -0.62 -1 38 | 2 3 HT NT C CA 39 | H 1.008 0.00 -1 40 | [ replace ] 41 | HT1 H 1.008 0.30 ; this one is trans to O 42 | HT2 H 1.008 0.32 ; this one is cis to O 43 | [ impropers ] 44 | C NT CA O 45 | C CA NT O 46 | NT C HT1 HT2 47 | NT C HT2 HT1 48 | [ CT3 ] 49 | ; N-Methylamide C-terminus 50 | ; 51 | ; | 52 | ; C=O 53 | ; | 54 | ; NT-HNT 55 | ; | 56 | ; HT1-CAT-HT3 57 | ; | 58 | ; HT2 59 | ; 60 | [ delete ] 61 | OXT 62 | [ add ] 63 | 1 8 NT C CA N 64 | NH1 14.0027 -0.47 -1 65 | 1 2 HNT NT C O 66 | H 1.008 0.31 -1 67 | 1 8 CAT NT C O 68 | CT3 12.011 -0.11 -1 69 | 3 4 HT CAT NT C 70 | HA 1.008 0.09 -1 71 | [ bonds ] 72 | NT CAT ; otherwise CAT does not get bonded to other atoms... 73 | [ impropers ] 74 | NT C CAT HNT 75 | C CA NT O 76 | [ cmap ] 77 | -C N CA C NT 78 | -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/charmm22st.ff/aminoacids.hdb: -------------------------------------------------------------------------------- 1 | ACE 1 2 | 3 4 HH3 CH3 C O 3 | AIB 3 4 | 1 1 HN N -C CA 5 | 3 4 HB1 CB1 CA N 6 | 3 4 HB2 CB2 CA N 7 | ALA 3 8 | 1 1 HN N -C CA 9 | 1 5 HA CA N C CB 10 | 3 4 HB CB CA N 11 | ARG 8 12 | 1 1 HN N -C CA 13 | 1 5 HA CA N C CB 14 | 2 6 HB CB CG CA 15 | 2 6 HG CG CD CB 16 | 2 6 HD CD NE CG 17 | 1 1 HE NE CD CZ 18 | 2 3 HH1 NH1 CZ NE 19 | 2 3 HH2 NH2 CZ NE 20 | ARGN 8 21 | 1 1 HN N -C CA 22 | 1 5 HA CA N C CB 23 | 2 6 HB CB CG CA 24 | 2 6 HG CG CD CB 25 | 2 6 HD CD NE CG 26 | 1 1 HE NE CD CZ 27 | 1 2 HH1 NH1 CZ NE 28 | 2 3 HH2 NH2 CZ NE 29 | ASN 4 30 | 1 1 HN N -C CA 31 | 1 5 HA CA N C CB 32 | 2 6 HB CB CG CA 33 | 2 3 HD2 ND2 CG CB 34 | ASP 3 35 | 1 1 HN N -C CA 36 | 1 5 HA CA N C CB 37 | 2 6 HB CB CG CA 38 | ASPP 4 39 | 1 1 HN N -C CA 40 | 1 5 HA CA N C CB 41 | 2 6 HB CB CG CA 42 | 1 2 HD2 OD2 CG CB 43 | CT3 2 44 | 1 1 HN N -C CH3 45 | 3 4 HH3 CH3 N HN 46 | CYS2 3 47 | 1 1 HN N -C CA 48 | 1 5 HA CA N C CB 49 | 2 6 HB CB SG CA 50 | CYS 4 51 | 1 1 HN N -C CA 52 | 1 5 HA CA N C CB 53 | 2 6 HB CB SG CA 54 | 1 2 HG1 SG CB CA 55 | GLN 5 56 | 1 1 HN N -C CA 57 | 1 5 HA CA N C CB 58 | 2 6 HB CB CG CA 59 | 2 6 HG CG CD CB 60 | 2 3 HE2 NE2 CD CG 61 | GLU 4 62 | 1 1 HN N -C CA 63 | 1 5 HA CA N C CB 64 | 2 6 HB CB CG CA 65 | 2 6 HG CG CD CB 66 | GLUP 5 67 | 1 1 HN N -C CA 68 | 1 5 HA CA N C CB 69 | 2 6 HB CB CG CA 70 | 2 6 HG CG CD CB 71 | 1 2 HE2 OE2 CD CG 72 | GLY 2 73 | 1 1 HN N -C CA 74 | 2 6 HA CA C N 75 | HIS1 6 76 | 1 1 HN N -C CA 77 | 1 5 HA CA N C CB 78 | 2 6 HB CB CG CA 79 | 1 1 HD2 CD2 CG NE2 80 | 1 1 HE1 CE1 ND1 NE2 81 | 1 1 HD1 ND1 CG CE1 82 | HSD 6 83 | 1 1 HN N -C CA 84 | 1 5 HA CA N C CB 85 | 2 6 HB CB CG CA 86 | 1 1 HD2 CD2 CG NE2 87 | 1 1 HE1 CE1 ND1 NE2 88 | 1 1 HD1 ND1 CG CE1 89 | HSE 6 90 | 1 1 HN N -C CA 91 | 2 6 HB CB CG CA 92 | 1 5 HA CA N C CB 93 | 1 1 HE2 NE2 CE1 CD2 94 | 1 1 HD2 CD2 CG NE2 95 | 1 1 HE1 CE1 ND1 NE2 96 | HSP 7 97 | 1 1 HN N -C CA 98 | 1 5 HA CA N C CB 99 | 2 6 HB CB CG CA 100 | 1 1 HD2 CD2 CG NE2 101 | 1 1 HE1 CE1 ND1 NE2 102 | 1 1 HD1 ND1 CG CE1 103 | 1 1 HE2 NE2 CE1 CD2 104 | HO4 1 105 | 3 10 HW OW 106 | HO5 1 107 | 4 11 HW OW 108 | HOH 1 109 | 2 7 HW OW 110 | ILE 6 111 | 1 1 HN N -C CA 112 | 1 5 HA CA N C CB 113 | 1 5 HB CB CA CG1 CG2 114 | 2 6 HG1 CG1 CD CB 115 | 3 4 HG2 CG2 CB CA 116 | 3 4 HD CD CG1 CB 117 | LEU 6 118 | 1 1 HN N -C CA 119 | 1 5 HA CA N C CB 120 | 2 6 HB CB CG CA 121 | 1 5 HG CG CB CD1 CD2 122 | 3 4 HD1 CD1 CG CB 123 | 3 4 HD2 CD2 CG CB 124 | LSN 7 125 | 1 1 HN N -C CA 126 | 1 5 HA CA N C CB 127 | 2 6 HB CB CG CA 128 | 2 6 HG CG CD CB 129 | 2 6 HD CD CE CG 130 | 2 6 HE CE NZ CD 131 | 2 4 HZ NZ CE CD 132 | LYS 7 133 | 1 1 HN N -C CA 134 | 1 5 HA CA N C CB 135 | 2 6 HB CB CG CA 136 | 2 6 HG CG CD CB 137 | 2 6 HD CD CE CG 138 | 2 6 HE CE NZ CD 139 | 3 4 HZ NZ CE CD 140 | MET 5 141 | 1 1 HN N -C CA 142 | 1 5 HA CA N C CB 143 | 2 6 HB CB CG CA 144 | 2 6 HG CG SD CB 145 | 3 4 HE CE SD CG 146 | PHE 8 147 | 1 1 HN N -C CA 148 | 1 5 HA CA N C CB 149 | 2 6 HB CB CG CA 150 | 1 1 HD1 CD1 CG CE1 151 | 1 1 HD2 CD2 CG CE2 152 | 1 1 HE1 CE1 CD1 CZ 153 | 1 1 HE2 CE2 CD2 CZ 154 | 1 1 HZ CZ CE1 CE2 155 | PRO 4 156 | 1 5 HA CA N C CB 157 | 2 6 HB CB CG CA 158 | 2 6 HG CG CD CB 159 | 2 6 HD CD N CG 160 | SER 4 161 | 1 1 HN N -C CA 162 | 1 5 HA CA N C CB 163 | 2 6 HB CB OG CA 164 | 1 2 HG1 OG CB CA 165 | THR 5 166 | 1 1 HN N -C CA 167 | 1 5 HA CA N C CB 168 | 1 5 HB CB CA OG1 CG2 169 | 1 2 HG1 OG1 CB CA 170 | 3 4 HG2 CG2 CB CA 171 | TRP 9 172 | 1 1 HN N -C CA 173 | 1 5 HA CA N C CB 174 | 2 6 HB CB CG CA 175 | 1 1 HD1 CD1 NE1 CG 176 | 1 1 HE1 NE1 CD1 CE2 177 | 1 1 HE3 CE3 CD2 CZ3 178 | 1 1 HZ3 CZ3 CE3 CH2 179 | 1 1 HH2 CH2 CZ3 CZ2 180 | 1 1 HZ2 CZ2 CE2 CH2 181 | TYR 8 182 | 1 1 HN N -C CA 183 | 1 5 HA CA N C CB 184 | 2 6 HB CB CG CA 185 | 1 1 HD1 CD1 CG CE1 186 | 1 1 HD2 CD2 CG CE2 187 | 1 1 HE1 CE1 CD1 CZ 188 | 1 1 HE2 CE2 CD2 CZ 189 | 1 2 HH OH CZ CE1 190 | VAL 5 191 | 1 1 HN N -C CA 192 | 1 5 HA CA N C CB 193 | 1 5 HB CB CA CG1 CG2 194 | 3 4 HG1 CG1 CB CA 195 | 3 4 HG2 CG2 CB CA 196 | -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/charmm22st.ff/aminoacids.n.tdb: -------------------------------------------------------------------------------- 1 | [ None ] 2 | 3 | [ GLY-NH3+ ] 4 | [ replace ] 5 | N N NH3 14.007 -0.3 6 | CA CA CT2 12.011 0.13 7 | [ Add ] 8 | 3 4 H N CA C 9 | HC 1.008 0.33 -1 10 | [ delete ] 11 | HN 12 | 13 | [ NH3+ ] 14 | [ replace ] 15 | N N NH3 14.007 -0.3 16 | CA CA CT1 12.011 0.21 17 | HA HA HB 1.008 0.10 18 | [ Add ] 19 | 3 4 H N CA C 20 | HC 1.008 0.33 -1 21 | [ delete ] 22 | HN 23 | 24 | [ PRO-NH2+ ] 25 | [ replace ] 26 | N N NP 14.007 -0.07 27 | CA CA CP1 12.011 0.16 28 | CD CD CP3 12.011 0.16 29 | [ add ] 30 | 2 4 H N CA C 31 | HC 1.008 0.24 -1 32 | 33 | ; 34 | [ NH2 ] 35 | [ replace ] 36 | N NH2 14.007 -0.96 37 | CA CT1 12.011 0.19 38 | HA HB 1.008 0.09 39 | [ add ] 40 | 2 4 HT N CA C 41 | H 1.008 0.34 -1 42 | [ delete ] 43 | HN 44 | 45 | 46 | ; 47 | [ GLY-NH2 ] 48 | [ replace ] 49 | N NH2 14.007 -0.96 50 | CA CT2 12.011 0.10 51 | [ add ] 52 | 2 4 HT N CA C 53 | H 1.008 0.34 -1 54 | [ delete ] 55 | HN 56 | 57 | 58 | ; 59 | [ PRO-NH ] 60 | [ replace ] 61 | N NP 14.007 -0.40 62 | CA CP1 12.011 -0.08 63 | CD CP3 12.011 -0.10 64 | [ add ] 65 | 1 4 H N CA C 66 | HC 1.008 0.31 -1 67 | 68 | 69 | 70 | -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/charmm22st.ff/aminoacids.r2b: -------------------------------------------------------------------------------- 1 | ; rtp residue to rtp building block table 2 | ;GMX Force-field 3 | HISD HSD 4 | HISE HSE 5 | HISH HSP 6 | LYSN LSN 7 | ASPH ASPP 8 | GLUH GLUP 9 | HEM HEME 10 | -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/charmm22st.ff/dna.arn: -------------------------------------------------------------------------------- 1 | DNA C7 C5M 2 | DNA H71 H51 3 | DNA H72 H52 4 | DNA H73 H53 5 | DNA OP1 O1P 6 | DNA OP2 O2P 7 | DNA H2' H2'1 8 | DNA H2'' H2'2 9 | DNA H5' H5'1 10 | DNA H5'' H5'2 11 | DNA HO5' H5T 12 | DNA HO3' H3T 13 | -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/charmm22st.ff/dna.c.tdb: -------------------------------------------------------------------------------- 1 | [ None ] 2 | 3 | [ 3' ] 4 | [ replace ] 5 | C3' C3' CN7 12.011 0.14 6 | H3' H3' HN7 1.008 0.09 7 | O3' O3' ON5 15.9994 -0.66 8 | [ Add ] 9 | 1 2 H3T O3' C3' C4' 10 | HN5 1.008 0.43 -1 11 | -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/charmm22st.ff/dna.hdb: -------------------------------------------------------------------------------- 1 | DA 8 2 | 2 6 H5' C5' O5' C4' 3 | 1 5 H4' C4' C5' O4' C3' 4 | 1 5 H1' C1' O4' N9 C2' 5 | 1 1 H8 C8 N9 N7 6 | 2 3 H6 N6 C6 C5 7 | 1 1 H2 C2 N1 N3 8 | 1 5 H3' C3' C4' C2' O3' 9 | 2 6 H2' C2' C1' C3' 10 | DT 8 11 | 2 6 H5' C5' O5' C4' 12 | 1 5 H4' C4' C5' O4' C3' 13 | 1 5 H1' C1' O4' N1 C2' 14 | 1 1 H6 C6 N1 C5 15 | 3 4 H5 C5M C5 C6 16 | 1 1 H3 N3 C4 C2 17 | 1 5 H3' C3' C4' C2' O3' 18 | 2 6 H2' C2' C1' C3' 19 | DG 8 20 | 2 6 H5' C5' O5' C4' 21 | 1 5 H4' C4' C5' O4' C3' 22 | 1 5 H1' C1' O4' N9 C2' 23 | 1 1 H8 C8 N9 N7 24 | 1 1 H1 N1 C6 C2 25 | 2 3 H2 N2 C2 N1 26 | 1 5 H3' C3' C4' C2' O3' 27 | 2 6 H2' C2' C1' C3' 28 | DC 8 29 | 2 6 H5' C5' O5' C4' 30 | 1 5 H4' C4' C5' O4' C3' 31 | 1 5 H1' C1' O4' N1 C2' 32 | 1 1 H6 C6 N1 C5 33 | 1 1 H5 C5 C6 C4 34 | 2 3 H4 N4 C4 C5 35 | 1 5 H3' C3' C4' C2' O3' 36 | 2 6 H2' C2' C1' C3' 37 | -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/charmm22st.ff/dna.n.tdb: -------------------------------------------------------------------------------- 1 | [ None ] 2 | 3 | [ 5' ] 4 | [ delete ] 5 | P 6 | O1P 7 | O2P 8 | [ replace ] 9 | O5' O5' ON5 15.9994 -0.66 10 | C5' C5' CN8B 12.011 0.05 11 | [ Add ] 12 | 1 2 H5T O5' C5' C4' 13 | HN5 1.008 0.43 -1 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/charmm22st.ff/forcefield.doc: -------------------------------------------------------------------------------- 1 | CHARMM22* all-atom force field 2 | 3 | ******************************************************************************* 4 | * CHARMM port writted by * 5 | * Par Bjelkmar, Per Larsson, Michel Cuendet, * 6 | * Berk Hess and Erik Lindahl. * 7 | * Correspondance: * 8 | * bjelkmar@cbr.su.se or lindahl@cbr.su.se * 9 | ******************************************************************************* 10 | 11 | 12 | Parameters derived from c32b1 version of CHARMM 13 | NOTE: Atom-based charge groups 14 | 15 | References: 16 | 17 | Proteins 18 | 19 | MacKerell, Jr., A. D., Feig, M., Brooks, C.L., III, Extending the 20 | treatment of backbone energetics in protein force fields: limitations 21 | of gas-phase quantum mechanics in reproducing protein conformational 22 | distributions in molecular dynamics simulations, Journal of 23 | Computational Chemistry, 25: 1400-1415, 2004. 24 | 25 | and 26 | 27 | MacKerell, Jr., A. D., et al. All-atom 28 | empirical potential for molecular modeling and dynamics Studies of 29 | proteins. Journal of Physical Chemistry B, 1998, 102, 3586-3616. 30 | 31 | Lipids 32 | 33 | Feller, S. and MacKerell, Jr., A.D. An Improved Empirical Potential 34 | Energy Function for Molecular Simulations of Phospholipids, Journal 35 | of Physical Chemistry B, 2000, 104: 7510-7515. 36 | 37 | Nucleic Acids 38 | 39 | Foloppe, N. and MacKerell, Jr., A.D. "All-Atom Empirical Force Field for 40 | Nucleic Acids: 2) Parameter Optimization Based on Small Molecule and 41 | Condensed Phase Macromolecular Target Data. 2000, 21: 86-104. 42 | 43 | and 44 | 45 | MacKerell, Jr., A.D. and Banavali, N. "All-Atom Empirical Force Field for 46 | Nucleic Acids: 2) Application to Molecular Dynamics Simulations of DNA 47 | and RNA in Solution. 2000, 21: 105-120. 48 | 49 | 50 | 51 | If using there parameters for research please cite: 52 | Bjelkmar, P., Larsson, P., Cuendet, M. A, Bess, B., Lindahl, E. 53 | Implementation of the CHARMM force field in GROMACS: Analysis of protein 54 | stability effects from correction maps, virtual interaction sites, and 55 | water models., Journal of Chemical Theory and Computation, 6: 459-466, 2010. 56 | -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/charmm22st.ff/forcefield.itp: -------------------------------------------------------------------------------- 1 | ******************************************************************************* 2 | * CHARMM port writted by * 3 | * Par Bjelkmar, Per Larsson, Michel Cuendet, * 4 | * Berk Hess and Erik Lindahl. * 5 | * Correspondance: * 6 | * bjelkmar@cbr.su.se or lindahl@cbr.su.se * 7 | ******************************************************************************* 8 | 9 | 10 | #define _FF_CHARMM 11 | [ defaults ] 12 | ; nbfunc comb-rule gen-pairs fudgeLJ fudgeQQ 13 | 1 2 yes 1.0 1.0 14 | 15 | #include "ffnonbonded.itp" 16 | #include "ffbonded.itp" 17 | #include "gb.itp" 18 | #include "cmap.itp" 19 | ; Nucleic acids nonbonded and bonded parameters" 20 | #include "ffnanonbonded.itp" 21 | #include "ffnabonded.itp" 22 | -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/charmm22st.ff/gb.itp: -------------------------------------------------------------------------------- 1 | [ implicit_genborn_params ] 2 | 3 | ; Atom type sar st pi gbr hct 4 | NH1 0.155 1 1.028 0.17063 0.79 ; N 5 | N 0.155 1 1 0.155 0.79 ; Proline backbone N 6 | NP 0.155 1 1 0.155 0.79 ; Proline backbone N for Proline N-terminus 7 | H 0.1 1 1 0.115 0.85 ; H 8 | CT1 0.180 1 1.276 0.190 0.72 ; C 9 | HB 0.1 1 1 0.125 0.85 ; H 10 | CT3 0.200 1 0.880 0.190 0.72 ; C 11 | HA 0.1 1 1 0.125 0.85 ; H 12 | C 0.172 1 1.554 0.1875 0.72 ; C 13 | O 0.150 1 0.926 0.148 0.85 ; O 14 | CT2 0.190 1 1.045 0.190 0.72 ; C 15 | NC2 0.160 1 1.215 0.17063 0.79 ; N 16 | HC 0.1 1 1 0.115 0.85 ; H 17 | CC 0.172 1 1.554 0.1875 0.72 ; C 18 | CD 0.172 1 1.554 0.1875 0.72 ; carbonyl C (in COOH termini) 19 | NH2 0.160 1 1.215 0.17063 0.79 ; N 20 | OC 0.170 1 0.922 0.148 0.85 ; O 21 | OB 0.170 1 0.922 0.148 0.85 ; carbonyl O (in COOH termini) 22 | S 0.180 1 1.121 0.1775 0.96 ; S 23 | SM 0.180 1 1.121 0.1775 0.96 ; disulfide sulfur 24 | HS 0.1 1 1 0.125 0.85 ; H 25 | NR1 0.155 1 1.028 0.17063 0.79 ; N 26 | CPH1 0.172 1 1.554 0.1875 0.72 ; C 27 | CPH2 0.180 1 1.073 0.1875 0.72 ; C 28 | HR1 0.1 1 1 0.125 0.85 ; H 29 | HR2 0.1 1 1 0.125 0.85 ; H 30 | NR2 0.155 1 1.215 0.17063 0.79 ; N 31 | HR3 0.1 1 1 0.115 0.85 ; H 32 | NR3 0.155 1 1.215 0.17063 0.79 ; N 33 | NH3 0.160 1 1.215 0.1625 0.79 ; N 34 | HP 0.1 1 1 0.125 0.85 ; H 35 | CP3 0.190 1 1.045 0.190 0.72 ; C 36 | CP1 0.180 1 1.276 0.190 0.72 ; C 37 | CP2 0.190 1 1.045 0.190 0.72 ; C 38 | OH1 0.152 1 1.080 0.1535 0.85 ; O 39 | CY 0.172 0.012 1.554 0.1875 0.72 ; C 40 | CA 0.180 1 1.073 0.1875 0.72 ; C 41 | HP 0.1 1 1 0.125 0.85 ; H 42 | NY 0.155 1 1.028 0.17063 0.79 ; N 43 | CPT 0.172 0.012 1.554 0.1875 0.72 ; C 44 | MNH3 0 0 0 0 0 ; dummy mass 45 | MNH2 0 0 0 0 0 ; dummy mass 46 | MCH3 0 0 0 0 0 ; dummy mass 47 | MCH3S 0 0 0 0 0 ; dummy mass 48 | MW 0 0 0 0 0 49 | -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/charmm22st.ff/ions.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] ; added by Bjelkmar Jan 2010, from c32b1/toppar/stream/toppar_water_ions.str 2 | ; molname nrexcl 3 | OH 1 4 | 5 | [ atoms ] 6 | ; id at type res nr residu name at name cg nr charge mass 7 | 1 OC 1 OH O1 1 -1.32 8 | 2 H 1 OH H1 1 0.32 9 | 10 | [ bonds ] 11 | ;i j funct length force.c. 12 | 1 2 1 0.09700 456056 ; hydroxyl bond 13 | 14 | [ moleculetype ] 15 | ; molname nrexcl 16 | NA 1 17 | 18 | [ atoms ] 19 | ; id at type res nr residu name at name cg nr charge 20 | 1 SOD 1 NA NA 1 1 21 | 22 | [ moleculetype ] 23 | ; molname nrexcl 24 | MG 1 25 | 26 | [ atoms ] 27 | ; id at type res nr residu name at name cg nr charge 28 | 1 MG 1 MG MG 1 2 29 | 30 | [ moleculetype ] 31 | ; molname nrexcl 32 | K 1 33 | 34 | [ atoms ] 35 | ; id at type res nr residu name at name cg nr charge 36 | 1 POT 1 K K 1 1 37 | 38 | [ moleculetype ] 39 | ; molname nrexcl 40 | CS 1 41 | 42 | [ atoms ] 43 | ; id at type res nr residu name at name cg nr charge 44 | 1 CES 1 CS CS 1 1 45 | 46 | [ moleculetype ] 47 | ; molname nrexcl 48 | CA 1 49 | 50 | [ atoms ] 51 | ; id at type res nr residu name at name cg nr charge 52 | 1 CAL 1 CA CA 1 2 53 | 54 | [ moleculetype ] 55 | ; molname nrexcl 56 | CL 1 57 | 58 | [ atoms ] 59 | ; id at type res nr residu name at name cg nr charge 60 | 1 CLA 1 CL CL 1 -1 61 | 62 | [ moleculetype ] 63 | ; molname nrexcl 64 | ZN 1 65 | 66 | [ atoms ] 67 | ; id at type res nr residu name at name cg nr charge 68 | 1 ZN 1 ZN ZN 1 -2 69 | -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/charmm22st.ff/lipids.hdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/gpref/md_ensemble/charmm22st.ff/lipids.hdb -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/charmm22st.ff/rna.arn: -------------------------------------------------------------------------------- 1 | RNA OP1 O1P 2 | RNA OP2 O2P 3 | RNA H2' H2'1 4 | RNA H2'' H2'2 5 | RNA H5' H5'1 6 | RNA H5'' H5'2 7 | RNA HO5' H5T 8 | RNA HO3' H3T 9 | -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/charmm22st.ff/rna.c.tdb: -------------------------------------------------------------------------------- 1 | [ None ] 2 | 3 | [ 3' ] 4 | [ replace ] 5 | C3' C3' CN7 12.011 0.14 6 | H3' H3' HN7 1.008 0.09 7 | O3' O3' ON5 15.9994 -0.66 8 | [ Add ] 9 | 1 2 H3T O3' C3' C4' 10 | HN5 1.008 0.43 -1 11 | -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/charmm22st.ff/rna.hdb: -------------------------------------------------------------------------------- 1 | RA 9 2 | 2 6 H5' C5' O5' C4' 3 | 1 5 H4' C4' C5' O4' C3' 4 | 1 5 H1' C1' O4' N9 C2' 5 | 1 1 H8 C8 N9 N7 6 | 2 3 H6 N6 C6 C5 7 | 1 1 H2 C2 N1 N3 8 | 1 5 H3' C3' C4' C2' O3' 9 | 1 5 H2'2 C2' C1' C3' O2' 10 | 1 2 H2'1 O2' C2' C1' 11 | RU 9 12 | 2 6 H5' C5' O5' C4' 13 | 1 5 H4' C4' C5' O4' C3' 14 | 1 5 H1' C1' O4' N1 C2' 15 | 1 1 H6 C6 N1 C5 16 | 1 1 H5 C5 C6 C4 17 | 1 1 H3 N3 C4 C2 18 | 1 5 H3' C3' C4' C2' O3' 19 | 1 5 H2'2 C2' C1' C3' O2' 20 | 1 2 H2'1 O2' C2' C1' 21 | RG 9 22 | 2 6 H5' C5' O5' C4' 23 | 1 5 H4' C4' C5' O4' C3' 24 | 1 5 H1' C1' O4' N9 C2' 25 | 1 1 H8 C8 N9 N7 26 | 1 1 H1 N1 C6 C2 27 | 2 3 H2 N2 C2 N1 28 | 1 5 H3' C3' C4' C2' O3' 29 | 1 5 H2'2 C2' C1' C3' O2' 30 | 1 2 H2'1 O2' C2' C1' 31 | RC 9 32 | 2 6 H5' C5' O5' C4' 33 | 1 5 H4' C4' C5' O4' C3' 34 | 1 5 H1' C1' O4' N1 C2' 35 | 1 1 H6 C6 N1 C5 36 | 1 1 H5 C5 C6 C4 37 | 2 3 H4 N4 C4 C5 38 | 1 5 H3' C3' C4' C2' O3' 39 | 1 5 H2'2 C2' C1' C3' O2' 40 | 1 2 H2'1 O2' C2' C1' 41 | -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/charmm22st.ff/rna.n.tdb: -------------------------------------------------------------------------------- 1 | [ None ] 2 | 3 | [ 5' ] 4 | [ delete ] 5 | P 6 | O1P 7 | O2P 8 | [ replace ] 9 | O5' O5' ON5 15.9994 -0.66 10 | C5' C5' CN8B 12.011 0.05 11 | [ Add ] 12 | 1 2 H5T O5' C5' C4' 13 | HN5 1.008 0.43 -1 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/charmm22st.ff/rna.r2b: -------------------------------------------------------------------------------- 1 | ; rtp residue to rtp building block table 2 | ;GMX Force-field 3 | A RA 4 | G RG 5 | C RC 6 | U RU 7 | -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/charmm22st.ff/spc.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; molname nrexcl 3 | SOL 2 4 | 5 | [ atoms ] 6 | ; nr type resnr residue atom cgnr charge mass 7 | 1 OW 1 SOL OW 1 -0.82 8 | 2 HW 1 SOL HW1 1 0.41 9 | 3 HW 1 SOL HW2 1 0.41 10 | 11 | #ifndef FLEXIBLE 12 | [ settles ] 13 | ; OW funct doh dhh 14 | 1 1 0.1 0.16330 15 | 16 | [ exclusions ] 17 | 1 2 3 18 | 2 1 3 19 | 3 1 2 20 | #else 21 | [ bonds ] 22 | ; i j funct length force.c. 23 | 1 2 1 0.1 345000 0.1 345000 24 | 1 3 1 0.1 345000 0.1 345000 25 | 26 | [ angles ] 27 | ; i j k funct angle force.c. 28 | 2 1 3 1 109.47 383 109.47 383 29 | #endif 30 | -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/charmm22st.ff/spce.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; molname nrexcl 3 | SOL 2 4 | 5 | [ atoms ] 6 | ; nr type resnr residue atom cgnr charge mass 7 | 1 OW 1 SOL OW 1 -0.8476 8 | 2 HW 1 SOL HW1 1 0.4238 9 | 3 HW 1 SOL HW2 1 0.4238 10 | 11 | #ifndef FLEXIBLE 12 | [ settles ] 13 | ; OW funct doh dhh 14 | 1 1 0.1 0.16330 15 | 16 | [ exclusions ] 17 | 1 2 3 18 | 2 1 3 19 | 3 1 2 20 | #else 21 | [ bonds ] 22 | ; i j funct length force.c. 23 | 1 2 1 0.1 345000 0.1 345000 24 | 1 3 1 0.1 345000 0.1 345000 25 | 26 | [ angles ] 27 | ; i j k funct angle force.c. 28 | 2 1 3 1 109.47 383 109.47 383 29 | #endif 30 | -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/charmm22st.ff/tip3p.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; molname nrexcl 3 | SOL 2 4 | 5 | [ atoms ] 6 | ; id at type res nr residu name at name cg nr charge 7 | #ifdef _FF_CHARMM 8 | 1 OWT3 1 SOL OW 1 -0.834 9 | 2 HWT3 1 SOL HW1 1 0.417 10 | 3 HWT3 1 SOL HW2 1 0.417 11 | #endif 12 | 13 | 14 | #ifdef FLEXIBLE 15 | 16 | #ifdef CHARMM_TIP3P 17 | [ bonds ] 18 | ; i j funct length force.c. 19 | 1 2 1 0.09572 376560.0 0.09572 376560.0 20 | 1 3 1 0.09572 376560.0 0.09572 376560.0 21 | 22 | [ angles ] 23 | ; i j k funct angle force.c. 24 | 2 1 3 1 104.52 460.24 104.52 460.24 25 | #else 26 | [ bonds ] 27 | ; i j funct length force.c. 28 | 1 2 1 0.09572 502416.0 0.09572 502416.0 29 | 1 3 1 0.09572 502416.0 0.09572 502416.0 30 | 31 | [ angles ] 32 | ; i j k funct angle force.c. 33 | 2 1 3 1 104.52 628.02 104.52 628.02 34 | #endif 35 | 36 | 37 | #else 38 | [ settles ] 39 | ; i j funct length 40 | 1 1 0.09572 0.15139 41 | 42 | [ exclusions ] 43 | 1 2 3 44 | 2 1 3 45 | 3 1 2 46 | #endif 47 | -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/charmm22st.ff/tip4p.itp: -------------------------------------------------------------------------------- 1 | ; 2 | ; Note the strange order of atoms to make it faster in gromacs. 3 | ; 4 | [ moleculetype ] 5 | ; molname nrexcl 6 | SOL 2 7 | 8 | [ atoms ] 9 | ; id at type res nr residu name at name cg nr charge 10 | 1 OWT4 1 SOL OW 1 0.0 11 | 2 HWT4 1 SOL HW1 1 0.52 12 | 3 HWT4 1 SOL HW2 1 0.52 13 | 4 MWT4 1 SOL MW 1 -1.04 14 | 15 | #ifndef FLEXIBLE 16 | [ settles ] 17 | ; OW funct doh dhh 18 | 1 1 0.09572 0.15139 19 | #else 20 | [ bonds ] 21 | ; i j funct length force.c. 22 | 1 2 1 0.09572 502416.0 0.09572 502416.0 23 | 1 3 1 0.09572 502416.0 0.09572 502416.0 24 | 25 | [ angles ] 26 | ; i j k funct angle force.c. 27 | 2 1 3 1 104.52 628.02 104.52 628.02 28 | #endif 29 | 30 | [ exclusions ] 31 | 1 2 3 4 32 | 2 1 3 4 33 | 3 1 2 4 34 | 4 1 2 3 35 | 36 | ; The position of the virtual site is computed as follows: 37 | ; 38 | ; O 39 | ; 40 | ; D 41 | ; 42 | ; H H 43 | ; 44 | ; const = distance (OD) / [ cos (angle(DOH)) * distance (OH) ] 45 | ; 0.015 nm / [ cos (52.26 deg) * 0.09572 nm ] 46 | 47 | ; Vsite pos x4 = x1 + a*(x2-x1) + b*(x3-x1) 48 | 49 | [ virtual_sites3 ] 50 | ; Vsite from funct a b 51 | 4 1 2 3 1 0.128012065 0.128012065 52 | 53 | -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/charmm22st.ff/tip5p.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; molname nrexcl 3 | SOL 2 4 | 5 | [ atoms ] 6 | ; id at type res nr res name at name cg nr charge mass 7 | 1 OWT5 1 SOL OW 1 0 15.99940 8 | 2 HWT5 1 SOL HW1 1 0.241 1.00800 9 | 3 HWT5 1 SOL HW2 1 0.241 1.00800 10 | 4 MWT5 1 SOL LP1 1 -0.241 0.00000 11 | 5 MWT5 1 SOL LP2 1 -0.241 0.00000 12 | 13 | #ifndef FLEXIBLE 14 | 15 | [ settles ] 16 | ; i funct doh dhh 17 | 1 1 0.09572 0.15139 18 | 19 | #else 20 | 21 | [ bonds ] 22 | ; i j funct length force.c. 23 | 1 2 1 0.09572 502416.0 0.09572 502416.0 24 | 1 3 1 0.09572 502416.0 0.09572 502416.0 25 | 26 | [ angles ] 27 | ; i j k funct angle force.c. 28 | 2 1 3 1 104.52 628.02 104.52 628.02 29 | 30 | #endif 31 | 32 | 33 | [ virtual_sites3 ] 34 | ; Vsite from funct a b c 35 | 4 1 2 3 4 -0.344908262 -0.34490826 -6.4437903493 36 | 5 1 2 3 4 -0.344908262 -0.34490826 6.4437903493 37 | 38 | 39 | [ exclusions ] 40 | 1 2 3 4 5 41 | 2 1 3 4 5 42 | 3 1 2 4 5 43 | 4 1 2 3 5 44 | 5 1 2 3 4 45 | 46 | 47 | ; The positions of the vsites are computed as follows: 48 | ; 49 | ; LP1 LP2 50 | ; 51 | ; O 52 | ; 53 | ; H1 H2 54 | ; 55 | ; angle A (H1-O-H2) = 104.52 56 | ; angle B (M1-O-M2) = 109.47 57 | ; dist C (H-O) = 0.09572 nm 58 | ; dist D (M-O) = 0.070 nm 59 | ; 60 | ;atom x y z 61 | ;O 0.0 0.0 0.0 62 | ;H1 0.585882276 0.756950327 0.0 63 | ;H2 0.585882276 -0.756950327 0.0 64 | ;M1 -0.404151276 0.0 0.571543301 65 | ;M2 -0.404151276 0.0 -0.571543301 66 | ; Dummy pos x4 = x1 + a4*(x2-x1) + b4*(x3-x1) + c4*((x2-x1) x (x3-x1)) 67 | ; Dummy pos x5 = x1 + a5*(x2-x1) + b5*(x3-x1) + c5*((x2-x1) x (x3-x1)) 68 | ; a4 = b4 = a5 = b5 = (D*cos(B/2)) / (2*C*cos(A/2)) = -0.34490826 69 | ; c5 = -c4 = (D * sin(B/2))/ (C^2 * sin(A)) = 6.4437903 70 | -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/charmm22st.ff/tips3p.itp: -------------------------------------------------------------------------------- 1 | ; CHARMM TIP3P [MacKerell et al. J Phys Chem B, 1998] with LJ interaction 2 | ; sites on the hydrogens, about 2 times slower than the original TIP3P model 3 | 4 | [ moleculetype ] 5 | ; molname nrexcl 6 | SOL 2 7 | 8 | [ atoms ] 9 | ; id at type res nr residu name at name cg nr charge 10 | 1 OT 1 SOL OW 1 -0.834 11 | 2 HT 1 SOL HW1 1 0.417 12 | 3 HT 1 SOL HW2 1 0.417 13 | 14 | #ifndef FLEXIBLE 15 | [ settles ] 16 | ; i j funct length 17 | 1 1 0.09572 0.15139 18 | 19 | [ exclusions ] 20 | 1 2 3 21 | 2 1 3 22 | 3 1 2 23 | #else 24 | [ bonds ] 25 | ; i j funct length force.c. 26 | 1 2 1 0.09572 376560.0 0.09572 376560.0 27 | 1 3 1 0.09572 376560.0 0.09572 376560.0 28 | 29 | [ angles ] 30 | ; i j k funct angle force.c. 31 | 2 1 3 1 104.52 460.24 104.52 460.24 32 | #endif 33 | -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/charmm22st.ff/watermodels.dat: -------------------------------------------------------------------------------- 1 | tip3p TIP3P TIP 3-point, recommended 2 | tip4p TIP4P TIP 4-point 3 | tips3p TIPS3P CHARMM TIP 3-point with LJ on H's (note: twice as slow in GROMACS) 4 | tip5p TIP5P TIP 5-point (see http://redmine.gromacs.org/issues/1348 for issues) 5 | spc SPC simple point charge 6 | spce SPC/E extended simple point charge 7 | -------------------------------------------------------------------------------- /test/test_inputs/gpref/md_ensemble/intramat_1_1.ndx.h5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/gpref/md_ensemble/intramat_1_1.ndx.h5 -------------------------------------------------------------------------------- /test/test_inputs/gpref/reference/intramat_1_1.ndx.h5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/gpref/reference/intramat_1_1.ndx.h5 -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/aa_sym: -------------------------------------------------------------------------------- 1 | ASP OD1 OD2 2 | GLU OE1 OE2 3 | LEU CD1 CD2 4 | PHE CD1 CD2 5 | PHE CE1 CE2 6 | TYR CD1 CD2 7 | TYR CE1 CE2 8 | ARG NH1 NH2 9 | GLY OC1 OC2 10 | VAL CG1 CG2 11 | LYS O1 O2 12 | BNZ CD1 CD2 13 | BNZ CD1 CE1 14 | BNZ CD1 CE2 15 | BNZ CD1 CZ 16 | BNZ CD1 CG 17 | BNZ CD2 CE1 18 | BNZ CD2 CE2 19 | BNZ CD2 CG 20 | BNZ CD2 CZ 21 | BNZ CE1 CE2 22 | BNZ CE1 CG 23 | BNZ CE1 CZ 24 | BNZ CE2 CG 25 | BNZ CE2 CZ 26 | BNZ CG CZ 27 | -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/aa_sym_all: -------------------------------------------------------------------------------- 1 | ASP OD1 OD2 2 | GLU OE1 OE2 3 | LEU CD1 CD2 4 | PHE CD1 CD2 5 | PHE CE1 CE2 6 | TYR CD1 CD2 7 | TYR CE1 CE2 8 | ARG NH1 NH2 9 | VAL CG1 CG2 10 | LYS O1 O2 11 | BNZ CD1 CD2 CE1 CE2 CZ CG 12 | -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/config.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - system: lyso-bnz_ref 3 | - egos: production 4 | 5 | - input_refs: 6 | # LYZ 7 | - reference: reference 8 | train: md_ensemble 9 | matrix: intramat_1_1 10 | epsilon: 0.34 11 | # LYZ 12 | - reference: ref_1_1_interdom 13 | train: md_ensemble 14 | matrix: intramat_1_1 15 | epsilon: 1.5 16 | # BNZ 17 | - reference: reference 18 | train: md_ensemble 19 | matrix: intramat_2_2 20 | epsilon: 0.34 21 | # LYZ-BNZ 22 | - reference: reference 23 | train: md_ensemble 24 | matrix: intermat_1_2 25 | epsilon: 0.53 26 | # BNZ inter 27 | - reference: reference 28 | train: md_ensemble 29 | matrix: intermat_2_2 30 | epsilon: 0.53 31 | 32 | - single_molecule 33 | - symmetry: 34 | - ASP OD1 OD2 35 | - GLU OE1 OE2 36 | - LEU CD1 CD2 37 | - PHE CD1 CD2 38 | - PHE CE1 CE2 39 | - TYR CD1 CD2 40 | - TYR CE1 CE2 41 | - ARG NH1 NH2 42 | - VAL CG1 CG2 43 | - LYS O1 O2 44 | - BNZ CD1 CD2 CE1 CE2 CZ CG 45 | - no_header 46 | -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/config_1.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - system: lyso-bnz_ref 3 | - egos: production 4 | - epsilon: 0.34 5 | - train: md_ensemble 6 | - inter_epsilon: 0.53 7 | - inter_domain_epsilon: 1.5 8 | - single_molecule 9 | - symmetry: 10 | - ASP OD1 OD2 11 | - GLU OE1 OE2 12 | - LEU CD1 CD2 13 | - PHE CD1 CD2 14 | - PHE CE1 CE2 15 | - TYR CD1 CD2 16 | - TYR CE1 CE2 17 | - ARG NH1 NH2 18 | - VAL CG1 CG2 19 | - LYS O1 O2 20 | - BNZ CD1 CD2 CE1 CE2 CZ CG 21 | - no_header 22 | -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/config_2.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - system: lyso-bnz_ref 3 | - egos: production 4 | # - epsilon: 0.34 5 | - train: md_ensemble 6 | # - inter_epsilon: 0.53 7 | # - inter_domain_epsilon: 1.5 8 | - single_molecule 9 | - multi_epsilon_intra: 10 | Lyso: 0.34 11 | BNZ: 0.34 12 | - multi_epsilon_inter_domain: 13 | Lyso: 1.5 14 | BNZ: 1.5 15 | - multi_epsilon_inter: 16 | Lyso: 17 | Lyso: 2.0 18 | BNZ: 0.53 19 | BNZ: 20 | Lyso: 0.53 21 | BNZ: 10.0 22 | - symmetry: 23 | - ASP OD1 OD2 24 | - GLU OE1 OE2 25 | - LEU CD1 CD2 26 | - PHE CD1 CD2 27 | - PHE CE1 CE2 28 | - TYR CD1 CD2 29 | - TYR CE1 CE2 30 | - ARG NH1 NH2 31 | - VAL CG1 CG2 32 | - LYS O1 O2 33 | - BNZ CD1 CD2 CE1 CE2 CZ CG 34 | - no_header 35 | -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/epsilon_file.txt: -------------------------------------------------------------------------------- 1 | Lyso 0.34 2 | BNZ 0.34 3 | -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/epsilon_inter_domain_file.txt: -------------------------------------------------------------------------------- 1 | Lyso 1.5 2 | BNZ 1.5 3 | -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/epsilon_inter_file.txt: -------------------------------------------------------------------------------- 1 | Lyso BNZ 2 | Lyso 2 0.53 3 | BNZ 0.53 10 4 | -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/md_ensemble/des-amber.ff/aminoacids.arn: -------------------------------------------------------------------------------- 1 | ; atom renaming specification 2 | ; residue gromacs forcefield 3 | NALA H H1 4 | NGLY H H1 5 | NSER H H1 6 | NTHR H H1 7 | NLEU H H1 8 | NILE H H1 9 | NVAL H H1 10 | NASN H H1 11 | NGLN H H1 12 | NARG H H1 13 | NHID H H1 14 | NHIE H H1 15 | NHIP H H1 16 | NTRP H H1 17 | NPHE H H1 18 | NTYR H H1 19 | NGLU H H1 20 | NASP H H1 21 | NLYS H H1 22 | NPRO H H1 23 | NCYS H H1 24 | NCYX H H1 25 | NMET H H1 26 | NGLH H H1 27 | NASP H H1 28 | ; This mapping of O->OC2 and OXT->OC1 might look a bit strange, 29 | ; but when we rebuild an oxygen it will be placed directly after C, so 30 | ; this mapping makes sure OC1 comes before OC2. The oxygens are anyway chemically 31 | ; equivalent, and if you already had their coordinates present they will be kept intact. 32 | CALA O OC2 33 | CALA OXT OC1 34 | CGLY O OC2 35 | CGLY OXT OC1 36 | CSER O OC2 37 | CSER OXT OC1 38 | CTHR O OC2 39 | CTHR OXT OC1 40 | CLEU O OC2 41 | CLEU OXT OC1 42 | CILE O OC2 43 | CILE OXT OC1 44 | CVAL O OC2 45 | CVAL OXT OC1 46 | CASN O OC2 47 | CASN OXT OC1 48 | CGLN O OC2 49 | CGLN OXT OC1 50 | CARG O OC2 51 | CARG OXT OC1 52 | CHID O OC2 53 | CHID OXT OC1 54 | CHIE O OC2 55 | CHIE OXT OC1 56 | CHIP O OC2 57 | CHIP OXT OC1 58 | CTRP O OC2 59 | CTRP OXT OC1 60 | CPHE O OC2 61 | CPHE OXT OC1 62 | CTYR O OC2 63 | CTYR OXT OC1 64 | CGLU O OC2 65 | CGLU OXT OC1 66 | CASP O OC2 67 | CASP OXT OC1 68 | CLYS O OC2 69 | CLYS OXT OC1 70 | CPRO O OC2 71 | CPRO OXT OC1 72 | CCYS O OC2 73 | CCYS OXT OC1 74 | CCYX O OC2 75 | CCYX OXT OC1 76 | CMET O OC2 77 | CMET OXT OC1 78 | CGLH O OC2 79 | CGLH OXT OC1 80 | CASH O OC2 81 | CASH OXT OC1 82 | 83 | 84 | -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/md_ensemble/des-amber.ff/aminoacids.r2b: -------------------------------------------------------------------------------- 1 | ; rtp residue to rtp building block table 2 | ;GMX Force-field 3 | ; main N-ter C-ter 2-ter 4 | ALA ALA NALA CALA - 5 | ARG ARG NARG CARG - 6 | ARGN - - - - 7 | ASN ASN NASN CASN - 8 | ASP ASP NASP CASP - 9 | ASPH ASH - - - 10 | CYS CYS NCYS CCYS - 11 | CYS2 CYX NCYX CCYX - 12 | GLN GLN NGLN CGLN - 13 | QLN - - - - 14 | GLU GLU NGLU CGLU - 15 | GLY GLY NGLY CGLY - 16 | GLUH GLH - - - 17 | HISD HID NHID CHID - 18 | HISE HIE NHIE CHIE - 19 | HISH HIP NHIP CHIP - 20 | ILE ILE NILE CILE - 21 | LYSN LYN - - - 22 | LYS LYS NLYS CLYS - 23 | LEU LEU NLEU CLEU - 24 | MET MET NMET CMET - 25 | PHE PHE NPHE CPHE - 26 | PRO PRO NPRO CPRO - 27 | SER SER NSER CSER - 28 | THR THR NTHR CTHR - 29 | TRP TRP NTRP CTRP - 30 | TYR TYR NTYR CTYR - 31 | VAL VAL NVAL CVAL - 32 | -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/md_ensemble/des-amber.ff/atomtypes.atp: -------------------------------------------------------------------------------- 1 | YY 12.01000 ; new atom type for Best Hummer patch (exclude gly/pro from corrections) 2 | WW 12.01000 ; new atom type for Best Hummer patch (exclude gly/pro from corrections) 3 | VV 12.01000 ; new atom type for Best Hummer patch (exclude gly/pro from corrections) 4 | TT 12.01000 ; new atom type for Best Hummer patch (exclude gly/pro from corrections) 5 | SS 12.01000 ; new atom type for Best Hummer patch (exclude gly/pro from corrections) 6 | RR 12.01000 ; new atom type for Best Hummer patch (exclude gly/pro from corrections) 7 | QQ 12.01000 ; new atom type for Best Hummer patch (exclude gly/pro from corrections) 8 | PP 12.01000 ; new atom type for Best Hummer patch (exclude gly/pro from corrections) 9 | NN 12.01000 ; new atom type for Best Hummer patch (exclude gly/pro from corrections) 10 | MM 12.01000 ; new atom type for Best Hummer patch (exclude gly/pro from corrections) 11 | LL 12.01000 ; new atom type for Best Hummer patch (exclude gly/pro from corrections) 12 | KK 12.01000 ; new atom type for Best Hummer patch (exclude gly/pro from corrections) 13 | II 12.01000 ; new atom type for Best Hummer patch (exclude gly/pro from corrections) 14 | HE 12.01000 ; new atom type for Best Hummer patch (exclude gly/pro from corrections) 15 | GG 12.01000 ; new atom type for Best Hummer patch (exclude gly/pro from corrections) 16 | FF 12.01000 ; new atom type for Best Hummer patch (exclude gly/pro from corrections) 17 | EE 12.01000 ; new atom type for Best Hummer patch (exclude gly/pro from corrections) 18 | DD 12.01000 ; new atom type for Best Hummer patch (exclude gly/pro from corrections) 19 | CS 12.01000 ; new atom type for Best Hummer patch (exclude gly/pro from corrections) 20 | AA 12.01000 ; new atom type for Best Hummer patch (exclude gly/pro from corrections) 21 | OHS 16.00000 ; Serine OH 22 | C 12.01000 ; sp2 C carbonyl group 23 | CA 12.01000 ; sp2 C pure aromatic (benzene) 24 | CB 12.01000 ; sp2 aromatic C, 5&6 membered ring junction 25 | CC 12.01000 ; sp2 aromatic C, 5 memb. ring HIS 26 | CN 12.01000 ; sp2 C aromatic 5&6 memb.ring junct.(TRP) 27 | CR 12.01000 ; sp2 arom as CQ but in HIS 28 | CT 12.01000 ; sp3 aliphatic C 29 | CV 12.01000 ; sp2 arom. 5 memb.ring w/1 N and 1 H (HIS) 30 | CW 12.01000 ; sp2 arom. 5 memb.ring w/1 N-H and 1 H (HIS) 31 | C& 12.01000 ; sp2 arom. 5 memb.ring w/1 subst. (TRP) 32 | C0 40.08000 ; calcium 33 | H 1.00800 ; H bonded to nitrogen atoms 34 | HC 1.00800 ; H aliph. bond. to C without electrwd.group 35 | H1 1.00800 ; H aliph. bond. to C with 1 electrwd. group 36 | HA 1.00800 ; H arom. bond. to C without elctrwd. groups 37 | H4 1.00800 ; H arom. bond. to C with 1 electrwd. group 38 | H5 1.00800 ; H arom.at C with 2 elctrwd. gr,+HCOO group 39 | HO 1.00800 ; hydroxyl group 40 | HS 1.00800 ; hydrogen bonded to sulphur (pol?) 41 | HW 1.00800 ; H in TIP3P water 42 | HP 1.00800 ; H bonded to C next to positively charged gr 43 | F 19.00000 ; fluorine 44 | Br 79.90000 ; bromine (Applequist) 45 | I 126.90000 ; iodine (Applequist) 46 | IM 35.45000 ; assumed to be Cl- (ion minus) 47 | MG 24.30500 ; magnesium 48 | N 14.01000 ; sp2 nitrogen in amide groups 49 | NA 14.01000 ; sp2 N in 5 memb.ring w/H atom (HIS) 50 | NB 14.01000 ; sp2 N in 5 memb.ring w/LP (HIS,ADE,GUA) 51 | N2 14.01000 ; sp2 N in amino groups 52 | N3 14.01000 ; sp3 N for charged amino groups (Lys, etc) 53 | O 16.00000 ; carbonyl group oxygen 54 | O2 16.00000 ; carboxyl and phosphate group oxygen 55 | OW 16.00000 ; oxygen in TIP4PD water 56 | OW_tip3p 16.00000 ; oxygen in TIP3P water 57 | Vrt 0.00000 ; Dummy atom in water 58 | OH 16.00000 ; oxygen in hydroxyl group 59 | S 32.06000 ; S in disulfide linkage,pol:JPC,102,2399,98 60 | SH 32.06000 ; S in cystine 61 | Li 6.94000 ; lithium, ions pol:J.PhysC,11,1541,(1978) 62 | IP 22.99000 ; assumed to be Na+ (ion plus) 63 | K 39.10000 ; potassium 64 | Rb 85.47000 ; rubidium 65 | Cs 132.91000 ; cesium 66 | Zn 65.40000 ; Zn2+ 67 | C7 12.01000 ; new atom type for Best Hummer patch (exclude gly/pro from corrections) 68 | C3 12.01000 ; new atom type for ILDN patch 69 | C4 12.01000 ; new atom type for ILDN patch 70 | C5 12.01000 ; new atom type for ILDN patch 71 | C6 12.01000 ; new atom type for ILDN patch 72 | CT_CT 12.01000 ; sp3 aliphatic C 73 | H1_H1B 1.00800 ; H aliph. bond. to C with 1 electrwd. group 74 | O_O 16.00000 ; carbonyl group oxygen 75 | N_N 14.01000 ; sp2 nitrogen in amide groups 76 | N_N2 14.01000 ; sp2 nitrogen in amide groups 77 | H_HN 1.00800 ; H bonded to nitrogen atoms 78 | C7_C7 12.01000 ; new atom type for Best Hummer patch (exclude gly/pro from corrections) 79 | N_N3 14.01000 ; sp2 nitrogen in amide groups 80 | -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/md_ensemble/des-amber.ff/ffnonbonded.itp: -------------------------------------------------------------------------------- 1 | [ atomtypes ] 2 | ; name at.num mass charge ptype sigma epsilon 3 | YY 6 12.010 0.0000 A 0.3353000 0.4280483 4 | WW 6 12.010 0.0000 A 0.3353000 0.4280483 5 | VV 6 12.010 0.0000 A 0.3353000 0.4280483 6 | TT 6 12.010 0.0000 A 0.3353000 0.4280483 7 | SS 6 12.010 0.0000 A 0.3353000 0.4280483 8 | RR 6 12.010 0.0000 A 0.3353000 0.4280483 9 | QQ 6 12.010 0.0000 A 0.3353000 0.4280483 10 | PP 6 12.010 0.0000 A 0.3400000 0.4577296 11 | NN 6 12.010 0.0000 A 0.3353000 0.4280483 12 | MM 6 12.010 0.0000 A 0.3353000 0.4280483 13 | LL 6 12.010 0.0000 A 0.3353000 0.4280483 14 | KK 6 12.010 0.0000 A 0.3353000 0.4280483 15 | II 6 12.010 0.0000 A 0.3353000 0.4280483 16 | HE 6 12.010 0.0000 A 0.3353000 0.4280483 17 | GG 6 12.010 0.0000 A 0.3353000 0.4280483 18 | FF 6 12.010 0.0000 A 0.3353000 0.4280483 19 | EE 6 12.010 0.0000 A 0.3353000 0.4280483 20 | DD 6 12.010 0.0000 A 0.3353000 0.4280483 21 | CS 6 12.010 0.0000 A 0.3353000 0.4280483 22 | AA 6 12.010 0.0000 A 0.3353000 0.4280483 23 | OHS 8 16.000 0.0000 A 0.3066000 0.8803136 24 | C 6 12.010 0.0000 A 0.3400000 0.3598240 25 | CA 6 12.010 0.0000 A 0.3400000 0.3598240 26 | CB 6 12.010 0.0000 A 0.3400000 0.3598240 27 | CC 6 12.010 0.0000 A 0.3400000 0.3598240 28 | CN 6 12.010 0.0000 A 0.3400000 0.3598240 29 | CR 6 12.010 0.0000 A 0.3400000 0.3598240 30 | CT 6 12.010 0.0000 A 0.3353000 0.4280483 31 | CV 6 12.010 0.0000 A 0.3400000 0.3598240 32 | CW 6 12.010 0.0000 A 0.3400000 0.3598240 33 | C& 6 12.010 0.0000 A 0.3400000 0.3598240 34 | C0 20 40.080 0.0000 A 0.3052000 1.9237572 35 | H 1 1.008 0.0000 A 0.0000000 0.0000000 36 | HC 1 1.008 0.0000 A 0.2650000 0.0656888 37 | H1 1 1.008 0.0000 A 0.2471000 0.0656888 38 | HA 1 1.008 0.0000 A 0.2600000 0.0627600 39 | H4 1 1.008 0.0000 A 0.2511000 0.0627600 40 | H5 1 1.008 0.0000 A 0.2421000 0.0627600 41 | HO 1 1.008 0.0000 A 0.0000000 0.0000000 42 | HS 1 1.008 0.0000 A 0.1070000 0.0656888 43 | HW 1 1.008 0.0000 A 0.0000000 0.0000000 44 | HP 1 1.008 0.0000 A 0.1960000 0.0656888 45 | F 9 19.000 0.0000 A 0.3118000 0.2552240 46 | Br 35 79.900 0.0000 A 0.3955600 1.3388800 47 | I 53 126.900 0.0000 A 0.4187000 1.6736000 48 | IM 17 35.450 0.0000 A 0.3451000 4.1840000 49 | MG 12 24.305 0.0000 A 0.3065000 0.0125520 50 | N 7 14.010 0.0000 A 0.3400000 0.6862764 51 | NA 7 14.010 0.0000 A 0.3250000 0.7112800 52 | NB 7 14.010 0.0000 A 0.3250000 0.7112800 53 | N2 7 14.010 0.0000 A 0.3350700 0.7112800 54 | N3 7 14.010 0.0000 A 0.3800000 0.0418400 55 | O 8 16.000 0.0000 A 0.3090000 1.1189188 56 | O2 8 16.000 0.0000 A 0.2960000 0.8786400 57 | OW 8 16.000 0.0000 A 0.3165000 0.9365507 58 | OW_tip3p 8 16.000 0.0000 A 0.3150700 0.6363864 59 | Vrt 1 0.000 0.0000 A 0.0000000 0.0000000 60 | OH 8 16.000 0.0000 A 0.3066000 0.8803136 61 | S 16 32.060 0.0000 A 0.3800000 1.0460000 62 | SH 16 32.060 0.0000 A 0.3564000 1.0460000 63 | Li 3 6.940 0.0000 A 0.2026000 0.0765672 64 | IP 11 22.990 0.0000 A 0.3410000 0.0041840 65 | K 19 39.100 0.0000 A 0.4736000 0.0013724 66 | Rb 37 85.470 0.0000 A 0.5267000 0.0007113 67 | Cs 55 132.910 0.0000 A 0.6049000 0.0003372 68 | Zn 30 65.400 0.0000 A 0.1960000 0.0523000 69 | C7 6 12.010 0.0000 A 0.3353000 0.4280483 70 | C3 6 12.010 0.0000 A 0.3400000 0.4577296 71 | C4 6 12.010 0.0000 A 0.3400000 0.4577296 72 | C5 6 12.010 0.0000 A 0.3400000 0.3598240 73 | C6 6 12.010 0.0000 A 0.3400000 0.3598240 74 | CT_CT 6 12.010 0.0000 A 0.3400000 0.4577296 75 | H1_H1B 1 1.008 0.0000 A 0.1540000 0.0314469 76 | O_O 8 16.000 0.0000 A 0.2960000 0.8786400 77 | N_N 7 14.010 0.0000 A 0.3250000 0.7112800 78 | N_N2 7 14.010 0.0000 A 0.3240000 0.7112800 79 | H_HN 1 1.008 0.0000 A 0.1070000 0.0656888 80 | C7_C7 6 12.010 0.0000 A 0.3400000 0.4577296 81 | N_N3 7 14.010 0.0000 A 0.3800000 0.0418400 82 | 83 | [ nonbond_params ] 84 | ; i j funct sigma epsilon 85 | MG OW 1 0.3004000 0.1084242 ; MG-OW override 86 | -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/md_ensemble/des-amber.ff/forcefield.doc: -------------------------------------------------------------------------------- 1 | DES_Amber 2 | 3 | *************************************************************************** 4 | * This is a conversion of the DES-Amber force-field from Desmond * 5 | * DES-Amber has charges an ions that are scaled by a factor of 0.9 * 6 | * This means if you are combining thisforce fields with lipids or * 7 | * ligands with charges, the total charge of the system will not be equal* 8 | * charges, the total charge of the system will not be equal * 9 | * You can either scale the charges of the other molecules, or use * 10 | * DES-amber_SF1.0 (scale factor 1.0) which does not scale charges * 11 | * For DES-Amber cite: * 12 | * Piana, Robustelli, Tan, Chen and Shaw JCTC (2019) * 13 | *************************************************************************** 14 | -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/md_ensemble/des-amber.ff/forcefield.itp: -------------------------------------------------------------------------------- 1 | ******************************************************************** 2 | * The original ffamber ports were written by Eric J. Sorin, * 3 | * CSU Long Beach, Dept. of Chem & Biochem, and have now been * 4 | * integrated with the standard gromacs distribution. * 5 | * (Please don't blame Eric for errors we might have introduced.) * 6 | * For the implementation/validation, please read/cite: * 7 | * Sorin & Pande (2005). Biophys. J. 88(4), 2472-2493. * 8 | * For related material and updates, please consult * 9 | * http://chemistry.csulb.edu/ffamber/ * 10 | ******************************************************************** 11 | 12 | #define _FF_AMBER 13 | #define _FF_AMBER99SBILDN 14 | 15 | [ defaults ] 16 | ; nbfunc comb-rule gen-pairs fudgeLJ fudgeQQ 17 | 1 2 yes 0.5 0.8333 18 | 19 | #include "ffnonbonded.itp" 20 | #include "ffbonded.itp" 21 | 22 | 23 | -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/md_ensemble/des-amber.ff/ions.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; molname nrexcl 3 | CL 1 4 | 5 | [ atoms ] 6 | ; id at type res nr residu name at name cg nr charge 7 | 1 IM 1 CL CL 1 -0.90000 8 | 9 | 10 | [ moleculetype ] 11 | ; molname nrexcl 12 | NA 1 13 | 14 | [ atoms ] 15 | ; id at type res nr residu name at name cg nr charge 16 | 1 IP 1 NA NA 1 0.90000 17 | -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/md_ensemble/des-amber.ff/tip3p.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; molname nrexcl 3 | SOL 2 4 | 5 | [ atoms ] 6 | ; id at type res nr res name at name cg nr charge mass 7 | 1 OW_tip3p 1 SOL OW 1 -0.834 16.00000 8 | 2 HW 1 SOL HW1 1 0.417 1.00800 9 | 3 HW 1 SOL HW2 1 0.417 1.00800 10 | 11 | #ifndef FLEXIBLE 12 | 13 | [ settles ] 14 | ; OW funct doh dhh 15 | 1 1 0.09572 0.15139 16 | 17 | [ exclusions ] 18 | 1 2 3 19 | 2 1 3 20 | 3 1 2 21 | 22 | #else 23 | 24 | [ bonds ] 25 | ; i j funct length force_constant 26 | 1 2 1 0.09572 502416.0 0.09572 502416.0 27 | 1 3 1 0.09572 502416.0 0.09572 502416.0 28 | 29 | 30 | [ angles ] 31 | ; i j k funct angle force_constant 32 | 2 1 3 1 104.52 628.02 104.52 628.02 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/md_ensemble/des-amber.ff/tip4pd.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; molname nrexcl 3 | SOL 1 4 | 5 | [ atoms ] 6 | ; at type res nr res name at name cg nr charge mass 7 | 1 OW 1 SOL OW 1 0 16.00000 8 | 2 HW 1 SOL HW1 1 0.5800 1.00800 9 | 3 HW 1 SOL HW2 1 0.5800 1.00800 10 | 4 Vrt 1 SOL MW 1 -1.1600 0.00000 11 | 12 | #ifndef FLEXIBLE 13 | 14 | [ settles ] 15 | ; i funct doh dhh ---> same as standard tip4p 16 | 1 1 0.09572 0.15139 17 | 18 | #else 19 | [ bonds ] 20 | ; i j funct length force.c. 21 | 1 2 1 0.09572 502416.0 0.09572 502416.0 22 | 1 3 1 0.09572 502416.0 0.09572 502416.0 23 | 24 | [ angles ] 25 | ; i j k funct angle force.c. 26 | 2 1 3 1 104.52 628.02 104.52 628.02 27 | 28 | #endif 29 | 30 | 31 | [ virtual_sites3 ] 32 | ; Dummy from funct a b 33 | 4 1 2 3 1 0.131937768 0.131937768 34 | 35 | [ exclusions ] 36 | 1 2 3 4 37 | 2 1 3 4 38 | 3 1 2 4 39 | 4 1 2 3 40 | 41 | -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/md_ensemble/des-amber.ff/tip4pd_rerun.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; molname nrexcl 3 | SOL 1 4 | 5 | [ atoms ] 6 | ; at type res nr res name at name cg nr charge mass 7 | 1 OW 1 SOL OW 1 0 16.00000 8 | 2 Vrt 1 SOL MW 1 -1.1800 0.00000 9 | 3 HW 1 SOL HW1 1 0.5900 1.00800 10 | 4 HW 1 SOL HW2 1 0.5900 1.00800 11 | 12 | ; SETTLE needs to be removed as it is hardcoded that the order of the atoms should be O H H Vrt 13 | ;[ settles ] 14 | ; i funct doh dhh ---> same as tip4p2005 15 | ;1 1 0.09572 0.15139 16 | [ bonds ] 17 | 1 3 1 0.09572 462750.4 ; Amber99Sb-disp 18 | 1 4 1 0.09572 462750.4 ; Amber99Sb-disp 19 | 3 4 1 0.15139 462750.4 ; Amber99Sb-disp 20 | 21 | [ virtual_sites3 ] 22 | ; Dummy from funct a b 23 | 2 1 3 4 1 0.131937768 0.131937768 24 | 25 | [ exclusions ] 26 | 1 2 3 4 27 | 2 1 3 4 28 | 3 1 2 4 29 | 4 1 2 3 30 | 31 | -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/md_ensemble/des-amber.ff/watermodels.dat: -------------------------------------------------------------------------------- 1 | tip4pd TIP4P-D TIP 4-point with increased dispersion 2 | tip4pd_rerun TIP4P-D TIP4P-D used for rerunning from DESMOND trajectories 3 | tip3p TIP3P DO NOT USE the TIP3P water model. Included only for FF debugging 4 | -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/md_ensemble/intermat_1_2.ndx.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/lyso-bnz_ref/md_ensemble/intermat_1_2.ndx.gz -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/md_ensemble/intermat_2_2.ndx.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/lyso-bnz_ref/md_ensemble/intermat_2_2.ndx.gz -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/md_ensemble/intramat_1_1.ndx.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/lyso-bnz_ref/md_ensemble/intramat_1_1.ndx.gz -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/md_ensemble/intramat_2_2.ndx.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/lyso-bnz_ref/md_ensemble/intramat_2_2.ndx.gz -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/md_ensemble/topol_BNZ.itp: -------------------------------------------------------------------------------- 1 | ; 2 | ; File 'topol_Other_chain_X.itp' was generated 3 | ; By user: brunost (505) 4 | ; On host: dhcp-161-103.celoria26-16000022-smfn_biodip.unimi.it 5 | ; At date: Thu Apr 20 14:21:08 2023 6 | ; 7 | ; This is a include topology file 8 | ; 9 | ; Created by: 10 | ; :-) GROMACS - gmx pdb2gmx, 2021.5-plumed-2.9.0-dev (-: 11 | ; 12 | ; Executable: /Users/brunost/software/gromacs/bin/gmx_mpi 13 | ; Data prefix: /Users/brunost/software/gromacs 14 | ; Working dir: /Users/brunost/Desktop/multi-ego/inputs/1l84_5BNZ/reference 15 | ; Command line: 16 | ; gmx_mpi pdb2gmx -f starting.pdb -ignh 17 | ; Force field was read from current directory or a relative path - path added. 18 | ; 19 | 20 | [ moleculetype ] 21 | ; Name nrexcl 22 | BNZ 3 23 | 24 | [ atoms ] 25 | ; nr type resnr residue atom cgnr charge mass typeB chargeB massB 26 | ; residue 163 BNZ rtp BNZ q 0.0 27 | 1 C 163 BNZ CG 1 0 12.011 28 | 2 C 163 BNZ CD1 1 0 12.011 29 | 3 C 163 BNZ CD2 1 0 12.011 30 | 4 C 163 BNZ CE1 1 0 12.011 31 | 5 C 163 BNZ CE2 1 0 12.011 32 | 6 C 163 BNZ CZ 1 0 12.011 ; qtot 0 33 | 34 | [ bonds ] 35 | ; ai aj funct c0 c1 c2 c3 36 | 1 2 1 gb_16 37 | 1 3 1 gb_16 38 | 2 4 1 gb_16 39 | 3 5 1 gb_16 40 | 4 6 1 gb_16 41 | 5 6 1 gb_16 42 | 43 | ;[ pairs ] 44 | ; ai aj funct c0 c1 c2 c3 45 | ; 1 6 1 46 | ; 2 5 1 47 | ; 3 4 1 48 | 49 | [ angles ] 50 | ; ai aj ak funct c0 c1 c2 c3 51 | 2 1 3 1 ga_27 52 | 1 2 4 1 ga_27 53 | 1 3 5 1 ga_27 54 | 2 4 6 1 ga_27 55 | 3 5 6 1 ga_27 56 | 4 6 5 1 ga_27 57 | 58 | [ dihedrals ] 59 | ; ai aj ak al funct c0 c1 c2 c3 c4 c5 60 | 2 1 6 5 1 180.00 41.80 2 61 | 62 | [ dihedrals ] 63 | ; ai aj ak al funct c0 c1 c2 c3 64 | 1 2 4 6 2 gi_1 65 | 1 3 5 6 2 gi_1 66 | 2 1 3 5 2 gi_1 67 | 2 4 6 5 2 gi_1 68 | 3 1 2 4 2 gi_1 69 | 3 5 6 4 2 gi_1 70 | 71 | ; Include Position restraint file 72 | #ifdef POSRES 73 | #include "posre_BNZ.itp" 74 | #endif 75 | 76 | -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/ref_1_1_interdom/intramat_1_1.ndx.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/lyso-bnz_ref/ref_1_1_interdom/intramat_1_1.ndx.gz -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/reference/intermat_1_2.ndx.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/lyso-bnz_ref/reference/intermat_1_2.ndx.gz -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/reference/intermat_2_2.ndx.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/lyso-bnz_ref/reference/intermat_2_2.ndx.gz -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/reference/intramat_1_1.ndx.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/lyso-bnz_ref/reference/intramat_1_1.ndx.gz -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/reference/intramat_2_2.ndx.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/lyso-bnz_ref/reference/intramat_2_2.ndx.gz -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/topol.top: -------------------------------------------------------------------------------- 1 | ; 2 | ; File 'topol.top' was generated 3 | ; By user: brunost (505) 4 | ; On host: dhcp-161-103.celoria26-16000022-smfn_biodip.unimi.it 5 | ; At date: Thu Apr 20 14:33:45 2023 6 | ; 7 | ; This is a standalone topology file 8 | ; 9 | ; Created by: 10 | ; :-) GROMACS - gmx pdb2gmx, 2021.5-plumed-2.9.0-dev (-: 11 | ; 12 | ; Executable: /Users/brunost/software/gromacs/bin/gmx_mpi 13 | ; Data prefix: /Users/brunost/software/gromacs 14 | ; Working dir: /Users/brunost/Desktop/multi-ego/inputs/1l84_5BNZ/reference 15 | ; Command line: 16 | ; gmx_mpi pdb2gmx -f starting.pdb -ignh 17 | ; Force field was read from current directory or a relative path - path added. 18 | ; 19 | 20 | ; Include forcefield parameters 21 | #include "../../multi-ego-basic.ff/forcefield.itp" 22 | 23 | ; Include chain topologies 24 | #include "topol_Lyso.itp" 25 | #include "topol_BNZ.itp" 26 | 27 | [ system ] 28 | ; Name 29 | 2 BURIED BENZENE in water 30 | 31 | [ molecules ] 32 | ; Compound #mols 33 | Lyso 1 34 | BNZ 1 35 | -------------------------------------------------------------------------------- /test/test_inputs/lyso-bnz_ref/topol_BNZ.itp: -------------------------------------------------------------------------------- 1 | ; 2 | ; File 'topol_Other_chain_X.itp' was generated 3 | ; By user: brunost (505) 4 | ; On host: dhcp-161-103.celoria26-16000022-smfn_biodip.unimi.it 5 | ; At date: Thu Apr 20 14:21:08 2023 6 | ; 7 | ; This is a include topology file 8 | ; 9 | ; Created by: 10 | ; :-) GROMACS - gmx pdb2gmx, 2021.5-plumed-2.9.0-dev (-: 11 | ; 12 | ; Executable: /Users/brunost/software/gromacs/bin/gmx_mpi 13 | ; Data prefix: /Users/brunost/software/gromacs 14 | ; Working dir: /Users/brunost/Desktop/multi-ego/inputs/1l84_5BNZ/reference 15 | ; Command line: 16 | ; gmx_mpi pdb2gmx -f starting.pdb -ignh 17 | ; Force field was read from current directory or a relative path - path added. 18 | ; 19 | 20 | [ moleculetype ] 21 | ; Name nrexcl 22 | BNZ 3 23 | 24 | [ atoms ] 25 | ; nr type resnr residue atom cgnr charge mass typeB chargeB massB 26 | ; residue 163 BNZ rtp BNZ q 0.0 27 | 1 C 1 BNZ CG 1 0 13.01900 ;12.011 28 | 2 C 1 BNZ CD1 1 0 13.01900 ;12.011 29 | 3 C 1 BNZ CD2 1 0 13.01900 ;12.011 30 | 4 C 1 BNZ CE1 1 0 13.01900 ;12.011 31 | 5 C 1 BNZ CE2 1 0 13.01900 ;12.011 32 | 6 C 1 BNZ CZ 1 0 13.01900 ;12.011 ; qtot 0 33 | 34 | [ bonds ] 35 | ; ai aj funct c0 c1 c2 c3 36 | 1 2 1 gb_16 37 | 1 3 1 gb_16 38 | 2 4 1 gb_16 39 | 3 5 1 gb_16 40 | 4 6 1 gb_16 41 | 5 6 1 gb_16 42 | 43 | ;[ pairs ] 44 | ; ai aj funct c0 c1 c2 c3 45 | ; 1 6 1 46 | ; 2 5 1 47 | ; 3 4 1 48 | 49 | [ angles ] 50 | ; ai aj ak funct c0 c1 c2 c3 51 | 2 1 3 1 ga_27 52 | 1 2 4 1 ga_27 53 | 1 3 5 1 ga_27 54 | 2 4 6 1 ga_27 55 | 3 5 6 1 ga_27 56 | 4 6 5 1 ga_27 57 | 58 | [ dihedrals ] 59 | ; ai aj ak al funct c0 c1 c2 c3 c4 c5 60 | 2 1 6 5 1 180.00 41.80 2 61 | 62 | [ dihedrals ] 63 | ; ai aj ak al funct c0 c1 c2 c3 64 | 1 2 4 6 2 gi_1 65 | 1 3 5 6 2 gi_1 66 | 2 1 3 5 2 gi_1 67 | 2 4 6 5 2 gi_1 68 | 3 1 2 4 2 gi_1 69 | 3 5 6 4 2 gi_1 70 | 71 | ; Include Position restraint file 72 | #ifdef POSRES 73 | #include "posre_BNZ.itp" 74 | #endif 75 | 76 | -------------------------------------------------------------------------------- /test/test_inputs/make_mat_popc/.gitignore: -------------------------------------------------------------------------------- 1 | histo/ 2 | intramat_1_1.ndx 3 | intermat_1_1.ndx 4 | intramat_1_1.ndx.gz 5 | intermat_1_1.ndx.gz 6 | 7 | -------------------------------------------------------------------------------- /test/test_inputs/make_mat_popc/hh.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/make_mat_popc/hh.tgz -------------------------------------------------------------------------------- /test/test_inputs/make_mat_popc/topol_md.top: -------------------------------------------------------------------------------- 1 | ;; 2 | ;; Generated by CHARMM-GUI FF-Converter 3 | ;; 4 | ;; Correspondance: 5 | ;; jul316@lehigh.edu or wonpil@lehigh.edu 6 | ;; 7 | ;; The main GROMACS topology file 8 | ;; 9 | 10 | ; Include forcefield parameters 11 | #include "toppar/forcefield.itp" 12 | #include "toppar/POPC.itp" 13 | 14 | [ system ] 15 | ; Name 16 | POPC 17 | 18 | [ molecules ] 19 | ; Compound #mols 20 | POPC 1 21 | -------------------------------------------------------------------------------- /test/test_inputs/make_mat_popc/topol_ref.top: -------------------------------------------------------------------------------- 1 | ; 2 | ; File 'topol.top' was generated 3 | ; By user: gaia (1003) 4 | ; On host: monza 5 | ; At date: Tue Dec 19 11:41:49 2023 6 | ; 7 | ; This is a standalone topology file 8 | ; 9 | ; Created by: 10 | ; :-) GROMACS - gmx pdb2gmx, 2023.2 (-: 11 | ; 12 | ; Executable: /mnt/data/software/gmx23_thread/bin/gmx 13 | ; Data prefix: /mnt/data/software/gmx23_thread 14 | ; Working dir: /home/gaia/multi-eGO_carlo/inputs/popc/reference 15 | ; Command line: 16 | ; gmx pdb2gmx -f native.pdb -ignh 17 | ; Force field was read from current directory or a relative path - path added. 18 | ; 19 | 20 | ; Include forcefield parameters 21 | #include "../../../multi-ego-basic.ff/forcefield.itp" 22 | #include "../../../multi-ego-basic.ff/popc.itp" 23 | 24 | 25 | [ system ] 26 | ; Name 27 | POPC 28 | 29 | [ molecules ] 30 | ; Compound #mols 31 | POPC 1 32 | -------------------------------------------------------------------------------- /test/test_inputs/make_mat_popc/toppar/CLA.itp: -------------------------------------------------------------------------------- 1 | ;; 2 | ;; Generated by CHARMM-GUI FF-Converter 3 | ;; 4 | ;; Correspondance: 5 | ;; jul316@lehigh.edu or wonpil@lehigh.edu 6 | ;; 7 | ;; GROMACS topology file for CLA 8 | ;; 9 | 10 | 11 | [ moleculetype ] 12 | ; name nrexcl 13 | CLA 1 14 | 15 | [ atoms ] 16 | ; nr type resnr residu atom cgnr charge mass 17 | 1 CLA 34 CLA CLA 1 -1.000000 35.4500 ; qtot -1.000 18 | -------------------------------------------------------------------------------- /test/test_inputs/make_mat_popc/toppar/SOD.itp: -------------------------------------------------------------------------------- 1 | ;; 2 | ;; Generated by CHARMM-GUI FF-Converter 3 | ;; 4 | ;; Correspondance: 5 | ;; jul316@lehigh.edu or wonpil@lehigh.edu 6 | ;; 7 | ;; GROMACS topology file for SOD 8 | ;; 9 | 10 | 11 | [ moleculetype ] 12 | ; name nrexcl 13 | SOD 1 14 | 15 | [ atoms ] 16 | ; nr type resnr residu atom cgnr charge mass 17 | 1 SOD 1 SOD SOD 1 1.000000 22.9898 ; qtot 1.000 18 | -------------------------------------------------------------------------------- /test/test_inputs/make_mat_popc/toppar/TIP3.itp: -------------------------------------------------------------------------------- 1 | ;; 2 | ;; Generated by CHARMM-GUI FF-Converter 3 | ;; 4 | ;; Correspondance: 5 | ;; jul316@lehigh.edu or wonpil@lehigh.edu 6 | ;; 7 | ;; GROMACS topology file for TIP3 8 | ;; 9 | 10 | 11 | [ moleculetype ] 12 | ; name nrexcl 13 | TIP3 2 14 | 15 | [ atoms ] 16 | ; nr type resnr residu atom cgnr charge mass 17 | 1 OT 1 TIP3 OH2 1 -0.834000 15.9994 ; qtot -0.834 18 | 2 HT 1 TIP3 H1 2 0.417000 1.0080 ; qtot -0.417 19 | 3 HT 1 TIP3 H2 3 0.417000 1.0080 ; qtot 0.000 20 | 21 | [ settles ] 22 | ; OW funct doh dhh 23 | 1 1 9.572000e-02 1.513900e-01 24 | 25 | [ exclusions ] 26 | 1 2 3 27 | 2 1 3 28 | 3 1 2 29 | -------------------------------------------------------------------------------- /test/test_inputs/make_mat_ttr/.gitignore: -------------------------------------------------------------------------------- 1 | histo/ 2 | intramat_1_1.ndx 3 | intermat_1_1.ndx 4 | intramat_1_1.ndx.gz 5 | intermat_1_1.ndx.gz 6 | 7 | -------------------------------------------------------------------------------- /test/test_inputs/make_mat_ttr/hh.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/make_mat_ttr/hh.tgz -------------------------------------------------------------------------------- /test/test_inputs/ttrref/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/ttrref/.DS_Store -------------------------------------------------------------------------------- /test/test_inputs/ttrref/aa_sym: -------------------------------------------------------------------------------- 1 | ARG NH1 NH2 2 | ASP OD1 OD2 3 | GLU OE1 OE2 4 | LEU CD1 CD2 5 | PHE CD1 CD2 6 | PHE CE1 CE2 7 | TYR CD1 CD2 8 | TYR CE1 CE2 9 | VAL CG1 CG2 10 | SER O1 O2 # <--- CHANGE WITH THE CORRECT TERMINAL RESIDUE 11 | POPC C13 C14 12 | POPC C13 C15 13 | POPC C14 C15 14 | POPC O13 O14 15 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/config.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - system: ttrref 3 | - egos: production 4 | - no_header 5 | - symmetry: 6 | - ARG NH1 NH2 7 | - ASP OD1 OD2 8 | - GLU OE1 OE2 9 | - PHE CD1 CD2 10 | - PHE CE1 CE2 11 | - TYR CD1 CD2 12 | - TYR CE1 CE2 13 | - SER O1 O2 14 | 15 | - input_refs: 16 | - reference: ref_intra 17 | train: native_MD 18 | matrix: intramat_1_1 19 | epsilon: 0.30 20 | - reference: ref_inter 21 | train: fibril_MD 22 | matrix: intermat_1_1 23 | epsilon: 0.16 24 | - reference: ref_inter 25 | train: fibril_MD 26 | matrix: intramat_1_1 27 | epsilon: 0.16 28 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/charmm22st.ff/aminoacids.arn: -------------------------------------------------------------------------------- 1 | ; atom renaming specification 2 | ; residue gromacs forcefield 3 | * H HN 4 | 5 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/charmm22st.ff/aminoacids.c.tdb: -------------------------------------------------------------------------------- 1 | [ None ] 2 | 3 | [ COO- ] 4 | [ replace ] 5 | C C CC 12.011 0.34 6 | O OT1 OC 15.9994 -0.67 7 | OXT OT2 OC 15.9994 -0.67 8 | [ add ] 9 | 2 8 OT C CA N 10 | OC 15.9994 -0.67 -1 11 | [ impropers ] 12 | C CA OT2 OT1 13 | 14 | 15 | [ COOH ] 16 | [ replace ] 17 | C C CD 12.011 0.72 18 | O OT1 OB 15.9994 -0.55 19 | OXT OT2 OH1 15.9994 -0.61 20 | [ add ] 21 | 2 8 OT C CA N 22 | OB 15.9994 -0.55 -1 23 | 1 2 HT2 OT2 C CA 24 | H 1.008 0.44 -1 25 | [ replace ] 26 | OT2 OT2 OH1 15.9994 -0.61 27 | [ impropers ] 28 | C CA OT2 OT1 29 | 30 | 31 | [ CT2 ] 32 | [ replace ] 33 | C CC 12.011 0.55 34 | O O 15.9994 -0.55 35 | [ add ] 36 | 1 2 NT C CA N 37 | NH2 14.0027 -0.62 -1 38 | 2 3 HT NT C CA 39 | H 1.008 0.00 -1 40 | [ replace ] 41 | HT1 H 1.008 0.30 ; this one is trans to O 42 | HT2 H 1.008 0.32 ; this one is cis to O 43 | [ impropers ] 44 | C NT CA O 45 | C CA NT O 46 | NT C HT1 HT2 47 | NT C HT2 HT1 48 | [ CT3 ] 49 | ; N-Methylamide C-terminus 50 | ; 51 | ; | 52 | ; C=O 53 | ; | 54 | ; NT-HNT 55 | ; | 56 | ; HT1-CAT-HT3 57 | ; | 58 | ; HT2 59 | ; 60 | [ delete ] 61 | OXT 62 | [ add ] 63 | 1 8 NT C CA N 64 | NH1 14.0027 -0.47 -1 65 | 1 2 HNT NT C O 66 | H 1.008 0.31 -1 67 | 1 8 CAT NT C O 68 | CT3 12.011 -0.11 -1 69 | 3 4 HT CAT NT C 70 | HA 1.008 0.09 -1 71 | [ bonds ] 72 | NT CAT ; otherwise CAT does not get bonded to other atoms... 73 | [ impropers ] 74 | NT C CAT HNT 75 | C CA NT O 76 | [ cmap ] 77 | -C N CA C NT 78 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/charmm22st.ff/aminoacids.hdb: -------------------------------------------------------------------------------- 1 | ACE 1 2 | 3 4 HH3 CH3 C O 3 | AIB 3 4 | 1 1 HN N -C CA 5 | 3 4 HB1 CB1 CA N 6 | 3 4 HB2 CB2 CA N 7 | ALA 3 8 | 1 1 HN N -C CA 9 | 1 5 HA CA N C CB 10 | 3 4 HB CB CA N 11 | ARG 8 12 | 1 1 HN N -C CA 13 | 1 5 HA CA N C CB 14 | 2 6 HB CB CG CA 15 | 2 6 HG CG CD CB 16 | 2 6 HD CD NE CG 17 | 1 1 HE NE CD CZ 18 | 2 3 HH1 NH1 CZ NE 19 | 2 3 HH2 NH2 CZ NE 20 | ARGN 8 21 | 1 1 HN N -C CA 22 | 1 5 HA CA N C CB 23 | 2 6 HB CB CG CA 24 | 2 6 HG CG CD CB 25 | 2 6 HD CD NE CG 26 | 1 1 HE NE CD CZ 27 | 1 2 HH1 NH1 CZ NE 28 | 2 3 HH2 NH2 CZ NE 29 | ASN 4 30 | 1 1 HN N -C CA 31 | 1 5 HA CA N C CB 32 | 2 6 HB CB CG CA 33 | 2 3 HD2 ND2 CG CB 34 | ASP 3 35 | 1 1 HN N -C CA 36 | 1 5 HA CA N C CB 37 | 2 6 HB CB CG CA 38 | ASPP 4 39 | 1 1 HN N -C CA 40 | 1 5 HA CA N C CB 41 | 2 6 HB CB CG CA 42 | 1 2 HD2 OD2 CG CB 43 | CT3 2 44 | 1 1 HN N -C CH3 45 | 3 4 HH3 CH3 N HN 46 | CYS2 3 47 | 1 1 HN N -C CA 48 | 1 5 HA CA N C CB 49 | 2 6 HB CB SG CA 50 | CYS 4 51 | 1 1 HN N -C CA 52 | 1 5 HA CA N C CB 53 | 2 6 HB CB SG CA 54 | 1 2 HG1 SG CB CA 55 | GLN 5 56 | 1 1 HN N -C CA 57 | 1 5 HA CA N C CB 58 | 2 6 HB CB CG CA 59 | 2 6 HG CG CD CB 60 | 2 3 HE2 NE2 CD CG 61 | GLU 4 62 | 1 1 HN N -C CA 63 | 1 5 HA CA N C CB 64 | 2 6 HB CB CG CA 65 | 2 6 HG CG CD CB 66 | GLUP 5 67 | 1 1 HN N -C CA 68 | 1 5 HA CA N C CB 69 | 2 6 HB CB CG CA 70 | 2 6 HG CG CD CB 71 | 1 2 HE2 OE2 CD CG 72 | GLY 2 73 | 1 1 HN N -C CA 74 | 2 6 HA CA C N 75 | HIS1 6 76 | 1 1 HN N -C CA 77 | 1 5 HA CA N C CB 78 | 2 6 HB CB CG CA 79 | 1 1 HD2 CD2 CG NE2 80 | 1 1 HE1 CE1 ND1 NE2 81 | 1 1 HD1 ND1 CG CE1 82 | HSD 6 83 | 1 1 HN N -C CA 84 | 1 5 HA CA N C CB 85 | 2 6 HB CB CG CA 86 | 1 1 HD2 CD2 CG NE2 87 | 1 1 HE1 CE1 ND1 NE2 88 | 1 1 HD1 ND1 CG CE1 89 | HSE 6 90 | 1 1 HN N -C CA 91 | 2 6 HB CB CG CA 92 | 1 5 HA CA N C CB 93 | 1 1 HE2 NE2 CE1 CD2 94 | 1 1 HD2 CD2 CG NE2 95 | 1 1 HE1 CE1 ND1 NE2 96 | HSP 7 97 | 1 1 HN N -C CA 98 | 1 5 HA CA N C CB 99 | 2 6 HB CB CG CA 100 | 1 1 HD2 CD2 CG NE2 101 | 1 1 HE1 CE1 ND1 NE2 102 | 1 1 HD1 ND1 CG CE1 103 | 1 1 HE2 NE2 CE1 CD2 104 | HO4 1 105 | 3 10 HW OW 106 | HO5 1 107 | 4 11 HW OW 108 | HOH 1 109 | 2 7 HW OW 110 | ILE 6 111 | 1 1 HN N -C CA 112 | 1 5 HA CA N C CB 113 | 1 5 HB CB CA CG1 CG2 114 | 2 6 HG1 CG1 CD CB 115 | 3 4 HG2 CG2 CB CA 116 | 3 4 HD CD CG1 CB 117 | LEU 6 118 | 1 1 HN N -C CA 119 | 1 5 HA CA N C CB 120 | 2 6 HB CB CG CA 121 | 1 5 HG CG CB CD1 CD2 122 | 3 4 HD1 CD1 CG CB 123 | 3 4 HD2 CD2 CG CB 124 | LSN 7 125 | 1 1 HN N -C CA 126 | 1 5 HA CA N C CB 127 | 2 6 HB CB CG CA 128 | 2 6 HG CG CD CB 129 | 2 6 HD CD CE CG 130 | 2 6 HE CE NZ CD 131 | 2 4 HZ NZ CE CD 132 | LYS 7 133 | 1 1 HN N -C CA 134 | 1 5 HA CA N C CB 135 | 2 6 HB CB CG CA 136 | 2 6 HG CG CD CB 137 | 2 6 HD CD CE CG 138 | 2 6 HE CE NZ CD 139 | 3 4 HZ NZ CE CD 140 | MET 5 141 | 1 1 HN N -C CA 142 | 1 5 HA CA N C CB 143 | 2 6 HB CB CG CA 144 | 2 6 HG CG SD CB 145 | 3 4 HE CE SD CG 146 | PHE 8 147 | 1 1 HN N -C CA 148 | 1 5 HA CA N C CB 149 | 2 6 HB CB CG CA 150 | 1 1 HD1 CD1 CG CE1 151 | 1 1 HD2 CD2 CG CE2 152 | 1 1 HE1 CE1 CD1 CZ 153 | 1 1 HE2 CE2 CD2 CZ 154 | 1 1 HZ CZ CE1 CE2 155 | PRO 4 156 | 1 5 HA CA N C CB 157 | 2 6 HB CB CG CA 158 | 2 6 HG CG CD CB 159 | 2 6 HD CD N CG 160 | SER 4 161 | 1 1 HN N -C CA 162 | 1 5 HA CA N C CB 163 | 2 6 HB CB OG CA 164 | 1 2 HG1 OG CB CA 165 | THR 5 166 | 1 1 HN N -C CA 167 | 1 5 HA CA N C CB 168 | 1 5 HB CB CA OG1 CG2 169 | 1 2 HG1 OG1 CB CA 170 | 3 4 HG2 CG2 CB CA 171 | TRP 9 172 | 1 1 HN N -C CA 173 | 1 5 HA CA N C CB 174 | 2 6 HB CB CG CA 175 | 1 1 HD1 CD1 NE1 CG 176 | 1 1 HE1 NE1 CD1 CE2 177 | 1 1 HE3 CE3 CD2 CZ3 178 | 1 1 HZ3 CZ3 CE3 CH2 179 | 1 1 HH2 CH2 CZ3 CZ2 180 | 1 1 HZ2 CZ2 CE2 CH2 181 | TYR 8 182 | 1 1 HN N -C CA 183 | 1 5 HA CA N C CB 184 | 2 6 HB CB CG CA 185 | 1 1 HD1 CD1 CG CE1 186 | 1 1 HD2 CD2 CG CE2 187 | 1 1 HE1 CE1 CD1 CZ 188 | 1 1 HE2 CE2 CD2 CZ 189 | 1 2 HH OH CZ CE1 190 | VAL 5 191 | 1 1 HN N -C CA 192 | 1 5 HA CA N C CB 193 | 1 5 HB CB CA CG1 CG2 194 | 3 4 HG1 CG1 CB CA 195 | 3 4 HG2 CG2 CB CA 196 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/charmm22st.ff/aminoacids.n.tdb: -------------------------------------------------------------------------------- 1 | [ None ] 2 | 3 | [ GLY-NH3+ ] 4 | [ replace ] 5 | N N NH3 14.007 -0.3 6 | CA CA CT2 12.011 0.13 7 | [ Add ] 8 | 3 4 H N CA C 9 | HC 1.008 0.33 -1 10 | [ delete ] 11 | HN 12 | 13 | [ NH3+ ] 14 | [ replace ] 15 | N N NH3 14.007 -0.3 16 | CA CA CT1 12.011 0.21 17 | HA HA HB 1.008 0.10 18 | [ Add ] 19 | 3 4 H N CA C 20 | HC 1.008 0.33 -1 21 | [ delete ] 22 | HN 23 | 24 | [ PRO-NH2+ ] 25 | [ replace ] 26 | N N NP 14.007 -0.07 27 | CA CA CP1 12.011 0.16 28 | CD CD CP3 12.011 0.16 29 | [ add ] 30 | 2 4 H N CA C 31 | HC 1.008 0.24 -1 32 | 33 | ; 34 | [ NH2 ] 35 | [ replace ] 36 | N NH2 14.007 -0.96 37 | CA CT1 12.011 0.19 38 | HA HB 1.008 0.09 39 | [ add ] 40 | 2 4 HT N CA C 41 | H 1.008 0.34 -1 42 | [ delete ] 43 | HN 44 | 45 | 46 | ; 47 | [ GLY-NH2 ] 48 | [ replace ] 49 | N NH2 14.007 -0.96 50 | CA CT2 12.011 0.10 51 | [ add ] 52 | 2 4 HT N CA C 53 | H 1.008 0.34 -1 54 | [ delete ] 55 | HN 56 | 57 | 58 | ; 59 | [ PRO-NH ] 60 | [ replace ] 61 | N NP 14.007 -0.40 62 | CA CP1 12.011 -0.08 63 | CD CP3 12.011 -0.10 64 | [ add ] 65 | 1 4 H N CA C 66 | HC 1.008 0.31 -1 67 | 68 | 69 | 70 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/charmm22st.ff/aminoacids.r2b: -------------------------------------------------------------------------------- 1 | ; rtp residue to rtp building block table 2 | ;GMX Force-field 3 | HISD HSD 4 | HISE HSE 5 | HISH HSP 6 | LYSN LSN 7 | ASPH ASPP 8 | GLUH GLUP 9 | HEM HEME 10 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/charmm22st.ff/dna.arn: -------------------------------------------------------------------------------- 1 | DNA C7 C5M 2 | DNA H71 H51 3 | DNA H72 H52 4 | DNA H73 H53 5 | DNA OP1 O1P 6 | DNA OP2 O2P 7 | DNA H2' H2'1 8 | DNA H2'' H2'2 9 | DNA H5' H5'1 10 | DNA H5'' H5'2 11 | DNA HO5' H5T 12 | DNA HO3' H3T 13 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/charmm22st.ff/dna.c.tdb: -------------------------------------------------------------------------------- 1 | [ None ] 2 | 3 | [ 3' ] 4 | [ replace ] 5 | C3' C3' CN7 12.011 0.14 6 | H3' H3' HN7 1.008 0.09 7 | O3' O3' ON5 15.9994 -0.66 8 | [ Add ] 9 | 1 2 H3T O3' C3' C4' 10 | HN5 1.008 0.43 -1 11 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/charmm22st.ff/dna.hdb: -------------------------------------------------------------------------------- 1 | DA 8 2 | 2 6 H5' C5' O5' C4' 3 | 1 5 H4' C4' C5' O4' C3' 4 | 1 5 H1' C1' O4' N9 C2' 5 | 1 1 H8 C8 N9 N7 6 | 2 3 H6 N6 C6 C5 7 | 1 1 H2 C2 N1 N3 8 | 1 5 H3' C3' C4' C2' O3' 9 | 2 6 H2' C2' C1' C3' 10 | DT 8 11 | 2 6 H5' C5' O5' C4' 12 | 1 5 H4' C4' C5' O4' C3' 13 | 1 5 H1' C1' O4' N1 C2' 14 | 1 1 H6 C6 N1 C5 15 | 3 4 H5 C5M C5 C6 16 | 1 1 H3 N3 C4 C2 17 | 1 5 H3' C3' C4' C2' O3' 18 | 2 6 H2' C2' C1' C3' 19 | DG 8 20 | 2 6 H5' C5' O5' C4' 21 | 1 5 H4' C4' C5' O4' C3' 22 | 1 5 H1' C1' O4' N9 C2' 23 | 1 1 H8 C8 N9 N7 24 | 1 1 H1 N1 C6 C2 25 | 2 3 H2 N2 C2 N1 26 | 1 5 H3' C3' C4' C2' O3' 27 | 2 6 H2' C2' C1' C3' 28 | DC 8 29 | 2 6 H5' C5' O5' C4' 30 | 1 5 H4' C4' C5' O4' C3' 31 | 1 5 H1' C1' O4' N1 C2' 32 | 1 1 H6 C6 N1 C5 33 | 1 1 H5 C5 C6 C4 34 | 2 3 H4 N4 C4 C5 35 | 1 5 H3' C3' C4' C2' O3' 36 | 2 6 H2' C2' C1' C3' 37 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/charmm22st.ff/dna.n.tdb: -------------------------------------------------------------------------------- 1 | [ None ] 2 | 3 | [ 5' ] 4 | [ delete ] 5 | P 6 | O1P 7 | O2P 8 | [ replace ] 9 | O5' O5' ON5 15.9994 -0.66 10 | C5' C5' CN8B 12.011 0.05 11 | [ Add ] 12 | 1 2 H5T O5' C5' C4' 13 | HN5 1.008 0.43 -1 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/charmm22st.ff/forcefield.doc: -------------------------------------------------------------------------------- 1 | CHARMM22* all-atom force field 2 | 3 | ******************************************************************************* 4 | * CHARMM port writted by * 5 | * Par Bjelkmar, Per Larsson, Michel Cuendet, * 6 | * Berk Hess and Erik Lindahl. * 7 | * Correspondance: * 8 | * bjelkmar@cbr.su.se or lindahl@cbr.su.se * 9 | ******************************************************************************* 10 | 11 | 12 | Parameters derived from c32b1 version of CHARMM 13 | NOTE: Atom-based charge groups 14 | 15 | References: 16 | 17 | Proteins 18 | 19 | MacKerell, Jr., A. D., Feig, M., Brooks, C.L., III, Extending the 20 | treatment of backbone energetics in protein force fields: limitations 21 | of gas-phase quantum mechanics in reproducing protein conformational 22 | distributions in molecular dynamics simulations, Journal of 23 | Computational Chemistry, 25: 1400-1415, 2004. 24 | 25 | and 26 | 27 | MacKerell, Jr., A. D., et al. All-atom 28 | empirical potential for molecular modeling and dynamics Studies of 29 | proteins. Journal of Physical Chemistry B, 1998, 102, 3586-3616. 30 | 31 | Lipids 32 | 33 | Feller, S. and MacKerell, Jr., A.D. An Improved Empirical Potential 34 | Energy Function for Molecular Simulations of Phospholipids, Journal 35 | of Physical Chemistry B, 2000, 104: 7510-7515. 36 | 37 | Nucleic Acids 38 | 39 | Foloppe, N. and MacKerell, Jr., A.D. "All-Atom Empirical Force Field for 40 | Nucleic Acids: 2) Parameter Optimization Based on Small Molecule and 41 | Condensed Phase Macromolecular Target Data. 2000, 21: 86-104. 42 | 43 | and 44 | 45 | MacKerell, Jr., A.D. and Banavali, N. "All-Atom Empirical Force Field for 46 | Nucleic Acids: 2) Application to Molecular Dynamics Simulations of DNA 47 | and RNA in Solution. 2000, 21: 105-120. 48 | 49 | 50 | 51 | If using there parameters for research please cite: 52 | Bjelkmar, P., Larsson, P., Cuendet, M. A, Bess, B., Lindahl, E. 53 | Implementation of the CHARMM force field in GROMACS: Analysis of protein 54 | stability effects from correction maps, virtual interaction sites, and 55 | water models., Journal of Chemical Theory and Computation, 6: 459-466, 2010. 56 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/charmm22st.ff/forcefield.itp: -------------------------------------------------------------------------------- 1 | ******************************************************************************* 2 | * CHARMM port writted by * 3 | * Par Bjelkmar, Per Larsson, Michel Cuendet, * 4 | * Berk Hess and Erik Lindahl. * 5 | * Correspondance: * 6 | * bjelkmar@cbr.su.se or lindahl@cbr.su.se * 7 | ******************************************************************************* 8 | 9 | 10 | #define _FF_CHARMM 11 | [ defaults ] 12 | ; nbfunc comb-rule gen-pairs fudgeLJ fudgeQQ 13 | 1 2 yes 1.0 1.0 14 | 15 | #include "ffnonbonded.itp" 16 | #include "ffbonded.itp" 17 | #include "gb.itp" 18 | #include "cmap.itp" 19 | ; Nucleic acids nonbonded and bonded parameters" 20 | #include "ffnanonbonded.itp" 21 | #include "ffnabonded.itp" 22 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/charmm22st.ff/gb.itp: -------------------------------------------------------------------------------- 1 | [ implicit_genborn_params ] 2 | 3 | ; Atom type sar st pi gbr hct 4 | NH1 0.155 1 1.028 0.17063 0.79 ; N 5 | N 0.155 1 1 0.155 0.79 ; Proline backbone N 6 | NP 0.155 1 1 0.155 0.79 ; Proline backbone N for Proline N-terminus 7 | H 0.1 1 1 0.115 0.85 ; H 8 | CT1 0.180 1 1.276 0.190 0.72 ; C 9 | HB 0.1 1 1 0.125 0.85 ; H 10 | CT3 0.200 1 0.880 0.190 0.72 ; C 11 | HA 0.1 1 1 0.125 0.85 ; H 12 | C 0.172 1 1.554 0.1875 0.72 ; C 13 | O 0.150 1 0.926 0.148 0.85 ; O 14 | CT2 0.190 1 1.045 0.190 0.72 ; C 15 | NC2 0.160 1 1.215 0.17063 0.79 ; N 16 | HC 0.1 1 1 0.115 0.85 ; H 17 | CC 0.172 1 1.554 0.1875 0.72 ; C 18 | CD 0.172 1 1.554 0.1875 0.72 ; carbonyl C (in COOH termini) 19 | NH2 0.160 1 1.215 0.17063 0.79 ; N 20 | OC 0.170 1 0.922 0.148 0.85 ; O 21 | OB 0.170 1 0.922 0.148 0.85 ; carbonyl O (in COOH termini) 22 | S 0.180 1 1.121 0.1775 0.96 ; S 23 | SM 0.180 1 1.121 0.1775 0.96 ; disulfide sulfur 24 | HS 0.1 1 1 0.125 0.85 ; H 25 | NR1 0.155 1 1.028 0.17063 0.79 ; N 26 | CPH1 0.172 1 1.554 0.1875 0.72 ; C 27 | CPH2 0.180 1 1.073 0.1875 0.72 ; C 28 | HR1 0.1 1 1 0.125 0.85 ; H 29 | HR2 0.1 1 1 0.125 0.85 ; H 30 | NR2 0.155 1 1.215 0.17063 0.79 ; N 31 | HR3 0.1 1 1 0.115 0.85 ; H 32 | NR3 0.155 1 1.215 0.17063 0.79 ; N 33 | NH3 0.160 1 1.215 0.1625 0.79 ; N 34 | HP 0.1 1 1 0.125 0.85 ; H 35 | CP3 0.190 1 1.045 0.190 0.72 ; C 36 | CP1 0.180 1 1.276 0.190 0.72 ; C 37 | CP2 0.190 1 1.045 0.190 0.72 ; C 38 | OH1 0.152 1 1.080 0.1535 0.85 ; O 39 | CY 0.172 0.012 1.554 0.1875 0.72 ; C 40 | CA 0.180 1 1.073 0.1875 0.72 ; C 41 | HP 0.1 1 1 0.125 0.85 ; H 42 | NY 0.155 1 1.028 0.17063 0.79 ; N 43 | CPT 0.172 0.012 1.554 0.1875 0.72 ; C 44 | MNH3 0 0 0 0 0 ; dummy mass 45 | MNH2 0 0 0 0 0 ; dummy mass 46 | MCH3 0 0 0 0 0 ; dummy mass 47 | MCH3S 0 0 0 0 0 ; dummy mass 48 | MW 0 0 0 0 0 49 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/charmm22st.ff/ions.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] ; added by Bjelkmar Jan 2010, from c32b1/toppar/stream/toppar_water_ions.str 2 | ; molname nrexcl 3 | OH 1 4 | 5 | [ atoms ] 6 | ; id at type res nr residu name at name cg nr charge mass 7 | 1 OC 1 OH O1 1 -1.32 8 | 2 H 1 OH H1 1 0.32 9 | 10 | [ bonds ] 11 | ;i j funct length force.c. 12 | 1 2 1 0.09700 456056 ; hydroxyl bond 13 | 14 | [ moleculetype ] 15 | ; molname nrexcl 16 | NA 1 17 | 18 | [ atoms ] 19 | ; id at type res nr residu name at name cg nr charge 20 | 1 SOD 1 NA NA 1 1 21 | 22 | [ moleculetype ] 23 | ; molname nrexcl 24 | MG 1 25 | 26 | [ atoms ] 27 | ; id at type res nr residu name at name cg nr charge 28 | 1 MG 1 MG MG 1 2 29 | 30 | [ moleculetype ] 31 | ; molname nrexcl 32 | K 1 33 | 34 | [ atoms ] 35 | ; id at type res nr residu name at name cg nr charge 36 | 1 POT 1 K K 1 1 37 | 38 | [ moleculetype ] 39 | ; molname nrexcl 40 | CS 1 41 | 42 | [ atoms ] 43 | ; id at type res nr residu name at name cg nr charge 44 | 1 CES 1 CS CS 1 1 45 | 46 | [ moleculetype ] 47 | ; molname nrexcl 48 | CA 1 49 | 50 | [ atoms ] 51 | ; id at type res nr residu name at name cg nr charge 52 | 1 CAL 1 CA CA 1 2 53 | 54 | [ moleculetype ] 55 | ; molname nrexcl 56 | CL 1 57 | 58 | [ atoms ] 59 | ; id at type res nr residu name at name cg nr charge 60 | 1 CLA 1 CL CL 1 -1 61 | 62 | [ moleculetype ] 63 | ; molname nrexcl 64 | ZN 1 65 | 66 | [ atoms ] 67 | ; id at type res nr residu name at name cg nr charge 68 | 1 ZN 1 ZN ZN 1 -2 69 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/charmm22st.ff/lipids.hdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/ttrref/fibril_MD/charmm22st.ff/lipids.hdb -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/charmm22st.ff/rna.arn: -------------------------------------------------------------------------------- 1 | RNA OP1 O1P 2 | RNA OP2 O2P 3 | RNA H2' H2'1 4 | RNA H2'' H2'2 5 | RNA H5' H5'1 6 | RNA H5'' H5'2 7 | RNA HO5' H5T 8 | RNA HO3' H3T 9 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/charmm22st.ff/rna.c.tdb: -------------------------------------------------------------------------------- 1 | [ None ] 2 | 3 | [ 3' ] 4 | [ replace ] 5 | C3' C3' CN7 12.011 0.14 6 | H3' H3' HN7 1.008 0.09 7 | O3' O3' ON5 15.9994 -0.66 8 | [ Add ] 9 | 1 2 H3T O3' C3' C4' 10 | HN5 1.008 0.43 -1 11 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/charmm22st.ff/rna.hdb: -------------------------------------------------------------------------------- 1 | RA 9 2 | 2 6 H5' C5' O5' C4' 3 | 1 5 H4' C4' C5' O4' C3' 4 | 1 5 H1' C1' O4' N9 C2' 5 | 1 1 H8 C8 N9 N7 6 | 2 3 H6 N6 C6 C5 7 | 1 1 H2 C2 N1 N3 8 | 1 5 H3' C3' C4' C2' O3' 9 | 1 5 H2'2 C2' C1' C3' O2' 10 | 1 2 H2'1 O2' C2' C1' 11 | RU 9 12 | 2 6 H5' C5' O5' C4' 13 | 1 5 H4' C4' C5' O4' C3' 14 | 1 5 H1' C1' O4' N1 C2' 15 | 1 1 H6 C6 N1 C5 16 | 1 1 H5 C5 C6 C4 17 | 1 1 H3 N3 C4 C2 18 | 1 5 H3' C3' C4' C2' O3' 19 | 1 5 H2'2 C2' C1' C3' O2' 20 | 1 2 H2'1 O2' C2' C1' 21 | RG 9 22 | 2 6 H5' C5' O5' C4' 23 | 1 5 H4' C4' C5' O4' C3' 24 | 1 5 H1' C1' O4' N9 C2' 25 | 1 1 H8 C8 N9 N7 26 | 1 1 H1 N1 C6 C2 27 | 2 3 H2 N2 C2 N1 28 | 1 5 H3' C3' C4' C2' O3' 29 | 1 5 H2'2 C2' C1' C3' O2' 30 | 1 2 H2'1 O2' C2' C1' 31 | RC 9 32 | 2 6 H5' C5' O5' C4' 33 | 1 5 H4' C4' C5' O4' C3' 34 | 1 5 H1' C1' O4' N1 C2' 35 | 1 1 H6 C6 N1 C5 36 | 1 1 H5 C5 C6 C4 37 | 2 3 H4 N4 C4 C5 38 | 1 5 H3' C3' C4' C2' O3' 39 | 1 5 H2'2 C2' C1' C3' O2' 40 | 1 2 H2'1 O2' C2' C1' 41 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/charmm22st.ff/rna.n.tdb: -------------------------------------------------------------------------------- 1 | [ None ] 2 | 3 | [ 5' ] 4 | [ delete ] 5 | P 6 | O1P 7 | O2P 8 | [ replace ] 9 | O5' O5' ON5 15.9994 -0.66 10 | C5' C5' CN8B 12.011 0.05 11 | [ Add ] 12 | 1 2 H5T O5' C5' C4' 13 | HN5 1.008 0.43 -1 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/charmm22st.ff/rna.r2b: -------------------------------------------------------------------------------- 1 | ; rtp residue to rtp building block table 2 | ;GMX Force-field 3 | A RA 4 | G RG 5 | C RC 6 | U RU 7 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/charmm22st.ff/spc.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; molname nrexcl 3 | SOL 2 4 | 5 | [ atoms ] 6 | ; nr type resnr residue atom cgnr charge mass 7 | 1 OW 1 SOL OW 1 -0.82 8 | 2 HW 1 SOL HW1 1 0.41 9 | 3 HW 1 SOL HW2 1 0.41 10 | 11 | #ifndef FLEXIBLE 12 | [ settles ] 13 | ; OW funct doh dhh 14 | 1 1 0.1 0.16330 15 | 16 | [ exclusions ] 17 | 1 2 3 18 | 2 1 3 19 | 3 1 2 20 | #else 21 | [ bonds ] 22 | ; i j funct length force.c. 23 | 1 2 1 0.1 345000 0.1 345000 24 | 1 3 1 0.1 345000 0.1 345000 25 | 26 | [ angles ] 27 | ; i j k funct angle force.c. 28 | 2 1 3 1 109.47 383 109.47 383 29 | #endif 30 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/charmm22st.ff/spce.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; molname nrexcl 3 | SOL 2 4 | 5 | [ atoms ] 6 | ; nr type resnr residue atom cgnr charge mass 7 | 1 OW 1 SOL OW 1 -0.8476 8 | 2 HW 1 SOL HW1 1 0.4238 9 | 3 HW 1 SOL HW2 1 0.4238 10 | 11 | #ifndef FLEXIBLE 12 | [ settles ] 13 | ; OW funct doh dhh 14 | 1 1 0.1 0.16330 15 | 16 | [ exclusions ] 17 | 1 2 3 18 | 2 1 3 19 | 3 1 2 20 | #else 21 | [ bonds ] 22 | ; i j funct length force.c. 23 | 1 2 1 0.1 345000 0.1 345000 24 | 1 3 1 0.1 345000 0.1 345000 25 | 26 | [ angles ] 27 | ; i j k funct angle force.c. 28 | 2 1 3 1 109.47 383 109.47 383 29 | #endif 30 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/charmm22st.ff/tip3p.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; molname nrexcl 3 | SOL 2 4 | 5 | [ atoms ] 6 | ; id at type res nr residu name at name cg nr charge 7 | #ifdef _FF_CHARMM 8 | 1 OWT3 1 SOL OW 1 -0.834 9 | 2 HWT3 1 SOL HW1 1 0.417 10 | 3 HWT3 1 SOL HW2 1 0.417 11 | #endif 12 | 13 | 14 | #ifdef FLEXIBLE 15 | 16 | #ifdef CHARMM_TIP3P 17 | [ bonds ] 18 | ; i j funct length force.c. 19 | 1 2 1 0.09572 376560.0 0.09572 376560.0 20 | 1 3 1 0.09572 376560.0 0.09572 376560.0 21 | 22 | [ angles ] 23 | ; i j k funct angle force.c. 24 | 2 1 3 1 104.52 460.24 104.52 460.24 25 | #else 26 | [ bonds ] 27 | ; i j funct length force.c. 28 | 1 2 1 0.09572 502416.0 0.09572 502416.0 29 | 1 3 1 0.09572 502416.0 0.09572 502416.0 30 | 31 | [ angles ] 32 | ; i j k funct angle force.c. 33 | 2 1 3 1 104.52 628.02 104.52 628.02 34 | #endif 35 | 36 | 37 | #else 38 | [ settles ] 39 | ; i j funct length 40 | 1 1 0.09572 0.15139 41 | 42 | [ exclusions ] 43 | 1 2 3 44 | 2 1 3 45 | 3 1 2 46 | #endif 47 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/charmm22st.ff/tip4p.itp: -------------------------------------------------------------------------------- 1 | ; 2 | ; Note the strange order of atoms to make it faster in gromacs. 3 | ; 4 | [ moleculetype ] 5 | ; molname nrexcl 6 | SOL 2 7 | 8 | [ atoms ] 9 | ; id at type res nr residu name at name cg nr charge 10 | 1 OWT4 1 SOL OW 1 0.0 11 | 2 HWT4 1 SOL HW1 1 0.52 12 | 3 HWT4 1 SOL HW2 1 0.52 13 | 4 MWT4 1 SOL MW 1 -1.04 14 | 15 | #ifndef FLEXIBLE 16 | [ settles ] 17 | ; OW funct doh dhh 18 | 1 1 0.09572 0.15139 19 | #else 20 | [ bonds ] 21 | ; i j funct length force.c. 22 | 1 2 1 0.09572 502416.0 0.09572 502416.0 23 | 1 3 1 0.09572 502416.0 0.09572 502416.0 24 | 25 | [ angles ] 26 | ; i j k funct angle force.c. 27 | 2 1 3 1 104.52 628.02 104.52 628.02 28 | #endif 29 | 30 | [ exclusions ] 31 | 1 2 3 4 32 | 2 1 3 4 33 | 3 1 2 4 34 | 4 1 2 3 35 | 36 | ; The position of the virtual site is computed as follows: 37 | ; 38 | ; O 39 | ; 40 | ; D 41 | ; 42 | ; H H 43 | ; 44 | ; const = distance (OD) / [ cos (angle(DOH)) * distance (OH) ] 45 | ; 0.015 nm / [ cos (52.26 deg) * 0.09572 nm ] 46 | 47 | ; Vsite pos x4 = x1 + a*(x2-x1) + b*(x3-x1) 48 | 49 | [ virtual_sites3 ] 50 | ; Vsite from funct a b 51 | 4 1 2 3 1 0.128012065 0.128012065 52 | 53 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/charmm22st.ff/tip5p.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; molname nrexcl 3 | SOL 2 4 | 5 | [ atoms ] 6 | ; id at type res nr res name at name cg nr charge mass 7 | 1 OWT5 1 SOL OW 1 0 15.99940 8 | 2 HWT5 1 SOL HW1 1 0.241 1.00800 9 | 3 HWT5 1 SOL HW2 1 0.241 1.00800 10 | 4 MWT5 1 SOL LP1 1 -0.241 0.00000 11 | 5 MWT5 1 SOL LP2 1 -0.241 0.00000 12 | 13 | #ifndef FLEXIBLE 14 | 15 | [ settles ] 16 | ; i funct doh dhh 17 | 1 1 0.09572 0.15139 18 | 19 | #else 20 | 21 | [ bonds ] 22 | ; i j funct length force.c. 23 | 1 2 1 0.09572 502416.0 0.09572 502416.0 24 | 1 3 1 0.09572 502416.0 0.09572 502416.0 25 | 26 | [ angles ] 27 | ; i j k funct angle force.c. 28 | 2 1 3 1 104.52 628.02 104.52 628.02 29 | 30 | #endif 31 | 32 | 33 | [ virtual_sites3 ] 34 | ; Vsite from funct a b c 35 | 4 1 2 3 4 -0.344908262 -0.34490826 -6.4437903493 36 | 5 1 2 3 4 -0.344908262 -0.34490826 6.4437903493 37 | 38 | 39 | [ exclusions ] 40 | 1 2 3 4 5 41 | 2 1 3 4 5 42 | 3 1 2 4 5 43 | 4 1 2 3 5 44 | 5 1 2 3 4 45 | 46 | 47 | ; The positions of the vsites are computed as follows: 48 | ; 49 | ; LP1 LP2 50 | ; 51 | ; O 52 | ; 53 | ; H1 H2 54 | ; 55 | ; angle A (H1-O-H2) = 104.52 56 | ; angle B (M1-O-M2) = 109.47 57 | ; dist C (H-O) = 0.09572 nm 58 | ; dist D (M-O) = 0.070 nm 59 | ; 60 | ;atom x y z 61 | ;O 0.0 0.0 0.0 62 | ;H1 0.585882276 0.756950327 0.0 63 | ;H2 0.585882276 -0.756950327 0.0 64 | ;M1 -0.404151276 0.0 0.571543301 65 | ;M2 -0.404151276 0.0 -0.571543301 66 | ; Dummy pos x4 = x1 + a4*(x2-x1) + b4*(x3-x1) + c4*((x2-x1) x (x3-x1)) 67 | ; Dummy pos x5 = x1 + a5*(x2-x1) + b5*(x3-x1) + c5*((x2-x1) x (x3-x1)) 68 | ; a4 = b4 = a5 = b5 = (D*cos(B/2)) / (2*C*cos(A/2)) = -0.34490826 69 | ; c5 = -c4 = (D * sin(B/2))/ (C^2 * sin(A)) = 6.4437903 70 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/charmm22st.ff/tips3p.itp: -------------------------------------------------------------------------------- 1 | ; CHARMM TIP3P [MacKerell et al. J Phys Chem B, 1998] with LJ interaction 2 | ; sites on the hydrogens, about 2 times slower than the original TIP3P model 3 | 4 | [ moleculetype ] 5 | ; molname nrexcl 6 | SOL 2 7 | 8 | [ atoms ] 9 | ; id at type res nr residu name at name cg nr charge 10 | 1 OT 1 SOL OW 1 -0.834 11 | 2 HT 1 SOL HW1 1 0.417 12 | 3 HT 1 SOL HW2 1 0.417 13 | 14 | #ifndef FLEXIBLE 15 | [ settles ] 16 | ; i j funct length 17 | 1 1 0.09572 0.15139 18 | 19 | [ exclusions ] 20 | 1 2 3 21 | 2 1 3 22 | 3 1 2 23 | #else 24 | [ bonds ] 25 | ; i j funct length force.c. 26 | 1 2 1 0.09572 376560.0 0.09572 376560.0 27 | 1 3 1 0.09572 376560.0 0.09572 376560.0 28 | 29 | [ angles ] 30 | ; i j k funct angle force.c. 31 | 2 1 3 1 104.52 460.24 104.52 460.24 32 | #endif 33 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/charmm22st.ff/watermodels.dat: -------------------------------------------------------------------------------- 1 | tip3p TIP3P TIP 3-point, recommended 2 | tip4p TIP4P TIP 4-point 3 | tips3p TIPS3P CHARMM TIP 3-point with LJ on H's (note: twice as slow in GROMACS) 4 | tip5p TIP5P TIP 5-point (see http://redmine.gromacs.org/issues/1348 for issues) 5 | spc SPC simple point charge 6 | spce SPC/E extended simple point charge 7 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/intermat_1_1.ndx.h5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/ttrref/fibril_MD/intermat_1_1.ndx.h5 -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/intramat_1_1.ndx.h5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/ttrref/fibril_MD/intramat_1_1.ndx.h5 -------------------------------------------------------------------------------- /test/test_inputs/ttrref/fibril_MD/topol.top: -------------------------------------------------------------------------------- 1 | ; 2 | ; File 'topol.top' was generated 3 | ; By user: carlo (501) 4 | ; On host: CarloMB 5 | ; At date: Sat Nov 19 16:28:37 2022 6 | ; 7 | ; This is a standalone topology file 8 | ; 9 | ; Created by: 10 | ; :-) GROMACS - gmx pdb2gmx, 2021.6-plumed-2.9.0-dev (-: 11 | ; 12 | ; Executable: /Users/carlo/Codes/gromacs-2021.6/exe/bin/gmx_mpi 13 | ; Data prefix: /Users/carlo/Codes/gromacs-2021.6/exe 14 | ; Working dir: /Users/carlo/Downloads 15 | ; Command line: 16 | ; gmx_mpi pdb2gmx -f 2m5k -ignh 17 | ; Force field data was read from: 18 | ; /Users/carlo/Codes/labtools/force-fields/ 19 | ; 20 | ; Note: 21 | ; This might be a non-standard force field location. When you use this topology, the 22 | ; force field must either be present in the current directory, or the location 23 | ; specified in the GMXLIB path variable or with the 'include' mdp file option. 24 | ; 25 | 26 | ; Include forcefield parameters 27 | #include "charmm22st.ff/forcefield.itp" 28 | 29 | ; Include chain topologies 30 | #include "topol_Protein_chain_A.itp" 31 | 32 | ; Include water topology 33 | #include "charmm22st.ff/tip3p.itp" 34 | 35 | #ifdef POSRES_WATER 36 | ; Position restraint for each water oxygen 37 | [ position_restraints ] 38 | ; i funct fcx fcy fcz 39 | 1 1 1000 1000 1000 40 | #endif 41 | 42 | ; Include topology for ions 43 | #include "charmm22st.ff/ions.itp" 44 | 45 | [ system ] 46 | ; Name 47 | ATOMIC-RESOLUTION STRUCTURE OF A DOUBLET CROSS-BETA AMYLOID FIBRIL in water 48 | 49 | [ molecules ] 50 | ; Compound #mols 51 | TTR 1 52 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/native_MD/amber99SBdisp.ff/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/ttrref/native_MD/amber99SBdisp.ff/.DS_Store -------------------------------------------------------------------------------- /test/test_inputs/ttrref/native_MD/amber99SBdisp.ff/aminoacids.arn: -------------------------------------------------------------------------------- 1 | ; atom renaming specification 2 | ; residue gromacs forcefield 3 | NALA H H1 4 | NGLY H H1 5 | NSER H H1 6 | NTHR H H1 7 | NLEU H H1 8 | NILE H H1 9 | NVAL H H1 10 | NASN H H1 11 | NGLN H H1 12 | NARG H H1 13 | NHID H H1 14 | NHIE H H1 15 | NHIP H H1 16 | NTRP H H1 17 | NPHE H H1 18 | NTYR H H1 19 | NGLU H H1 20 | NASP H H1 21 | NLYS H H1 22 | NPRO H H1 23 | NCYS H H1 24 | NCYX H H1 25 | NMET H H1 26 | NGLH H H1 27 | NASP H H1 28 | ; This mapping of O->OC2 and OXT->OC1 might look a bit strange, 29 | ; but when we rebuild an oxygen it will be placed directly after C, so 30 | ; this mapping makes sure OC1 comes before OC2. The oxygens are anyway chemically 31 | ; equivalent, and if you already had their coordinates present they will be kept intact. 32 | CALA O OC2 33 | CALA OXT OC1 34 | CGLY O OC2 35 | CGLY OXT OC1 36 | CSER O OC2 37 | CSER OXT OC1 38 | CTHR O OC2 39 | CTHR OXT OC1 40 | CLEU O OC2 41 | CLEU OXT OC1 42 | CILE O OC2 43 | CILE OXT OC1 44 | CVAL O OC2 45 | CVAL OXT OC1 46 | CASN O OC2 47 | CASN OXT OC1 48 | CGLN O OC2 49 | CGLN OXT OC1 50 | CARG O OC2 51 | CARG OXT OC1 52 | CHID O OC2 53 | CHID OXT OC1 54 | CHIE O OC2 55 | CHIE OXT OC1 56 | CHIP O OC2 57 | CHIP OXT OC1 58 | CTRP O OC2 59 | CTRP OXT OC1 60 | CPHE O OC2 61 | CPHE OXT OC1 62 | CTYR O OC2 63 | CTYR OXT OC1 64 | CGLU O OC2 65 | CGLU OXT OC1 66 | CASP O OC2 67 | CASP OXT OC1 68 | CLYS O OC2 69 | CLYS OXT OC1 70 | CPRO O OC2 71 | CPRO OXT OC1 72 | CCYS O OC2 73 | CCYS OXT OC1 74 | CCYX O OC2 75 | CCYX OXT OC1 76 | CMET O OC2 77 | CMET OXT OC1 78 | CGLH O OC2 79 | CGLH OXT OC1 80 | CASH O OC2 81 | CASH OXT OC1 82 | 83 | 84 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/native_MD/amber99SBdisp.ff/aminoacids.c.tdb: -------------------------------------------------------------------------------- 1 | ; empty 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/native_MD/amber99SBdisp.ff/aminoacids.n.tdb: -------------------------------------------------------------------------------- 1 | ; empty 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/native_MD/amber99SBdisp.ff/aminoacids.r2b: -------------------------------------------------------------------------------- 1 | ; rtp residue to rtp building block table 2 | ;GMX Force-field 3 | ; main N-ter C-ter 2-ter 4 | ALA ALA NALA CALA - 5 | ARG ARG NARG CARG - 6 | ARGN - - - - 7 | ASN ASN NASN CASN - 8 | ASP ASP NASP CASP - 9 | ASPH ASH - - - 10 | CYS CYS NCYS CCYS - 11 | CYS2 CYX NCYX CCYX - 12 | GLN GLN NGLN CGLN - 13 | QLN - - - - 14 | GLU GLU NGLU CGLU - 15 | GLY GLY NGLY CGLY - 16 | GLUH GLH - - - 17 | HISD HID NHID CHID - 18 | HISE HIE NHIE CHIE - 19 | HISH HIP NHIP CHIP - 20 | ILE ILE NILE CILE - 21 | LYSN LYN - - - 22 | LYS LYS NLYS CLYS - 23 | LEU LEU NLEU CLEU - 24 | MET MET NMET CMET - 25 | PHE PHE NPHE CPHE - 26 | PRO PRO NPRO CPRO - 27 | SER SER NSER CSER - 28 | THR THR NTHR CTHR - 29 | TRP TRP NTRP CTRP - 30 | TYR TYR NTYR CTYR - 31 | VAL VAL NVAL CVAL - 32 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/native_MD/amber99SBdisp.ff/atomtypes.atp: -------------------------------------------------------------------------------- 1 | Br 79.90000 ; bromine 2 | C 12.01000 ; sp2 C carbonyl group 3 | C6 12.01000 ; sp2 C carbonyl group - ASP 4 | C5 12.01000 ; sp2 C carbonyl group - ASN 5 | CA 12.01000 ; sp2 C pure aromatic (benzene) 6 | CB 12.01000 ; sp2 aromatic C, 5&6 membered ring junction 7 | CC 12.01000 ; sp2 aromatic C, 5 memb. ring HIS 8 | CK 12.01000 ; sp2 C 5 memb.ring in purines 9 | CM 12.01000 ; sp2 C pyrimidines in pos. 5 & 6 10 | CN 12.01000 ; sp2 C aromatic 5&6 memb.ring junct.(TRP) 11 | CQ 12.01000 ; sp2 C in 5 mem.ring of purines between 2 N 12 | CR 12.01000 ; sp2 arom as CQ but in HIS 13 | CT 12.01000 ; sp3 aliphatic C 14 | C1 12.01000 ; sp3 aliphatic C -glycine 15 | C3 12.01000 ; sp3 aliphatic C - ILE CG2 16 | C4 12.01000 ; sp3 aliphatic C - LEU CG2 17 | C7 12.01000 ; sp3 aliphatic C - PRO CA 18 | C8 12.01000 ; sp3 aliphatic C -serine CB 19 | C9 12.01000 ; sp3 aliphatic C -GLU CG 20 | CV 12.01000 ; sp2 arom. 5 memb.ring w/1 N and 1 H (HIS) 21 | CW 12.01000 ; sp2 arom. 5 memb.ring w/1 N-H and 1 H (HIS) 22 | C* 12.01000 ; sp2 arom. 5 memb.ring w/1 subst. (TRP) 23 | C0 40.08000 ; calcium 24 | F 19.00000 ; fluorine 25 | H 1.00800 ; H bonded to nitrogen atoms 26 | HB 1.00800 ; backbone H bonded to nitrogen atoms 27 | HC 1.00800 ; H aliph. bond. to C without electrwd.group 28 | H1 1.00800 ; H aliph. bond. to C with 1 electrwd. group 29 | H2 1.00800 ; H aliph. bond. to C with 2 electrwd.groups 30 | H3 1.00800 ; H aliph. bond. to C with 3 eletrwd.groups 31 | HA 1.00800 ; H arom. bond. to C without elctrwd. groups 32 | H4 1.00800 ; H arom. bond. to C with 1 electrwd. group 33 | H5 1.00800 ; H arom. bond. to C with 2 electrwd. groups 34 | HO 1.00800 ; hydroxyl group 35 | HS 1.00800 ; hydrogen bonded to sulphur (pol?) 36 | HW 1.00800 ; H in TIP3P water 37 | HP 1.00800 ; H bonded to C next to positively charged gr 38 | I 126.90000 ; iodine (Applequist) 39 | Cl 35.45000 ; chlorine (Applequist) 40 | Na 22.99000 ; Na+, ions pol:J.PhysC,11,1541,(1978) 41 | IB 131.00000 ; 'big ion w/ waters' for vacuum (Na+, 6H2O) 42 | MG 24.30500 ; magnesium 43 | N 14.01000 ; sp2 nitrogen in amide groups 44 | NA 14.01000 ; sp2 N in 5 memb.ring w/H atom (HIS) 45 | NB 14.01000 ; sp2 N in 5 memb.ring w/LP (HIS,ADE,GUA) 46 | NC 14.01000 ; sp2 N in 6 memb.ring w/LP (ADE,GUA) 47 | N2 14.01000 ; sp2 N in amino groups 48 | N3 14.01000 ; sp3 N for charged amino groups (Lys, etc) 49 | N* 14.01000 ; sp2 N 50 | O 16.00000 ; carbonyl group oxygen 51 | OB 16.00000 ; backbone carbonyl group oxygen 52 | OW 16.00000 ; oxygen in TIP3P water 53 | OH 16.00000 ; oxygen in hydroxyl group 54 | O3 16.00000 ; oxygen in hydroxyl group -THR 55 | OS 16.00000 ; ether and ester oxygen 56 | O2 16.00000 ; carboxyl and phosphate group oxygen 57 | P 30.97000 ; phosphate,pol:JACS,112,8543,90,K.J.Miller 58 | S 32.06000 ; S in disulfide linkage,pol:JPC,102,2399,98 59 | SH 32.06000 ; S in cystine 60 | CU 63.55000 ; copper 61 | FE 55.00000 ; iron 62 | K 39.10000 ; potassium 63 | Rb 85.47000 ; rubidium 64 | Cs 132.90000 ; cesium 65 | OW_spc 15.99940 ; SPC Water OW 66 | HW_spc 1.00800 ; SPC Water HW 67 | Li 6.94000 ; lithium, ions pol:J.PhysC,11,1541,(1978) 68 | Zn 65.40000 ; Zn2+ 69 | HW_tip4pew 1.00800 ; tip4pEW HW 70 | OW_tip4pew 16.00000 ; tip4pEW OW 71 | HW_tip4p 1.00800 ; tip4p HW 72 | OW_tip4p 16.00000 ; tip4p OW 73 | HW_tip4p 1.00800 ; tip4p HW 74 | OW_tip4pd 16.00000 ; tip4p OW 75 | HW_tip5pd 1.00800 ; tip5p HW 76 | OW_tip5p 16.00000 ; tip5p OW 77 | MW 0.00000 ; Virtual site for tip4p/5p water point charge 78 | MCH3 0.00000 ; Dummy mass in rigid tetrahedral CH3 group 79 | MNH3 0.00000 ; Dummy mass in rigid tetrahedral NH3 group 80 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/native_MD/amber99SBdisp.ff/forcefield.doc: -------------------------------------------------------------------------------- 1 | AMBER99SBdisp_new 2 | 3 | ******************************************************************** 4 | * Amber99sb-ildn is an improvement to Amber99SB by * 5 | * Kresten Lindorff-Larsen and coworkers at D.E. Shaw Research, inc.* 6 | * The primary publication (please cite it) is * 7 | * Lindorff-Larsen, K., Piana, S., Palmo, K., Maragakis, P., * 8 | * Klepeis, J.L., Dror, R.O., Shaw, D.E., * 9 | * Improved side-chain torsion potentials for the Amber ff99SB * 10 | * protein force field, Proteins 78:1950–1958 (2010) * 11 | ******************************************************************** 12 | 13 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/native_MD/amber99SBdisp.ff/forcefield.itp: -------------------------------------------------------------------------------- 1 | ******************************************************************** 2 | * The original ffamber ports were written by Eric J. Sorin, * 3 | * CSU Long Beach, Dept. of Chem & Biochem, and have now been * 4 | * integrated with the standard gromacs distribution. * 5 | * (Please don't blame Eric for errors we might have introduced.) * 6 | * For the implementation/validation, please read/cite: * 7 | * Sorin & Pande (2005). Biophys. J. 88(4), 2472-2493. * 8 | * For related material and updates, please consult * 9 | * http://chemistry.csulb.edu/ffamber/ * 10 | ******************************************************************** 11 | 12 | #define _FF_AMBER 13 | #define _FF_AMBER99SBILDN 14 | 15 | [ defaults ] 16 | ; nbfunc comb-rule gen-pairs fudgeLJ fudgeQQ 17 | 1 2 yes 0.5 0.8333 18 | 19 | #include "ffnonbonded.itp" 20 | #include "ffbonded.itp" 21 | 22 | 23 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/native_MD/amber99SBdisp.ff/ions.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; molname nrexcl 3 | IB+ 1 ; big positive ion 4 | 5 | [ atoms ] 6 | ; id at type res nr residu name at name cg nr charge 7 | 1 IB 1 IB+ IB 1 1.00000 8 | 9 | 10 | [ moleculetype ] 11 | ; molname nrexcl 12 | CA 1 13 | 14 | [ atoms ] 15 | ; id at type res nr residu name at name cg nr charge 16 | 1 C0 1 CA CA 1 2.00000 17 | 18 | 19 | [ moleculetype ] 20 | ; molname nrexcl 21 | CL 1 22 | 23 | [ atoms ] 24 | ; id at type res nr residu name at name cg nr charge 25 | 1 Cl 1 CL CL 1 -1.00000 26 | 27 | 28 | [ moleculetype ] 29 | ; molname nrexcl 30 | NA 1 31 | 32 | [ atoms ] 33 | ; id at type res nr residu name at name cg nr charge 34 | 1 Na 1 NA NA 1 1.00000 35 | 36 | 37 | [ moleculetype ] 38 | ; molname nrexcl 39 | MG 1 40 | 41 | [ atoms ] 42 | ; id at type res nr residu name at name cg nr charge 43 | 1 MG 1 MG MG 1 2.00000 44 | 45 | 46 | [ moleculetype ] 47 | ; molname nrexcl 48 | K 1 49 | 50 | [ atoms ] 51 | ; id at type res nr residu name at name cg nr charge 52 | 1 K 1 K K 1 1.00000 53 | 54 | 55 | [ moleculetype ] 56 | ; molname nrexcl 57 | RB 1 58 | 59 | [ atoms ] 60 | ; id at type res nr residu name at name cg nr charge 61 | 1 Rb 1 RB RB 1 1.00000 62 | 63 | 64 | [ moleculetype ] 65 | ; molname nrexcl 66 | CS 1 67 | 68 | [ atoms ] 69 | ; id at type res nr residu name at name cg nr charge 70 | 1 Cs 1 CS CS 1 1.00000 71 | 72 | 73 | [ moleculetype ] 74 | ; molname nrexcl 75 | LI 1 76 | 77 | [ atoms ] 78 | ; id at type res nr residu name at name cg nr charge 79 | 1 Li 1 LI LI 1 1.00000 80 | 81 | 82 | [ moleculetype ] 83 | ; molname nrexcl 84 | ZN 1 85 | 86 | [ atoms ] 87 | ; id at type res nr residu name at name cg nr charge 88 | 1 Zn 1 ZN ZN 1 2.00000 89 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/native_MD/amber99SBdisp.ff/tip4pd.itp: -------------------------------------------------------------------------------- 1 | [ moleculetype ] 2 | ; molname nrexcl 3 | SOL 1 4 | 5 | [ atoms ] 6 | ; id at type res nr res name at name cg nr charge mass 7 | 1 OW_tip4pd 1 SOL OW 1 0 16.00000 8 | 2 HW_tip4pd 1 SOL HW1 1 0.5900 1.00800 9 | 3 HW_tip4pd 1 SOL HW2 1 0.5900 1.00800 10 | 4 MW 1 SOL MW 1 -1.1800 0.00000 11 | 12 | #ifndef FLEXIBLE 13 | 14 | [ settles ] 15 | ; i funct doh dhh 16 | 1 1 0.09572 0.15139 17 | 18 | #else 19 | [ bonds ] 20 | ; i j funct length force.c. 21 | 1 2 1 0.09572 502416.0 0.09572 502416.0 22 | 1 3 1 0.09572 502416.0 0.09572 502416.0 23 | 24 | [ angles ] 25 | ; i j k funct angle force.c. 26 | 2 1 3 1 104.52 628.02 104.52 628.02 27 | 28 | #endif 29 | 30 | 31 | [ virtual_sites3 ] 32 | ; Dummy from funct a b 33 | 4 1 2 3 1 0.131937768 0.131937768 34 | 35 | [ exclusions ] 36 | 1 2 3 4 37 | 2 1 3 4 38 | 3 1 2 4 39 | 4 1 2 3 40 | 41 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/native_MD/amber99SBdisp.ff/watermodels.dat: -------------------------------------------------------------------------------- 1 | tip4pd TIP4P-D TIP 4-point with increased dispersion 2 | -------------------------------------------------------------------------------- /test/test_inputs/ttrref/native_MD/intramat_1_1.ndx.h5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/ttrref/native_MD/intramat_1_1.ndx.h5 -------------------------------------------------------------------------------- /test/test_inputs/ttrref/ref_inter/intermat_1_1.ndx.h5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/ttrref/ref_inter/intermat_1_1.ndx.h5 -------------------------------------------------------------------------------- /test/test_inputs/ttrref/ref_inter/intramat_1_1.ndx.h5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/ttrref/ref_inter/intramat_1_1.ndx.h5 -------------------------------------------------------------------------------- /test/test_inputs/ttrref/ref_intra/intramat_1_1.ndx.h5: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_inputs/ttrref/ref_intra/intramat_1_1.ndx.h5 -------------------------------------------------------------------------------- /test/test_outputs/cmdata/.gitignore: -------------------------------------------------------------------------------- 1 | histo/ 2 | -------------------------------------------------------------------------------- /test/test_outputs/cmdata/hh.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_outputs/cmdata/hh.tgz -------------------------------------------------------------------------------- /test/test_outputs/make_mat_popc/intramat_1_1.ndx.gz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/multi-ego/multi-eGO/20998a93a9252cc5223599c934e16a59d53a9300/test/test_outputs/make_mat_popc/intramat_1_1.ndx.gz -------------------------------------------------------------------------------- /test/update_testing_data.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | MEGO_ROOT=$(realpath ..) 3 | TEST_DIR=${MEGO_ROOT}/test 4 | TEST_CASES="${TEST_DIR}/test_cases.txt" 5 | 6 | # TODO make dependent on set parameters and loop etc 7 | echo "Deleting current inputs" 8 | [ -d "${MEGO_ROOT}/inputs/gpref" ] && rm -rf ${MEGO_ROOT}/inputs/gpref 9 | [ -d "${MEGO_ROOT}/inputs/abetaref" ] && rm -rf ${MEGO_ROOT}/inputs/abetaref 10 | [ -d "${MEGO_ROOT}/inputs/ttrref" ] && rm -rf ${MEGO_ROOT}/inputs/ttrref 11 | [ -d "${MEGO_ROOT}/inputs/lyso-bnz_ref" ] && rm -rf ${MEGO_ROOT}/inputs/lyso-bnz_ref 12 | cp -r test_inputs/gpref ${MEGO_ROOT}/inputs 13 | cp -r test_inputs/abetaref ${MEGO_ROOT}/inputs 14 | cp -r test_inputs/ttrref ${MEGO_ROOT}/inputs 15 | cp -r test_inputs/lyso-bnz_ref ${MEGO_ROOT}/inputs 16 | 17 | # delete output directories 18 | echo "Deleting current outputs" 19 | [ -d "${MEGO_ROOT}/outputs/gpref" ] && rm -rf ${MEGO_ROOT}/outputs/gpref 20 | [ -d "${MEGO_ROOT}/outputs/abetaref" ] && rm -rf ${MEGO_ROOT}/outputs/abetaref 21 | [ -d "${MEGO_ROOT}/outputs/ttrref" ] && rm -rf ${MEGO_ROOT}/outputs/ttrref 22 | [ -d "${MEGO_ROOT}/outputs/lyso-bnz_ref" ] && rm -rf ${MEGO_ROOT}/outputs/lyso-bnz_ref 23 | 24 | echo "Deleting current test_outputs" 25 | rm -rf ${TEST_DIR}/test_outputs/gpref 26 | rm -rf ${TEST_DIR}/test_outputs/abetaref 27 | rm -rf ${TEST_DIR}/test_outputs/ttrref 28 | rm -rf ${TEST_DIR}/test_outputs/lyso-bnz_ref 29 | 30 | echo "Generating data for examples from ${TEST_CASES}..." 31 | while read case; do 32 | case=${case/"TEST_ROOT"/$TEST_DIR} 33 | IFS='#' read -r -a array <<< "$case" 34 | case=$(echo "${array[0]}") 35 | out_dir=$(python ${MEGO_ROOT}/multiego.py $case | grep "Output files written to" | awk '{print $6}') 36 | out_dir=$(realpath $out_dir) 37 | system=$(dirname $out_dir) 38 | system=$(basename $system) 39 | echo "Copying $out_dir to ${TEST_DIR}/test_outputs/${system}" 40 | mkdir -p ${TEST_DIR}/test_outputs/${system} 41 | cp -r $out_dir ${TEST_DIR}/test_outputs/${system} 42 | done < ${TEST_CASES} 43 | 44 | echo "Finished generating test outputs!" 45 | -------------------------------------------------------------------------------- /tools/README.md: -------------------------------------------------------------------------------- 1 | # Useful multi-eGO Tools 2 | 3 | - box_concentration: get simulation box sizes for a given concentration and number of molecules 4 | - cmdata: calculate interatomic histograms from MD trajectories using GROMACS 5 | - domain_sectioner: merge probability matrix to account for multi-domain proteins priors 6 | - face_generator: Luigi Pirandello face and quotes from "uno, nessuno, centomila" 7 | - make_mat: get probability matrices and interaction distances from interatomic distances 8 | -------------------------------------------------------------------------------- /tools/box_concentration/README.md: -------------------------------------------------------------------------------- 1 | # get_box.py 2 | 3 | This script is a simple implementation of the formula to get the side of a cubic box corresponding to a given molar concentration for a given number of molecules. 4 | ``` 5 | python get_box.py --n_mol #molecules --conc [C] 6 | ``` 7 | 8 | -------------------------------------------------------------------------------- /tools/box_concentration/get_box.py: -------------------------------------------------------------------------------- 1 | import argparse 2 | import numpy as np 3 | 4 | if __name__ == "__main__": 5 | parser = argparse.ArgumentParser( 6 | description="Calculate number of moles, concentration, box size or volume based on provided parameters." 7 | ) 8 | parser.add_argument( 9 | "--n_mol", 10 | type=int, 11 | required=False, 12 | help="Number of molecules, to be combined with --conc or one from (--volume, --sphere_r, --cubic_side)", 13 | ) 14 | parser.add_argument( 15 | "--conc", 16 | type=float, 17 | required=False, 18 | help="Concentration in Molar, to be combined with --n_mol or one from (--volume, --sphere_r, --cubic_side)", 19 | ) 20 | parser.add_argument("--volume", type=float, required=False, help="Volume in nm^3, to be combined with --n_mol or --conc") 21 | parser.add_argument("--sphere_r", type=float, required=False, help="Radius of a sphere in nm") 22 | parser.add_argument("--cubic_side", type=float, required=False, help="Side of a cube in nm") 23 | 24 | args = parser.parse_args() 25 | 26 | # Print help if no arguments are provided 27 | if not any(vars(args).values()): 28 | parser.print_help() 29 | exit(0) 30 | 31 | n_mol = args.n_mol 32 | conc = args.conc 33 | volume = args.volume 34 | sphere_r = args.sphere_r 35 | cubic_side = args.cubic_side 36 | 37 | if n_mol is not None and n_mol > 0 and conc is not None and conc > 0: 38 | box = 10**8 * (n_mol / (conc * 6.022 * 10**23)) ** (1 / 3) 39 | print("cubic box of side: %.5f nm" % box) 40 | exit() 41 | 42 | if sphere_r is not None and sphere_r > 0: 43 | volume = (4 / 3) * np.pi * sphere_r**3 44 | 45 | if cubic_side is not None and cubic_side > 0: 46 | volume = cubic_side**3 47 | 48 | if n_mol is not None and n_mol > 0 and volume is not None and volume > 0: 49 | conc = 10**24 * (n_mol / (volume * 6.022 * 10**23)) 50 | print("concentration is: %.12f M" % conc) 51 | exit() 52 | 53 | if conc is not None and conc > 0 and volume is not None and volume > 0: 54 | n_mol = int(round((volume * conc * 6.022 * 10**23) / 10**24)) 55 | print("n_mol is: %i" % n_mol) 56 | exit() 57 | 58 | if sphere_r is not None and sphere_r > 0: 59 | volume = (4 / 3) * np.pi * sphere_r**3 60 | side = volume ** (1 / 3) 61 | print("volume is %.6f nm^3 and cubic side would be %.6f nm" % (volume, side)) 62 | exit() 63 | 64 | parser.print_help() 65 | -------------------------------------------------------------------------------- /tools/cmdata/.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | exe/ 3 | -------------------------------------------------------------------------------- /tools/cmdata/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.16) 2 | 3 | project(cmdata VERSION 0.1 4 | DESCRIPTION "A programm to calculate contact data from gromacs trajectories for multi-eGO" 5 | LANGUAGES CXX C) 6 | 7 | set(CMAKE_CXX_STANDARD 17) 8 | set(CMDATA cmdata) 9 | 10 | set(CMAKE_RPATH "${CMAKE_INSTALL_PREFIX}/lib") 11 | set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") 12 | set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) 13 | 14 | add_executable(${CMDATA} main.cpp) 15 | 16 | # set build type to release if not set (check if its debug, Debug, or DEBUG) 17 | if(CMAKE_BUILD_TYPE MATCHES "Debug") 18 | set(CMAKE_BUILD_TYPE Debug) 19 | set(CMAKE_CXX_FLAGS_DEBUG "-g") 20 | elseif(CMAKE_BUILD_TYPE MATCHES "Release" OR NOT CMAKE_BUILD_TYPE) 21 | set(CMAKE_BUILD_TYPE Release) 22 | set(CMAKE_CXX_FLAGS "-Wall -Wextra -march=native -Wno-unused-parameter") 23 | set(CMAKE_CXX_FLAGS_RELEASE "-O3") 24 | endif() 25 | 26 | # find gromacs 27 | find_package(GROMACS REQUIRED NAMES gromacs gromacs_mpi gromacs_d gromacs_mpi_d HINTS "$ENV{GROMACS_DIR}") 28 | find_package(HDF5 COMPONENTS C CXX) 29 | if(HDF5_FOUND) 30 | message(STATUS "HDF5 found, enabling HDF5 support") 31 | add_definitions(-DUSE_HDF5) 32 | target_include_directories(${CMDATA} PRIVATE ${HDF5_INCLUDE_DIRS}) 33 | target_link_libraries(${CMDATA} PRIVATE ${HDF5_CXX_LIBRARIES}) 34 | endif() 35 | 36 | # include source and header files 37 | target_include_directories(${CMDATA} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src) 38 | 39 | include(FetchContent) 40 | SET(FETCHCONTENT_QUIET OFF) 41 | SET(FETCHCONTENT_BASE_DIR ${CMAKE_CURRENT_BINARY_DIR}/cmdata_fetch) 42 | 43 | message(STATUS "Fetching popt") 44 | FetchContent_Declare( 45 | popt 46 | URL https://github.com/rpm-software-management/popt/archive/refs/heads/master.zip 47 | GIT_TAG 2bca0aa 48 | PATCH_COMMAND patch --directory=${FETCHCONTENT_BASE_DIR}/popt-src -p0 < ${CMAKE_CURRENT_SOURCE_DIR}/popt.patch 49 | ) 50 | FetchContent_MakeAvailable(popt) 51 | 52 | message(STATUS "Fetching xdrfile") 53 | FetchContent_Declare( 54 | xdrfile 55 | URL https://github.com/multi-ego/xdrfile/archive/refs/heads/chemfiles.zip 56 | ) 57 | FetchContent_MakeAvailable(xdrfile) 58 | 59 | # link libraries 60 | target_link_libraries(${CMDATA} PRIVATE Gromacs::libgromacs xdrfile popt) 61 | 62 | set_target_properties(${PROJECT_NAME} PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib) 63 | install(TARGETS ${CMDATA} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) 64 | 65 | # build test 66 | if(CMDATA_BUILD_TESTS) 67 | enable_testing() 68 | add_subdirectory(test/) 69 | endif() 70 | -------------------------------------------------------------------------------- /tools/cmdata/README.md: -------------------------------------------------------------------------------- 1 | # cmdata 2 | 3 | `cmdata` is a tool that calculates interatomic distances and generates probability distribution and CDF used in multi-eGO to generate the input matrices. It works using the GROMACS API. 4 | 5 | ## Installation 6 | 7 | To install it you need to compile and install GROMACS (2023/2024) using `-DGMX_INSTALL_LEGACY_API=ON` `-DBUILD_SHARED_LIBS=ON` 8 | `-DGMX_INSTALL_NBLIB_API=ON`. Then in a local subfolder (e.g., `build`, run `cmake ..` then `make` and `make install`). 9 | 10 | ## Usage 11 | cmdata calculates a histogram for interatomic distances for multi-eGO. 12 | 13 | ``` 14 | Usage: cmdata [OPTION...] 15 | -f, --traj=FILE Trajectory file 16 | -s, --top=FILE Topology file 17 | -b, --t_begin[=FLOAT] Start time 18 | -e, --t_end[=FLOAT] End time 19 | -o, --out[=STRING] Output prefix 20 | --dt[=INT] Time step 21 | --cutoff[=DOUBLE] Cutoff distance 22 | --mol_cutoff[=DOUBLE] Molecule cutoff distance 23 | --nskip[=INT] Number of frames to skip 24 | --num_threads[=INT] Number of threads 25 | --mode[=STRING] Mode of operation 26 | --weights[=FILE] Weights file 27 | --no_pbc Ignore pbcs 28 | 29 | Help options: 30 | -?, --help Show this help message 31 | --usage Display brief usage message 32 | ``` 33 | -------------------------------------------------------------------------------- /tools/cmdata/popt.patch: -------------------------------------------------------------------------------- 1 | diff --color -Naur CMakeLists.txt.origCMakeLists.txt 2 | --- CMakeLists.txt 2024-03-14 16:24:38.310420219 +0100 3 | +++ CMakeLists.txt 2024-03-14 16:25:42.162353238 +0100 4 | @@ -103,12 +103,6 @@ 5 | 6 | 7 | add_subdirectory(src) 8 | -add_subdirectory(doc) 9 | if (EXISTS po/popt.pot) 10 | add_subdirectory(po) 11 | endif() 12 | - 13 | -# Enable testing 14 | -include(CTest) 15 | -enable_testing() 16 | -add_subdirectory(tests) 17 | diff --color -Naur src/CMakeLists.txt.orig src/CMakeLists.txt 18 | --- src/CMakeLists.txt 2024-03-14 16:23:52.010463824 +0100 19 | +++ src/CMakeLists.txt 2024-03-14 16:26:29.646298783 +0100 20 | @@ -25,13 +25,15 @@ 21 | endif() 22 | 23 | set_target_properties(popt PROPERTIES 24 | - VERSION ${PROJECT_VERSION} 25 | - SOVERSION ${POPT_SOVERSION} 26 | - C_STANDARD 99 27 | - C_STANDARD_REQUIRED ON 28 | - C_EXTENSIONS ON 29 | - PUBLIC_HEADER popt.h 30 | - LINK_FLAGS "-Wl,--no-undefined -Wl,--version-script,\"${PROJECT_SOURCE_DIR}/src/libpopt.vers\"" 31 | + VERSION ${PROJECT_VERSION} 32 | + SOVERSION ${POPT_SOVERSION} 33 | + C_STANDARD 99 34 | + C_STANDARD_REQUIRED ON 35 | + C_EXTENSIONS ON 36 | + PUBLIC_HEADER popt.h 37 | + if(not APPLE) 38 | + LINK_FLAGS "-Wl,--no-undefined -Wl,--version-script,\"${PROJECT_SOURCE_DIR}/src/libpopt.vers\"" 39 | + endif() 40 | ) 41 | 42 | # Install the library 43 | -------------------------------------------------------------------------------- /tools/cmdata/src/cmdata/density.hpp: -------------------------------------------------------------------------------- 1 | #ifndef _CMDATA_DENSIY_HPP 2 | #define _CMDATA_DENSIY_HPP 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | #include "indexing.hpp" 9 | 10 | namespace cmdata::density 11 | { 12 | 13 | void kernel_density_estimator(std::vector::iterator x, const std::vector &bins, const float mu, const float norm) 14 | { 15 | float h = 0.01; 16 | float from_x = std::max(mu - 2 * h, bins[0]); 17 | float to_x = std::min(mu + 2 * h, bins.back()); 18 | auto is_geq_start = [&from_x](float i) { return i >= from_x; }; 19 | auto is_geq_end = [&to_x](float i) { return i > to_x; }; 20 | auto start = std::find_if(bins.begin(), bins.end(), is_geq_start); 21 | auto end = std::find_if(bins.begin(), bins.end(), is_geq_end); 22 | int from = std::distance(bins.begin(), start); 23 | int to = std::distance(bins.begin(), end); 24 | float scale = norm / (0.73853587 * h * std::sqrt(2. * M_PI)); 25 | if (mu < h) scale *= 2.; 26 | float shift = std::exp(-2.); 27 | for (int i = from; i < to; i++) 28 | { 29 | float f = (mu - bins[i]) / h; 30 | float kernel = std::exp(-0.5 * f * f); 31 | x[i] += scale * (kernel - shift); 32 | } 33 | } 34 | 35 | void intra_mol_routine( 36 | int i, std::size_t a_i, std::size_t a_j, float dx2, float weight, const std::vector &mol_id_, 37 | const std::vector &natmol2_, const std::vector &density_bins_, 38 | const std::vector &inv_num_mol_, std::vector> &frame_same_mutex_, 39 | std::vector>>> &intram_mat_density_ 40 | ) 41 | { 42 | std::size_t same_mutex_index = cmdata::indexing::mutex_access(mol_id_[i], a_i, a_j, natmol2_); 43 | std::unique_lock lock(frame_same_mutex_[mol_id_[i]][same_mutex_index]); 44 | kernel_density_estimator(std::begin(intram_mat_density_[mol_id_[i]][a_i][a_j]), density_bins_, std::sqrt(dx2), weight*inv_num_mol_[i]); 45 | lock.unlock(); 46 | } 47 | 48 | void inter_mol_same_routine( 49 | int i, std::size_t mol_i, std::size_t a_i, std::size_t a_j, float dx2, float weight, 50 | const std::vector &mol_id_, const std::vector &natmol2_, const std::vector &density_bins_, 51 | std::vector> &frame_same_mutex_, std::vector> &frame_same_mat_, 52 | std::vector>>> &interm_same_mat_density_ 53 | ) 54 | { 55 | float dist = std::sqrt(dx2); 56 | std::size_t same_access_index = cmdata::indexing::offset_same(mol_id_[i], mol_i, a_i, a_j, natmol2_); 57 | std::size_t same_mutex_index = cmdata::indexing::mutex_access(mol_id_[i], a_i, a_j, natmol2_); 58 | std::unique_lock lock(frame_same_mutex_[mol_id_[i]][same_mutex_index]); 59 | kernel_density_estimator(std::begin(interm_same_mat_density_[mol_id_[i]][a_i][a_j]), density_bins_, dist, weight); 60 | frame_same_mat_[mol_id_[i]][same_access_index] = std::min(dist, frame_same_mat_[mol_id_[i]][same_access_index]); 61 | lock.unlock(); 62 | } 63 | 64 | void inter_mol_cross_routine( 65 | int i, int j, std::size_t mol_i, std::size_t mol_j, std::size_t a_i, std::size_t a_j, float dx2, float weight, 66 | const std::vector &mol_id_, const std::vector &natmol2_, const std::vector> &cross_index_, 67 | const std::vector &density_bins_, std::vector> &frame_cross_mutex_, 68 | std::vector> &frame_cross_mat_, std::vector>>> &interm_cross_mat_density_ 69 | ) 70 | { 71 | float dist = std::sqrt(dx2); 72 | std::size_t cross_access_index = cmdata::indexing::offset_cross(mol_id_[i], mol_id_[j], mol_i, mol_j, a_i, a_j, natmol2_); 73 | std::size_t cross_mutex_index = cmdata::indexing::mutex_access(mol_id_[j], a_i, a_j, natmol2_); 74 | std::unique_lock lock(frame_cross_mutex_[cross_index_[mol_id_[i]][mol_id_[j]]][cross_mutex_index]); 75 | kernel_density_estimator(std::begin(interm_cross_mat_density_[cross_index_[mol_id_[i]][mol_id_[j]]][a_i][a_j]), density_bins_, dist, weight); 76 | frame_cross_mat_[cross_index_[mol_id_[i]][mol_id_[j]]][cross_access_index] = std::min(dist, frame_cross_mat_[cross_index_[mol_id_[i]][mol_id_[j]]][cross_access_index]); 77 | lock.unlock(); 78 | } 79 | 80 | void normalize_histo( 81 | std::size_t i, int ii, int jj, float norm, float inv_num_mol_same, 82 | std::vector>>> &data 83 | ) 84 | { 85 | std::transform( 86 | std::begin(data[i][ii][jj]), std::end(data[i][ii][jj]), std::begin(data[i][ii][jj]), 87 | [norm, inv_num_mol_same]( auto &c ){ return c * norm * inv_num_mol_same; } 88 | ); 89 | } 90 | 91 | } // namespace cmdata::density 92 | 93 | #endif // _CMDATA_DENSIY_HPP 94 | -------------------------------------------------------------------------------- /tools/cmdata/src/cmdata/function_types.hpp: -------------------------------------------------------------------------------- 1 | #ifndef _CMDATA_FUNCTION_TYPES_HPP 2 | #define _CMDATA_FUNCTION_TYPES_HPP 3 | 4 | namespace cmdata::ftypes 5 | { 6 | template 7 | struct function_traits; 8 | 9 | template 10 | struct function_traits { 11 | using return_type = Ret; 12 | using args_tuple = std::tuple; 13 | // Define a type for the function signature 14 | using signature = Ret(Args...); 15 | }; 16 | 17 | // does nothing while taking the same arguments as the function 18 | template 19 | auto do_nothing() { 20 | return [](auto&&... args) -> typename function_traits::return_type {}; 21 | } 22 | } 23 | 24 | #endif // _CMDATA_FUNCTION_TYPES_HPP -------------------------------------------------------------------------------- /tools/cmdata/src/cmdata/indexing.hpp: -------------------------------------------------------------------------------- 1 | #ifndef _CMDATA_INDEXING_HPP 2 | #define _CMDATA_INDEXING_HPP 3 | 4 | #include 5 | 6 | namespace cmdata::indexing 7 | { 8 | 9 | int n_bins(const float cut, const float factor = 4.0) 10 | { 11 | return cut / (0.01 / factor); 12 | } 13 | 14 | std::size_t mutex_access( std::size_t i, std::size_t a_i, std::size_t a_j, const std::vector &natmol2 ) 15 | { 16 | return a_i * natmol2[i] + a_j; 17 | } 18 | 19 | static std::size_t offset_same( std::size_t i, std::size_t mol_i, std::size_t a_i, std::size_t a_j, const std::vector &natmol2 ) 20 | { 21 | return mol_i * (natmol2[i] * natmol2[i]) + a_i * natmol2[i] + a_j; 22 | } 23 | 24 | static std::size_t offset_cross( 25 | std::size_t i, std::size_t j, std::size_t mol_i, std::size_t mol_j, 26 | std::size_t a_i, std::size_t a_j, const std::vector &natmol2 27 | ) 28 | { 29 | return mol_i * (mol_j * natmol2[i] * natmol2[j]) + mol_j * (natmol2[i] * natmol2[j]) + a_i * natmol2[j] + a_j; 30 | } 31 | 32 | struct SameThreadIndices { 33 | std::size_t start_mti_same; 34 | std::size_t start_im_same; 35 | std::size_t start_i_same; 36 | std::size_t start_j_same; 37 | std::size_t end_mti_same; 38 | std::size_t end_im_same; 39 | std::size_t end_i_same; 40 | std::size_t end_j_same; 41 | long int n_loop_operations_same; 42 | }; 43 | 44 | struct CrossThreadIndices { 45 | std::size_t start_mti_cross; 46 | std::size_t start_mtj_cross; 47 | std::size_t start_im_cross; 48 | std::size_t start_jm_cross; 49 | std::size_t start_i_cross; 50 | std::size_t start_j_cross; 51 | std::size_t end_mti_cross; 52 | std::size_t end_mtj_cross; 53 | std::size_t end_im_cross; 54 | std::size_t end_jm_cross; 55 | std::size_t end_i_cross; 56 | std::size_t end_j_cross; 57 | int n_loop_operations_cross; 58 | }; 59 | 60 | } // namespace cmdata::indexing 61 | 62 | #endif // _CMDATA_indexing_HPP 63 | -------------------------------------------------------------------------------- /tools/cmdata/src/cmdata/parallel.hpp: -------------------------------------------------------------------------------- 1 | #ifndef _CMDATA_SEMAPHORE_HPP 2 | #define _CMDATA_SEMAPHORE_HPP 3 | 4 | #include 5 | #include 6 | 7 | namespace cmdata::parallel 8 | { 9 | 10 | class Semaphore 11 | { 12 | private: 13 | std::mutex mut; 14 | std::condition_variable cv; 15 | std::uint64_t counter; 16 | 17 | public: 18 | Semaphore( std::uint64_t counter = 0 ) : mut(std::mutex()), cv(std::condition_variable()), counter(counter) {} 19 | void acquire() 20 | { 21 | std::unique_lock lock(mut); 22 | cv.wait(lock, [this](){ return counter > 0; }); 23 | --counter; 24 | lock.unlock(); 25 | } 26 | 27 | void release() 28 | { 29 | std::unique_lock lock(mut); 30 | ++counter; 31 | lock.unlock(); 32 | cv.notify_one(); 33 | } 34 | 35 | void set_counter( std::uint64_t c ) 36 | { 37 | counter = c; 38 | } 39 | }; 40 | 41 | } // namespace cmdata::parallel 42 | 43 | #endif // _CMDATA_SEMAPHORE_HPP -------------------------------------------------------------------------------- /tools/cmdata/src/cmdata/selection.hpp: -------------------------------------------------------------------------------- 1 | #ifndef _CMDATA_SELECTION_HPP 2 | #define _CMDATA_SELECTION_HPP 3 | 4 | namespace cmdata::selection 5 | { 6 | 7 | } // namespace cmdata::selection 8 | 9 | #endif // _CMDATA_SELECTION_HPP -------------------------------------------------------------------------------- /tools/cmdata/src/cmdata/xtc_frame.hpp: -------------------------------------------------------------------------------- 1 | #ifndef _XTC_FRAME_HPP 2 | #define _XTC_FRAME_HPP 3 | 4 | #include "gromacs/math/vec.h" 5 | #include "gromacs/math/vectypes.h" 6 | #include 7 | 8 | #include 9 | 10 | namespace cmdata::xtc { 11 | 12 | class Frame { 13 | public: 14 | int natom; 15 | unsigned long nframe; 16 | int64_t *offsets; 17 | int step; 18 | float time; 19 | matrix box; 20 | rvec *x; 21 | float prec; 22 | 23 | // create default constructor 24 | Frame() { x = (rvec*)malloc(0 * sizeof(rvec)); } 25 | Frame(int natom) : natom(natom) { x = (rvec*)malloc(natom * sizeof(rvec)); } 26 | // ~Frame() { free(x); free(offsets); } 27 | 28 | int read_next_frame(XDRFILE *xd, bool nopbc, PbcType pbc_type, t_pbc *pbc) 29 | { 30 | int status = read_xtc(xd, natom, &step, &time, box, x, &prec); 31 | if (nopbc) 32 | { 33 | pbc = nullptr; 34 | } 35 | else 36 | { 37 | set_pbc(pbc, pbc_type, box); 38 | } 39 | return status; 40 | } 41 | }; 42 | 43 | } // namespace cmdata::xtc 44 | 45 | #endif // _XTC_FRAME_HPP -------------------------------------------------------------------------------- /tools/domain_sectioner/README.md: -------------------------------------------------------------------------------- 1 | # domains.py 2 | 3 | `domains.py` is a script used to define intra-region associations for specific energy epsilon parameters in a multi-eGO environment. 4 | 5 | ## Usage 6 | 7 | 8 | ### Arguments 9 | 10 | - **`--intra`** 11 | Specifies the path to the reference intra-region matrix file. This file defines the intra-region epsilon parameter relationships. 12 | **Example:** `--intra PATH/reference_intramat` 13 | 14 | - **`--top`** 15 | Specifies the path to the reference topology file. This file contains the necessary topology information for the domain definitions. 16 | **Example:** `--top PATH/reference_top` 17 | 18 | - **`--dom_res`** 19 | Defines the sequence of domain ranges as `start-end` pairs, where each range represents a domain of residues. These ranges must satisfy the following conditions: 20 | - Be in non-decreasing order. 21 | - Not overlap with one another. 22 | 23 | **Examples:** 24 | Valid domain ranges: 25 | - `--dom_res 1-30 45-60` 26 | - `--dom_res 4-4 45-60` 27 | 28 | Invalid domain ranges: 29 | - `--dom_res 1-30 25-60` (Overlapping ranges) 30 | - `--dom_res 30-20 35-60` (Non-decreasing order) 31 | 32 | - **`--out`** *(optional)* 33 | Specifies the output directory where the results will be saved. If omitted, the results will be saved in the current working directory. 34 | **Example:** `--out output_directory` 35 | 36 | - **`--invert`** *(optional)* 37 | If this flag is included, the flag assignment is inverted and 0 will be pleaced in the domain ranges instead of 1 38 | 39 | --- 40 | 41 | ### Examples of Usage 42 | 43 | 1. Define domains using two non-overlapping ranges: 44 | -------------------------------------------------------------------------------- /tools/equivalent_atoms/aa_sym.txt: -------------------------------------------------------------------------------- 1 | # aminoacids 2 | ARG NH1 NH2 3 | ASP OD1 OD2 4 | GLU OE1 OE2 5 | LEU CD1 CD2 6 | PHE CD1 CD2 7 | PHE CE1 CE2 8 | TYR CD1 CD2 9 | TYR CE1 CE2 10 | VAL CG1 CG2 11 | ALA O1 O2 12 | ARG O1 O2 13 | ASN O1 O2 14 | ASP O1 O2 15 | CYS O1 O2 16 | GLN O1 O2 17 | GLU O1 O2 18 | GLY O1 O2 19 | HIS O1 O2 20 | ILE O1 O2 21 | LEU O1 O2 22 | LYS O1 O2 23 | MET O1 O2 24 | PHE O1 O2 25 | PRO O1 O2 26 | SER O1 O2 27 | THR O1 O2 28 | TRP O1 O2 29 | TYR O1 O2 30 | VAL O1 O2 31 | # lipids 32 | POPC C13 C14 33 | POPC C13 C15 34 | POPC C14 C15 35 | POPC O13 O14 36 | # other as needed 37 | -------------------------------------------------------------------------------- /tools/make_mat/HDF52ndx.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | import argparse 3 | import os 4 | 5 | # Set up argument parser 6 | parser = argparse.ArgumentParser(description="Read a HDF5 molecular contact matrix and save it as text file.") 7 | parser.add_argument( 8 | "-i", 9 | "--input_file", 10 | required=True, 11 | type=str, 12 | help="Path to the input contact matrix file (e.g., 'intramat_1_1.ndx.h5')", 13 | ) 14 | 15 | # Add an optional argument for output file name 16 | parser.add_argument( 17 | "-o", 18 | "--output_file", 19 | type=str, 20 | default=None, 21 | help="Path to the output text file (e.g., 'intramat_1_1.ndx'). Defaults to input file name without '.h5' extension.", 22 | ) 23 | 24 | args = parser.parse_args() 25 | 26 | if args.output_file is None: 27 | output_file = os.path.splitext(args.input_file)[0] 28 | else: 29 | output_file = args.output_file 30 | 31 | # Read the HDF5 file 32 | contact_matrix = pd.read_hdf(args.input_file, key="data") 33 | 34 | # Define the column names if needed (ensure they are consistent with HDF5) 35 | col_names = ["molecule_name_ai", "ai", "molecule_name_aj", "aj", "distance", "probability", "cutoff", "learned"] 36 | 37 | # Check if the columns exist in the DataFrame 38 | for col in col_names: 39 | if col not in contact_matrix.columns: 40 | raise ValueError(f"Column '{col}' not found in the input HDF5 file.") 41 | 42 | contact_matrix["learned"] = contact_matrix["learned"].astype(int) 43 | # Save the DataFrame as a text file with space-separated values 44 | contact_matrix.to_csv(output_file, sep=" ", index=False, header=False) 45 | 46 | print(f"Data successfully saved to {output_file}") 47 | -------------------------------------------------------------------------------- /tools/make_mat/README.md: -------------------------------------------------------------------------------- 1 | # Interatomic contact matrices tools 2 | 3 | ## make_mat.py 4 | 5 | This script calculates probabilities from histograms based on specified parameters. 6 | 7 | Usage: 8 | ``` 9 | python make_mat.py --histo --target_top --mego_top [--inter] [--out ] [--out_name ] [--proc ] [--cutoff ] 10 | ``` 11 | Parameters: 12 | 13 | `--histo`: Path to the directory containing the histograms. 14 | Histogram files should contain the prefix "intra_" for intramolecular contact descriptions and "inter_" for intermolecular. 15 | 16 | `--target_top`: Path to the topology file of the system on which the histograms were calculated. 17 | 18 | `--mego_top`: Path to the standard multi-eGO topology of the system generated by pdb2gmx. 19 | 20 | `--mode`: modality of the histogram analysis. Can be intra,same or cross (intramolecular, itermolecular same and intermolecular cross) or any combination by "+", e.g --mode intra+cross, --mode same+cross. If not provided all of them will be calculated --mode intra+same+cross. 21 | 22 | -`-out`: Optional parameter to set the output path. Default is the current directory. 23 | 24 | `--out_name`: Optional parameter to set the output name of files. It will be added to the default one. 25 | Example: intermat__mi_mj.ndx or intramat__mi_mj.ndx 26 | 27 | `--num_threads`: Optional parameter to set the number of processes to perform the calculation. Default is 1. 28 | 29 | `--cutoff`: The maximum cutoff used for the accumulation of the histograms. 30 | 31 | `--zero`: Optional flag returning 0 distances and 0 probability matrices with the correct cutoff values and indeces. 32 | 33 | ## ndx2HDF5.py 34 | 35 | This scripts convert a text or a text.gz matrix in HDF5 format, this is usefull for large system because it is much faster to process. 36 | 37 | ## HDF52ndx.py 38 | 39 | This scripts convert a HDF5 matrix into text file. 40 | -------------------------------------------------------------------------------- /tools/make_mat/ndx2HDF5.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | import numpy as np 3 | import argparse 4 | import os 5 | 6 | # Set up argument parser 7 | parser = argparse.ArgumentParser(description="Read a molecular contact matrix and save it as HDF5.") 8 | parser.add_argument( 9 | "-i", 10 | "--input_file", 11 | required=True, 12 | type=str, 13 | help="Path to the input contact matrix file (e.g., 'intramat_1_1.ndx.gz')", 14 | ) 15 | 16 | # Add an optional argument for output file name 17 | parser.add_argument( 18 | "-o", 19 | "--output_file", 20 | type=str, 21 | default=None, 22 | help="Path to the output text file (e.g., 'intramat_1_1.ndx.h5'). Defaults to input file name plus '.h5' extension.", 23 | ) 24 | 25 | args = parser.parse_args() 26 | 27 | if args.output_file is None: 28 | if args.input_file.endswith(".gz"): 29 | # Automatically generate the output filename by replacing .gz with .h5 30 | output_file = os.path.splitext(args.input_file)[0] + ".h5" 31 | elif args.input_file.endswith(".ndx"): 32 | output_file = os.path.splitext(args.input_file)[0] + ".ndx.h5" 33 | 34 | else: 35 | output_file = args.output_file 36 | 37 | # Define column names and data types 38 | col_names = ["molecule_name_ai", "ai", "molecule_name_aj", "aj", "distance", "probability", "cutoff", "learned"] 39 | col_types = { 40 | "molecule_name_ai": str, 41 | "ai": str, 42 | "molecule_name_aj": str, 43 | "aj": str, 44 | "distance": np.float64, 45 | "probability": np.float64, 46 | "cutoff": np.float64, 47 | "learned": "Int64", # Allows for integer with NaNs, which can be cast later 48 | } 49 | 50 | # Read the input file with specified column names and data types 51 | contact_matrix = pd.read_csv(args.input_file, header=None, sep=r"\s+", names=col_names, dtype=col_types) 52 | contact_matrix["learned"] = contact_matrix["learned"].fillna(1).astype(bool) 53 | 54 | contact_matrix["molecule_name_ai"] = contact_matrix["molecule_name_ai"].astype("category") 55 | contact_matrix["ai"] = contact_matrix["ai"].astype("category") 56 | contact_matrix["molecule_name_aj"] = contact_matrix["molecule_name_aj"].astype("category") 57 | contact_matrix["aj"] = contact_matrix["aj"].astype("category") 58 | 59 | # Save the data as HDF5 with compression 60 | contact_matrix.to_hdf(output_file, key="data", mode="w", format="table", complib="blosc:lz4", complevel=9) 61 | 62 | print(f"Data successfully saved to {output_file}") 63 | -------------------------------------------------------------------------------- /tools/resdata/.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | exe/ 3 | -------------------------------------------------------------------------------- /tools/resdata/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.16) 2 | 3 | project(resdata VERSION 0.1 4 | DESCRIPTION "A programm to calculate contact data from gromacs trajectories for multi-eGO" 5 | LANGUAGES CXX) 6 | 7 | set(CMAKE_CXX_STANDARD 17) 8 | set(RESDATA resdata) 9 | 10 | set(CMAKE_RPATH "${CMAKE_INSTALL_PREFIX}/lib") 11 | set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") 12 | set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) 13 | 14 | add_executable(${RESDATA} main.cpp) 15 | 16 | # set build type to release if not set (check if its debug, Debug, or DEBUG) 17 | if(CMAKE_BUILD_TYPE MATCHES "Debug") 18 | set(CMAKE_BUILD_TYPE Debug) 19 | set(CMAKE_CXX_FLAGS_DEBUG "-g") 20 | elseif(CMAKE_BUILD_TYPE MATCHES "Release" OR NOT CMAKE_BUILD_TYPE) 21 | set(CMAKE_BUILD_TYPE Release) 22 | set(CMAKE_CXX_FLAGS "-Wall -Wextra -march=native -Wno-unused-parameter") 23 | set(CMAKE_CXX_FLAGS_RELEASE "-O3") 24 | endif() 25 | 26 | # find gromacs 27 | find_package(GROMACS REQUIRED NAMES gromacs gromacs_mpi gromacs_d gromacs_mpi_d HINTS "$ENV{GROMACS_DIR}") 28 | 29 | # include source and header files 30 | target_include_directories(${RESDATA} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src) 31 | 32 | include(FetchContent) 33 | SET(FETCHCONTENT_QUIET OFF) 34 | SET(FETCHCONTENT_BASE_DIR ${CMAKE_CURRENT_BINARY_DIR}/resdata_fetch) 35 | 36 | message(STATUS "Fetching popt") 37 | FetchContent_Declare( 38 | popt 39 | URL https://github.com/rpm-software-management/popt/archive/refs/heads/master.zip 40 | GIT_TAG 2bca0aa 41 | PATCH_COMMAND patch --directory=${FETCHCONTENT_BASE_DIR}/popt-src -p0 < ${CMAKE_CURRENT_SOURCE_DIR}/popt.patch 42 | ) 43 | FetchContent_MakeAvailable(popt) 44 | 45 | message(STATUS "Fetching xdrfile") 46 | FetchContent_Declare( 47 | xdrfile 48 | URL https://github.com/multi-ego/xdrfile/archive/refs/heads/chemfiles.zip 49 | ) 50 | FetchContent_MakeAvailable(xdrfile) 51 | 52 | # link libraries 53 | target_link_libraries(${RESDATA} PRIVATE Gromacs::libgromacs xdrfile popt) 54 | 55 | set_target_properties(${PROJECT_NAME} PROPERTIES INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib) 56 | install(TARGETS ${RESDATA} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) 57 | 58 | # build test 59 | if(RESDATA_BUILD_TESTS) 60 | enable_testing() 61 | add_subdirectory(test/) 62 | endif() 63 | -------------------------------------------------------------------------------- /tools/resdata/README.md: -------------------------------------------------------------------------------- 1 | # resdata 2 | 3 | `resdata` is a tool that calculates residue wise interatomic distances and contact probabilities probabilities accounting for symmetric molecules . It works using the GROMACS API. 4 | 5 | ## Installation 6 | 7 | To install it you need to compile and install GROMACS (2023/2024) using `-DGMX_INSTALL_LEGACY_API=ON` `-DBUILD_SHARED_LIBS=ON` 8 | `-DGMX_INSTALL_NBLIB_API=ON`. Then in a local subfolder (e.g., `build`, run `cmake ..` then `make` and `make install`). 9 | 10 | ## Usage 11 | resdata calculates a residue wise contact and distance matrix for complex system. 12 | It can Calculate block averages of probabilities 13 | It takes in input an index (only hole molecules can be removed otherwise an error is raised) 14 | 15 | ``` 16 | Usage: cmdata [OPTION...] 17 | -f, --traj=FILE Trajectory file 18 | -s, --top=FILE Topology file 19 | -b, --t_begin[=FLOAT] Start time 20 | -e, --t_end[=FLOAT] End time 21 | -o, --out[=STRING] Output prefix 22 | -n, --index[=STRING] Index file 23 | --dt[=INT] Time step 24 | --cutoff[=DOUBLE] Cutoff distance 25 | --mol_cutoff[=DOUBLE] Molecule cutoff distance 26 | --nskip[=INT] Number of frames to skip 27 | --num_threads[=INT] Number of threads 28 | --mode[=STRING] Mode of operation 29 | --weights[=FILE] Weights file 30 | --no_pbc Ignore pbcs 31 | --blk_avg Calculates block average for probabili 32 | 33 | Help options: 34 | -?, --help Show this help message 35 | --usage Display brief usage message 36 | ``` 37 | -------------------------------------------------------------------------------- /tools/resdata/popt.patch: -------------------------------------------------------------------------------- 1 | diff --color -Naur CMakeLists.txt.origCMakeLists.txt 2 | --- CMakeLists.txt 2024-03-14 16:24:38.310420219 +0100 3 | +++ CMakeLists.txt 2024-03-14 16:25:42.162353238 +0100 4 | @@ -103,12 +103,6 @@ 5 | 6 | 7 | add_subdirectory(src) 8 | -add_subdirectory(doc) 9 | if (EXISTS po/popt.pot) 10 | add_subdirectory(po) 11 | endif() 12 | - 13 | -# Enable testing 14 | -include(CTest) 15 | -enable_testing() 16 | -add_subdirectory(tests) 17 | diff --color -Naur src/CMakeLists.txt.orig src/CMakeLists.txt 18 | --- src/CMakeLists.txt 2024-03-14 16:23:52.010463824 +0100 19 | +++ src/CMakeLists.txt 2024-03-14 16:26:29.646298783 +0100 20 | @@ -25,13 +25,15 @@ 21 | endif() 22 | 23 | set_target_properties(popt PROPERTIES 24 | - VERSION ${PROJECT_VERSION} 25 | - SOVERSION ${POPT_SOVERSION} 26 | - C_STANDARD 99 27 | - C_STANDARD_REQUIRED ON 28 | - C_EXTENSIONS ON 29 | - PUBLIC_HEADER popt.h 30 | - LINK_FLAGS "-Wl,--no-undefined -Wl,--version-script,\"${PROJECT_SOURCE_DIR}/src/libpopt.vers\"" 31 | + VERSION ${PROJECT_VERSION} 32 | + SOVERSION ${POPT_SOVERSION} 33 | + C_STANDARD 99 34 | + C_STANDARD_REQUIRED ON 35 | + C_EXTENSIONS ON 36 | + PUBLIC_HEADER popt.h 37 | + if(not APPLE) 38 | + LINK_FLAGS "-Wl,--no-undefined -Wl,--version-script,\"${PROJECT_SOURCE_DIR}/src/libpopt.vers\"" 39 | + endif() 40 | ) 41 | 42 | # Install the library 43 | -------------------------------------------------------------------------------- /tools/resdata/src/resdata/function_types.hpp: -------------------------------------------------------------------------------- 1 | #ifndef _RESDATA_FUNCTION_TYPES_HPP 2 | #define _RESDATA_FUNCTION_TYPES_HPP 3 | 4 | namespace resdata::ftypes 5 | { 6 | template 7 | struct function_traits; 8 | 9 | template 10 | struct function_traits { 11 | using return_type = Ret; 12 | using args_tuple = std::tuple; 13 | // Define a type for the function signature 14 | using signature = Ret(Args...); 15 | }; 16 | 17 | // does nothing while taking the same arguments as the function 18 | template 19 | auto do_nothing() { 20 | return [](auto&&... args) -> typename function_traits::return_type {}; 21 | } 22 | } 23 | 24 | #endif // _RESDATA_FUNCTION_TYPES_HPP -------------------------------------------------------------------------------- /tools/resdata/src/resdata/indexing.hpp: -------------------------------------------------------------------------------- 1 | #ifndef _RESDATA_INDEXING_HPP 2 | #define _RESDATA_INDEXING_HPP 3 | 4 | #include 5 | 6 | namespace resdata::indexing 7 | { 8 | 9 | std::size_t mutex_access( std::size_t i, std::size_t r_i, std::size_t r_j, const std::vector &num_res_per_molecule ) 10 | { 11 | return r_i * num_res_per_molecule[i] + r_j; 12 | } 13 | 14 | } // namespace resdata::indexing 15 | 16 | #endif // _RESDATA_indexing_HPP -------------------------------------------------------------------------------- /tools/resdata/src/resdata/parallel.hpp: -------------------------------------------------------------------------------- 1 | #ifndef _RESDATA_SEMAPHORE_HPP 2 | #define _RESDATA_SEMAPHORE_HPP 3 | 4 | #include 5 | #include 6 | 7 | namespace resdata::parallel 8 | { 9 | 10 | class Semaphore 11 | { 12 | private: 13 | std::mutex mut; 14 | std::condition_variable cv; 15 | std::uint64_t counter; 16 | 17 | public: 18 | Semaphore( std::uint64_t counter = 0 ) : mut(std::mutex()), cv(std::condition_variable()), counter(counter) {} 19 | void acquire() 20 | { 21 | std::unique_lock lock(mut); 22 | cv.wait(lock, [this](){ return counter > 0; }); 23 | --counter; 24 | lock.unlock(); 25 | } 26 | 27 | void release() 28 | { 29 | std::unique_lock lock(mut); 30 | ++counter; 31 | lock.unlock(); 32 | cv.notify_one(); 33 | } 34 | 35 | void set_counter( std::uint64_t c ) 36 | { 37 | counter = c; 38 | } 39 | }; 40 | 41 | } // namespace resdata::parallel 42 | 43 | #endif // _RESDATA_SEMAPHORE_HPP -------------------------------------------------------------------------------- /tools/resdata/src/resdata/xtc_frame.hpp: -------------------------------------------------------------------------------- 1 | #ifndef _XTC_FRAME_HPP 2 | #define _XTC_FRAME_HPP 3 | 4 | #include "gromacs/math/vec.h" 5 | #include "gromacs/math/vectypes.h" 6 | #include 7 | 8 | #include 9 | 10 | namespace resdata::xtc { 11 | 12 | class Frame { 13 | public: 14 | int natom; 15 | unsigned long nframe; 16 | int64_t *offsets; 17 | int step; 18 | float time; 19 | matrix box; 20 | rvec *x; 21 | float prec; 22 | 23 | // create default constructor 24 | Frame() { x = (rvec*)malloc(0 * sizeof(rvec)); } 25 | Frame(int natom) : natom(natom) { x = (rvec*)malloc(natom * sizeof(rvec)); } 26 | // ~Frame() { free(x); free(offsets); } 27 | 28 | int read_next_frame(XDRFILE *xd, bool nopbc, PbcType pbc_type, t_pbc *pbc) 29 | { 30 | int status = read_xtc(xd, natom, &step, &time, box, x, &prec); 31 | if (nopbc) 32 | { 33 | pbc = nullptr; 34 | } 35 | else 36 | { 37 | set_pbc(pbc, pbc_type, box); 38 | } 39 | return status; 40 | } 41 | }; 42 | 43 | } // namespace resdata::xtc 44 | 45 | #endif // _XTC_FRAME_HPP --------------------------------------------------------------------------------