diff --git a/vermouth/processors/repair_graph.py b/vermouth/processors/repair_graph.py
index b95db34..1e4ea66 100644
--- a/vermouth/processors/repair_graph.py
+++ b/vermouth/processors/repair_graph.py
@@ -193,7 +193,15 @@ def make_reference(mol):
         residue = residues.nodes[residx]['graph']
         reference = _get_reference_residue(residues.nodes[residx], mol.force_field)
         if 'mutation' in residues.nodes[residx]:
+            # We need to do this, since we need to propagate all common
+            # attributes in the input residue to any reconstructed atoms. 
+            # make_residue_graph already picks up on all the common attributes
+            # and sets those as residue/node attributes, but any mutation needs
+            # to be propagated as well, otherwise the newly constructed atoms
+            # will end up with the old residue name. This way, we can just add
+            # *all* attributes in the residue graph to the new atoms.
             resname = residues.nodes[residx]['mutation'][0]
+            residues.nodes[residx]['resname'] = resname
         add_element_attr(reference)
         add_element_attr(residue)
         # We are going to sort the nodes of reference and residue by atomname.
@@ -273,9 +281,12 @@ def make_reference(mol):
         # "unsort" the matches
         match = {old_ref_names[ref]: old_res_names[res] for ref, res in match.items()}
 
-        reference_graph.add_node(residx, chain=chain, reference=reference,
-                                 found=residue, resname=resname, resid=resid,
-                                 match=match)
+        # The residue graph has attributes which are common to all atoms in the
+        # input residue, so propagate those to new atoms. These attributes are
+        # things like residue name (see above in case of mutations), resid, 
+        # insertion code, etc.
+        reference_graph.add_node(residx, reference=reference, found=residue, 
+                                 match=match, **residues.nodes[residx])
     reference_graph.add_edges_from(residues.edges())
     return reference_graph
 

DSSP error (duplicated nr. of residues)
I'm getting the following error. The protein has 156 residues. So it appears that at some step, they are being incorrectly duplciated.

```
Traceback (most recent call last):
  File "/lustre1/work/courtade/software/miniconda3/envs/py37/bin/martinize2", line 669, in <module>
    entry()
  File "/lustre1/work/courtade/software/miniconda3/envs/py37/bin/martinize2", line 545, in entry
    AnnotateDSSP(executable=args.dssp, savedir='.').run_system(system)
  File "/lustre1/work/courtade/software/miniconda3/envs/py37/lib/python3.7/site-packages/vermouth/processors/processor.py", line 38, in run_system
    mols.append(self.run_molecule(molecule))
  File "/lustre1/work/courtade/software/miniconda3/envs/py37/lib/python3.7/site-packages/vermouth/dssp/dssp.py", line 444, in run_molecule
    annotate_dssp(molecule, self.executable, self.savedir)
  File "/lustre1/work/courtade/software/miniconda3/envs/py37/lib/python3.7/site-packages/vermouth/dssp/dssp.py", line 277, in annotate_dssp
    annotate_residues_from_sequence(molecule, attribute, secstructs)
  File "/lustre1/work/courtade/software/miniconda3/envs/py37/lib/python3.7/site-packages/vermouth/dssp/dssp.py", line 390, in annotate_residues_from_sequence
    raise ValueError(msg.format(len(sequence), len(residues)))
ValueError: The sequence length does not match the number of residues. The sequence has 156 elements for 312 residues.
```
I tried with a different PDB file, it throws the same error.

Edit: The error was triggered by reading a PDB without hydrogens (incorrectly defined termini?). I managed to solve it by running pdb2gmx on the all-atom coordinates before martinizing
diff --git a/vermouth/tests/test_repair_graph.py b/vermouth/tests/test_repair_graph.py
index f73b01a..e902d91 100644
--- a/vermouth/tests/test_repair_graph.py
+++ b/vermouth/tests/test_repair_graph.py
@@ -111,10 +111,11 @@ def build_system_mod(force_field):
         (16, {'resid': 1, 'resname': 'GLU', 'atomname': 'HN', 'chain': 'A', 'element': 'H'}),
         # Residue 2 has missing atoms (HA1 and HA2, the hydrogen of the C
         # alpha; HN the hydrogen on the N-ter nitrogen and O, the oxygen at the
-        # C-ter)
-        (17, {'resid': 2, 'resname': 'GLY', 'atomname': 'N', 'chain': 'A', 'element': 'N'}),
-        (18, {'resid': 2, 'resname': 'GLY', 'atomname': 'CA', 'chain': 'A', 'element': 'C'}),
-        (19, {'resid': 2, 'resname': 'GLY', 'atomname': 'C', 'chain': 'A', 'element': 'C'}),
+        # C-ter). 'common' is an arbitrary attribute name with identical values,
+        # which should be propagated to reconstructed atoms.
+        (17, {'resid': 2, 'resname': 'GLY', 'atomname': 'N', 'chain': 'A', 'element': 'N', 'common': 'a'}),
+        (18, {'resid': 2, 'resname': 'GLY', 'atomname': 'CA', 'chain': 'A', 'element': 'C', 'common': 'a'}),
+        (19, {'resid': 2, 'resname': 'GLY', 'atomname': 'C', 'chain': 'A', 'element': 'C', 'common': 'a'}),
         # Residue 3 has only N and C specified, everything else is missing.
         (20, {'resid': 3, 'resname': 'GLY', 'atomname': 'N', 'chain': 'A', 'element': 'N'}),
         (21, {'resid': 3, 'resname': 'GLY', 'atomname': 'O', 'chain': 'A', 'element': 'O'}),
@@ -243,6 +244,21 @@ def test_name_canonicalized(canonicalized_graph, key, expected_names):
     assert molecule.nodes[key]['atomname'] in expected_names
 
 
+@pytest.mark.parametrize('resid, expected_attrs', [
+    (2, {'resid': 2, 'resname': 'GLY', 'chain': 'A', 'common': 'a'})
+])
+def test_common_attributes(repaired_graph, resid, expected_attrs):
+    """Test that attributes that are common to all nodes in a residue end up in
+    reconstructed nodes."""
+    mol = repaired_graph.molecules[0]
+    for node_idx in mol:
+        node = mol.nodes[node_idx]
+        if node.get('resid') == resid:
+            for key, val in expected_attrs.items():
+                assert key in node
+                assert node[key] == val
+
+
 def test_renaming(renamed_graph):
     for node in renamed_graph.molecules[0].nodes.values():
         if node['resid'] == 1:

pip install -e .
parse_log_pytest
pytest
pytest coverage pytest-cov pylint hypothesis hypothesis-networkx
apt-get update apt-get install -y gcc pip install --upgrade setuptools pip
3.9
requirements-tests.txt
pytest --no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning
astroid==3.3.9
attrs==25.3.0
coverage==7.8.0
dill==0.3.9
exceptiongroup @ file:///croot/exceptiongroup_1706031385326/work
hypothesis==6.130.5
hypothesis-networkx==0.3.0
iniconfig @ file:///home/linux1/recipes/ci/iniconfig_1610983019677/work
isort==6.0.1
mccabe==0.7.0
networkx==2.8.8
numpy==2.0.2
packaging @ file:///croot/packaging_1734472117206/work
pbr==6.1.1
platformdirs==4.3.7
pluggy @ file:///croot/pluggy_1733169602837/work
pylint==3.3.6
pytest @ file:///croot/pytest_1738938843180/work
pytest-cov==6.0.0
sortedcontainers==2.4.0
tomli @ file:///opt/conda/conda-bld/tomli_1657175507142/work
tomlkit==0.13.2
typing_extensions==4.13.0
-e git+https://github.com/marrink-lab/vermouth-martinize.git@c9ddb66729527ed8abde1ee71c683e0219043d19#egg=vermouth

name: vermouth-martinize
channels:
  - defaults
  - https://repo.anaconda.com/pkgs/main
  - https://repo.anaconda.com/pkgs/r
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - _openmp_mutex=5.1=1_gnu
  - ca-certificates=2025.2.25=h06a4308_0
  - exceptiongroup=1.2.0=py39h06a4308_0
  - iniconfig=1.1.1=pyhd3eb1b0_0
  - ld_impl_linux-64=2.40=h12ee557_0
  - libffi=3.4.4=h6a678d5_1
  - libgcc-ng=11.2.0=h1234567_1
  - libgomp=11.2.0=h1234567_1
  - libstdcxx-ng=11.2.0=h1234567_1
  - ncurses=6.4=h6a678d5_0
  - openssl=3.0.16=h5eee18b_0
  - packaging=24.2=py39h06a4308_0
  - pluggy=1.5.0=py39h06a4308_0
  - pytest=8.3.4=py39h06a4308_0
  - python=3.9.21=he870216_1
  - readline=8.2=h5eee18b_0
  - sqlite=3.45.3=h5eee18b_0
  - tk=8.6.14=h39e8969_0
  - tomli=2.0.1=py39h06a4308_0
  - tzdata=2025a=h04d1e81_0
  - wheel=0.45.1=py39h06a4308_0
  - xz=5.6.4=h5eee18b_1
  - zlib=1.2.13=h5eee18b_1
  - pip:
      - astroid==3.3.9
      - attrs==25.3.0
      - coverage==7.8.0
      - dill==0.3.9
      - hypothesis==6.130.5
      - hypothesis-networkx==0.3.0
      - isort==6.0.1
      - mccabe==0.7.0
      - networkx==2.8.8
      - numpy==2.0.2
      - pbr==6.1.1
      - pip==25.0.1
      - platformdirs==4.3.7
      - pylint==3.3.6
      - pytest-cov==6.0.0
      - setuptools==78.1.0
      - sortedcontainers==2.4.0
      - tomlkit==0.13.2
      - typing-extensions==4.13.0
      - vermouth==0.3.2.dev117
prefix: /opt/conda/envs/vermouth-martinize

vermouth/tests/test_repair_graph.py::test_common_attributes[True-2-expected_attrs0] vermouth/tests/test_repair_graph.py::test_common_attributes[False-2-expected_attrs0]
vermouth/tests/test_repair_graph.py::test_PTM_atom_true[True-13] vermouth/tests/test_repair_graph.py::test_PTM_atom_true[True-14] vermouth/tests/test_repair_graph.py::test_PTM_atom_true[True-36] vermouth/tests/test_repair_graph.py::test_PTM_atom_true[False-13] vermouth/tests/test_repair_graph.py::test_PTM_atom_true[False-14] vermouth/tests/test_repair_graph.py::test_PTM_atom_true[False-36] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[True-0] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[True-1] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[True-2] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[True-3] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[True-4] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[True-5] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[True-6] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[True-7] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[True-8] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[True-9] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[True-10] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[True-11] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[True-12] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[True-15] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[False-0] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[False-1] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[False-2] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[False-3] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[False-4] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[False-5] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[False-6] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[False-7] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[False-8] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[False-9] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[False-10] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[False-11] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[False-12] vermouth/tests/test_repair_graph.py::test_PTM_atom_false[False-15] vermouth/tests/test_repair_graph.py::test_uniq_names_repaired[True] vermouth/tests/test_repair_graph.py::test_uniq_names_repaired[False] vermouth/tests/test_repair_graph.py::test_uniq_names_canonicalize[True] vermouth/tests/test_repair_graph.py::test_uniq_names_canonicalize[False] vermouth/tests/test_repair_graph.py::test_name_repaired[True-0-expected_names0] vermouth/tests/test_repair_graph.py::test_name_repaired[True-1-expected_names1] vermouth/tests/test_repair_graph.py::test_name_repaired[True-2-expected_names2] vermouth/tests/test_repair_graph.py::test_name_repaired[True-3-expected_names3] vermouth/tests/test_repair_graph.py::test_name_repaired[True-4-expected_names4] vermouth/tests/test_repair_graph.py::test_name_repaired[True-5-expected_names5] vermouth/tests/test_repair_graph.py::test_name_repaired[True-6-expected_names6] vermouth/tests/test_repair_graph.py::test_name_repaired[True-7-expected_names7] vermouth/tests/test_repair_graph.py::test_name_repaired[True-8-expected_names8] vermouth/tests/test_repair_graph.py::test_name_repaired[True-9-expected_names9] vermouth/tests/test_repair_graph.py::test_name_repaired[True-10-expected_names10] vermouth/tests/test_repair_graph.py::test_name_repaired[True-11-expected_names11] vermouth/tests/test_repair_graph.py::test_name_repaired[True-12-expected_names12] vermouth/tests/test_repair_graph.py::test_name_repaired[True-13-expected_names13] vermouth/tests/test_repair_graph.py::test_name_repaired[True-14-expected_names14] vermouth/tests/test_repair_graph.py::test_name_repaired[True-15-expected_names15] vermouth/tests/test_repair_graph.py::test_name_repaired[True-16-expected_names16] vermouth/tests/test_repair_graph.py::test_name_repaired[True-17-expected_names17] vermouth/tests/test_repair_graph.py::test_name_repaired[True-18-expected_names18] vermouth/tests/test_repair_graph.py::test_name_repaired[True-19-expected_names19] vermouth/tests/test_repair_graph.py::test_name_repaired[True-20-expected_names20] vermouth/tests/test_repair_graph.py::test_name_repaired[True-21-expected_names21] vermouth/tests/test_repair_graph.py::test_name_repaired[True-22-expected_names22] vermouth/tests/test_repair_graph.py::test_name_repaired[True-23-expected_names23] vermouth/tests/test_repair_graph.py::test_name_repaired[True-24-expected_names24] vermouth/tests/test_repair_graph.py::test_name_repaired[True-25-expected_names25] vermouth/tests/test_repair_graph.py::test_name_repaired[True-26-expected_names26] vermouth/tests/test_repair_graph.py::test_name_repaired[True-27-expected_names27] vermouth/tests/test_repair_graph.py::test_name_repaired[True-28-expected_names28] vermouth/tests/test_repair_graph.py::test_name_repaired[True-29-expected_names29] vermouth/tests/test_repair_graph.py::test_name_repaired[True-30-expected_names30] vermouth/tests/test_repair_graph.py::test_name_repaired[True-31-expected_names31] vermouth/tests/test_repair_graph.py::test_name_repaired[True-32-expected_names32] vermouth/tests/test_repair_graph.py::test_name_repaired[True-33-expected_names33] vermouth/tests/test_repair_graph.py::test_name_repaired[True-34-expected_names34] vermouth/tests/test_repair_graph.py::test_name_repaired[True-35-expected_names35] vermouth/tests/test_repair_graph.py::test_name_repaired[True-36-expected_names36] vermouth/tests/test_repair_graph.py::test_name_repaired[False-0-expected_names0] vermouth/tests/test_repair_graph.py::test_name_repaired[False-1-expected_names1] vermouth/tests/test_repair_graph.py::test_name_repaired[False-2-expected_names2] vermouth/tests/test_repair_graph.py::test_name_repaired[False-3-expected_names3] vermouth/tests/test_repair_graph.py::test_name_repaired[False-4-expected_names4] vermouth/tests/test_repair_graph.py::test_name_repaired[False-5-expected_names5] vermouth/tests/test_repair_graph.py::test_name_repaired[False-6-expected_names6] vermouth/tests/test_repair_graph.py::test_name_repaired[False-7-expected_names7] vermouth/tests/test_repair_graph.py::test_name_repaired[False-8-expected_names8] vermouth/tests/test_repair_graph.py::test_name_repaired[False-9-expected_names9] vermouth/tests/test_repair_graph.py::test_name_repaired[False-10-expected_names10] vermouth/tests/test_repair_graph.py::test_name_repaired[False-11-expected_names11] vermouth/tests/test_repair_graph.py::test_name_repaired[False-12-expected_names12] vermouth/tests/test_repair_graph.py::test_name_repaired[False-13-expected_names13] vermouth/tests/test_repair_graph.py::test_name_repaired[False-14-expected_names14] vermouth/tests/test_repair_graph.py::test_name_repaired[False-15-expected_names15] vermouth/tests/test_repair_graph.py::test_name_repaired[False-16-expected_names16] vermouth/tests/test_repair_graph.py::test_name_repaired[False-17-expected_names17] vermouth/tests/test_repair_graph.py::test_name_repaired[False-18-expected_names18] vermouth/tests/test_repair_graph.py::test_name_repaired[False-19-expected_names19] vermouth/tests/test_repair_graph.py::test_name_repaired[False-20-expected_names20] vermouth/tests/test_repair_graph.py::test_name_repaired[False-21-expected_names21] vermouth/tests/test_repair_graph.py::test_name_repaired[False-22-expected_names22] vermouth/tests/test_repair_graph.py::test_name_repaired[False-23-expected_names23] vermouth/tests/test_repair_graph.py::test_name_repaired[False-24-expected_names24] vermouth/tests/test_repair_graph.py::test_name_repaired[False-25-expected_names25] vermouth/tests/test_repair_graph.py::test_name_repaired[False-26-expected_names26] vermouth/tests/test_repair_graph.py::test_name_repaired[False-27-expected_names27] vermouth/tests/test_repair_graph.py::test_name_repaired[False-28-expected_names28] vermouth/tests/test_repair_graph.py::test_name_repaired[False-29-expected_names29] vermouth/tests/test_repair_graph.py::test_name_repaired[False-30-expected_names30] vermouth/tests/test_repair_graph.py::test_name_repaired[False-31-expected_names31] vermouth/tests/test_repair_graph.py::test_name_repaired[False-32-expected_names32] vermouth/tests/test_repair_graph.py::test_name_repaired[False-33-expected_names33] vermouth/tests/test_repair_graph.py::test_name_repaired[False-34-expected_names34] vermouth/tests/test_repair_graph.py::test_name_repaired[False-35-expected_names35] vermouth/tests/test_repair_graph.py::test_name_repaired[False-36-expected_names36] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-0-expected_names0] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-1-expected_names1] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-2-expected_names2] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-3-expected_names3] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-4-expected_names4] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-5-expected_names5] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-6-expected_names6] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-7-expected_names7] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-8-expected_names8] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-9-expected_names9] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-10-expected_names10] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-11-expected_names11] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-12-expected_names12] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-13-expected_names13] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-14-expected_names14] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-15-expected_names15] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-16-expected_names16] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-17-expected_names17] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-18-expected_names18] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-19-expected_names19] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-20-expected_names20] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-21-expected_names21] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-22-expected_names22] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-23-expected_names23] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-24-expected_names24] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-25-expected_names25] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-26-expected_names26] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-27-expected_names27] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-28-expected_names28] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-29-expected_names29] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-30-expected_names30] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-31-expected_names31] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-32-expected_names32] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-33-expected_names33] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-34-expected_names34] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-35-expected_names35] vermouth/tests/test_repair_graph.py::test_name_canonicalized[True-36-expected_names36] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-0-expected_names0] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-1-expected_names1] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-2-expected_names2] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-3-expected_names3] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-4-expected_names4] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-5-expected_names5] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-6-expected_names6] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-7-expected_names7] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-8-expected_names8] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-9-expected_names9] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-10-expected_names10] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-11-expected_names11] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-12-expected_names12] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-13-expected_names13] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-14-expected_names14] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-15-expected_names15] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-16-expected_names16] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-17-expected_names17] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-18-expected_names18] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-19-expected_names19] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-20-expected_names20] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-21-expected_names21] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-22-expected_names22] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-23-expected_names23] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-24-expected_names24] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-25-expected_names25] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-26-expected_names26] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-27-expected_names27] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-28-expected_names28] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-29-expected_names29] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-30-expected_names30] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-31-expected_names31] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-32-expected_names32] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-33-expected_names33] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-34-expected_names34] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-35-expected_names35] vermouth/tests/test_repair_graph.py::test_name_canonicalized[False-36-expected_names36] vermouth/tests/test_repair_graph.py::test_renaming[True] vermouth/tests/test_repair_graph.py::test_renaming[False] vermouth/tests/test_repair_graph.py::test_repair_graph_with_mutation_modification[1-mutations0-modifications0-O vermouth/tests/test_repair_graph.py::test_repair_graph_with_mutation_modification[1-mutations1-modifications1-O vermouth/tests/test_repair_graph.py::test_repair_graph_with_mutation_modification[2-mutations2-modifications2-O vermouth/tests/test_repair_graph.py::test_repair_graph_with_mutation_modification[2-mutations3-modifications3-O vermouth/tests/test_repair_graph.py::test_repair_graph_with_mutation_modification[5-mutations4-modifications4-N vermouth/tests/test_repair_graph.py::test_repair_graph_with_mutation_modification_error[2-mutations0-modifications0] vermouth/tests/test_repair_graph.py::test_repair_graph_with_mutation_modification_error[2-mutations1-modifications1]
vermouth/processors/repair_graph.py
vermouth/processors/repair_graph.py