From decd4a9e06c911c0c746c2d6f529f9e02a71187b Mon Sep 17 00:00:00 2001 From: Bruno Stegani Date: Sat, 7 Mar 2026 19:19:54 +0100 Subject: [PATCH 1/3] fixed output bug for cross cmdata output in h5 --- tools/cmdata/src/cmdata/io.hpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/cmdata/src/cmdata/io.hpp b/tools/cmdata/src/cmdata/io.hpp index f58bcde6..abc348d6 100644 --- a/tools/cmdata/src/cmdata/io.hpp +++ b/tools/cmdata/src/cmdata/io.hpp @@ -325,14 +325,14 @@ void f_write_inter_cross_HDF5(const std::string &output_prefix, const std::vector>>> &interm_cross_maxcdf_mol ) { - std::string file_name = output_prefix + "inter_mol_" + std::to_string(i + 1) + "_" + std::to_string(i + 1) + "_aa_" + std::to_string(ii + 1) + ".h5"; - std::string file_name_c = output_prefix + "inter_mol_c_" + std::to_string(i + 1) + "_" + std::to_string(i + 1) + "_aa_" + std::to_string(ii + 1) + ".h5"; + std::string file_name = output_prefix + "inter_mol_" + std::to_string(i + 1) + "_" + std::to_string(j + 1) + "_aa_" + std::to_string(ii + 1) + ".h5"; + std::string file_name_c = output_prefix + "inter_mol_c_" + std::to_string(i + 1) + "_" + std::to_string(j + 1) + "_aa_" + std::to_string(ii + 1) + ".h5"; // Create a new HDF5 file using the default settings. H5File file(file_name.c_str(), H5F_ACC_TRUNC); H5File file_c(file_name_c.c_str(), H5F_ACC_TRUNC); // Define the dimensions of the dataset - hsize_t dims[2] = {static_cast(density_bins.size()), static_cast(natmol2[i]+1)}; + hsize_t dims[2] = {static_cast(density_bins.size()), static_cast(natmol2[j]+1)}; DataSpace dataspace(2, dims); // Create dataset creation property list with compression @@ -340,7 +340,7 @@ void f_write_inter_cross_HDF5(const std::string &output_prefix, plist.setDeflate(6); // Set compression level (0-9, where 9 is maximum compression) hsize_t chunk_dims[2] = { std::min(static_cast(density_bins.size()), static_cast(300)), - std::min(static_cast(natmol2[i] + 1), static_cast(512)) + std::min(static_cast(natmol2[j] + 1), static_cast(512)) }; plist.setChunk(2, chunk_dims); From f7385f8b0db2f373dff79225fea67d9b974d9a82 Mon Sep 17 00:00:00 2001 From: Bruno Stegani Date: Tue, 10 Mar 2026 01:31:46 +0100 Subject: [PATCH 2/3] minor modification of OM reps and other adjustments for LLPS --- src/multiego/resources/type_definitions.py | 47 +++++++++++++--------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/src/multiego/resources/type_definitions.py b/src/multiego/resources/type_definitions.py index bae480cf..b71501d3 100644 --- a/src/multiego/resources/type_definitions.py +++ b/src/multiego/resources/type_definitions.py @@ -3,13 +3,13 @@ import sys mg_OO_c12_rep = 7.5e-7 -mg_OMOM_c12_rep = 2.5e-5 +mg_OMOM_c12_rep = 2.5e-6 # This might be shifted down looking at ATDhisto mg_HH_c12_rep = 1.2e-8 mg_ON_c12_rep = 7.5e-7 mg_NN_c12_rep = 2.5e-5 mg_HO_sigma = 0.169500 -mg_eps_HO = 0.17 +mg_eps_HO = 0.15 eps_O = 0.085 eps_OM = 0.085 @@ -258,40 +258,43 @@ def lj14_generator(df): "epsilon": mg_eps_HO, }, { - "atomtypes": ( - ["NZ"], - ["N", "NT", "NR", "C", "CH1", "CAH", "CH2", "CAH2", "CH3"], - ), # Repulsion of charged N with all but CH, CH2r (aromatic) and CZ, NE (for ARG-ARG interactions) + "atomtypes": (["NZ"], [ "N", "NT", "NR", "C", "CH1", "CAH", "CH2", "CH3"]), # Repulsion of charged N with all but CH, CH2r (aromatic) and CZ, NE (for ARG-ARG interactions) "interaction": "rep", "sigma": None, "epsilon": None, }, { - "atomtypes": ( - ["NL"], - ["N", "NT", "NR", "C", "NE", "CZ", "CH1", "CAH", "CH2", "CAH2", "CH3", "CH2r"], - ), # Repulsion of charged N with all but CH (interacts less then NZ to make ARG stickier than LYS) + "atomtypes": (["NL"], [ "N", "NT", "NR", "C", "NE", "CZ", "CH1", "CAH", "CH2", "CH3", "CH2r"]), # Repulsion of charged N with all but CH (interacts less then NZ to make ARG stickier than LYS) "interaction": "rep", "sigma": None, "epsilon": None, }, { - "atomtypes": ( - ["OM"], - ["CH", "CH1", "CAH", "CH2", "CAH2", "CH3", "CH2r", "S"], - ), # repulsion of charged O with hydrophobic + "atomtypes": (["NL", "NZ"], [ "CAH2"]), # Weak interaction of charged N based on hyd of CAH2 from local fingerprint Parrinello and ATDhisto contact probability + "interaction": "att", + "sigma": None, + "epsilon": 0.085, + }, + { + "atomtypes": (["OM"], ["CH", "CH1", "CAH", "CH3", "CH2r", "S"]), # repulsion of charged O with hydrophobic "interaction": "rep", "sigma": None, "epsilon": None, }, { - "atomtypes": (["NZ", "CZ", "NE"], ["CH"]), # catyon-pi generic + "atomtypes": (["OM"], ["CAH2", "CH2"]), # Weak interaction of OM based on hyd of CAH2 and CH2 (Not sure about CH2) from local fingerprint Parrinello and ATDhisto contact probability + "interaction": "att", + "sigma": None, + "epsilon": 0.085, + }, + { + "atomtypes": (["NZ", "CZ", "NE"], ["CH"]), # cation-pi generic "interaction": "att", "sigma": None, "epsilon": 0.13, }, { - "atomtypes": (["NL"], ["CH"]), # catyon-pi generic + "atomtypes": (["NL"], ["CH"]), # cation-pi generic "interaction": "att", "sigma": None, "epsilon": 0.10, @@ -315,10 +318,10 @@ def lj14_generator(df): "epsilon": 0.07, }, { - "atomtypes": (["OA", "SH"], ["CH"]), # weaker OA-CH and SH-CH catyon-pi interaction + "atomtypes": (["OA", "SH"], ["CH"]), # weaker OA-CH and SH-CH cation-pi interaction "interaction": "att", "sigma": None, - "epsilon": 0.11, + "epsilon": 0.10, }, { "atomtypes": (["OA"], ["NR", "NT", "NE", "S", "O", "OA", "OM", "NZ", "NL"]), # H-bond of OA with polar and charged @@ -327,7 +330,13 @@ def lj14_generator(df): "epsilon": mg_eps_HO, }, { - "atomtypes": (["OM"], ["NL", "NZ", "NE"]), # salt bridges + "atomtypes": (["OA"], ["CH2", "CH3", "CAH2"]), # H-bond of OA with polar and charged + "interaction": "att", + "sigma": None, + "epsilon": 0.085, + }, + { + "atomtypes": (["OM"], ["NL", "NZ", "NE"]), # salt bridges "interaction": "att", "sigma": None, "epsilon": 0.15, From fe809635a446c5a68c01090358792d6b5e2dfd41 Mon Sep 17 00:00:00 2001 From: Bruno Stegani Date: Wed, 11 Mar 2026 10:44:43 +0100 Subject: [PATCH 3/3] addition of CH1t and code refinment --- multi-ego-basic.ff/aminoacids.rtp | 2 +- multi-ego-basic.ff/atomtypes.atp | 1 + multi-ego-basic.ff/ffnonbonded.itp | 1 + src/multiego/resources/type_definitions.py | 52 ++++++++++++++++------ 4 files changed, 42 insertions(+), 14 deletions(-) diff --git a/multi-ego-basic.ff/aminoacids.rtp b/multi-ego-basic.ff/aminoacids.rtp index e9c2f477..b5b475b4 100644 --- a/multi-ego-basic.ff/aminoacids.rtp +++ b/multi-ego-basic.ff/aminoacids.rtp @@ -934,7 +934,7 @@ N N 0.000 0 H H 0.000 0 CA CAH 0.000 0 - CB CH1 0.000 0 + CB CH1t 0.000 0 OG1 OA 0.000 0 CG2 CH3 0.000 0 C C 0.000 0 diff --git a/multi-ego-basic.ff/atomtypes.atp b/multi-ego-basic.ff/atomtypes.atp index 4b43524b..351e77f4 100644 --- a/multi-ego-basic.ff/atomtypes.atp +++ b/multi-ego-basic.ff/atomtypes.atp @@ -14,6 +14,7 @@ CH 13.01900 ; aromatic CH CAH 12.01100 ; aliphatic or sugar CH-group CH1 13.01900 ; aliphatic or sugar CH-group + CH1t 13.01900 ; aliphatic or sugar CH-group CH2 14.02700 ; aliphatic or sugar CH2-group CAH2 14.02700 ; aliphatic or sugar CH2-group CH3 15.03500 ; aliphatic CH3-group diff --git a/multi-ego-basic.ff/ffnonbonded.itp b/multi-ego-basic.ff/ffnonbonded.itp index 37bf2ba2..31f66cfc 100644 --- a/multi-ego-basic.ff/ffnonbonded.itp +++ b/multi-ego-basic.ff/ffnonbonded.itp @@ -15,6 +15,7 @@ H 1 0.000 0.000 A 0.0000000000 3.239247e-09 CAH 6 0.000 0.000 A 0.0000000000 6.555574e-05 CH1 6 0.000 0.000 A 0.0000000000 6.555574e-05 + CH1t 6 0.000 0.000 A 0.0000000000 6.555574e-05 CH2 6 0.000 0.000 A 0.0000000000 1.543890e-05 CAH2 6 0.000 0.000 A 0.0000000000 1.543890e-05 CH3 6 0.000 0.000 A 0.0000000000 8.595562e-06 diff --git a/src/multiego/resources/type_definitions.py b/src/multiego/resources/type_definitions.py index b71501d3..082a36f9 100644 --- a/src/multiego/resources/type_definitions.py +++ b/src/multiego/resources/type_definitions.py @@ -3,7 +3,7 @@ import sys mg_OO_c12_rep = 7.5e-7 -mg_OMOM_c12_rep = 2.5e-6 # This might be shifted down looking at ATDhisto +mg_OMOM_c12_rep = 2.5e-6 # This might be shifted down looking at ATDhisto mg_HH_c12_rep = 1.2e-8 mg_ON_c12_rep = 7.5e-7 mg_NN_c12_rep = 2.5e-5 @@ -23,7 +23,8 @@ eps_C = 0.085 eps_CZ = 0.085 eps_CH = 0.15 -eps_CH1 = 0.085 +eps_CH1 = 0.010 +eps_CH1t = 0.085 eps_CAH = 0.085 eps_CH2 = 0.13 eps_CAH2 = 0.15 @@ -55,6 +56,7 @@ "CZ", "CH", "CH1", + "CH1t", "CAH", "CH2", "CAH2", @@ -69,7 +71,7 @@ "H", "C0", ], - "at.num": [8, 8, 8, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 16, 16, 6, 15, 8, 6, 1, 20], + "at.num": [8, 8, 8, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 16, 16, 6, 15, 8, 6, 1, 20], "rc_c12": [ 2.5 * 0.262134**12, # "O", 2.631580e-07 2.5 * 0.253061**12, # "OM", 1.724403e-07 @@ -84,6 +86,7 @@ 2.5 * 0.317248**12, # "CZ", 2.598570e-06 2.5 * 0.317248**12, # "CH", 2.598570e-06 2.5 * 0.415167**12, # "CH1", 6.555574e-05 + 2.5 * 0.415167**12, # "CH1t", 6.555574e-05 2.5 * 0.415167**12, # "CAH", 6.555574e-05 2.5 * 0.368035**12, # "CH2", 1.543890e-05 2.5 * 0.368035**12, # "CAH2",1.543890e-05 @@ -113,6 +116,7 @@ 4.0 * 0.35812**12 * eps_CZ, # "CZ", sig=0.35812 4.0 * 0.35812**12 * eps_CH, # "CH", sig=0.35812 4.0 * 0.44592**12 * eps_CH1, # "CH1", sig=0.50192 + 4.0 * 0.44592**12 * eps_CH1t, # "CH1t", sig=0.50192 4.0 * 0.44592**12 * eps_CAH, # "CAH", sig=0.50192 4.0 * 0.40704**12 * eps_CH2, # "CH2", sig=0.40704 4.0 * 0.40704**12 * eps_CAH2, # "CAH2", sig=0.40704 @@ -141,6 +145,7 @@ 4.0 * 0.35812**6 * eps_CZ, # "C", 4.0 * 0.35812**6 * eps_CH, # "CH" 4.0 * 0.44592**6 * eps_CH1, # "CH1" + 4.0 * 0.44592**6 * eps_CH1t, # "CH1t" 4.0 * 0.44592**6 * eps_CAH, # "CAH" 4.0 * 0.40704**6 * eps_CH2, # "CH2" 4.0 * 0.40704**6 * eps_CAH2, # "CAH2" @@ -258,43 +263,55 @@ def lj14_generator(df): "epsilon": mg_eps_HO, }, { - "atomtypes": (["NZ"], [ "N", "NT", "NR", "C", "CH1", "CAH", "CH2", "CH3"]), # Repulsion of charged N with all but CH, CH2r (aromatic) and CZ, NE (for ARG-ARG interactions) + "atomtypes": ( + ["NZ"], + ["N", "NT", "NR", "C", "CH1", "CAH", "CH2", "CH3"], + ), # Repulsion of charged N with all but CH, CH2r (aromatic) and CZ, NE (for ARG-ARG interactions) "interaction": "rep", "sigma": None, "epsilon": None, }, { - "atomtypes": (["NL"], [ "N", "NT", "NR", "C", "NE", "CZ", "CH1", "CAH", "CH2", "CH3", "CH2r"]), # Repulsion of charged N with all but CH (interacts less then NZ to make ARG stickier than LYS) + "atomtypes": ( + ["NL"], + ["N", "NT", "NR", "C", "NE", "CZ", "CH1", "CAH", "CH2", "CH3", "CH2r"], + ), # Repulsion of charged N with all but CH (interacts less then NZ to make ARG stickier than LYS) "interaction": "rep", "sigma": None, "epsilon": None, }, { - "atomtypes": (["NL", "NZ"], [ "CAH2"]), # Weak interaction of charged N based on hyd of CAH2 from local fingerprint Parrinello and ATDhisto contact probability + "atomtypes": ( + ["NL", "NZ"], + ["CAH2", "CH1t"], + ), # Weak interaction of charged N based on hyd of CAH2 from local fingerprint Parrinello and ATDhisto contact probability "interaction": "att", "sigma": None, "epsilon": 0.085, }, { - "atomtypes": (["OM"], ["CH", "CH1", "CAH", "CH3", "CH2r", "S"]), # repulsion of charged O with hydrophobic + "atomtypes": (["OM"], ["CH", "CH1", "CAH", "CH3", "CH2r", "S"]), # repulsion of charged O with hydrophobic "interaction": "rep", "sigma": None, "epsilon": None, }, { - "atomtypes": (["OM"], ["CAH2", "CH2"]), # Weak interaction of OM based on hyd of CAH2 and CH2 (Not sure about CH2) from local fingerprint Parrinello and ATDhisto contact probability + "atomtypes": ( + ["OM"], + ["CAH2", "CH2", "CH1t"], + ), # Weak interaction of OM based on hyd of CAH2 and CH2 (Not sure about CH2) from local fingerprint Parrinello and ATDhisto contact probability "interaction": "att", "sigma": None, "epsilon": 0.085, }, { - "atomtypes": (["NZ", "CZ", "NE"], ["CH"]), # cation-pi generic + "atomtypes": (["NZ", "CZ", "NE"], ["CH"]), # cation-pi generic "interaction": "att", "sigma": None, "epsilon": 0.13, }, { - "atomtypes": (["NL"], ["CH"]), # cation-pi generic + "atomtypes": (["NL"], ["CH"]), # cation-pi generic "interaction": "att", "sigma": None, "epsilon": 0.10, @@ -324,7 +341,10 @@ def lj14_generator(df): "epsilon": 0.10, }, { - "atomtypes": (["OA"], ["NR", "NT", "NE", "S", "O", "OA", "OM", "NZ", "NL"]), # H-bond of OA with polar and charged + "atomtypes": ( + ["OA"], + ["NR", "NT", "NE", "S", "O", "OA", "OM", "NZ", "NL", "CH1t"], + ), # H-bond of OA with polar and charged "interaction": "att", "sigma": None, "epsilon": mg_eps_HO, @@ -334,9 +354,15 @@ def lj14_generator(df): "interaction": "att", "sigma": None, "epsilon": 0.085, - }, + }, + { + "atomtypes": (["CH1t"], ["CH2", "CH3", "CAH2", "CH1", "CH"]), # H-bond of OA with polar and charged + "interaction": "att", + "sigma": None, + "epsilon": 0.085, + }, { - "atomtypes": (["OM"], ["NL", "NZ", "NE"]), # salt bridges + "atomtypes": (["OM"], ["NL", "NZ", "NE"]), # salt bridges "interaction": "att", "sigma": None, "epsilon": 0.15,