From 4b213912ea1911ef37ff3f8013665f2dcafc59c7 Mon Sep 17 00:00:00 2001 From: csbrasnett Date: Mon, 4 Nov 2024 11:20:11 +0100 Subject: [PATCH 01/15] Overwrite cgsecstruct assignment in IDRs - enforce that the cgsecstruct is "C" to make sure we don't overapply a folded domain in the links later - adapt the secondary structure header to get the header from the cg not atomistic graph --- bin/martinize2 | 20 ++++++++++---------- vermouth/dssp/dssp.py | 9 +++++---- vermouth/processors/annotate_idrs.py | 4 ++++ 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/bin/martinize2 b/bin/martinize2 index 91eca3261..497d4eb5a 100755 --- a/bin/martinize2 +++ b/bin/martinize2 @@ -955,16 +955,6 @@ def entry(): 'for this force field', type="missing-feature") - ss_sequence = list( - itertools.chain( - *( - dssp.sequence_from_residues(molecule, "secstruct") - for molecule in system.molecules - if selectors.is_protein(molecule) - ) - ) - ) - if args.cystein_bridge == "none": vermouth.RemoveCysteinBridgeEdges().run_system(system) elif args.cystein_bridge != "auto": @@ -980,6 +970,16 @@ def entry(): disordered_regions=args.water_idrs ) + ss_sequence = list( + itertools.chain( + *( + dssp.sequence_from_residues(molecule, "cgsecstruct") + for molecule in system.molecules + if selectors.is_protein(molecule) + ) + ) + ) + # Apply position restraints if required. if args.posres != "none": LOGGER.info("Applying position restraints.", type="step") diff --git a/vermouth/dssp/dssp.py b/vermouth/dssp/dssp.py index b9c09989d..db3233af8 100644 --- a/vermouth/dssp/dssp.py +++ b/vermouth/dssp/dssp.py @@ -42,6 +42,9 @@ LOGGER = StyleAdapter(get_logger(__name__)) SUPPORTED_DSSP_VERSIONS = ("2.2.1", "3.0.0") +SS_CG = {'1': 'H', '2': 'H', '3': 'H', 'H': 'H', 'G': 'H', 'I': 'H', + 'B': 'E', 'E': 'E', 'T': 'T', 'S': 'S', 'C': 'C'} + class DSSPError(Exception): """ @@ -406,15 +409,13 @@ def convert_dssp_to_martini(sequence): A sequence of secondary structures usable for martini. One letter per residue. """ - ss_cg = {'1': 'H', '2': 'H', '3': 'H', 'H': 'H', 'G': 'H', 'I': 'H', - 'B': 'E', 'E': 'E', 'T': 'T', 'S': 'S', 'C': 'C'} patterns = collections.OrderedDict([ ('.H.', '.3.'), ('.HH.', '.33.'), ('.HHH.', '.333.'), ('.HHHH.', '.3333.'), ('.HHHHH.', '.13332.'), ('.HHHHHH.', '.113322.'), ('.HHHHHHH.', '.1113222.'), ('.HHHH', '.1111'), ('HHHH.', '2222.'), ]) - cg_sequence = ''.join(ss_cg[secstruct] for secstruct in sequence) + cg_sequence = ''.join(SS_CG[secstruct] for secstruct in sequence) wildcard_sequence = ''.join('H' if secstruct == 'H' else '.' for secstruct in cg_sequence) # Flank the sequence with dots. Otherwise in a sequence consisting of only @@ -455,7 +456,7 @@ def sequence_from_residues(molecule, attribute, default=None): # TODO: Make sure they're the same for every node in residue. first_name = residue_nodes[0] first_node = molecule.nodes[first_name] - value = first_node.get(attribute, default) + value = SS_CG[first_node.get(attribute, default)] yield value diff --git a/vermouth/processors/annotate_idrs.py b/vermouth/processors/annotate_idrs.py index 504596793..760a5198f 100644 --- a/vermouth/processors/annotate_idrs.py +++ b/vermouth/processors/annotate_idrs.py @@ -39,6 +39,10 @@ def annotate_disorder(molecule, id_regions, annotation="cgidr"): _old_resid = node['_old_resid'] if _in_resid_region(_old_resid, id_regions): molecule.nodes[key][annotation] = True + if "cgsecstruct" in molecule.nodes[key]: + molecule.nodes[key]["cgsecstruct"] = "C" + else: + molecule.nodes[key][annotation] = False class AnnotateIDRs(Processor): """ From db6722e18d44ff5d2de147cd76f005a190eb3359 Mon Sep 17 00:00:00 2001 From: csbrasnett Date: Mon, 4 Nov 2024 11:42:57 +0100 Subject: [PATCH 02/15] remove cross go bonds - in FFs where we have -go but not -water-bias, cross disordered-folded go bonds won't be removed because this is buried in the water_bias processor. - so call it anyway with an empty list of water biases, which will remove them --- bin/martinize2 | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/bin/martinize2 b/bin/martinize2 index 497d4eb5a..6327f93f8 100755 --- a/bin/martinize2 +++ b/bin/martinize2 @@ -1006,6 +1006,12 @@ def entry(): defines = ("GO_VIRT",) itp_paths = {"atomtypes": "go_atomtypes.itp", "nonbond_params": "go_nbparams.itp"} + if not args.water_bias: + # in this situation, args.water_bias = [] + vermouth.processors.ComputeWaterBias(args.water_bias, + {s:float(eps) for s, eps in args.water_bias_eps}, + [(int(start), int(stop)) for start, stop in args.water_idrs], + ).run_system(system) else: # don't write non-bonded interactions itp_paths = [] From 4591a61f4bd74eb0c9306381bdaa9c533abfbbb9 Mon Sep 17 00:00:00 2001 From: csbrasnett Date: Mon, 4 Nov 2024 12:59:09 +0100 Subject: [PATCH 03/15] fixing tests - reverting dssp sequence_from_residues behaviour so doesn't default to something with cg - move the ss_cg conversion into martinize2 using a global variable --- bin/martinize2 | 8 ++++++-- vermouth/dssp/dssp.py | 6 ++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/bin/martinize2 b/bin/martinize2 index 6327f93f8..67e19aad8 100755 --- a/bin/martinize2 +++ b/bin/martinize2 @@ -83,6 +83,9 @@ LOGGER = StyleAdapter(LOGGER) VERSION = "martinize with vermouth {}".format(vermouth.__version__) +SS_CG = {'1': 'H', '2': 'H', '3': 'H', 'H': 'H', 'G': 'H', 'I': 'H', + 'B': 'E', 'E': 'E', 'T': 'T', 'S': 'S', 'C': 'C'} + def read_system(path, ignore_resnames=(), ignh=None, modelidx=None): """ @@ -973,9 +976,10 @@ def entry(): ss_sequence = list( itertools.chain( *( - dssp.sequence_from_residues(molecule, "cgsecstruct") + SS_CG[i] + for i in dssp.sequence_from_residues(molecule, "cgsecstruct") for molecule in system.molecules - if selectors.is_protein(molecule) + if selectors.is_protein(molecule) if i is not None ) ) ) diff --git a/vermouth/dssp/dssp.py b/vermouth/dssp/dssp.py index db3233af8..bb9f3c000 100644 --- a/vermouth/dssp/dssp.py +++ b/vermouth/dssp/dssp.py @@ -409,13 +409,15 @@ def convert_dssp_to_martini(sequence): A sequence of secondary structures usable for martini. One letter per residue. """ + ss_cg = {'1': 'H', '2': 'H', '3': 'H', 'H': 'H', 'G': 'H', 'I': 'H', + 'B': 'E', 'E': 'E', 'T': 'T', 'S': 'S', 'C': 'C'} patterns = collections.OrderedDict([ ('.H.', '.3.'), ('.HH.', '.33.'), ('.HHH.', '.333.'), ('.HHHH.', '.3333.'), ('.HHHHH.', '.13332.'), ('.HHHHHH.', '.113322.'), ('.HHHHHHH.', '.1113222.'), ('.HHHH', '.1111'), ('HHHH.', '2222.'), ]) - cg_sequence = ''.join(SS_CG[secstruct] for secstruct in sequence) + cg_sequence = ''.join(ss_cg[secstruct] for secstruct in sequence) wildcard_sequence = ''.join('H' if secstruct == 'H' else '.' for secstruct in cg_sequence) # Flank the sequence with dots. Otherwise in a sequence consisting of only @@ -456,7 +458,7 @@ def sequence_from_residues(molecule, attribute, default=None): # TODO: Make sure they're the same for every node in residue. first_name = residue_nodes[0] first_node = molecule.nodes[first_name] - value = SS_CG[first_node.get(attribute, default)] + value = first_node.get(attribute, default) yield value From 3ebabba781fc36203ed7c4463122eb8d929040cd Mon Sep 17 00:00:00 2001 From: csbrasnett Date: Mon, 4 Nov 2024 13:00:50 +0100 Subject: [PATCH 04/15] removed superfluous variable from dssp --- vermouth/dssp/dssp.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/vermouth/dssp/dssp.py b/vermouth/dssp/dssp.py index bb9f3c000..b9c09989d 100644 --- a/vermouth/dssp/dssp.py +++ b/vermouth/dssp/dssp.py @@ -42,9 +42,6 @@ LOGGER = StyleAdapter(get_logger(__name__)) SUPPORTED_DSSP_VERSIONS = ("2.2.1", "3.0.0") -SS_CG = {'1': 'H', '2': 'H', '3': 'H', 'H': 'H', 'G': 'H', 'I': 'H', - 'B': 'E', 'E': 'E', 'T': 'T', 'S': 'S', 'C': 'C'} - class DSSPError(Exception): """ From c510ef33b852dac66e483ae48daf96dd88fd5210 Mon Sep 17 00:00:00 2001 From: csbrasnett Date: Thu, 9 Jan 2025 10:37:23 +0100 Subject: [PATCH 05/15] add Martini3-IDP forcefield --- .gitignore | 7 + bin/martinize2 | 4 +- .../force_fields/martini3IDP/aminoacids.ff | 1419 +++++++++++++++++ .../force_fields/martini3IDP/citations.bib | 44 + .../data/force_fields/martini3IDP/general.ff | 20 + .../force_fields/martini3IDP/modifications.ff | 106 ++ .../data/mappings/martini3IDP/ala.amber.map | 50 + .../mappings/martini3IDP/ala.charmm36.map | 50 + .../data/mappings/martini3IDP/arg.amber.map | 80 + .../mappings/martini3IDP/arg.charmm36.map | 80 + .../data/mappings/martini3IDP/asn.amber.map | 53 + .../mappings/martini3IDP/asn.charmm36.map | 53 + .../data/mappings/martini3IDP/asp.amber.map | 52 + .../mappings/martini3IDP/asp.charmm36.map | 52 + .../mappings/martini3IDP/aspp.charmm36.map | 52 + .../data/mappings/martini3IDP/cys.amber.map | 50 + .../mappings/martini3IDP/cys.charmm36.map | 50 + .../data/mappings/martini3IDP/gln.amber.map | 58 + .../mappings/martini3IDP/gln.charmm36.map | 58 + .../data/mappings/martini3IDP/glu.amber.map | 55 + .../mappings/martini3IDP/glu.charmm36.map | 55 + .../mappings/martini3IDP/glup.charmm36.map | 55 + .../data/mappings/martini3IDP/gly.amber.map | 37 + .../mappings/martini3IDP/gly.charmm36.map | 37 + .../data/mappings/martini3IDP/hid.amber.map | 47 + .../data/mappings/martini3IDP/hie.amber.map | 62 + .../data/mappings/martini3IDP/hip.amber.map | 62 + .../data/mappings/martini3IDP/his.amber.map | 46 + .../mappings/martini3IDP/his.charmm36.map | 62 + .../mappings/martini3IDP/hsd.charmm36.map | 62 + .../mappings/martini3IDP/hse.charmm36.map | 62 + .../mappings/martini3IDP/hsp.charmm36.map | 62 + .../data/mappings/martini3IDP/ile.amber.map | 68 + .../mappings/martini3IDP/ile.charmm36.map | 68 + .../data/mappings/martini3IDP/leu.amber.map | 64 + .../mappings/martini3IDP/leu.charmm36.map | 64 + .../mappings/martini3IDP/lsn.charmm36.map | 61 + .../data/mappings/martini3IDP/lyn.amber.map | 61 + .../data/mappings/martini3IDP/lys.amber.map | 61 + .../mappings/martini3IDP/lys.charmm36.map | 58 + .../data/mappings/martini3IDP/met.amber.map | 56 + .../mappings/martini3IDP/met.charmm36.map | 56 + .../martini3IDP/modifications.amber.mapping | 506 ++++++ .../modifications.charmm36.mapping | 511 ++++++ .../data/mappings/martini3IDP/phe.amber.map | 80 + .../mappings/martini3IDP/phe.charmm36.map | 80 + .../data/mappings/martini3IDP/pro.amber.map | 53 + .../mappings/martini3IDP/pro.charmm36.map | 53 + .../data/mappings/martini3IDP/ser.amber.map | 50 + .../mappings/martini3IDP/ser.charmm36.map | 50 + .../mappings/martini3IDP/sp2.charmm36.map | 55 + .../data/mappings/martini3IDP/thr.amber.map | 61 + .../mappings/martini3IDP/thr.charmm36.map | 61 + .../data/mappings/martini3IDP/trp.amber.map | 51 + .../mappings/martini3IDP/trp.charmm36.map | 51 + .../data/mappings/martini3IDP/tyr.amber.map | 48 + .../mappings/martini3IDP/tyr.charmm36.map | 48 + .../data/mappings/martini3IDP/val.amber.map | 60 + .../mappings/martini3IDP/val.charmm36.map | 60 + 59 files changed, 5535 insertions(+), 2 deletions(-) create mode 100644 vermouth/data/force_fields/martini3IDP/aminoacids.ff create mode 100644 vermouth/data/force_fields/martini3IDP/citations.bib create mode 100644 vermouth/data/force_fields/martini3IDP/general.ff create mode 100644 vermouth/data/force_fields/martini3IDP/modifications.ff create mode 100644 vermouth/data/mappings/martini3IDP/ala.amber.map create mode 100644 vermouth/data/mappings/martini3IDP/ala.charmm36.map create mode 100644 vermouth/data/mappings/martini3IDP/arg.amber.map create mode 100644 vermouth/data/mappings/martini3IDP/arg.charmm36.map create mode 100644 vermouth/data/mappings/martini3IDP/asn.amber.map create mode 100644 vermouth/data/mappings/martini3IDP/asn.charmm36.map create mode 100644 vermouth/data/mappings/martini3IDP/asp.amber.map create mode 100644 vermouth/data/mappings/martini3IDP/asp.charmm36.map create mode 100644 vermouth/data/mappings/martini3IDP/aspp.charmm36.map create mode 100644 vermouth/data/mappings/martini3IDP/cys.amber.map create mode 100644 vermouth/data/mappings/martini3IDP/cys.charmm36.map create mode 100644 vermouth/data/mappings/martini3IDP/gln.amber.map create mode 100644 vermouth/data/mappings/martini3IDP/gln.charmm36.map create mode 100644 vermouth/data/mappings/martini3IDP/glu.amber.map create mode 100644 vermouth/data/mappings/martini3IDP/glu.charmm36.map create mode 100644 vermouth/data/mappings/martini3IDP/glup.charmm36.map create mode 100644 vermouth/data/mappings/martini3IDP/gly.amber.map create mode 100644 vermouth/data/mappings/martini3IDP/gly.charmm36.map create mode 100644 vermouth/data/mappings/martini3IDP/hid.amber.map create mode 100644 vermouth/data/mappings/martini3IDP/hie.amber.map create mode 100644 vermouth/data/mappings/martini3IDP/hip.amber.map create mode 100644 vermouth/data/mappings/martini3IDP/his.amber.map create mode 100644 vermouth/data/mappings/martini3IDP/his.charmm36.map create mode 100644 vermouth/data/mappings/martini3IDP/hsd.charmm36.map create mode 100644 vermouth/data/mappings/martini3IDP/hse.charmm36.map create mode 100644 vermouth/data/mappings/martini3IDP/hsp.charmm36.map create mode 100644 vermouth/data/mappings/martini3IDP/ile.amber.map create mode 100644 vermouth/data/mappings/martini3IDP/ile.charmm36.map create mode 100644 vermouth/data/mappings/martini3IDP/leu.amber.map create mode 100644 vermouth/data/mappings/martini3IDP/leu.charmm36.map create mode 100644 vermouth/data/mappings/martini3IDP/lsn.charmm36.map create mode 100644 vermouth/data/mappings/martini3IDP/lyn.amber.map create mode 100644 vermouth/data/mappings/martini3IDP/lys.amber.map create mode 100644 vermouth/data/mappings/martini3IDP/lys.charmm36.map create mode 100644 vermouth/data/mappings/martini3IDP/met.amber.map create mode 100644 vermouth/data/mappings/martini3IDP/met.charmm36.map create mode 100644 vermouth/data/mappings/martini3IDP/modifications.amber.mapping create mode 100644 vermouth/data/mappings/martini3IDP/modifications.charmm36.mapping create mode 100644 vermouth/data/mappings/martini3IDP/phe.amber.map create mode 100644 vermouth/data/mappings/martini3IDP/phe.charmm36.map create mode 100644 vermouth/data/mappings/martini3IDP/pro.amber.map create mode 100644 vermouth/data/mappings/martini3IDP/pro.charmm36.map create mode 100644 vermouth/data/mappings/martini3IDP/ser.amber.map create mode 100644 vermouth/data/mappings/martini3IDP/ser.charmm36.map create mode 100644 vermouth/data/mappings/martini3IDP/sp2.charmm36.map create mode 100644 vermouth/data/mappings/martini3IDP/thr.amber.map create mode 100644 vermouth/data/mappings/martini3IDP/thr.charmm36.map create mode 100644 vermouth/data/mappings/martini3IDP/trp.amber.map create mode 100644 vermouth/data/mappings/martini3IDP/trp.charmm36.map create mode 100644 vermouth/data/mappings/martini3IDP/tyr.amber.map create mode 100644 vermouth/data/mappings/martini3IDP/tyr.charmm36.map create mode 100644 vermouth/data/mappings/martini3IDP/val.amber.map create mode 100644 vermouth/data/mappings/martini3IDP/val.charmm36.map diff --git a/.gitignore b/.gitignore index 25761930a..c69932d0b 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,10 @@ doc/source/api doc/source/.doctrees .idea/ + +/vermouth/tests/.temp/ +/vermouth/processors/rebuild_sidechains.py +/vermouth/tests/data/integration_tests/tier-1/EN_ext/README +/vermouth/data/mappings/martini3001/sp2.charmm36.map +/vermouth/data/mappings/martini3001/temp.txt +build/* \ No newline at end of file diff --git a/bin/martinize2 b/bin/martinize2 index 97063acdd..55b80fbea 100755 --- a/bin/martinize2 +++ b/bin/martinize2 @@ -1009,9 +1009,9 @@ def entry(): itp_paths = {"atomtypes": "go_atomtypes.itp", "nonbond_params": "go_nbparams.itp"} if not args.water_bias: - # in this situation, args.water_bias = [] + # this ensures that disordered-folded go bonds get removed regardless of force field. vermouth.processors.ComputeWaterBias(args.water_bias, - {s:float(eps) for s, eps in args.water_bias_eps}, + {s: float(eps) for s, eps in args.water_bias_eps}, [(int(start), int(stop)) for start, stop in args.water_idrs], ).run_system(system) else: diff --git a/vermouth/data/force_fields/martini3IDP/aminoacids.ff b/vermouth/data/force_fields/martini3IDP/aminoacids.ff new file mode 100644 index 000000000..4c82469b6 --- /dev/null +++ b/vermouth/data/force_fields/martini3IDP/aminoacids.ff @@ -0,0 +1,1419 @@ +; Copyright 2020 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + + +;;; Martini3-IDP Liguo +;;; Implemented in Martinize2 with disorder indicated by the cgidr annotation + +[ macros ] +protein_resnames "GLY|ALA|CYS|VAL|LEU|ILE|MET|PRO|HYP|ASN|GLN|ASP|ASP0|GLU|GLU0|THR|SER|LYS|LYS0|ARG|ARG0|HIS|HISH|PHE|TYR|TRP" +protein_resnames_non_pro "GLY|ALA|CYS|VAL|LEU|ILE|MET|ASN|GLN|ASP|ASP0|GLU|GLU0|THR|SER|LYS|LYS0|ARG|ARG0|HIS|HISH|PHE|TYR|TRP" +protein_resnames_non_gly "ALA|CYS|VAL|LEU|ILE|MET|PRO|HYP|ASN|GLN|ASP|ASP0|GLU|GLU0|THR|SER|LYS|LYS0|ARG|ARG0|HIS|HISH|PHE|TYR|TRP" + +protein_resnames_BBS_110 "ALA|ILE|VAL|TRP|SER" +protein_resnames_BBS_100 "CYS|ASP|GLU|PHE|HIS|LYS|LEU|THR|TYR" +protein_resnames_BBS_90 "MET|ASN|GLN|ARG" + +protein_resnames_SBB_70 "SER" +protein_resnames_SBB_75 "ALA|THR|CYS" +protein_resnames_SBB_80 "VAL|TRP" +protein_resnames_SBB_90 "ASP|GLU|PHE|HIS|ILE|LYS|LEU|MET|ASN|GLN|ARG|TYR" + +protein_resnames_improper_20 "ALA|HIS|ARG|TRP" +protein_resnames_improper_25 "ASP|GLU|PHE|ILE|LYS|LEU|ASN|TYR|CYS|SER|THR|VAL" +protein_resnames_improper_35 "MET" +protein_resnames_improper_40 "GLN" + +prot_default_bb_type P2 +stiff_fc 1000000 + +[ variables ] +elastic_network_bond_type 1 +res_min_dist 3 + +[ citations ] +Martini3 +Martini3IDP + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;; AA DEFINITIONS START HERE ;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;;; GLYCINE + +[ moleculetype ] +; molname nrexcl +GLY 1 + +[ atoms ] +;id type resnr residu atom cgnr charge + 1 SP1 1 GLY BB 1 0 + +;;; ALANINE + +[ moleculetype ] +; molname nrexcl +ALA 1 + +[ atoms ] +;id type resnr residu atom cgnr charge + 1 SP2 1 ALA BB 1 0 + 2 TC3 1 ALA SC1 2 0 + +[ constraints ] +#meta {"group": "Side chain bonds", "ifndef": "FLEXIBLE"} +; i j funct length + BB SC1 1 0.270 + +[ bonds ] +#meta {"group": "Side chain bonds", "ifdef": "FLEXIBLE"} +; i j funct length + BB SC1 1 0.270 $stiff_fc + +;;; CYSTEINE + +[ moleculetype ] +; molname nrexcl +CYS 1 + +[ atoms ] +;id type resnr residu atom cgnr charge + 1 $prot_default_bb_type 1 CYS BB 1 0 + 2 TC6 1 CYS SC1 2 0 + +[bonds] +#meta {"group": "Side chain bonds"} +; i j funct length force.c. + BB SC1 1 0.341 7500 + +;;; VALINE + +[ moleculetype ] +; molname nrexcl +VAL 1 + +[ atoms ] +;id type resnr residu atom cgnr charge + 1 SP2 1 VAL BB 1 0 + 2 SC3 1 VAL SC1 2 0 + +[ constraints ] +#meta {"group": "Side chain bonds", "ifndef": "FLEXIBLE"} +; i j funct length + BB SC1 1 0.292 + +[ bonds ] +#meta {"group": "Side chain bonds", "ifdef": "FLEXIBLE"} +; i j funct length + BB SC1 1 0.292 $stiff_fc + +;;; LEUCINE + +[ moleculetype ] +; molname nrexcl +LEU 1 + +[ atoms ] +;id type resnr residu atom cgnr charge + 1 $prot_default_bb_type 1 LEU BB 1 0 + 2 SC2 1 LEU SC1 2 0 + +[bonds] +#meta {"group": "Side chain bonds"} +; i j funct length force.c. + BB SC1 1 0.363 7500 + +;;; ISOLEUCINE + +[ moleculetype ] +; molname nrexcl +ILE 1 + +[ atoms ] +;id type resnr residu atom cgnr charge + 1 $prot_default_bb_type 1 ILE BB 1 0 + 2 SC2 1 ILE SC1 2 0 + +[ constraints ] +#meta {"group": "Side chain bonds", "ifndef": "FLEXIBLE"} +; i j funct length + BB SC1 1 0.341 + +[ bonds ] +#meta {"group": "Side chain bonds", "ifdef": "FLEXIBLE"} +; i j funct length + BB SC1 1 0.341 $stiff_fc + +;;; METHIONINE + +[ moleculetype ] +; molname nrexcl +MET 1 + +[ atoms ] +;id type resnr residu atom cgnr charge + 1 $prot_default_bb_type 1 MET BB 1 0 + 2 C6 1 MET SC1 2 0 + +[bonds] +#meta {"group": "Side chain bonds"} +; i j funct length force.c. + BB SC1 1 0.40 2500 + +;;; PROLINE + +[ moleculetype ] +; molname nrexcl +PRO 1 + +[ atoms ] +;id type resnr residu atom cgnr charge + 1 SP2a 1 PRO BB 1 0 + 2 SC3 1 PRO SC1 2 0 + +[bonds] +#meta {"group": "Side chain bonds"} +; i j funct length force.c. + BB SC1 1 0.330 7500 + +[ moleculetype ] +; molname nrexcl +HYP 1 + +[ atoms ] +;id type resnr residu atom cgnr charge + 1 P1 1 HYP BB 1 0 + 2 P1 1 HYP SC1 2 0 + +[bonds] +#meta {"group": "Side chain bonds"} +; i j funct length force.c. + BB SC1 1 0.300 7500 + +;;; ASPARAGINE + +[ moleculetype ] +; molname nrexcl +ASN 1 + +[ atoms ] +;id type resnr residu atom cgnr charge + 1 $prot_default_bb_type 1 ASN BB 1 0 + 2 SP5 1 ASN SC1 2 0 + +[bonds] +#meta {"group": "Side chain bonds"} +; i j funct length force.c. + BB SC1 1 0.352 5000 + +;;; GLUTAMINE + +[ moleculetype ] +; molname nrexcl +GLN 1 + +[ atoms ] +;id type resnr residu atom cgnr charge + 1 $prot_default_bb_type 1 GLN BB 1 0 + 2 P5 1 GLN SC1 2 0 + +[bonds] +#meta {"group": "Side chain bonds"} +; i j funct length force.c. + BB SC1 1 0.400 5000 + +;;; ASPARTATE + +[ moleculetype ] +; molname nrexcl +ASP 1 + +[ atoms ] +;id type resnr residu atom cgnr charge + 1 $prot_default_bb_type 1 ASP BB 1 0 + 2 SQ5n 1 ASP SC1 2 -1.0 + +[bonds] +#meta {"group": "Side chain bonds"} +; i j funct length force.c. + BB SC1 1 0.352 7500 + +;;; GLUTAMATE + +[ moleculetype ] +; molname nrexcl +GLU 1 + +[ atoms ] +;id type resnr residu atom cgnr charge + 1 $prot_default_bb_type 1 GLU BB 1 0 + 2 Q5n 1 GLU SC1 2 -1.0 + +[bonds] +#meta {"group": "Side chain bonds"} +; i j funct length force.c. + BB SC1 1 0.400 5000 + +;;; THREONINE + +[ moleculetype ] +; molname nrexcl +THR 1 + +[ atoms ] +;id type resnr residu atom cgnr charge +1 $prot_default_bb_type 1 THR BB 1 0 +2 SP1 1 THR SC1 2 0 + +[ constraints ] +#meta {"group": "Side chain bonds", "ifndef": "FLEXIBLE"} +; i j funct length (Modified by Paulo) + BB SC1 1 0.305 + +[ bonds ] +#meta {"group": "Side chain bonds", "ifdef": "FLEXIBLE"} +; i j funct length + BB SC1 1 0.305 $stiff_fc + +;;; SERINE + +[ moleculetype ] +; molname nrexcl +SER 1 + +[ atoms ] +;id type resnr residu atom cgnr charge +1 $prot_default_bb_type 1 SER BB 1 0 +2 TP1 1 SER SC1 2 0 + +[bonds] +#meta {"group": "Side chain bonds"} +; i j funct length force.c. + BB SC1 1 0.287 7500 + +;;; LYSINE + +[ moleculetype ] +; molname nrexcl +LYS 1 + +[ atoms ] +;id type resnr residu atom cgnr charge + 1 $prot_default_bb_type 1 LYS BB 1 0 + 2 SC3 1 LYS SC1 2 0 + 3 SQ4p 1 LYS SC2 3 1.0 + +[bonds] +#meta {"group": "Side chain bonds"} +; i j funct length force.c. + BB SC1 1 0.330 5000 + SC1 SC2 1 0.360 5000 + +[angles] +#meta {"group": "Side chain angles"} +; i j k funct angle force.c. + BB SC1 SC2 2 180.000 25.0 + +;;; ARGININE + +[ moleculetype ] +; molname nrexcl +ARG 1 + +[ atoms ] +;id type resnr residu atom cgnr charge +1 $prot_default_bb_type 1 ARG BB 1 0 +2 SC3 1 ARG SC1 2 0 +3 SQ3p 1 ARG SC2 3 1.0 + +[bonds] +#meta {"group": "Side chain bonds"} +; i j funct length force.c. + BB SC1 1 0.330 5000 + SC1 SC2 1 0.380 5000 + +[angles] +#meta {"group": "Side chain angles"} +; i j k funct angle force.c. + BB SC1 SC2 2 180.000 25.0 + +;;; HISTIDINE + +[ moleculetype ] +;molname nrexcl +HIS 1 + +[ atoms ] +;id type resnr residu atom cgnr charge +1 $prot_default_bb_type 1 HIS BB 1 0 +2 TC4 1 HIS SC1 2 0 ; three side chains in triangle +3 TN6d 1 HIS SC2 3 0 ; configuration, mimicking +4 TN5a 1 HIS SC3 4 0 ; ring structure + +[ bonds ] +#meta {"group": "Side chain bonds"} +; i j funct length force.c. + BB SC1 1 0.336 7500 +#meta {"group": "Side chain bonds", "ifdef": "FLEXIBLE"} +; i j funct length + SC1 SC2 1 0.320 $stiff_fc + SC1 SC3 1 0.300 $stiff_fc + SC2 SC3 1 0.270 $stiff_fc + +[ constraints ] +#meta {"group": "Side chain bonds", "ifndef": "FLEXIBLE"} +; i j funct length + SC1 SC2 1 0.320 + SC1 SC3 1 0.300 + SC2 SC3 1 0.270 + +[angles] +#meta {"group": "Side chain angles"} +; i j k funct angle force.c. + BB SC1 SC2 2 120.000 50.0 + BB SC1 SC3 2 120.000 50.0 + +;[dihedrals] +; i j k l funct angle force.c. +; BB SC2 SC3 SC1 2 0.0 50.0 ; to prevent backflipping of ring + +[exclusions] +; We do not want non-bounded interactions within the residue. +BB SC1 SC2 SC3 +SC1 SC2 SC3 +SC2 SC3 + +[ moleculetype ] +;molname nrexcl +HIH 1 + +[ atoms ] +;id type resnr residu atom cgnr charge +1 $prot_default_bb_type 1 HIS BB 1 0 +2 TC4 1 HIH SC1 2 0 ; three side chains in triangle +3 TN6d 1 HIH SC2 3 0 ; configuration, mimicking +4 TQ2p 1 HIH SC3 4 1 ; ring structure +;2 TC4 1 HIH SC1 2 0 ; three side chains in triangle +;3 TP3dq 1 HIH SC2 3 +0.5 ; modelB +;4 TP3dq 1 HIH SC3 4 +0.5 ; + +[bonds] +#meta {"group": "Side chain bonds"} +; i j funct length force.c. + BB SC1 1 0.336 7500 +#meta {"group": "Side chain bonds", "ifdef": "FLEXIBLE"} +; i j funct length + SC1 SC2 1 0.320 $stiff_fc + SC1 SC3 1 0.300 $stiff_fc + SC2 SC3 1 0.270 $stiff_fc + +[constraints] +#meta {"group": "Side chain bonds", "ifndef": "FLEXIBLE"} +; i j funct length + SC1 SC2 1 0.320 + SC1 SC3 1 0.300 + SC2 SC3 1 0.270 + +[angles] +#meta {"group": "Side chain angles"} +; i j k funct angle force.c. + BB SC1 SC2 2 120.000 50.0 + BB SC1 SC3 2 120.000 50.0 + +;[dihedrals] +; i j k l funct angle force.c. +; BB SC2 SC3 SC1 2 0.0 50.0 ; to prevent backflipping of ring + +[exclusions] +; We do not want non-bounded interactions within the residue. +BB SC1 SC2 SC3 +SC1 SC2 SC3 +SC2 SC3 + +;;; PHENYLALANINE + +[ moleculetype ] +; molname nrexcl +PHE 1 + +[ atoms ] +;id type resnr residu atom cgnr charge +1 $prot_default_bb_type 1 PHE BB 1 0 +2 SC4 1 PHE SC1 2 0 ; three side chains in triangle +3 TC5 1 PHE SC2 3 0 ; configuration, mimicking +4 TC5 1 PHE SC3 4 0 ; ring structure + +[bonds] +#meta {"group": "Side chain bonds"} +; i j funct length force.c. + BB SC1 1 0.325 7500 +#meta {"group": "Side chain bonds", "ifdef": "FLEXIBLE"} +; i j funct length + SC1 SC2 1 0.340 $stiff_fc + SC1 SC3 1 0.340 $stiff_fc + SC2 SC3 1 0.290 $stiff_fc + +[constraints] +#meta {"group": "Side chain bonds", "ifndef": "FLEXIBLE"} +; i j funct length + SC1 SC2 1 0.340 + SC1 SC3 1 0.340 + SC2 SC3 1 0.290 + +[angles] +#meta {"group": "Side chain angles"} +; i j k funct angle force.c. + BB SC1 SC2 2 120.000 50.0 + BB SC1 SC3 2 120.000 50.0 + +;[dihedrals] +; i j k l funct angle force.c. +; BB SC2 SC3 SC1 2 0.0 50.0 ; to prevent backflipping of ring + +[exclusions] +; We do not want non-bounded interactions within the residue. +BB SC1 SC2 SC3 +SC1 SC2 SC3 +SC2 SC3 + +;;; TYROSINE + +[ moleculetype ] +; molname nrexcl +TYR 1 + +[ atoms ] +;id type resnr residu atom cgnr charge +1 $prot_default_bb_type 1 TYR BB 1 0 +2 TC4 1 TYR SC1 2 0 +3 TC5 1 TYR SC2 3 0 +4 TC5 1 TYR SC3 4 0 +5 TN6 1 TYR SC4 5 0 + +[bonds] +#meta {"group": "Side chain bonds"} +; i j funct length force.c. + BB SC1 1 0.325 5000 +#meta {"group": "Side chain bonds", "ifdef": "FLEXIBLE"} +; i j funct length + SC1 SC2 1 0.300 $stiff_fc + SC1 SC3 1 0.300 $stiff_fc + SC2 SC4 1 0.285 $stiff_fc + SC3 SC4 1 0.285 $stiff_fc + SC2 SC3 1 0.300 $stiff_fc + +[constraints] +#meta {"group": "Side chain bonds", "ifndef": "FLEXIBLE"} +; i j funct length + SC1 SC2 1 0.300 + SC1 SC3 1 0.300 + SC2 SC4 1 0.285 + SC3 SC4 1 0.285 + SC2 SC3 1 0.300 + +[angles] +#meta {"group": "Side chain angles"} +; i j k funct angle force.c. + BB SC1 SC2 2 120.000 60.0 + BB SC1 SC3 2 120.000 60.0 + +[dihedrals] +; i j k l funct angle force.c. + SC4 SC2 SC3 SC1 2 180.0 50.0 ; to prevent backflipping of ring + +[exclusions] +; We do not want non-bounded interactions within the residue. +BB SC1 SC2 SC3 SC4 +SC1 SC2 SC3 SC4 +SC2 SC3 SC4 +SC3 SC4 + +;;; TRYPTOPHAN + +[ moleculetype ] +;molname nrexcl +TRP 1 + +[ atoms ] +;id type resnr residu atom cgnr charge +1 $prot_default_bb_type 1 TRP BB 1 0 +2 TC4 1 TRP SC1 2 0 36 +3 TN6d 1 TRP SC2 3 0 36 +4 TC5 1 TRP SC3 4 0 0 +5 TC5 1 TRP SC4 5 0 36 +6 TC5 1 TRP SC5 6 0 36 + +[ bonds ] +#meta {"group": "Side chain bonds"} +; i j funct length force.c. + BB SC1 1 0.315 5000 +#meta {"group": "Side chain bonds", "ifdef": "FLEXIBLE"} +; i j funct length + SC1 SC2 1 0.335 $stiff_fc + SC2 SC5 1 0.412 $stiff_fc + SC4 SC5 1 0.293 $stiff_fc + SC1 SC4 1 0.404 $stiff_fc + SC2 SC4 1 0.470 $stiff_fc + +[ constraints ] +#meta {"group": "Side chain bonds", "ifndef": "FLEXIBLE"} +; i j funct length + SC1 SC2 1 0.335 + SC2 SC5 1 0.412 + SC4 SC5 1 0.293 + SC1 SC4 1 0.404 + SC2 SC4 1 0.470 + +[ angles ] +#meta {"group": "Side chain angles"} +; i j k funct angle force.c. + BB SC1 SC2 2 120.000 60.0 + BB SC1 SC4 2 130.000 60.0 + +[ dihedrals ] +; i j k l funct angle force.c. + SC5 SC4 SC2 SC1 2 180.0 100.0 + +[ virtual_sitesn ] +SC3 SC5 SC4 SC2 SC1 -- 2 + +[exclusions] +; We do not want non-bounded interactions within the residue. +BB SC1 SC2 SC3 SC4 SC5 +SC1 SC2 SC3 SC4 SC5 +SC2 SC3 SC4 SC5 +SC3 SC4 SC5 +SC4 SC5 + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;; AA DEFINITIONS END HERE ;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; LINK DEFINITIONS START HERE ;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + + +;; Links +; Links for COIL. We apply them first as coil is the default. +[ link ] +resname $protein_resnames +[ bonds ] +; (Modified by Paulo) +BB +BB 1 0.350 4000 {"group": "Backbone bonds"} + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;; FOLDED SIDE CHAIN FIXES ;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;;;; scfix only used in folded domain with secondary structure except for D (disordered, IDR). +[ link ] +resname $protein_resnames +cgidr false +[ features ] +scfix +[ molmeta ] +scfix true +[ dihedrals ] +SC1 BB +BB +SC1 1 dihphase(SC1,BB,+BB,+SC1|.01f) 75 1 {"group": "SC-BB-BB-SC scFix", "comment": "SC-BB-BB-SC Folded"} + +[ link ] +; -BB -- -SC1 +; | +; BB no side chain +; | +; +BB -- +SC1 +cgidr false +[ features ] +scfix +[ molmeta ] +scfix true +[ dihedrals ] +-BB BB +BB +SC1 1 dihphase(-BB,BB,+BB,+SC1|.01f) 75 1 {"group": "SC-BB-BB-SC scFix", "comment": "BB-BB(GLY)-BB-SC Folded"} +-SC1 -BB BB +BB 1 dihphase(-SC1,-BB,BB,+BB|.01f) 75 1 {"group": "SC-BB-BB-SC scFix", "comment": "SC-BB-BB(GLY)-BB Folded"} +[ non-edges ] +BB SC1 + +[ link ] +; -BB no side chain +; | +; BB no side chain +; | +; +BB -- +SC1 +cgidr false +[ features ] +scfix +[ molmeta ] +scfix true +[ dihedrals ] +-BB BB +BB +SC1 1 dihphase(-BB,BB,+BB,+SC1|.01f) 75 1 {"group": "SC-BB-BB-SC scFix", "comment": "BB(GLY)-BB(GLY)-BB-SC Folded"} +[ non-edges ] +BB SC1 + + +[ link ] +; -BB -- -SC1 +; | +; BB no side chain +; | +; +BB no side chain +cgidr false +[ features ] +scfix +[ molmeta ] +scfix true +[ dihedrals ] +-SC1 -BB BB +BB 1 dihphase(-SC1,-BB,BB,+BB|.01f) 75 1 {"group": "SC-BB-BB-SC scFix", "comment": "SC-BB-BB(GLY)-BB(GLY) Folded"} +[ non-edges ] +BB SC1 +[ patterns ] +-SC1 -BB {"cgidr": false} BB {"cgidr": false} +BB {"cgidr": false} + +[ link ] +resname $protein_resnames +cgidr false +[ features ] +scfix +[ molmeta ] +scfix true +[ angles ] +SC1 BB +BB 10 100 15 {"group": "SC-BB-BB and BB-BB-SC scFix", "comment": "SC-BB-BB Folded"} + +[ link ] +resname $protein_resnames +cgidr false +[ features ] +scfix +[ molmeta ] +scfix true +[ angles ] +BB +BB +SC1 10 100 15 {"group": "SC-BB-BB and BB-BB-SC scFix", "comment": "BB-BB-SC Folded"} + +;still keep it ,although we know it overlaps with -scfix BBS/SBB to some extent +[ link ] +resname $protein_resnames +cgidr false +[ angles ] +-BB BB SC1 2 100 25 {"group": "BBS angles regular martini", "version": 1} + +[ link ] +resname $protein_resnames +cgidr false +[ angles ] +SC1 BB +BB 2 100 25 {"group": "SBB angles regular martini", "version": 1} +[ non-edges ] +BB -BB + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;; IDR SIDE CHAIN FIXES ;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;;;;;;;;;; +;;;;;;;;;; idr angles +;;;;;;;;;; + + +;; IDP residue specific BBS angle +[ link ] +cgidr true +[ features ] +idr +[ molmeta ] +idr true +[ atoms ] +-BB {"resname": $protein_resnames} + BB {"resname": $protein_resnames_BBS_110} +SC1 {"resname": $protein_resnames_BBS_110} +[ angles ] +-BB BB SC1 10 110 15 {"group": "IDP residue specific BBS angles", "comment": "BB-BB-SC1 110"} + +[ link ] +cgidr true +[ features ] +idr +[ atoms ] +-BB {"resname": $protein_resnames} + BB {"resname": $protein_resnames_BBS_100} +SC1 {"resname": $protein_resnames_BBS_100} +[ angles ] +-BB BB SC1 10 100 15 {"group": "IDP residue specific BBS angles", "comment": "BB-BB-SC1 100"} + +[ link ] +cgidr true +[ features ] +idr +[ atoms ] +-BB {"resname": $protein_resnames} + BB {"resname": $protein_resnames_BBS_90} +SC1 {"resname": $protein_resnames_BBS_90} +[ angles ] +-BB BB SC1 10 90 15 {"group": "IDP residue specific BBS angles", "comment": "BB-BB-SC1 90"} + +[ link ] +cgidr true +[ features ] +idr +[ atoms ] +-BB {"resname": $protein_resnames} + BB {"resname": "PRO"} +SC1 {"resname": "PRO"} +[ angles ] +-BB BB SC1 10 85 100 {"group": "IDP residue specific BBS angles", "comment": "BB-BB(PRO)-SC1(PRO)"} + + +;; IDP residue specific SBB angle +[ link ] +cgidr true +[ features ] +idr +[ atoms ] +SC1 {"resname": $protein_resnames_SBB_70} + BB {"resname": $protein_resnames_SBB_70} ++BB {"resname": $protein_resnames} +[ angles ] +SC1 BB +BB 10 70 15 {"group": "IDP residue specific SBB angles", "comment": "SC1-BB-BB 70"} + +[ link ] +cgidr true +[ features ] +idr +[ atoms ] +SC1 {"resname": $protein_resnames_SBB_75} + BB {"resname": $protein_resnames_SBB_75} ++BB {"resname": $protein_resnames} +[ angles ] +SC1 BB +BB 10 75 15 {"group": "IDP residue specific SBB angles", "comment": "SC1-BB-BB 75"} + +[ link ] +cgidr true +[ features ] +idr +[ atoms ] +SC1 {"resname": $protein_resnames_SBB_80} + BB {"resname": $protein_resnames_SBB_80} ++BB {"resname": $protein_resnames} +[ angles ] +SC1 BB +BB 10 80 15 {"group": "IDP residue specific SBB angles", "comment": "SC1-BB-BB 80"} + +[ link ] +cgidr true +[ features ] +idr +[ atoms ] +SC1 {"resname": $protein_resnames_SBB_90} + BB {"resname": $protein_resnames_SBB_90} ++BB {"resname": $protein_resnames} +[ angles ] +SC1 BB +BB 10 90 15 {"group": "IDP residue specific SBB angles", "comment": "SC1-BB-BB 90"} + +[ link ] +cgidr true +[ features ] +idr +[ atoms ] +SC1 {"resname": "PRO"} + BB {"resname": "PRO"} ++BB {"resname": $protein_resnames} +[ angles ] +SC1 BB +BB 10 120 30 {"group": "IDP residue specific SBB angles", "comment": "SC1-BB(PRO)-BB(PRO)"} + +;;;;;;;;;;;;;; +;;;;;;;;;;;;;; idr dihedrals +;;;;;;;;;;;;;; + +;;;; SC parameters developed for IDRs +;; IDP SC-BB-BB-SC dihedral based on the observation of Chris +[ link ] +resname $protein_resnames +cgidr true +[ features ] +idr +[ molmeta ] +idr true +[ dihedrals ] +SC1 BB +BB +SC1 9 -130 -1.4 1 {"group": "idp-fix-SC1-BB-BB-SC1", "version": 1, "comment": "SC1-BB-BB-SC1-v1"} +SC1 BB +BB +SC1 9 100 -1.4 2 {"group": "idp-fix-SC1-BB-BB-SC1", "version": 2, "comment": "SC1-BB-BB-SC1-v2"} + + +;; IDP exceptional BB-BB(GLY)-BB-SC1 dihedral distribution +[ link ] +cgidr true +[ features ] +idr +[ atoms ] +-BB {"resname": $protein_resnames} + BB {"resname": "GLY"} ++BB {"resname": $protein_resnames} ++SC1 {"resname": $protein_resnames} +[ dihedrals ] +-BB BB +BB +SC1 9 -10 3.2 1 {"group": "idp-fix-BB-BB(GLY)-BB-SC1", "version": 1, "comment": "BB-BB(GLY)-BB-SC1-v1"} +-BB BB +BB +SC1 9 15 -1.3 2 {"group": "idp-fix-BB-BB(GLY)-BB-SC1", "version": 2, "comment": "BB-BB(GLY)-BB-SC1-v2"} +-BB BB +BB +SC1 9 -120 0.8 1 {"group": "idp-fix-BB-BB(GLY)-BB-SC1", "version": 3, "comment": "BB-BB(GLY)-BB-SC1-v3"} + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;; IDR SPECIFIC BONDS ;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;; Bond for IDR. +[ link ] +resname $protein_resnames_non_pro +cgidr true +[ features ] +idr +[ bonds ] +BB +BB 1 0.360 8000 {"group": "Backbone bonds IDP", "comment": "BB-BB IDR"} + +;; Pro specific bondlength in IDR +[ link ] +cgidr true +[ features ] +idr +[ atoms ] + BB {"resname": $protein_resnames_non_pro} ++BB {"resname": "PRO"} +[ bonds ] +BB +BB 1 0.360 10000 {"group": "Backbone bonds IDP", "comment": "BB-BB(PRO)"} + +[ link ] +cgidr true +[ features ] +idr +[ atoms ] + BB {"resname": "PRO"} ++BB {"resname": $protein_resnames_non_pro} +[ bonds ] +BB +BB 1 0.305 10000 {"group": "Backbone bonds IDP", "comment": "BB(PRO)-BB"} + +[ link ] +cgidr true +[ features ] +idr +[ atoms ] + BB {"resname": "PRO"} ++BB {"resname": "PRO"} +[ bonds ] +BB +BB 1 0.321 10000 {"group": "Backbone bonds IDP", "comment": "BB(PRO)-BB(PRO)"} + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;; STANDARD MARTINI FOLDED BONDS ;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;; Links for the different secondary structures. +;; Setup the bonds. We only have the bonds assuming everything is coil. +;; We always select the lowest force constant when the two residues involved +;; are assigned different secondary structures. +;; Bonds/constraints between different secondary structures have the average +;; length. +[ link ] +resname $protein_resnames +[ bonds ] +; (Modified by Paulo) +BB +BB 1 0.3375 4000 +[ patterns ] +BB +BB {"cgsecstruct": "F"} +BB {"cgsecstruct": "F"} +BB + +[ link ] +resname $protein_resnames +cgsecstruct "F" +[ bonds ] +; (Modified by Paulo) +BB +BB 1 0.365 4000 + +[ link ] +resname $protein_resnames +[ constraints ] +#meta {"group": "Backbone bonds"} +BB +BB 1 0.310 +[ !bonds ] +BB +BB +[ patterns ] +BB {"cgsecstruct": "H|1|2|3"} +BB +BB +BB {"cgsecstruct": "H|1|2|3"} + +[ link ] +resname $protein_resnames +[ constraints ] +#meta {"group": "Backbone bonds"} +BB +BB 1 0.33 +[ !bonds ] +BB +BB +[ patterns ] +BB {"cgsecstruct": "H|1|2|3"} +BB {"cgsecstruct": "S|C|T|E"} +BB {"cgsecstruct": "S|C|T|E"} +BB {"cgsecstruct": "H|1|2|3"} + +[ link ] +resname $protein_resnames +[ constraints ] +#meta {"group": "Backbone bonds"} +BB +BB 1 0.3375 +[ !bonds ] +BB +BB +[ patterns ] +BB {"cgsecstruct": "H|1|2|3"} +BB {"cgsecstruct": "F"} +BB {"cgsecstruct": "F"} +BB {"cgsecstruct": "H|1|2|3"} + + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;; STANDARD MARTINI FOLDED ANGLES ;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;; Setup the angles. We only define those that are different from coil. +;; When there is more than one secondary structure involved, we take the +;; angle with the lowest force constant, then the lowest angle. +[ link ] +resname $protein_resnames +[ angles ] +-BB BB +BB 2 96 700 {"group": "BBB angles"} +[ patterns ] +-BB BB {"cgsecstruct": "H|1|2|3"} +BB +-BB {"cgsecstruct": "H|1|2|3"} BB +BB +-BB BB +BB {"cgsecstruct": "H|1|2|3"} + +[ link ] +resname $protein_resnames +[ angles ] +-BB BB +BB 2 119.2 150 {"group": "BBB angles"} +[ patterns ] +-BB BB {"cgsecstruct": "F"} +BB +-BB {"cgsecstruct": "F"} BB +BB +-BB BB +BB {"cgsecstruct": "F"} + +[ link ] +[ angles ] +-BB BB +BB 2 98 100 {"group": "BBB angles"} +[ patterns ] +-BB BB {"cgsecstruct": "H|1|2|3", "resname": "PRO|HYP"} +BB +-BB {"cgsecstruct": "H|1|2|3", "resname": "PRO|HYP"} BB +BB +-BB BB +BB {"cgsecstruct": "H|1|2|3", "resname": "PRO|HYP"} + +[ link ] +resname $protein_resnames +[ angles ] +; (Modified by Paulo) +-BB BB +BB 10 134 25 {"group": "BBB angles"} +[ patterns ] +-BB BB {"cgsecstruct": "E"} +BB +-BB {"cgsecstruct": "E"} BB +BB +-BB BB +BB {"cgsecstruct": "E"} + +[ link ] +[ angles ] +; (Modified by Paulo) +-BB BB +BB 10 134 25 {"group": "BBB angles"} +[ patterns ] +-BB BB {"cgsecstruct": "E", "resname": "PRO|HYP"} +BB +-BB {"cgsecstruct": "E", "resname": "PRO|HYP"} BB +BB +-BB BB +BB {"cgsecstruct": "E", "resname": "PRO|HYP"} + +[ link ] +[ angles ] +; (Modified by Paulo) +-BB BB +BB 10 130 25 {"group": "BBB angles"} +[ patterns ] +-BB BB {"cgsecstruct": "S", "resname": "PRO|HYP"} +BB +-BB {"cgsecstruct": "S", "resname": "PRO|HYP"} BB +BB +-BB BB +BB {"cgsecstruct": "S", "resname": "PRO|HYP"} + +[ link ] +[ angles ] +; (Modified by Paulo) +-BB BB +BB 10 127 25 {"group": "BBB angles"} +[ patterns ] +-BB BB {"cgsecstruct": "C", "resname": "PRO|HYP"} +BB +-BB {"cgsecstruct": "C", "resname": "PRO|HYP"} BB +BB +-BB BB +BB {"cgsecstruct": "C", "resname": "PRO|HYP"} + +[ link ] +[ angles ] +; (Modified by Paulo) +-BB BB +BB 10 100 25 {"group": "BBB angles"} +[ patterns ] +-BB BB {"cgsecstruct": "T", "resname": "PRO|HYP"} +BB +-BB {"cgsecstruct": "T", "resname": "PRO|HYP"} BB +BB +-BB BB +BB {"cgsecstruct": "T", "resname": "PRO|HYP"} + +[ link ] +resname $protein_resnames +[ angles ] +; (Modified by Paulo) +-BB BB +BB 10 130 20 {"group": "BBB angles"} +[ patterns ] +-BB BB {"cgsecstruct": "S"} +BB +-BB {"cgsecstruct": "S"} BB +BB +-BB BB +BB {"cgsecstruct": "S"} + +[ link ] +[ angles ] +; (Modified by Paulo) +-BB BB +BB 10 130 20 {"group": "BBB angles"} +[ patterns ] +-BB BB {"cgsecstruct": "S", "resname": $protein_resnames_non_pro} +BB +-BB {"cgsecstruct": "S", "resname": $protein_resnames_non_pro} BB +BB +-BB BB +BB {"cgsecstruct": "S", "resname": $protein_resnames_non_pro} + +[ link ] +resname $protein_resnames +[ angles ] +; (Modified by Paulo) +-BB BB +BB 10 127 20 {"group": "BBB angles"} +[ patterns ] +-BB BB {"cgsecstruct": "C", "resname": $protein_resnames_non_pro} +BB +-BB {"cgsecstruct": "C", "resname": $protein_resnames_non_pro} BB +BB +-BB BB +BB {"cgsecstruct": "C", "resname": $protein_resnames_non_pro} +-BB {"cgsecstruct": null} BB {"cgsecstruct": null} +BB {"cgsecstruct": null} + +;; BBB Angle for IDR. +[ link ] +resname $protein_resnames +cgidr true +[ features ] +idr +[ angles ] +-BB BB +BB 10 137 25 {"group": "BBB angles IDP"} + +[ link ] +[ angles ] +; (Modified by Paulo) +-BB BB +BB 10 100 20 {"group": "BBB angles"} +[ patterns ] +-BB BB {"cgsecstruct": "T", "resname": $protein_resnames_non_pro} +BB +-BB {"cgsecstruct": "T", "resname": $protein_resnames_non_pro} BB +BB +-BB BB +BB {"cgsecstruct": "T", "resname": $protein_resnames_non_pro} + +; If there is a helical proline *at the middle* of the angle, then it takes +; over. +[ link ] +[ angles ] +; (Modified by Paulo) +-BB BB {"cgsecstruct": "H|1|2|3", "resname": "PRO|HYP"} +BB 10 98 100 {"group": "BBB angles"} + +;; Backbone dihedrals. +[ link ] +resname $protein_resnames +cgsecstruct "H|1|2|3" +[ dihedrals ] +-BB BB +BB ++BB 1 -120 400 1 + +[ link ] +resname $protein_resnames +cgsecstruct "F" +[ dihedrals ] +-BB BB +BB ++BB 1 90.7 100 1 + +;; Local elastic network to stabilize extented regions of proteins. +[ link ] +resname $protein_resnames +cgsecstruct "E" +[ edges ] +BB +BB ++BB ++BB +++BB +++BB +[ bonds ] +BB ++BB 1 0.640 2500 {"group": "Short elastic bonds for extended regions", "edge": false} ++BB +++BB 1 0.640 2500 {"group": "Short elastic bonds for extended regions", "edge": false} +BB +++BB 1 0.970 2500 {"group": "Long elastic bonds for extended regions", "edge": false} + +; Use dihedrals rather than an elastic network for extended regions of proteins. +[ link ] +resname $protein_resnames +cgsecstruct "E" +[ molmeta ] +extdih true +[ dihedrals ] +-BB BB +BB ++BB 1 0 10 1 + +[ link ] +resname $protein_resnames +cgsecstruct "E" +[ molmeta ] +extdih true +[ edges ] +BB +BB ++BB ++BB +++BB +++BB +[ !bonds ] +BB ++BB 1 0.640 2500 ++BB +++BB 1 0.640 2500 +BB +++BB 1 0.970 2500 + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;; IDR DIHEDRALS ;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;; IDP generic BBBB dihedral function for most cases +[ link ] +resname $protein_resnames +cgidr true +[ features ] +idr +[ dihedrals ] +-BB BB +BB ++BB 9 60 2.8 1 {"group": "idp-BBBB", "version": 1, "comment": "BBBB-v1"} +-BB BB +BB ++BB 9 150 -0.60 1 {"group": "idp-BBBB", "version": 2, "comment": "BBBB-v2"} +-BB BB +BB ++BB 9 130 -1.20 2 {"group": "idp-BBBB", "version": 3, "comment": "BBBB-v3"} + +;; IDP BBBB dihedral function for specific high Gly content pattern +[ link ] +cgidr true +[ features ] +idr +[ atoms ] +-BB {"resname": "GLY"} + BB {"resname": "GLY"} ++BB {"resname": "GLY"} +++BB {"resname": "GLY"} +[ dihedrals ] +-BB BB +BB ++BB 9 160 0.8 1 {"group": "idp-BBBB", "version": 1, "comment": "GGGG-v1"} +-BB BB +BB ++BB 9 -160 0.8 1 {"group": "idp-BBBB", "version": 2, "comment": "GGGG-v2"} +-BB BB +BB ++BB 9 0 1.2 2 {"group": "idp-BBBB", "version": 3, "comment": "GGGG-v3"} + +[ link ] +cgidr true +[ features ] +idr +[ atoms ] +-BB {"resname": "GLY"} + BB {"resname": "GLY"} ++BB {"resname": "GLY"} +++BB {"resname": $protein_resnames_non_gly} +[ dihedrals ] +-BB BB +BB ++BB 9 160 0.8 1 {"group": "idp-BBBB", "version": 1, "comment": "GGGX-v1"} +-BB BB +BB ++BB 9 -160 0.8 1 {"group": "idp-BBBB", "version": 2, "comment": "GGGX-v2"} +-BB BB +BB ++BB 9 0 1.2 2 {"group": "idp-BBBB", "version": 3, "comment": "GGGX-v3"} + +[ link ] +cgidr true +[ features ] +idr +[ atoms ] +-BB {"resname": $protein_resnames_non_gly} + BB {"resname": "GLY"} ++BB {"resname": "GLY"} +++BB {"resname": "GLY"} +[ dihedrals ] +-BB BB +BB ++BB 9 160 0.8 1 {"group": "idp-BBBB", "version": 1, "comment": "XGGG-v1"} +-BB BB +BB ++BB 9 -160 0.8 1 {"group": "idp-BBBB", "version": 2, "comment": "XGGG-v2"} +-BB BB +BB ++BB 9 0 1.2 2 {"group": "idp-BBBB", "version": 3, "comment": "XGGG-v3"} + +[ link ] +cgidr true +[ features ] +idr +[ atoms ] +-BB {"resname": "GLY"} + BB {"resname": "GLY"} ++BB {"resname": $protein_resnames_non_gly} +++BB {"resname": "GLY"} +[ dihedrals ] +-BB BB +BB ++BB 9 -160 0.8 1 {"group": "idp-BBBB", "version": 1, "comment": "GGXG-v1"} +-BB BB +BB ++BB 9 -80 0.8 2 {"group": "idp-BBBB", "version": 2, "comment": "GGXG-v2"} +-BB BB +BB ++BB 9 0 1.2 2 {"group": "idp-BBBB", "version": 3, "comment": "GGXG-v3"} + +[ link ] +cgidr true +[ features ] +idr +[ atoms ] +-BB {"resname": "GLY"} + BB {"resname": $protein_resnames_non_gly} ++BB {"resname": "GLY"} +++BB {"resname": "GLY"} +[ dihedrals ] +-BB BB +BB ++BB 9 60 2.0 1 {"group": "idp-BBBB", "version": 1, "comment": "GXGG-v1"} +-BB BB +BB ++BB 9 -100 0.8 1 {"group": "idp-BBBB", "version": 2, "comment": "GXGG-v2"} + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;;;;;;; IDR SIDECHAIN IMPROPER DIHEDRALS ;;;;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;; IDP residue specific BB-BB(-1)-BB(+1)-SC improper dihedral +[ link ] +cgidr true +[ features ] +idr +[ atoms ] + BB {"resname": $protein_resnames_improper_20} +-BB {"resname": $protein_resnames} ++BB {"resname": $protein_resnames} +SC1 {"resname": $protein_resnames_improper_20} +[ dihedrals ] +BB -BB +BB SC1 2 -20 30 {"group": "BB-BB(-1)-BB(+1)-SC improper", "comment": "IDR BBBS 20"} +[ edges ] +-BB BB +BB +BB +BB SC1 + +[ link ] +cgidr true +[ features ] +idr +[ atoms ] + BB {"resname": $protein_resnames_improper_25} +-BB {"resname": $protein_resnames} ++BB {"resname": $protein_resnames} +SC1 {"resname": $protein_resnames_improper_25} +[ dihedrals ] +BB -BB +BB SC1 2 -25 30 {"group": "BB-BB(-1)-BB(+1)-SC improper", "comment": "IDR BBBS 25"} +[ edges ] +-BB BB +BB +BB +BB SC1 + +[ link ] +cgidr true +[ features ] +idr +[ atoms ] + BB {"resname": $protein_resnames_improper_35} +-BB {"resname": $protein_resnames} ++BB {"resname": $protein_resnames} +SC1 {"resname": $protein_resnames_improper_35} +[ dihedrals ] +BB -BB +BB SC1 2 -35 30 {"group": "BB-BB(-1)-BB(+1)-SC improper", "comment": "IDR BBBS 35"} +[ edges ] +-BB BB +BB +BB +BB SC1 + +[ link ] +cgidr true +[ features ] +idr +[ atoms ] + BB {"resname": $protein_resnames_improper_40} +-BB {"resname": $protein_resnames} ++BB {"resname": $protein_resnames} +SC1 {"resname": $protein_resnames_improper_40} +[ dihedrals ] +BB -BB +BB SC1 2 -40 25 {"group": "BB-BB(-1)-BB(+1)-SC improper", "comment": "IDR BBBS 40"} +[ edges ] +-BB BB +BB +BB +BB SC1 + +[ link ] +cgidr true +[ features ] +idr +[ atoms ] + BB {"resname": "PRO"} +-BB {"resname": $protein_resnames} ++BB {"resname": $protein_resnames} +SC1 {"resname": "PRO"} +[ dihedrals ] +BB -BB +BB SC1 2 -10 80 {"group": "BB-BB(-1)-BB(+1)-SC improper", "comment": "IDR BBBS PRO"} +[ edges ] +-BB BB +BB +BB +BB SC1 + + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;; LINK DISORDERED TO FOLDED REGIONS ;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +;BB Bond +[ link ] +resname $protein_resnames +[ features ] +idr +[ bonds ] +BB +BB 1 0.360 8000 {"group": "Crosslinking Backbone bonds"} ;{"group": "Backbone bonds folded-disordered"} +[ patterns ] +BB {"cgidr": true} +BB {"cgidr": false} +BB {"cgidr": false} +BB {"cgidr": true} + +;BBB angle +;include DDX DXX XDD XXD and NO DDD cases (X means folded domain ss), avoid overlap with DDD in IDR domain above, although it's okay because parameters are same. +[ link ] +resname $protein_resnames +[ features ] +idr +[ angles ] +-BB BB +BB 10 137 25 {"group": "Crosslinking BBB angles"} ;{"group": "BBB angles folded-disordered"} +[ patterns ] +-BB {"cgidr": false} BB +BB {"cgidr": true} +-BB {"cgidr": true} BB +BB {"cgidr": false} + +;BBS/SBB angle +[ link ] +resname $protein_resnames +[ features ] +idr +[ angles ] +-BB BB SC1 10 100 15 {"group": "Crosslinking BBS angles"} ;{"group": "BBS angles folded-disordered"} +[ patterns ] +-BB {"cgidr": true} BB {"cgidr": false} SC1 +-BB {"cgidr": false} BB {"cgidr": true} SC1 + +[ link ] +resname $protein_resnames +[ features ] +idr +[ angles ] +SC1 BB +BB 10 100 15 {"group": "Crosslinking SBB angles"} ;{"group": "SBB angles folded-disordered"} +[ patterns ] +SC1 BB {"cgidr": true} +BB {"cgidr": false} +SC1 BB {"cgidr": false} +BB {"cgidr": true} + +;BBBB dihedral +;include DDDX DDXX DXXX XDDD XXDD XXXD and NO DDDD cases (X means folded domain ss), avoid overlap with DDDD in IDR domain above +[ link ] +resname $protein_resnames +[ features ] +idr +[ dihedrals ] +-BB BB +BB ++BB 9 60 2.8 1 {"group": "idp-BBBB folded-disordered", "version": 1,"comment": "BBBB-v1"} +-BB BB +BB ++BB 9 150 -0.60 1 {"group": "idp-BBBB folded-disordered", "version": 2,"comment": "BBBB-v2"} +-BB BB +BB ++BB 9 130 -1.20 2 {"group": "idp-BBBB folded-disordered", "version": 3,"comment": "BBBB-v3"} +[ patterns ] +-BB {"cgidr": false} BB +BB ++BB {"cgidr": true} +-BB {"cgidr": true} BB +BB ++BB {"cgidr": false} + +;; BB-BB(-1)-BB(+1)-SC improper dihedral not defined in crosslinking region +;SBBS dihedral +[ link ] +resname $protein_resnames +[ features ] +idr +[ dihedrals ] +SC1 BB +BB +SC1 9 -130 -1.4 1 {"group": "idp-fix-SC1-BB-BB-SC1 folded-disordered", "version": 1, "comment": "SC1-BB-BB-SC1-v1"} +SC1 BB +BB +SC1 9 100 -1.4 2 {"group": "idp-fix-SC1-BB-BB-SC1 folded-disordered", "version": 2, "comment": "SC1-BB-BB-SC1-v2"} +[ patterns ] +BB {"cgidr": true} +BB {"cgidr": false} +BB {"cgidr": false} +BB {"cgidr": true} + + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;;;;;;; ADD AND LOG DISULFIDE BRIDGES ;;;;;;;;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; Cystein bridge +[ link ] +resname "CYS" +[ constraints ] +SC1 >SC1 1 0.24 {"comment": "Disulfide bridge"} +[ features ] +disulfide +[ info ] +Disulfide bridge found between residues {SC1[chain]}-{SC1[resname]}{SC1[resid]} and {>SC1[chain]}-{>SC1[resname]}{>SC1[resid]} \ No newline at end of file diff --git a/vermouth/data/force_fields/martini3IDP/citations.bib b/vermouth/data/force_fields/martini3IDP/citations.bib new file mode 100644 index 000000000..1659939f1 --- /dev/null +++ b/vermouth/data/force_fields/martini3IDP/citations.bib @@ -0,0 +1,44 @@ +@article{Martini3, +abstract={The coarse-grained Martini force field is widely used in biomolecular simulations. Here we present the refined model, Martini 3 (http://cgmartini.nl), with an improved interaction balance, new bead types and expanded ability to include specific interactions representing, for example, hydrogen bonding and electronic polarizability. The updated model allows more accurate predictions of molecular packing and interactions in general, which is exemplified with a vast and diverse set of applications, ranging from oil/water partitioning and miscibility data to complex molecular systems, involving protein–protein and protein–lipid interactions and material science applications as ionic liquids and aedamers.}, +author={Souza, Paulo C T and Alessandri, Riccardo and Barnoud, Jonathan and Thallmair, Sebastian and Faustino, Ignacio and Grünewald, Fabian and Patmanidis, Ilias and Abdizadeh, Haleh and Bruininks, Bart M H and Wassenaar, Tsjerk A and Kroon, Peter C and Melcr, Josef and Nieto, Vincent and Corradi, Valentina and Khan, Hanif M and Domański, Jan and Javanainen, Matti and Martinez-Seara, Hector and Reuter, Nathalie and Best, Robert B and Vattulainen, Ilpo and Monticelli, Luca and Periole, Xavier and Tieleman, D Peter and de Vries, Alex H and Marrink, Siewert J}, +doi={10.1038/s41592-021-01098-3}, +issn={1548-7105}, +journal={Nature Methods}, +title={{Martini 3: a general purpose force field for coarse-grained molecular dynamics}}, +url={https://doi.org/10.1038/s41592-021-01098-3}, +year={2021} +} +@article{Martini3smallmolecules, + title={Martini 3 Coarse-Grained Force Field: Small Molecules}, + author={Alessandri, Riccardo and Barnoud, Jonathan and Gertsen, Anders S and Patmanidis, Ilias and de Vries, Alex H and Souza, Paulo CT and Marrink, Siewert J}, + journal={Advanced Theory and Simulations}, + volume={5}, + number={1}, + pages={2100391}, + year={2022}, + publisher={Wiley Online Library} +} +@article{MDTraj, + title={MDTraj: A Modern Open Library for the Analysis of Molecular Dynamics Trajectories}, + author={McGibbon, Robert T. and Beauchamp, Kyle A. and Harrigan, Matthew P. and Klein, Christoph and Swails, Jason M. and Hernández, Carlos X. and Schwantes, Christian R. and Wang, Lee-Ping and Lane, Thomas J. and Pande, Vijay S.}, + journal={Biophysical Journal}, + volume={109}, + number={8}, + pages={1528 -- 1532}, + year={2015}, + doi={10.1016/j.bpj.2015.08.015} +} +@article{M3_GO, +title={GōMartini 3: From large conformational changes in proteins to environmental bias corrections}, +author={Souza, Paulo C. T. and Araujo, Luis P. Borges and Brasnett, Chris and Moreira, Rodrigo A. and Grunewald, Fabian and Park, Peter and Wang, Liguo and Razmazma, Hafez and Borges-Araujo, Ana C. and Cofas-Vargas, Luis F. and Monticelli, Luca and Mera-Adasme, Raul and Melo, Manuel N. and Wu, Sangwook and Marrink, Siewert J. and Poma, Adolfo B. and Thallmair, Sebastian}, +url={https://www.biorxiv.org/content/10.1101/2024.04.15.589479v1}, +doi={10.1101/2024.04.15.589479}, +year={2024}, +} +@article{Martini3IDP, +title={Martini3 IDPs}, +author={Wang, Liguo and etc, &}, +url={some_link}, +doi={some_doi}, +year={some_year}, +} diff --git a/vermouth/data/force_fields/martini3IDP/general.ff b/vermouth/data/force_fields/martini3IDP/general.ff new file mode 100644 index 000000000..8ed42b374 --- /dev/null +++ b/vermouth/data/force_fields/martini3IDP/general.ff @@ -0,0 +1,20 @@ +; Copyright 2020 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ variables ] +center_weight "mass" +regular "0.47" +small "0.41" +tiny "0.34" +water_type "W" diff --git a/vermouth/data/force_fields/martini3IDP/modifications.ff b/vermouth/data/force_fields/martini3IDP/modifications.ff new file mode 100644 index 000000000..abb565aaf --- /dev/null +++ b/vermouth/data/force_fields/martini3IDP/modifications.ff @@ -0,0 +1,106 @@ +[ citations ] +Martini3 + +[ modification ] +C-ter +[ atoms ] +BB {"replace": {"atype": "Q5", "charge": -1}} + +[ modification ] +N-ter +[ atoms ] +BB {"replace": {"atype": "Q5", "charge": 1}} + +[ modification ] +zwitter +[ atoms ] +BB {"replace": {"atype": "Q5"}} + +[ modification ] +COOH-ter +[ atoms ] +BB {"replace": {"atype": "P6", "charge": 0}} + +[ modification ] +NH2-ter +[ atoms ] +BB {"replace": {"atype": "P6", "charge": 0}} + +[ modification ] +CCAP-ter +[ atoms ] +BB {"replace": {"atype": "P1", "charge": 0}} + +[ modification ] +NCAP-ter +[ atoms ] +BB {"replace": {"atype": "P2", "charge": 0}} + +[ modification ] +GLU-HE1 +[ atoms ] +SC1 {"replace": {"atype": "P2", "charge": 0}} + +[ modification ] +GLU-HE2 +[ atoms ] +SC1 {"replace": {"atype": "P2", "charge": 0}} + +[ modification ] +ASP-HD1 +[ atoms ] +SC1 {"replace": {"atype": "P2", "charge": 0}} + +[ modification ] +ASP-HD2 +[ atoms ] +SC1 {"replace": {"atype": "P2", "charge": 0}} + +[ modification ] +LYS-LSN +[ atoms ] +SC2 {"resname": "LYS", "replace": {"atype": "SN6d", "charge": 0}} + +[ modification ] +LYS-HZ3 +[ atoms ] +SC2 {"replace": {"resname": "LYS"}} + +[ modification ] +HIS-HP +[ atoms ] +BB {"resname": "HIS", "replace": {"resname": "HIS"}} +SC1 {"resname": "HIS", "replace": {"resname": "HIS"}} +SC2 {"resname": "HIS", "replace": {"atype": "TP1dq", "charge": "0.5", "resname": "HIS"}} +SC3 {"resname": "HIS", "replace": {"atype": "TP1dq", "charge": "0.5", "resname": "HIS"}} +[ edges ] +BB SC1 +SC1 SC2 +SC1 SC3 +SC2 SC3 + +[ modification ] +HIS-HE +[ atoms ] +BB {"resname": "HIS", "replace": {"resname": "HIS"}} +SC1 {"resname": "HIS", "replace": {"resname": "HIS"}} +SC2 {"resname": "HIS", "replace": {"resname": "HIS"}} +SC3 {"resname": "HIS", "replace": {"resname": "HIS"}} +[ edges ] +BB SC1 +SC1 SC2 +SC1 SC3 +SC2 SC3 + +[ modification ] +HIS-HD +[ atoms ] +BB {"resname": "HIS", "replace": {"resname": "HIS"}} +SC1 {"resname": "HIS", "replace": {"resname": "HIS"}} +SC2 {"resname": "HIS", "replace": {"resname": "HIS", "atype": "TN5a"}} +SC3 {"resname": "HIS", "replace": {"resname": "HIS", "atype": "TN6a"}} +[ edges ] +BB SC1 +SC1 SC2 +SC1 SC3 +SC2 SC3 diff --git a/vermouth/data/mappings/martini3IDP/ala.amber.map b/vermouth/data/mappings/martini3IDP/ala.amber.map new file mode 100644 index 000000000..3d17aa4c3 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/ala.amber.map @@ -0,0 +1,50 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +ALA + +[from] +amber + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +amber27 amber36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 HB3 !SC1 + 9 C BB + 10 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + HB3 CA N C + +[ chiral ] + HA CA N CB C ; L-Ala +; HA CA N C CB ; D-Ala diff --git a/vermouth/data/mappings/martini3IDP/ala.charmm36.map b/vermouth/data/mappings/martini3IDP/ala.charmm36.map new file mode 100644 index 000000000..e4ed2934f --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/ala.charmm36.map @@ -0,0 +1,50 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +ALA + +[from] +charmm + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 HB3 !SC1 + 9 C BB + 10 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + HB3 CA N C + +[ chiral ] + HA CA N CB C ; L-Ala +; HA CA N C CB ; D-Ala diff --git a/vermouth/data/mappings/martini3IDP/arg.amber.map b/vermouth/data/mappings/martini3IDP/arg.amber.map new file mode 100644 index 000000000..7e849289f --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/arg.amber.map @@ -0,0 +1,80 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +ARG + +[from] +amber + +[to] +martini3IDP + +[ martini ] +BB SC1 SC2 + +[ mapping ] +amber27 amber36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CG SC1 + 9 HG1 !SC1 + 10 HG2 !SC1 + 11 CD SC1 + 12 HD1 !SC1 + 13 HD2 !SC1 + 14 NE SC2 + 15 HE SC2 + 16 CZ SC2 + 17 NH1 SC2 + 18 HH11 SC2 + 19 HH12 SC2 + 20 NH2 SC2 + 21 HH21 SC2 + 22 HH22 SC2 + 23 C BB + 24 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C +[ chiral ] + HA CA N CB C ; L-Arg +; HA CA N C CB ; D-Arg + + +; The cis/trans are added to ensure proper +; splitting of the guanidinium group + +[ trans ] +; Because of the use of normalized vectors, this makes sense: + NH1 CZ NE HE + +[ out ] + NH2 CZ NE NH1 + NH1 CZ NE NH2 + +[ out ] + HH11 NH1 CZ HH12 + HH12 NH1 CZ HH11 + HH21 NH2 CZ HH22 + HH22 NH2 CZ HH21 diff --git a/vermouth/data/mappings/martini3IDP/arg.charmm36.map b/vermouth/data/mappings/martini3IDP/arg.charmm36.map new file mode 100644 index 000000000..8a1450ffe --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/arg.charmm36.map @@ -0,0 +1,80 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +ARG + +[from] +charmm + +[to] +martini3IDP + +[ martini ] +BB SC1 SC2 + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CG SC1 + 9 HG1 !SC1 + 10 HG2 !SC1 + 11 CD SC1 + 12 HD1 !SC1 + 13 HD2 !SC1 + 14 NE SC2 + 15 HE SC2 + 16 CZ SC2 + 17 NH1 SC2 + 18 HH11 SC2 + 19 HH12 SC2 + 20 NH2 SC2 + 21 HH21 SC2 + 22 HH22 SC2 + 23 C BB + 24 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C +[ chiral ] + HA CA N CB C ; L-Arg +; HA CA N C CB ; D-Arg + + +; The cis/trans are added to ensure proper +; splitting of the guanidinium group + +[ trans ] +; Because of the use of normalized vectors, this makes sense: + NH1 CZ NE HE + +[ out ] + NH2 CZ NE NH1 + NH1 CZ NE NH2 + +[ out ] + HH11 NH1 CZ HH12 + HH12 NH1 CZ HH11 + HH21 NH2 CZ HH22 + HH22 NH2 CZ HH21 diff --git a/vermouth/data/mappings/martini3IDP/asn.amber.map b/vermouth/data/mappings/martini3IDP/asn.amber.map new file mode 100644 index 000000000..3ff4f0ae9 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/asn.amber.map @@ -0,0 +1,53 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +ASN + +[from] +amber + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +amber27 amber36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CG SC1 + 9 OD1 SC1 + 10 ND2 SC1 + 11 HD21 SC1 + 12 HD22 SC1 + 13 C BB + 14 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Asn +; HA CA N C CB ; D-Asn diff --git a/vermouth/data/mappings/martini3IDP/asn.charmm36.map b/vermouth/data/mappings/martini3IDP/asn.charmm36.map new file mode 100644 index 000000000..292019c22 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/asn.charmm36.map @@ -0,0 +1,53 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +ASN + +[from] +charmm + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CG SC1 + 9 OD1 SC1 + 10 ND2 SC1 + 11 HD21 SC1 + 12 HD22 SC1 + 13 C BB + 14 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Asn +; HA CA N C CB ; D-Asn diff --git a/vermouth/data/mappings/martini3IDP/asp.amber.map b/vermouth/data/mappings/martini3IDP/asp.amber.map new file mode 100644 index 000000000..8725e6986 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/asp.amber.map @@ -0,0 +1,52 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +ASP + +[from] +amber + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +amber27 amber36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CG SC1 + 9 OD1 SC1 + 10 OD2 SC1 + 11 HD2 !SC1 + 12 C BB + 13 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Asp +; HA CA N C CB ; D-Asp diff --git a/vermouth/data/mappings/martini3IDP/asp.charmm36.map b/vermouth/data/mappings/martini3IDP/asp.charmm36.map new file mode 100644 index 000000000..1972ea9ef --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/asp.charmm36.map @@ -0,0 +1,52 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +ASP + +[from] +charmm + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CG SC1 + 9 OD1 SC1 + 10 OD2 SC1 + 11 HD2 !SC1 + 12 C BB + 13 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Asp +; HA CA N C CB ; D-Asp diff --git a/vermouth/data/mappings/martini3IDP/aspp.charmm36.map b/vermouth/data/mappings/martini3IDP/aspp.charmm36.map new file mode 100644 index 000000000..0510a70fb --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/aspp.charmm36.map @@ -0,0 +1,52 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +ASPP + +[from] +charmm + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CG SC1 + 9 OD1 SC1 + 10 OD2 SC1 + 11 HD2 !SC1 + 12 C BB + 13 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Asp +; HA CA N C CB ; D-Asp diff --git a/vermouth/data/mappings/martini3IDP/cys.amber.map b/vermouth/data/mappings/martini3IDP/cys.amber.map new file mode 100644 index 000000000..101e7cc78 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/cys.amber.map @@ -0,0 +1,50 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +CYS + +[from] +amber + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +amber27 amber36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 SG SC1 + 9 HG1 !SC1 + 10 C BB + 11 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Cys +; HA CA N C CB ; D-Cys diff --git a/vermouth/data/mappings/martini3IDP/cys.charmm36.map b/vermouth/data/mappings/martini3IDP/cys.charmm36.map new file mode 100644 index 000000000..ac889f000 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/cys.charmm36.map @@ -0,0 +1,50 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +CYS + +[from] +charmm + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 SG SC1 + 9 HG1 !SC1 + 10 C BB + 11 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Cys +; HA CA N C CB ; D-Cys diff --git a/vermouth/data/mappings/martini3IDP/gln.amber.map b/vermouth/data/mappings/martini3IDP/gln.amber.map new file mode 100644 index 000000000..e1cdfaf48 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/gln.amber.map @@ -0,0 +1,58 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +GLN + +[from] +amber + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +amber27 amber36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CG SC1 + 9 HG1 !SC1 + 10 HG2 !SC1 + 11 CD SC1 + 12 OE1 SC1 + 13 NE2 SC1 + 14 HE21 SC1 + 15 HE22 SC1 + 16 HE11 SC1 + 17 HE12 SC1 + 18 C BB + 19 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Gln +; HA CA N C CB ; D-Gln diff --git a/vermouth/data/mappings/martini3IDP/gln.charmm36.map b/vermouth/data/mappings/martini3IDP/gln.charmm36.map new file mode 100644 index 000000000..cef139f23 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/gln.charmm36.map @@ -0,0 +1,58 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +GLN + +[from] +charmm + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CG SC1 + 9 HG1 !SC1 + 10 HG2 !SC1 + 11 CD SC1 + 12 OE1 SC1 + 13 NE2 SC1 + 14 HE21 SC1 + 15 HE22 SC1 + 16 HE11 SC1 + 17 HE12 SC1 + 18 C BB + 19 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Gln +; HA CA N C CB ; D-Gln diff --git a/vermouth/data/mappings/martini3IDP/glu.amber.map b/vermouth/data/mappings/martini3IDP/glu.amber.map new file mode 100644 index 000000000..12ed84fa8 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/glu.amber.map @@ -0,0 +1,55 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +GLU + +[from] +amber + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +amber27 amber36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CG SC1 + 9 HG1 !SC1 + 10 HG2 !SC1 + 11 CD SC1 + 12 OE1 SC1 + 13 OE2 SC1 + 14 HE2 !SC1 + 15 C BB + 16 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Glu +; HA CA N C CB ; D-Glu diff --git a/vermouth/data/mappings/martini3IDP/glu.charmm36.map b/vermouth/data/mappings/martini3IDP/glu.charmm36.map new file mode 100644 index 000000000..59e2d21ff --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/glu.charmm36.map @@ -0,0 +1,55 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +GLU + +[from] +charmm + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CG SC1 + 9 HG1 !SC1 + 10 HG2 !SC1 + 11 CD SC1 + 12 OE1 SC1 + 13 OE2 SC1 + 14 HE2 !SC1 + 15 C BB + 16 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Glu +; HA CA N C CB ; D-Glu diff --git a/vermouth/data/mappings/martini3IDP/glup.charmm36.map b/vermouth/data/mappings/martini3IDP/glup.charmm36.map new file mode 100644 index 000000000..ced5bd1c1 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/glup.charmm36.map @@ -0,0 +1,55 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +GLUP + +[from] +charmm + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CG SC1 + 9 HG1 !SC1 + 10 HG2 !SC1 + 11 CD SC1 + 12 OE1 SC1 + 13 OE2 SC1 + 14 HE2 !SC1 + 15 C BB + 16 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Glu +; HA CA N C CB ; D-Glu diff --git a/vermouth/data/mappings/martini3IDP/gly.amber.map b/vermouth/data/mappings/martini3IDP/gly.amber.map new file mode 100644 index 000000000..d3c0b63d7 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/gly.amber.map @@ -0,0 +1,37 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +GLY + +[from] +amber + +[to] +martini3IDP + +[ martini ] +BB + +[ mapping ] +amber27 amber36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA1 !BB + 5 HA2 !BB + 9 C BB + 10 O BB diff --git a/vermouth/data/mappings/martini3IDP/gly.charmm36.map b/vermouth/data/mappings/martini3IDP/gly.charmm36.map new file mode 100644 index 000000000..7f69176d4 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/gly.charmm36.map @@ -0,0 +1,37 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +GLY + +[from] +charmm + +[to] +martini3IDP + +[ martini ] +BB + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA1 !BB + 5 HA2 !BB + 9 C BB + 10 O BB diff --git a/vermouth/data/mappings/martini3IDP/hid.amber.map b/vermouth/data/mappings/martini3IDP/hid.amber.map new file mode 100644 index 000000000..2308105fe --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/hid.amber.map @@ -0,0 +1,47 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +HID + +[from] +amber + +[to] +martini3IDP + +[ martini ] +BB SC1 SC2 SC3 + +[ mapping ] +amber + +[ atoms ] + 1 N BB + 2 H BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CG SC2 + 9 ND1 SC2 + 10 HD1 SC1 + 11 CE1 SC2 + 12 HE1 SC2 + 13 NE2 SC3 + 14 CD2 SC3 + 15 HD2 SC3 + 16 C BB + 17 O BB diff --git a/vermouth/data/mappings/martini3IDP/hie.amber.map b/vermouth/data/mappings/martini3IDP/hie.amber.map new file mode 100644 index 000000000..be7c847a4 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/hie.amber.map @@ -0,0 +1,62 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +HIE + +[from] +amber + +[to] +martini3IDP + +[ martini ] +BB SC1 SC2 SC3 + +[ mapping ] +amber27 amber36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CD2 SC2 + 9 HD2 SC2 + 10 CG SC1 + 11 NE2 SC2 + 12 HE2 SC2 + 13 ND1 SC3 + 14 HD1 SC3 + 15 CE1 SC3 + 16 HE1 SC3 + 17 C BB + 18 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-His +; HA CA N C CB ; D-His + +[out] +HD1 ND1 CG NE2 +HD2 CD2 CE1 CG +HE2 NE2 CE1 CD2 diff --git a/vermouth/data/mappings/martini3IDP/hip.amber.map b/vermouth/data/mappings/martini3IDP/hip.amber.map new file mode 100644 index 000000000..4487dcfc2 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/hip.amber.map @@ -0,0 +1,62 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +HIP + +[from] +amber + +[to] +martini3IDP + +[ martini ] +BB SC1 SC2 SC3 + +[ mapping ] +amber27 amber36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CD2 SC2 + 9 HD2 SC2 + 10 CG SC1 + 11 NE2 SC2 + 12 HE2 SC2 + 13 ND1 SC3 + 14 HD1 SC3 + 15 CE1 SC3 + 16 HE1 SC3 + 17 C BB + 18 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-His +; HA CA N C CB ; D-His + +[out] +HD1 ND1 CG NE2 +HD2 CD2 CE1 CG +HE2 NE2 CE1 CD2 diff --git a/vermouth/data/mappings/martini3IDP/his.amber.map b/vermouth/data/mappings/martini3IDP/his.amber.map new file mode 100644 index 000000000..f51913620 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/his.amber.map @@ -0,0 +1,46 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +HIS + +[from] +amber + +[to] +martini3IDP + +[ martini ] +BB SC1 SC2 SC3 + +[ mapping ] +amber27 amber36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CD2 SC2 + 9 HD2 SC2 + 10 CG SC1 + 11 NE2 SC2 + 12 HE2 SC2 + 13 ND1 SC3 + 14 CE1 SC3 + 15 C BB + 16 O BB diff --git a/vermouth/data/mappings/martini3IDP/his.charmm36.map b/vermouth/data/mappings/martini3IDP/his.charmm36.map new file mode 100644 index 000000000..b54a8baaa --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/his.charmm36.map @@ -0,0 +1,62 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +HIS + +[from] +charmm + +[to] +martini3IDP + +[ martini ] +BB SC1 SC2 SC3 + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CD2 SC2 + 9 HD2 SC2 + 10 CG SC1 + 11 NE2 SC2 + 12 HE2 SC2 + 13 ND1 SC3 + 14 HD1 SC3 + 15 CE1 SC3 + 16 HE1 SC3 + 17 C BB + 18 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-His +; HA CA N C CB ; D-His + +[out] +HD1 ND1 CG NE2 +HD2 CD2 CE1 CG +HE2 NE2 CE1 CD2 diff --git a/vermouth/data/mappings/martini3IDP/hsd.charmm36.map b/vermouth/data/mappings/martini3IDP/hsd.charmm36.map new file mode 100644 index 000000000..9398200e7 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/hsd.charmm36.map @@ -0,0 +1,62 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +HSD + +[from] +charmm + +[to] +martini3IDP + +[ martini ] +BB SC1 SC2 SC3 + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CD2 SC2 + 9 HD2 SC2 + 10 CG SC1 + 11 NE2 SC2 + 12 HE2 SC2 + 13 ND1 SC3 + 14 HD1 SC3 + 15 CE1 SC3 + 16 HE1 SC3 + 17 C BB + 18 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-His +; HA CA N C CB ; D-His + +[out] +HD1 ND1 CG NE2 +HD2 CD2 CE1 CG +HE2 NE2 CE1 CD2 diff --git a/vermouth/data/mappings/martini3IDP/hse.charmm36.map b/vermouth/data/mappings/martini3IDP/hse.charmm36.map new file mode 100644 index 000000000..5878bbe9a --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/hse.charmm36.map @@ -0,0 +1,62 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +HSE + +[from] +charmm + +[to] +martini3IDP + +[ martini ] +BB SC1 SC2 SC3 + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CD2 SC2 + 9 HD2 SC2 + 10 CG SC1 + 11 NE2 SC2 + 12 HE2 SC2 + 13 ND1 SC3 + 14 HD1 SC3 + 15 CE1 SC3 + 16 HE1 SC3 + 17 C BB + 18 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-His +; HA CA N C CB ; D-His + +[out] +HD1 ND1 CG NE2 +HD2 CD2 CE1 CG +HE2 NE2 CE1 CD2 diff --git a/vermouth/data/mappings/martini3IDP/hsp.charmm36.map b/vermouth/data/mappings/martini3IDP/hsp.charmm36.map new file mode 100644 index 000000000..5dc821f2b --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/hsp.charmm36.map @@ -0,0 +1,62 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +HSP + +[from] +charmm + +[to] +martini3IDP + +[ martini ] +BB SC1 SC2 SC3 + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CD2 SC2 + 9 HD2 SC2 + 10 CG SC1 + 11 NE2 SC2 + 12 HE2 SC2 + 13 ND1 SC3 + 14 HD1 SC3 + 15 CE1 SC3 + 16 HE1 SC3 + 17 C BB + 18 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-His +; HA CA N C CB ; D-His + +[out] +HD1 ND1 CG NE2 +HD2 CD2 CE1 CG +HE2 NE2 CE1 CD2 diff --git a/vermouth/data/mappings/martini3IDP/ile.amber.map b/vermouth/data/mappings/martini3IDP/ile.amber.map new file mode 100644 index 000000000..e33e5452e --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/ile.amber.map @@ -0,0 +1,68 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +ILE + +[from] +amber + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +amber27 amber36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB !SC1 + 7 CG2 SC1 + 8 HG21 !SC1 + 9 HG22 !SC1 + 10 HG23 !SC1 + 11 CG1 SC1 + 12 HG11 !SC1 + 13 HG12 !SC1 + 14 CD SC1 + 15 HD1 !SC1 + 16 HD2 !SC1 + 17 HD3 !SC1 + 18 C BB + 19 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Ile +; HA CA N C CB ; D-Ile + +[ out ] +CG2 CB CG1 CA +HG21 CB CG1 CA +HG22 CB CG1 CA +HG23 CB CG1 CA + +[ chiral ] + HB CB CA CG2 CG1 ; 3S stereoisomer (natural form) +; HB CB CA CG1 CG2 ; 3R stereoisomer diff --git a/vermouth/data/mappings/martini3IDP/ile.charmm36.map b/vermouth/data/mappings/martini3IDP/ile.charmm36.map new file mode 100644 index 000000000..297908892 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/ile.charmm36.map @@ -0,0 +1,68 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +ILE + +[from] +charmm + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB !SC1 + 7 CG2 SC1 + 8 HG21 !SC1 + 9 HG22 !SC1 + 10 HG23 !SC1 + 11 CG1 SC1 + 12 HG11 !SC1 + 13 HG12 !SC1 + 14 CD SC1 + 15 HD1 !SC1 + 16 HD2 !SC1 + 17 HD3 !SC1 + 18 C BB + 19 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Ile +; HA CA N C CB ; D-Ile + +[ out ] +CG2 CB CG1 CA +HG21 CB CG1 CA +HG22 CB CG1 CA +HG23 CB CG1 CA + +[ chiral ] + HB CB CA CG2 CG1 ; 3S stereoisomer (natural form) +; HB CB CA CG1 CG2 ; 3R stereoisomer diff --git a/vermouth/data/mappings/martini3IDP/leu.amber.map b/vermouth/data/mappings/martini3IDP/leu.amber.map new file mode 100644 index 000000000..b1c102d28 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/leu.amber.map @@ -0,0 +1,64 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +LEU + +[from] +amber + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +amber27 amber36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CG SC1 + 9 HG !SC1 + 10 CD1 SC1 + 11 HD11 !SC1 + 12 HD12 !SC1 + 13 HD13 !SC1 + 14 CD2 SC1 + 15 HD21 !SC1 + 16 HD22 !SC1 + 17 HD23 !SC1 + 18 C BB + 19 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Leu +; HA CA N C CB ; D-Leu + +[ out ] +CD2 CG CD1 CB +HD21 CG CD1 CB +HD22 CG CD1 CB +HD23 CG CD1 CB diff --git a/vermouth/data/mappings/martini3IDP/leu.charmm36.map b/vermouth/data/mappings/martini3IDP/leu.charmm36.map new file mode 100644 index 000000000..8789a7235 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/leu.charmm36.map @@ -0,0 +1,64 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +LEU + +[from] +charmm + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CG SC1 + 9 HG !SC1 + 10 CD1 SC1 + 11 HD11 !SC1 + 12 HD12 !SC1 + 13 HD13 !SC1 + 14 CD2 SC1 + 15 HD21 !SC1 + 16 HD22 !SC1 + 17 HD23 !SC1 + 18 C BB + 19 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Leu +; HA CA N C CB ; D-Leu + +[ out ] +CD2 CG CD1 CB +HD21 CG CD1 CB +HD22 CG CD1 CB +HD23 CG CD1 CB diff --git a/vermouth/data/mappings/martini3IDP/lsn.charmm36.map b/vermouth/data/mappings/martini3IDP/lsn.charmm36.map new file mode 100644 index 000000000..11e4b5c4f --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/lsn.charmm36.map @@ -0,0 +1,61 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +LSN + +[from] +charmm + +[to] +martini3IDP + +[ martini ] +BB SC1 SC2 + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CG SC1 + 9 HG1 !SC1 + 10 HG2 !SC1 + 11 CD SC1 + 12 HD1 !SC1 + 13 HD2 !SC1 + 14 CE SC2 + 15 HE1 !SC2 + 16 HE2 !SC2 + 17 NZ SC2 + 18 HZ1 SC2 + 19 HZ2 SC2 + 20 HZ3 SC2 + 21 C BB + 22 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Lys +; HA CA N C CB ; D-Lys diff --git a/vermouth/data/mappings/martini3IDP/lyn.amber.map b/vermouth/data/mappings/martini3IDP/lyn.amber.map new file mode 100644 index 000000000..2ed0654a4 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/lyn.amber.map @@ -0,0 +1,61 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +LYN + +[from] +amber + +[to] +martini3IDP + +[ martini ] +BB SC1 SC2 + +[ mapping ] +amber + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CG SC1 + 9 HG1 !SC1 + 10 HG2 !SC1 + 11 CD SC1 + 12 HD1 !SC1 + 13 HD2 !SC1 + 14 CE SC2 + 15 HE1 !SC2 + 16 HE2 !SC2 + 17 NZ SC2 + 18 HZ1 SC2 + 19 HZ2 SC2 + 20 HZ3 SC2 + 21 C BB + 22 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Lys +; HA CA N C CB ; D-Lys diff --git a/vermouth/data/mappings/martini3IDP/lys.amber.map b/vermouth/data/mappings/martini3IDP/lys.amber.map new file mode 100644 index 000000000..de6e65a87 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/lys.amber.map @@ -0,0 +1,61 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +LYS + +[from] +amber + +[to] +martini3IDP + +[ martini ] +BB SC1 SC2 + +[ mapping ] +amber27 amber36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CG SC1 + 9 HG1 !SC1 + 10 HG2 !SC1 + 11 CD SC1 + 12 HD1 !SC1 + 13 HD2 !SC1 + 14 CE SC2 + 15 HE1 !SC2 + 16 HE2 !SC2 + 17 NZ SC2 + 18 HZ1 SC2 + 19 HZ2 SC2 + 20 HZ3 SC2 + 21 C BB + 22 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Lys +; HA CA N C CB ; D-Lys diff --git a/vermouth/data/mappings/martini3IDP/lys.charmm36.map b/vermouth/data/mappings/martini3IDP/lys.charmm36.map new file mode 100644 index 000000000..a3805aa1a --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/lys.charmm36.map @@ -0,0 +1,58 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +LYS + +[from] +charmm + +[to] +martini3IDP + +[ martini ] +BB SC1 SC2 + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CG SC1 + 9 HG1 !SC1 + 10 HG2 !SC1 + 11 CD SC1 + 12 HD1 !SC1 + 13 HD2 !SC1 + 14 CE SC2 + 15 HE1 !SC2 + 16 HE2 !SC2 + 17 NZ SC2 + 18 C BB + 19 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Lys +; HA CA N C CB ; D-Lys diff --git a/vermouth/data/mappings/martini3IDP/met.amber.map b/vermouth/data/mappings/martini3IDP/met.amber.map new file mode 100644 index 000000000..492abaa3b --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/met.amber.map @@ -0,0 +1,56 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +MET + +[from] +amber + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +amber27 amber36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CG SC1 + 9 HG1 !SC1 + 10 HG2 !SC1 + 11 SD SC1 + 12 CE SC1 + 13 HE1 !SC1 + 14 HE2 !SC1 + 15 HE3 !SC1 + 16 C BB + 17 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Met +; HA CA N C CB ; D-Met diff --git a/vermouth/data/mappings/martini3IDP/met.charmm36.map b/vermouth/data/mappings/martini3IDP/met.charmm36.map new file mode 100644 index 000000000..9b9befce8 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/met.charmm36.map @@ -0,0 +1,56 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +MET + +[from] +charmm + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CG SC1 + 9 HG1 !SC1 + 10 HG2 !SC1 + 11 SD SC1 + 12 CE SC1 + 13 HE1 !SC1 + 14 HE2 !SC1 + 15 HE3 !SC1 + 16 C BB + 17 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Met +; HA CA N C CB ; D-Met diff --git a/vermouth/data/mappings/martini3IDP/modifications.amber.mapping b/vermouth/data/mappings/martini3IDP/modifications.amber.mapping new file mode 100644 index 000000000..ee98da043 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/modifications.amber.mapping @@ -0,0 +1,506 @@ +[ modification ] +[ from ] +amber +[ to ] +martini3IDP + +[ from blocks ] +C-ter +[ to blocks ] +C-ter + +[ from nodes ] +N +HN + +[ from edges ] +HN N +N CA + +[ mapping ] +CA BB +C BB +O BB +OXT BB + + +[modification] +[ from ] +amber +[ to ] +martini3IDP +[ from blocks ] +N-ter +[ to blocks ] +N-ter + +[ from nodes ] +C +O + +[ from edges ] +C O +CA C + +[ mapping ] +HN2 BB +HN3 BB +N BB +CA BB +C BB +O BB + +[ modification ] +[ from ] +amber +[ to ] +martini3IDP + +[ from blocks ] +COOH-ter +[ to blocks ] +COOH-ter + +[ from nodes ] +N +HN + +[ from edges ] +HN N +N CA + +[ mapping ] +HN BB +N BB +CA BB +C BB +O BB +HO BB +OXT BB + + +[modification] +[ from ] +amber +[ to ] +martini3IDP +[ from blocks ] +NH2-ter +[ to blocks ] +NH2-ter + +[ from nodes ] +C +O + +[ from edges ] +C O +CA C + +[ mapping ] +HN2 BB +N BB +CA BB +C BB +O BB + + +[modification] +[ from ] +amber +[ to ] +martini3IDP +[ from blocks ] +HIS-HP +[ to blocks ] +HIS-HP + +[ from nodes ] +N +CA +HA +CB +HB1 +HB2 +CG +CD2 +HD2 +HE1 +C +O +H +[ from edges ] + N H + N CA + CA HA + CA CB + CA C + CB HB2 + CB HB1 + CB CG + CG ND1 + CG CD2 + CE1 HE1 + NE2 CD2 + CD2 HD2 + C O +[ mapping ] +HD1 SC3 +N BB +H BB +CA BB +CB SC1 + CG SC1 + NE2 SC2 + HE2 SC2 + CD2 SC2 + HD2 SC2 + ND1 SC3 + CE1 SC3 + HE1 SC3 + C BB + O BB + + +[modification] +[ from ] +amber +[ to ] +martini3IDP +[ from blocks ] +HIS-HE +[ to blocks ] +HIS-HE + +[ from nodes ] +N +CA +HA +CB +HB1 +HB2 +CG +CD2 +HD2 +C +O +H +HE1 +[ from edges ] + N H + N CA + CA HA + CA CB + CA C + CB HB2 + CB HB1 + CB CG + CG ND1 + CG CD2 + CE1 HE1 + NE2 CD2 + CD2 HD2 + C O +[ mapping ] +N BB +H BB +CA BB +CB SC1 + CG SC1 + NE2 SC2 + HE2 SC2 + CD2 SC2 + HD2 SC2 + ND1 SC3 + CE1 SC3 + HE1 SC3 + C BB + O BB + + +[modification] +[ from ] +amber +[ to ] +martini3IDP +[ from blocks ] +HIS-HD +[ to blocks ] +HIS-HD + +[ from nodes ] +N +CA +HA +CB +HB1 +HB2 +CG +CD2 +HD2 +C +O +H +HE1 +[ from edges ] + N H + N CA + CA HA + CA CB + CA C + CB HB2 + CB HB1 + CB CG + CG ND1 + CG CD2 + CE1 HE1 + NE2 CD2 + CD2 HD2 + C O +[ mapping ] +HD1 SC3 +N BB +H BB +CA BB +CB SC1 + CG SC1 + NE2 SC2 + CD2 SC2 + HD2 SC2 + ND1 SC3 + CE1 SC3 + HE1 SC3 + C BB + O BB + + +[ modification ] +[ from ] +amber +[ to ] +martini3IDP +[ from blocks ] +GLU-HE1 +[ to blocks ] +GLU-HE1 + +[ from nodes ] +CD +OE2 +CB +CG +HD1 +HD2 +HG1 +HG2 +[ from edges ] +CB CG +CG CD +CD OE1 +CD OE2 +CG HG1 +CG HG2 +CD HD1 +CD HD2 + +[ mapping ] +CD SC1 +OE1 SC1 +OE2 SC1 +HE1 SC1 +CB SC1 +CG SC1 + +[ modification ] +[ from ] +amber +[ to ] +martini3IDP +[ from blocks ] +GLU-HE2 +[ to blocks ] +GLU-HE2 + +[ from nodes ] +CD +OE1 +CB +CG +HD1 +HD2 +HG1 +HG2 +[ from edges ] +CB CG +CG CD +CD OE1 +CD OE2 +CG HG1 +CG HG2 +CD HD1 +CD HD2 + +[ mapping ] +CD SC1 +OE1 SC1 +OE2 SC1 +HE2 SC1 +CB SC1 +CG SC1 + +[ modification ] +[ from ] +amber +[ to ] +martini3IDP +[ from blocks ] +GLU-HE1 +[ to blocks ] +GLU-HE1 + +[ from nodes ] +CD +OE2 +CB +CG +HD1 +HD2 +HG1 +HG2 +[ from edges ] +CB CG +CG CD +CD OE1 +CD OE2 +CG HG1 +CG HG2 +CD HD1 +CD HD2 + +[ mapping ] +CD SC1 +OE1 SC1 +OE2 SC1 +HE1 SC1 +CB SC1 +CG SC1 + +[ modification ] +[ from ] +amber +[ to ] +martini3IDP +[ from blocks ] +GLU-HE2 +[ to blocks ] +GLU-HE2 + +[ from nodes ] +CD +OE1 +CB +CG +HD1 +HD2 +HG1 +HG2 +[ from edges ] +CB CG +CG CD +CD OE1 +CD OE2 +CG HG1 +CG HG2 +CD HD1 +CD HD2 + +[ mapping ] +CD SC1 +OE1 SC1 +OE2 SC1 +HE2 SC1 +CB SC1 +CG SC1 + +[ modification ] +[ from ] +amber +[ to ] +martini3IDP +[ from blocks ] +ASP-HD1 +[ to blocks ] +ASP-HD1 +[ from nodes ] + CB + HB1 + HB2 + CG + OD2 +[ from edges ] +CG CB +CB HB1 +CB HB2 +CG OD1 +CG OD2 +[ mapping ] +CG SC1 +OD1 SC1 +OD2 SC1 +HD1 SC1 +CB SC1 +CG SC1 + +[ modification ] +[ from ] +amber +[ to ] +martini3IDP +[ from blocks ] +ASP-HD2 +[ to blocks ] +ASP-HD2 +[ from nodes ] + CB + HB1 + HB2 + CG + OD1 +[ from edges ] +CG CB +CB HB1 +CB HB2 +CG OD1 +CG OD2 +[ mapping ] +CG SC1 +OD1 SC1 +OD2 SC1 +HD2 SC1 +CB SC1 +CG SC1 + +[ modification ] +[ from ] +amber +[ to ] +martini3IDP +[ from blocks ] +LYS-LSN +[ to blocks ] +LYS-LSN +[ from nodes ] +CE +HE1 +HE2 +[ from edges ] +CE HE1 +CE HE2 +CE NZ +[ mapping ] +CE SC2 +HE1 SC2 +HE2 SC2 +NZ SC2 +HZ1 SC2 +HZ2 SC2 diff --git a/vermouth/data/mappings/martini3IDP/modifications.charmm36.mapping b/vermouth/data/mappings/martini3IDP/modifications.charmm36.mapping new file mode 100644 index 000000000..dc0f99d30 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/modifications.charmm36.mapping @@ -0,0 +1,511 @@ +[ modification ] +[ from ] +charmm +[ to ] +martini3IDP + +[ from blocks ] +C-ter +[ to blocks ] +C-ter + +[ from nodes ] +N + +[ from edges ] +N CA + +[ mapping ] +CA BB +C BB +O BB +OXT BB + + +[modification] +[ from ] +charmm +[ to ] +martini3IDP +[ from blocks ] +N-ter +[ to blocks ] +N-ter + +[ from nodes ] +C +O + +[ from edges ] +C O +CA C + +[ mapping ] +HN2 BB +HN3 BB +N BB +CA BB +C BB +O BB + +[ modification ] +[ from ] +charmm +[ to ] +martini3IDP + +[ from blocks ] +COOH-ter +[ to blocks ] +COOH-ter + +[ from nodes ] +N + +[ from edges ] +N CA + +[ mapping ] +N BB +CA BB +C BB +O BB +HO BB +OXT BB + + +[modification] +[ from ] +charmm +[ to ] +martini3IDP +[ from blocks ] +NH2-ter +[ to blocks ] +NH2-ter + +[ from nodes ] +C +O + +[ from edges ] +C O +CA C + +[ mapping ] +HN2 BB +N BB +CA BB +C BB +O BB + + +[modification] +[ from ] +charmm +[ to ] +martini3IDP +[ from blocks ] +CCAP-ter +[ to blocks ] +CCAP-ter +[ from nodes ] +N +HN +CA +[ from edges ] +HN N +N CA +CA C +[ mapping ] +HN BB +N BB +CA BB +C BB +O BB +OC BB +CC1 BB +HCC1 BB +HCC2 BB +HCC3 BB + + +[modification] +[ from ] +charmm +[ to ] +martini3IDP +[ from blocks ] +NCAP-ter +[ to blocks ] +NCAP-ter +[ from nodes ] +C +O +CA +HN +[ from edges ] +C O +CA C +CA N +HN N +[ mapping ] +O BB +C BB +CA BB +N BB +HN BB +CC1 BB +HCC1 BB +HCC2 BB +HCC3 BB + +[ modification ] +[ from ] +charmm +[ to ] +martini3IDP +[ from blocks ] +GLU-HE1 +[ to blocks ] +GLU-HE1 + +[ from nodes ] +CD +OE2 +CB +CG +HD1 +HD2 +HG1 +HG2 +[ from edges ] +CB CG +CG CD +CD OE1 +CD OE2 +CG HG1 +CG HG2 +CD HD1 +CD HD2 + +[ mapping ] +CD SC1 +OE1 SC1 +OE2 SC1 +HE1 SC1 +CB SC1 +CG SC1 + +[ modification ] +[ from ] +charmm +[ to ] +martini3IDP +[ from blocks ] +GLU-HE2 +[ to blocks ] +GLU-HE2 + +[ from nodes ] +CD +OE1 +CB +CG +HD1 +HD2 +HG1 +HG2 +[ from edges ] +CB CG +CG CD +CD OE1 +CD OE2 +CG HG1 +CG HG2 +CD HD1 +CD HD2 + +[ mapping ] +CD SC1 +OE1 SC1 +OE2 SC1 +HE2 SC1 +CB SC1 +CG SC1 + +[ modification ] +[ from ] +charmm +[ to ] +martini3IDP +[ from blocks ] +ASP-HD1 +[ to blocks ] +ASP-HD1 +[ from nodes ] + CB + HB1 + HB2 + CG + OD2 +[ from edges ] +CG CB +CB HB1 +CB HB2 +CG OD1 +CG OD2 +[ mapping ] +CG SC1 +OD1 SC1 +OD2 SC1 +HD1 SC1 +CB SC1 +CG SC1 + +[ modification ] +[ from ] +charmm +[ to ] +martini3IDP +[ from blocks ] +ASP-HD2 +[ to blocks ] +ASP-HD2 +[ from nodes ] + CB + HB1 + HB2 + CG + OD1 +[ from edges ] +CG CB +CB HB1 +CB HB2 +CG OD1 +CG OD2 +[ mapping ] +CG SC1 +OD1 SC1 +OD2 SC1 +HD2 SC1 +CB SC1 +CG SC1 + + +[ modification ] +[ from ] +charmm +[ to ] +martini3IDP +[ from blocks ] +LYS-LSN +[ to blocks ] +LYS-LSN +[ from nodes ] +CE +HE1 +HE2 +[ from edges ] +CE NZ +CE HE1 +CE HE2 +[ mapping ] +CE SC2 +HE1 SC2 +HE2 SC2 +NZ SC2 +HZ1 SC2 +HZ2 SC2 + +[ modification ] +[ from ] +charmm +[ to ] +martini3IDP +[ from blocks ] +LYS-HZ3 +[ to blocks ] +LYS-HZ3 +[ from nodes ] +CE +HE1 +HE2 +[ from edges ] +CE NZ +CE HE1 +CE HE2 +[ mapping ] +CE SC2 +HE1 SC2 +HE2 SC2 +NZ SC2 +HZ1 SC2 +HZ2 SC2 +HZ3 SC2 + +[modification] +[ from ] +charmm +[ to ] +martini3IDP +[ from blocks ] +HIS-HP +[ to blocks ] +HIS-HP + +[ from nodes ] +N +CA +HA +CB +HB1 +HB2 +CG +CD2 +HD2 +HE1 +C +O +H +[ from edges ] + N H + N CA + CA HA + CA CB + CA C + CB HB2 + CB HB1 + CB CG + CG ND1 + CG CD2 + CE1 HE1 + NE2 CD2 + CD2 HD2 + C O +[ mapping ] +HD1 SC3 +N BB +H BB +CA BB +CB SC1 + CG SC1 + NE2 SC2 + HE2 SC2 + CD2 SC2 + HD2 SC2 + ND1 SC3 + CE1 SC3 + HE1 SC3 + C BB + +[modification] +[ from ] +charmm +[ to ] +martini3IDP +[ from blocks ] +HIS-HD +[ to blocks ] +HIS-HD + +[ from nodes ] +N +CA +HA +CB +HB1 +HB2 +CG +CD2 +HD2 +C +O +H +HE1 +[ from edges ] + N H + N CA + CA HA + CA CB + CA C + CB HB2 + CB HB1 + CB CG + CG ND1 + CG CD2 + CE1 HE1 + NE2 CD2 + CD2 HD2 + C O +[ mapping ] +HD1 SC3 +N BB +H BB +CA BB +CB SC1 + CG SC1 + NE2 SC2 + CD2 SC2 + HD2 SC2 + ND1 SC3 + CE1 SC3 + HE1 SC3 + C BB + O BB + +[modification] +[ from ] +charmm +[ to ] +martini3IDP +[ from blocks ] +HIS-HE +[ to blocks ] +HIS-HE + +[ from nodes ] +N +CA +HA +CB +HB1 +HB2 +CG +CD2 +HD2 +C +O +H +HE1 +[ from edges ] + N H + N CA + CA HA + CA CB + CA C + CB HB2 + CB HB1 + CB CG + CG ND1 + CG CD2 + CE1 HE1 + NE2 CD2 + CD2 HD2 + C O +[ mapping ] +N BB +H BB +CA BB +CB SC1 + CG SC1 + NE2 SC2 + HE2 SC2 + CD2 SC2 + HD2 SC2 + ND1 SC3 + CE1 SC3 + HE1 SC3 + C BB + O BB + diff --git a/vermouth/data/mappings/martini3IDP/phe.amber.map b/vermouth/data/mappings/martini3IDP/phe.amber.map new file mode 100644 index 000000000..3a7e972ed --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/phe.amber.map @@ -0,0 +1,80 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +PHE + +[from] +amber + +[to] +martini3IDP + +[ martini ] +BB SC1 SC2 SC3 + +[ mapping ] +amber27 amber36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 SC1 + 7 HB2 SC1 + 8 CG SC1 + 9 CD1 SC1 SC2 SC2 + 10 HD1 SC1 SC2 SC2 + 11 CE1 SC2 + 12 HE1 SC2 + 13 CZ SC3 SC2 + 14 HZ SC3 SC2 + 15 CD2 SC3 SC3 SC1 + 16 HD2 SC3 SC3 SC1 + 17 CE2 SC3 + 18 HE2 SC3 + 19 C BB + 20 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Phe +; HA CA N C CB ; D-Phe + + +[ out ] +; Add some helper points +P CD1 CD2 CZ +Q CD2 CD1 CZ +R CZ CD1 CD2 + +[ trans ] +; Place hydrogens using helper points +HD1 P CE1 R +HD2 Q CE2 R +HE1 CE1 P CG +HE2 CE2 Q CG +HZ R CE1 P + +[ out ] +; Place ring carbons +CD1 CE1 HE1 R +CD2 CE2 HE2 R +CZ CE1 HE1 P diff --git a/vermouth/data/mappings/martini3IDP/phe.charmm36.map b/vermouth/data/mappings/martini3IDP/phe.charmm36.map new file mode 100644 index 000000000..3d2d7b3ec --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/phe.charmm36.map @@ -0,0 +1,80 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +PHE + +[from] +charmm + +[to] +martini3IDP + +[ martini ] +BB SC1 SC2 SC3 + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 SC1 + 7 HB2 SC1 + 8 CG SC1 + 9 CD1 SC1 SC2 SC2 + 10 HD1 SC1 SC2 SC2 + 11 CE1 SC2 + 12 HE1 SC2 + 13 CZ SC3 SC2 + 14 HZ SC3 SC2 + 15 CD2 SC3 SC3 SC1 + 16 HD2 SC3 SC3 SC1 + 17 CE2 SC3 + 18 HE2 SC3 + 19 C BB + 20 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Phe +; HA CA N C CB ; D-Phe + + +[ out ] +; Add some helper points +P CD1 CD2 CZ +Q CD2 CD1 CZ +R CZ CD1 CD2 + +[ trans ] +; Place hydrogens using helper points +HD1 P CE1 R +HD2 Q CE2 R +HE1 CE1 P CG +HE2 CE2 Q CG +HZ R CE1 P + +[ out ] +; Place ring carbons +CD1 CE1 HE1 R +CD2 CE2 HE2 R +CZ CE1 HE1 P diff --git a/vermouth/data/mappings/martini3IDP/pro.amber.map b/vermouth/data/mappings/martini3IDP/pro.amber.map new file mode 100644 index 000000000..4dfc78a9e --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/pro.amber.map @@ -0,0 +1,53 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +PRO + +[from] +amber + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +amber27 amber36 + +[ atoms ] + 1 N BB + 2 CD SC1 + 3 HD1 !SC1 + 4 HD2 !SC1 + 5 CA BB + 6 HA !BB + 7 CB SC1 + 8 HB1 !SC1 + 9 HB2 !SC1 + 10 CG SC1 + 11 HG1 !SC1 + 12 HG2 !SC1 + 13 C BB + 14 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Pro +; HA CA N C CB ; D-Pro diff --git a/vermouth/data/mappings/martini3IDP/pro.charmm36.map b/vermouth/data/mappings/martini3IDP/pro.charmm36.map new file mode 100644 index 000000000..cf275cf59 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/pro.charmm36.map @@ -0,0 +1,53 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +PRO + +[from] +charmm + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 CD SC1 + 3 HD1 !SC1 + 4 HD2 !SC1 + 5 CA BB + 6 HA !BB + 7 CB SC1 + 8 HB1 !SC1 + 9 HB2 !SC1 + 10 CG SC1 + 11 HG1 !SC1 + 12 HG2 !SC1 + 13 C BB + 14 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Pro +; HA CA N C CB ; D-Pro diff --git a/vermouth/data/mappings/martini3IDP/ser.amber.map b/vermouth/data/mappings/martini3IDP/ser.amber.map new file mode 100644 index 000000000..ae88f75b8 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/ser.amber.map @@ -0,0 +1,50 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +SER + +[from] +amber + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +amber27 amber36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 OG SC1 + 9 HG1 SC1 + 10 C BB + 11 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Ser +; HA CA N C CB ; D-Ser diff --git a/vermouth/data/mappings/martini3IDP/ser.charmm36.map b/vermouth/data/mappings/martini3IDP/ser.charmm36.map new file mode 100644 index 000000000..06f223c1f --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/ser.charmm36.map @@ -0,0 +1,50 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +SER + +[from] +charmm + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 OG SC1 + 9 HG1 SC1 + 10 C BB + 11 O BB + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Ser +; HA CA N C CB ; D-Ser diff --git a/vermouth/data/mappings/martini3IDP/sp2.charmm36.map b/vermouth/data/mappings/martini3IDP/sp2.charmm36.map new file mode 100644 index 000000000..a60da0a56 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/sp2.charmm36.map @@ -0,0 +1,55 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +SP2 + +[from] +charmm + +[to] +martini3IDP + +[ martini ] +BB SC1 SC2 + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 OG SC1 + 9 P SC2 + 10 O1P SC2 + 11 O2P SC2 + 12 OT SC2 + 13 C BB + 14 O BB + + + +[ chiral ] + CB CA N C + HB1 CA N C + HB2 CA N C + +[ chiral ] + HA CA N CB C ; L-Ser +; HA CA N C CB ; D-Ser diff --git a/vermouth/data/mappings/martini3IDP/thr.amber.map b/vermouth/data/mappings/martini3IDP/thr.amber.map new file mode 100644 index 000000000..d32d544b9 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/thr.amber.map @@ -0,0 +1,61 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +THR + +[from] +amber + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +amber27 amber36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB !SC1 + 7 OG1 SC1 + 8 HG1 SC1 + 9 CG2 SC1 + 10 HG21 !SC1 + 11 HG22 !SC1 + 11 HG23 !SC1 + 13 C BB + 14 O BB + +[ chiral ] + CB CA N C + HB CA N C + +[ chiral ] + HA CA N CB C ; L-Thr +; HA CA N C CB ; D-Thr + +[ out ] +OG1 CB CG2 CA +[ trans ] +HG1 OG1 CB CA + +[ chiral ] + HB CB CG2 OG1 CA ; 3R stereoisomer (natural form) +; HB CB CG2 CA CG1 ; 3S stereoisomer diff --git a/vermouth/data/mappings/martini3IDP/thr.charmm36.map b/vermouth/data/mappings/martini3IDP/thr.charmm36.map new file mode 100644 index 000000000..4e7e03a8a --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/thr.charmm36.map @@ -0,0 +1,61 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +THR + +[from] +charmm + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB !SC1 + 7 OG1 SC1 + 8 HG1 SC1 + 9 CG2 SC1 + 10 HG21 !SC1 + 11 HG22 !SC1 + 11 HG23 !SC1 + 13 C BB + 14 O BB + +[ chiral ] + CB CA N C + HB CA N C + +[ chiral ] + HA CA N CB C ; L-Thr +; HA CA N C CB ; D-Thr + +[ out ] +OG1 CB CG2 CA +[ trans ] +HG1 OG1 CB CA + +[ chiral ] + HB CB CG2 OG1 CA ; 3R stereoisomer (natural form) +; HB CB CG2 CA CG1 ; 3S stereoisomer diff --git a/vermouth/data/mappings/martini3IDP/trp.amber.map b/vermouth/data/mappings/martini3IDP/trp.amber.map new file mode 100644 index 000000000..0e7443197 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/trp.amber.map @@ -0,0 +1,51 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +TRP + +[from] +amber + +[to] +martini3IDP + +[ mapping ] +amber27 amber36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC2 + 8 CG SC1 + 9 CD1 SC2 + 10 HD1 SC2 + 11 NE1 SC2 + 12 HE1 SC2 + 13 CE2 SC3 + 14 CD2 SC3 + 15 CE3 SC4 + 16 HE3 SC4 + 17 CZ3 SC4 + 18 HZ3 SC4 + 19 CZ2 SC5 + 20 HZ2 SC5 + 21 CH2 SC5 + 22 HH2 SC5 + 23 C BB + 24 O BB diff --git a/vermouth/data/mappings/martini3IDP/trp.charmm36.map b/vermouth/data/mappings/martini3IDP/trp.charmm36.map new file mode 100644 index 000000000..042a38ae7 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/trp.charmm36.map @@ -0,0 +1,51 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +TRP + +[from] +charmm + +[to] +martini3IDP + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC2 + 8 CG SC1 + 9 CD1 SC2 + 10 HD1 SC2 + 11 NE1 SC2 + 12 HE1 SC2 + 13 CE2 SC3 + 14 CD2 SC3 + 15 CE3 SC4 + 16 HE3 SC4 + 17 CZ3 SC4 + 18 HZ3 SC4 + 19 CZ2 SC5 + 20 HZ2 SC5 + 21 CH2 SC5 + 22 HH2 SC5 + 23 C BB + 24 O BB diff --git a/vermouth/data/mappings/martini3IDP/tyr.amber.map b/vermouth/data/mappings/martini3IDP/tyr.amber.map new file mode 100644 index 000000000..c3b53abc1 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/tyr.amber.map @@ -0,0 +1,48 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +TYR + +[from] +amber + +[to] +martini3IDP + +[ mapping ] +amber27 amber36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CG SC1 + 9 CD1 SC2 + 10 HD1 SC2 + 11 CE1 SC2 + 12 HE1 SC2 + 13 CZ SC4 + 14 OH SC4 + 15 HH SC4 + 16 CD2 SC3 + 17 HD2 SC3 + 18 CE2 SC3 + 19 HE2 SC3 + 20 C BB + 21 O BB diff --git a/vermouth/data/mappings/martini3IDP/tyr.charmm36.map b/vermouth/data/mappings/martini3IDP/tyr.charmm36.map new file mode 100644 index 000000000..07852390b --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/tyr.charmm36.map @@ -0,0 +1,48 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +TYR + +[from] +charmm + +[to] +martini3IDP + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB1 !SC1 + 7 HB2 !SC1 + 8 CG SC1 + 9 CD1 SC2 + 10 HD1 SC2 + 11 CE1 SC2 + 12 HE1 SC2 + 13 CZ SC4 + 14 OH SC4 + 15 HH SC4 + 16 CD2 SC3 + 17 HD2 SC3 + 18 CE2 SC3 + 19 HE2 SC3 + 20 C BB + 21 O BB diff --git a/vermouth/data/mappings/martini3IDP/val.amber.map b/vermouth/data/mappings/martini3IDP/val.amber.map new file mode 100644 index 000000000..0356cdd45 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/val.amber.map @@ -0,0 +1,60 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +VAL + +[from] +amber + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +amber27 amber36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB !SC1 + 8 CG1 SC1 + 9 HG11 !SC1 + 10 HG12 !SC1 + 11 HG13 !SC1 + 12 CG2 SC1 + 13 HG21 !SC1 + 14 HG22 !SC1 + 15 HG23 !SC1 + 16 C BB + 17 O BB + +[ chiral ] + CB CA N C + HB CA N C + +[ chiral ] + HA CA N CB C ; L-Val +; HA CA N C CB ; D-Val + +[ out ] + CG2 CB CG1 CA + HG21 CB CG1 CA + HG22 CB CG1 CA + HG23 CB CG1 CA diff --git a/vermouth/data/mappings/martini3IDP/val.charmm36.map b/vermouth/data/mappings/martini3IDP/val.charmm36.map new file mode 100644 index 000000000..966dd8892 --- /dev/null +++ b/vermouth/data/mappings/martini3IDP/val.charmm36.map @@ -0,0 +1,60 @@ +; Copyright 2018 University of Groningen +; +; Licensed under the Apache License, Version 2.0 (the "License"); +; you may not use this file except in compliance with the License. +; You may obtain a copy of the License at +; +; http://www.apache.org/licenses/LICENSE-2.0 +; +; Unless required by applicable law or agreed to in writing, software +; distributed under the License is distributed on an "AS IS" BASIS, +; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +; See the License for the specific language governing permissions and +; limitations under the License. + +[ molecule ] +VAL + +[from] +charmm + +[to] +martini3IDP + +[ martini ] +BB SC1 + +[ mapping ] +charmm27 charmm36 + +[ atoms ] + 1 N BB + 2 HN BB + 3 CA BB + 4 HA !BB + 5 CB SC1 + 6 HB !SC1 + 8 CG1 SC1 + 9 HG11 !SC1 + 10 HG12 !SC1 + 11 HG13 !SC1 + 12 CG2 SC1 + 13 HG21 !SC1 + 14 HG22 !SC1 + 15 HG23 !SC1 + 16 C BB + 17 O BB + +[ chiral ] + CB CA N C + HB CA N C + +[ chiral ] + HA CA N CB C ; L-Val +; HA CA N C CB ; D-Val + +[ out ] + CG2 CB CG1 CA + HG21 CB CG1 CA + HG22 CB CG1 CA + HG23 CB CG1 CA From 92d21f68b221f2699517bae73dc7256d02998e03 Mon Sep 17 00:00:00 2001 From: csbrasnett Date: Thu, 9 Jan 2025 10:43:35 +0100 Subject: [PATCH 06/15] change .gitignore back --- .gitignore | 7 ------- 1 file changed, 7 deletions(-) diff --git a/.gitignore b/.gitignore index c69932d0b..25761930a 100644 --- a/.gitignore +++ b/.gitignore @@ -20,10 +20,3 @@ doc/source/api doc/source/.doctrees .idea/ - -/vermouth/tests/.temp/ -/vermouth/processors/rebuild_sidechains.py -/vermouth/tests/data/integration_tests/tier-1/EN_ext/README -/vermouth/data/mappings/martini3001/sp2.charmm36.map -/vermouth/data/mappings/martini3001/temp.txt -build/* \ No newline at end of file From f4f61ea4a6804fd8e549f08ed18ee4feeb4bef30 Mon Sep 17 00:00:00 2001 From: csbrasnett Date: Thu, 9 Jan 2025 11:19:35 +0100 Subject: [PATCH 07/15] add test to make sure secondary structure gets changed in disordered regions --- vermouth/tests/test_annotate_idrs.py | 36 ++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/vermouth/tests/test_annotate_idrs.py b/vermouth/tests/test_annotate_idrs.py index e7915023c..3894aad7f 100644 --- a/vermouth/tests/test_annotate_idrs.py +++ b/vermouth/tests/test_annotate_idrs.py @@ -58,3 +58,39 @@ def test_make_disorder_string(test_molecule, else: result.append(False) assert result == expected + +@pytest.mark.parametrize('idr_regions, expected',( + ([(1, 4)], + {0: "C", 1: "C", 2: "C", + 3: "C", 4: "C", + 5: "C", + 6: "C", 7: "C", 8: "C"}), + ([(1, 2)], + {0: "C", 1: "C", 2: "C", + 3: "C", 4: "C", + 5: "H", + 6: "H", 7: "H", 8: "H"}), + +)) +def test_ss_reassign(test_molecule, idr_regions, expected): + secstruc = {1: "H", 2: "H", 3: "H", 4: "H"} # i.e. all ss is H to begin + resnames = {0: "A", 1: "A", 2: "A", + 3: "B", 4: "B", + 5: "C", + 6: "D", 7: "D", 8: "D"} + atypes = {0: "P1", 1: "SN4a", 2: "SN4a", + 3: "SP1", 4: "C1", + 5: "TP1", + 6: "P1", 7: "SN3a", 8: "SP4"} + + system = create_sys_all_attrs(test_molecule, + moltype="molecule_0", + secstruc=secstruc, + defaults={"chain": "A"}, + attrs={"resname": resnames, + "atype": atypes}) + + AnnotateIDRs(id_regions=idr_regions).run_system(system) + + for key, node in system.molecules[0].nodes.items(): + assert system.molecules[0].nodes[key]["cgsecstruct"] == expected[key] From b5a4b6de96f815636a04f5c256b668297a77164f Mon Sep 17 00:00:00 2001 From: Chris Brasnett <35073246+csbrasnett@users.noreply.github.com> Date: Tue, 28 Jan 2025 11:41:06 +0100 Subject: [PATCH 08/15] made requested changes --- bin/martinize2 | 7 +------ vermouth/processors/annotate_idrs.py | 1 + 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/bin/martinize2 b/bin/martinize2 index 7a7f10c3d..101c9a81c 100755 --- a/bin/martinize2 +++ b/bin/martinize2 @@ -78,10 +78,6 @@ LOGGER = StyleAdapter(LOGGER) VERSION = "martinize with vermouth {}".format(vermouth.__version__) -SS_CG = {'1': 'H', '2': 'H', '3': 'H', 'H': 'H', 'G': 'H', 'I': 'H', - 'B': 'E', 'E': 'E', 'T': 'T', 'S': 'S', 'C': 'C'} - - def read_system(path, ignore_resnames=(), ignh=None, modelidx=None): """ Read a system from a PDB or GRO file. @@ -1007,8 +1003,7 @@ def entry(): ss_sequence = list( itertools.chain( *( - SS_CG[i] - for i in dssp.sequence_from_residues(molecule, "cgsecstruct") + dssp.convert_dssp_to_martini(dssp.sequence_from_residues(molecule, "cgsecstruct")) for molecule in system.molecules if selectors.is_protein(molecule) if i is not None ) diff --git a/vermouth/processors/annotate_idrs.py b/vermouth/processors/annotate_idrs.py index 760a5198f..b745b17e2 100644 --- a/vermouth/processors/annotate_idrs.py +++ b/vermouth/processors/annotate_idrs.py @@ -41,6 +41,7 @@ def annotate_disorder(molecule, id_regions, annotation="cgidr"): molecule.nodes[key][annotation] = True if "cgsecstruct" in molecule.nodes[key]: molecule.nodes[key]["cgsecstruct"] = "C" + molecule.nodes[key][annotation] = True # ??? else: molecule.nodes[key][annotation] = False From e5ef2c0a539b84b1eb2a6967b7176202dba99097 Mon Sep 17 00:00:00 2001 From: csbrasnett Date: Wed, 29 Jan 2025 10:03:48 +0100 Subject: [PATCH 09/15] corrected condition in martinize2 to generate ss_sequence string --- bin/martinize2 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bin/martinize2 b/bin/martinize2 index 101c9a81c..4c517846e 100755 --- a/bin/martinize2 +++ b/bin/martinize2 @@ -1005,7 +1005,8 @@ def entry(): *( dssp.convert_dssp_to_martini(dssp.sequence_from_residues(molecule, "cgsecstruct")) for molecule in system.molecules - if selectors.is_protein(molecule) if i is not None + if ((selectors.is_protein(molecule)) and + (any([i for i in dssp.sequence_from_residues(molecule, "cgsecstruct")]))) ) ) ) From cddf4eb46e6a6c24d08a15ff57db4f714a56dae9 Mon Sep 17 00:00:00 2001 From: csbrasnett Date: Wed, 29 Jan 2025 10:41:47 +0100 Subject: [PATCH 10/15] correct test --- vermouth/tests/test_annotate_idrs.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/vermouth/tests/test_annotate_idrs.py b/vermouth/tests/test_annotate_idrs.py index 3894aad7f..f76d3cf85 100644 --- a/vermouth/tests/test_annotate_idrs.py +++ b/vermouth/tests/test_annotate_idrs.py @@ -73,7 +73,7 @@ def test_make_disorder_string(test_molecule, )) def test_ss_reassign(test_molecule, idr_regions, expected): - secstruc = {1: "H", 2: "H", 3: "H", 4: "H"} # i.e. all ss is H to begin + secstruc = {1: "H", 2: "H", 3: "H", 4: "H"} resnames = {0: "A", 1: "A", 2: "A", 3: "B", 4: "B", 5: "C", @@ -82,13 +82,18 @@ def test_ss_reassign(test_molecule, idr_regions, expected): 3: "SP1", 4: "C1", 5: "TP1", 6: "P1", 7: "SN3a", 8: "SP4"} + cgsectruc = {0: "H", 1: "H", 2: "H", + 3: "H", 4: "H", + 5: "H", + 6: "H", 7: "H", 8: "H"} # i.e. all ss is H to begin system = create_sys_all_attrs(test_molecule, moltype="molecule_0", secstruc=secstruc, defaults={"chain": "A"}, attrs={"resname": resnames, - "atype": atypes}) + "atype": atypes, + "cgsecstruct": cgsectruc}) AnnotateIDRs(id_regions=idr_regions).run_system(system) From c5df2ee0bfb6e8a8ff386b2bb9e1f424ec184544 Mon Sep 17 00:00:00 2001 From: csbrasnett Date: Wed, 29 Jan 2025 11:16:11 +0100 Subject: [PATCH 11/15] add test case if idr regions but no secstruct. - need to modify create_sys_all_attrs so cgsecstruct not always written - remove duplicate annotation in annotate_idrs.py --- vermouth/processors/annotate_idrs.py | 1 - vermouth/tests/helper_functions.py | 5 +++-- vermouth/tests/test_annotate_idrs.py | 22 +++++++++++++--------- 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/vermouth/processors/annotate_idrs.py b/vermouth/processors/annotate_idrs.py index b745b17e2..760a5198f 100644 --- a/vermouth/processors/annotate_idrs.py +++ b/vermouth/processors/annotate_idrs.py @@ -41,7 +41,6 @@ def annotate_disorder(molecule, id_regions, annotation="cgidr"): molecule.nodes[key][annotation] = True if "cgsecstruct" in molecule.nodes[key]: molecule.nodes[key]["cgsecstruct"] = "C" - molecule.nodes[key][annotation] = True # ??? else: molecule.nodes[key][annotation] = False diff --git a/vermouth/tests/helper_functions.py b/vermouth/tests/helper_functions.py index 12a7ca5a7..7eb4b56be 100644 --- a/vermouth/tests/helper_functions.py +++ b/vermouth/tests/helper_functions.py @@ -85,7 +85,7 @@ def find_in_path(names=('martinize2', 'martinize2.py')): if os.path.isfile(fullpath): return fullpath -def create_sys_all_attrs(molecule, moltype, secstruc, defaults, attrs): +def create_sys_all_attrs(molecule, moltype, secstruc, defaults, attrs, write_secstruct=True): """ Generate a test system from a molecule with all attributes set and blocks in @@ -138,7 +138,8 @@ def create_sys_all_attrs(molecule, moltype, secstruc, defaults, attrs): resid = res_graph.nodes[node]['resid'] # assign secondary structure for mol_node in mol_nodes: - molecule.nodes[mol_node]['cgsecstruct'] = secstruc[resid] + if write_secstruct: + molecule.nodes[mol_node]['cgsecstruct'] = secstruc[resid] block.add_node(molecule.nodes[mol_node]['atomname'], atype=molecule.nodes[mol_node]['atype']) diff --git a/vermouth/tests/test_annotate_idrs.py b/vermouth/tests/test_annotate_idrs.py index f76d3cf85..df853afbe 100644 --- a/vermouth/tests/test_annotate_idrs.py +++ b/vermouth/tests/test_annotate_idrs.py @@ -59,20 +59,28 @@ def test_make_disorder_string(test_molecule, result.append(False) assert result == expected -@pytest.mark.parametrize('idr_regions, expected',( +@pytest.mark.parametrize('idr_regions, write_sec, expected',( ([(1, 4)], + True, {0: "C", 1: "C", 2: "C", 3: "C", 4: "C", 5: "C", 6: "C", 7: "C", 8: "C"}), ([(1, 2)], + True, {0: "C", 1: "C", 2: "C", 3: "C", 4: "C", 5: "H", 6: "H", 7: "H", 8: "H"}), + ([(1, 2)], + False, + {0: None, 1: None, 2: None, + 3: None, 4: None, + 5: None, + 6: None, 7: None, 8: None}) )) -def test_ss_reassign(test_molecule, idr_regions, expected): +def test_ss_reassign(test_molecule, idr_regions, write_sec, expected): secstruc = {1: "H", 2: "H", 3: "H", 4: "H"} resnames = {0: "A", 1: "A", 2: "A", 3: "B", 4: "B", @@ -82,20 +90,16 @@ def test_ss_reassign(test_molecule, idr_regions, expected): 3: "SP1", 4: "C1", 5: "TP1", 6: "P1", 7: "SN3a", 8: "SP4"} - cgsectruc = {0: "H", 1: "H", 2: "H", - 3: "H", 4: "H", - 5: "H", - 6: "H", 7: "H", 8: "H"} # i.e. all ss is H to begin system = create_sys_all_attrs(test_molecule, moltype="molecule_0", secstruc=secstruc, defaults={"chain": "A"}, attrs={"resname": resnames, - "atype": atypes, - "cgsecstruct": cgsectruc}) + "atype": atypes}, + write_secstruct=write_sec) AnnotateIDRs(id_regions=idr_regions).run_system(system) for key, node in system.molecules[0].nodes.items(): - assert system.molecules[0].nodes[key]["cgsecstruct"] == expected[key] + assert system.molecules[0].nodes[key].get("cgsecstruct", None) == expected[key] From d01a03d9e264b27c4d0052bb39fd326e7b4eb42c Mon Sep 17 00:00:00 2001 From: csbrasnett Date: Fri, 31 Jan 2025 14:23:49 +0100 Subject: [PATCH 12/15] write out cg_ss if assignment changed in any molecule. - annotate_idrs.py now adds meta if annotation changes - move cg_ss dict to CG_SS in dssp.py - if meta is found in Martinize then write changed cg_ss into header of the ouput itp file --- bin/martinize2 | 40 ++++++++++++++++++++-------- vermouth/dssp/dssp.py | 7 ++--- vermouth/processors/annotate_idrs.py | 3 ++- 3 files changed, 35 insertions(+), 15 deletions(-) diff --git a/bin/martinize2 b/bin/martinize2 index 4c517846e..fa63b46eb 100755 --- a/bin/martinize2 +++ b/bin/martinize2 @@ -974,6 +974,16 @@ def entry(): 'for this force field', type="missing-feature") + ss_sequence = list( + itertools.chain( + *( + dssp.sequence_from_residues(molecule, "secstruct") + for molecule in system.molecules + if selectors.is_protein(molecule) + ) + ) + ) + if args.cystein_bridge == "none": vermouth.RemoveCysteinBridgeEdges().run_system(system) elif args.cystein_bridge != "auto": @@ -1000,17 +1010,6 @@ def entry(): disordered_regions=args.water_idrs ) - ss_sequence = list( - itertools.chain( - *( - dssp.convert_dssp_to_martini(dssp.sequence_from_residues(molecule, "cgsecstruct")) - for molecule in system.molecules - if ((selectors.is_protein(molecule)) and - (any([i for i in dssp.sequence_from_residues(molecule, "cgsecstruct")]))) - ) - ) - ) - # Apply position restraints if required. if args.posres != "none": LOGGER.info("Applying position restraints.", type="step") @@ -1173,6 +1172,25 @@ def entry(): "".join(ss_sequence), ] + supp_ss_seq = list( + itertools.chain( + *( + dssp.sequence_from_residues(molecule, "cgsecstruct") + for molecule in system.molecules + if selectors.is_protein(molecule) + ) + ) + ) + if any(molecule.meta['modified_cgsecstruct'] for molecule in system.molecules): + LOGGER.info(("Secondary structure assignment changed between dssp and martinize. " + "Check files for details."), type="general") + header += [ + "The assigned secondary structure conflicted with ", + "annotated IDRs. The following sequence of Martini secondary ", + "structure was actually applied to the system:", + "".join([dssp.SS_CG[i] for i in supp_ss_seq]) + ] + if args.top_path is not None: write_gmx_topology(system, args.top_path, diff --git a/vermouth/dssp/dssp.py b/vermouth/dssp/dssp.py index d0221ebb9..51bc46da9 100644 --- a/vermouth/dssp/dssp.py +++ b/vermouth/dssp/dssp.py @@ -33,6 +33,9 @@ from .. import utils from ..log_helpers import StyleAdapter, get_logger +SS_CG = {'1': 'H', '2': 'H', '3': 'H', 'H': 'H', 'G': 'H', 'I': 'H', + 'B': 'E', 'E': 'E', 'T': 'T', 'S': 'S', 'C': 'C'} + try: import mdtraj except ImportError: @@ -416,15 +419,13 @@ def convert_dssp_to_martini(sequence): A sequence of secondary structures usable for martini. One letter per residue. """ - ss_cg = {'1': 'H', '2': 'H', '3': 'H', 'H': 'H', 'G': 'H', 'I': 'H', - 'B': 'E', 'E': 'E', 'T': 'T', 'S': 'S', 'C': 'C'} patterns = collections.OrderedDict([ ('.H.', '.3.'), ('.HH.', '.33.'), ('.HHH.', '.333.'), ('.HHHH.', '.3333.'), ('.HHHHH.', '.13332.'), ('.HHHHHH.', '.113322.'), ('.HHHHHHH.', '.1113222.'), ('.HHHH', '.1111'), ('HHHH.', '2222.'), ]) - cg_sequence = ''.join(ss_cg[secstruct] for secstruct in sequence) + cg_sequence = ''.join(SS_CG[secstruct] for secstruct in sequence) wildcard_sequence = ''.join('H' if secstruct == 'H' else '.' for secstruct in cg_sequence) # Flank the sequence with dots. Otherwise in a sequence consisting of only diff --git a/vermouth/processors/annotate_idrs.py b/vermouth/processors/annotate_idrs.py index 760a5198f..1248232df 100644 --- a/vermouth/processors/annotate_idrs.py +++ b/vermouth/processors/annotate_idrs.py @@ -41,6 +41,7 @@ def annotate_disorder(molecule, id_regions, annotation="cgidr"): molecule.nodes[key][annotation] = True if "cgsecstruct" in molecule.nodes[key]: molecule.nodes[key]["cgsecstruct"] = "C" + molecule.meta['modified_cgsecstruct'] = True else: molecule.nodes[key][annotation] = False @@ -84,5 +85,5 @@ def run_system(self, system): """ if not self.id_regions: return system - LOGGER.info("Annotating disordered regions", type="step") + LOGGER.info("Annotating disordered regions.", type="step") super().run_system(system) From e553fc3a072349aa644bd339ac4858cbff9771a6 Mon Sep 17 00:00:00 2001 From: csbrasnett Date: Fri, 31 Jan 2025 14:35:07 +0100 Subject: [PATCH 13/15] correct detection of changed cgsecstruct in martinize --- bin/martinize2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/martinize2 b/bin/martinize2 index fa63b46eb..a8d7a933a 100755 --- a/bin/martinize2 +++ b/bin/martinize2 @@ -1181,7 +1181,7 @@ def entry(): ) ) ) - if any(molecule.meta['modified_cgsecstruct'] for molecule in system.molecules): + if any([molecule.meta.get('modified_cgsecstruct', False) for molecule in system.molecules]): LOGGER.info(("Secondary structure assignment changed between dssp and martinize. " "Check files for details."), type="general") header += [ From 72e8ade9e8eacd7c757563ed908b05c7dd2e5582 Mon Sep 17 00:00:00 2001 From: csbrasnett Date: Fri, 31 Jan 2025 16:15:00 +0100 Subject: [PATCH 14/15] make sure meta attribute not given if idr cg_ss is already C, otherwise confusing message is written --- vermouth/processors/annotate_idrs.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/vermouth/processors/annotate_idrs.py b/vermouth/processors/annotate_idrs.py index 1248232df..54b477b3c 100644 --- a/vermouth/processors/annotate_idrs.py +++ b/vermouth/processors/annotate_idrs.py @@ -40,8 +40,9 @@ def annotate_disorder(molecule, id_regions, annotation="cgidr"): if _in_resid_region(_old_resid, id_regions): molecule.nodes[key][annotation] = True if "cgsecstruct" in molecule.nodes[key]: - molecule.nodes[key]["cgsecstruct"] = "C" - molecule.meta['modified_cgsecstruct'] = True + if molecule.nodes[key]["cgsecstruct"] != "C": + molecule.nodes[key]["cgsecstruct"] = "C" + molecule.meta['modified_cgsecstruct'] = True else: molecule.nodes[key][annotation] = False From 008a4f0836d9ab48d27cdce99540a699333e01da Mon Sep 17 00:00:00 2001 From: csbrasnett Date: Fri, 31 Jan 2025 16:33:27 +0100 Subject: [PATCH 15/15] added test for checking if cgsecstruct is already correct --- vermouth/tests/test_annotate_idrs.py | 32 +++++++++++++++++++--------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/vermouth/tests/test_annotate_idrs.py b/vermouth/tests/test_annotate_idrs.py index df853afbe..9e9f7f364 100644 --- a/vermouth/tests/test_annotate_idrs.py +++ b/vermouth/tests/test_annotate_idrs.py @@ -59,29 +59,38 @@ def test_make_disorder_string(test_molecule, result.append(False) assert result == expected -@pytest.mark.parametrize('idr_regions, write_sec, expected',( +@pytest.mark.parametrize('idr_regions, secstruc, write_sec, expected',( ([(1, 4)], + {1: "H", 2: "H", 3: "H", 4: "H"}, True, - {0: "C", 1: "C", 2: "C", + [{0: "C", 1: "C", 2: "C", 3: "C", 4: "C", 5: "C", - 6: "C", 7: "C", 8: "C"}), + 6: "C", 7: "C", 8: "C"}, True]), ([(1, 2)], + {1: "H", 2: "H", 3: "H", 4: "H"}, True, - {0: "C", 1: "C", 2: "C", + [{0: "C", 1: "C", 2: "C", 3: "C", 4: "C", 5: "H", - 6: "H", 7: "H", 8: "H"}), + 6: "H", 7: "H", 8: "H"}, True]), ([(1, 2)], + {1: "H", 2: "H", 3: "H", 4: "H"}, False, - {0: None, 1: None, 2: None, + [{0: None, 1: None, 2: None, 3: None, 4: None, 5: None, - 6: None, 7: None, 8: None}) + 6: None, 7: None, 8: None}, False]), + ([(1, 2)], + {1: "C", 2: "C", 3: "C", 4: "C"}, + True, + [{0: "C", 1: "C", 2: "C", + 3: "C", 4: "C", + 5: "C", + 6: "C", 7: "C", 8: "C"}, False]), )) -def test_ss_reassign(test_molecule, idr_regions, write_sec, expected): - secstruc = {1: "H", 2: "H", 3: "H", 4: "H"} +def test_ss_reassign(test_molecule, idr_regions, secstruc, write_sec, expected): resnames = {0: "A", 1: "A", 2: "A", 3: "B", 4: "B", 5: "C", @@ -102,4 +111,7 @@ def test_ss_reassign(test_molecule, idr_regions, write_sec, expected): AnnotateIDRs(id_regions=idr_regions).run_system(system) for key, node in system.molecules[0].nodes.items(): - assert system.molecules[0].nodes[key].get("cgsecstruct", None) == expected[key] + assert system.molecules[0].nodes[key].get("cgsecstruct", None) == expected[0][key] + + assert system.molecules[0].meta.get("modified_cgsecstruct", False) == expected[1] +