ReliaSolve / cctbx_project

Computational Crystallography Toolbox
https://cctbx.github.io
Other
0 stars 0 forks source link

Run hydrogen placement across PDB and see where it fails #111

Open russell-taylor opened 3 years ago

russell-taylor commented 3 years ago

Find each class of failure and report to Nigel and Dorothee so that we can decide what to do in each case.

russell-taylor commented 3 years ago

reliasolve/hydrogenate_regression repository has the scripts for running this test and can be run in 8-way parallel mode. It stores the error and outputs from each one that fails.

russell-taylor commented 3 years ago

(done) (Group 0) Failure on 6f1h and 5f19 reported to Nigel and Dorothee:

taylorr@reliasolve-3:~/src/hydrogenate_regression/outputs$ cat 6f1h_error.txt
Traceback (most recent call last):
  File "/home/taylorr/rlab/cctbx_reliasolve/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/cli_parser.py", line 70, in run_program
    task.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 54, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 139, in run
    log                       = null_out())
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 292, in __init__
    self.process_input_model(make_restraints = build_grm)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 1573, in process_input_model
    run_clash_guard    = run_clash_guard)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 1632, in _setup_restraints_manager
    assume_hydrogens_all_missing = not self.has_hd())
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 5694, in geometry_restraints_manager
    log=self.log)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 5336, in construct_geometry_restraints_manager
    log=log,
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/monomer_library/linking_mixins.py", line 602, in process_nonbonded_for_links
    verbose=verbose,
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/monomer_library/linking_utils.py", line 348, in is_atom_pair_linked
    lookup.sort()
TypeError: '<' not supported between instances of 'empty' and 'str'

Nigel does not see this issue on 5f19. He mentioned that it might be a Python issue but I'm not sure what he means by this. I asked if the difference may be between CCTBX and Phenix builds.

When I run in a Phenix build, this works for 5f19 and for 2ckm without errors. However, when I run in CCTBX it fails. I've asked Nigel whether he will be chasing this down or whether I need to.

He asked how to replicate my environment and I sent him instructions for building on an AWS instance.

Closing this case because it works in my Phenix environment. We can re-open if it happens again in a future environment.

russell-taylor commented 3 years ago

(done) The following error comes from running on 1f1j (reported to Dorothee and Nigel):

taylorr@reliasolve-3:~/src/hydrogenate_regression/outputs$ cat 1f1j_error.txt 
Traceback (most recent call last):
  File "/home/taylorr/rlab/cctbx_reliasolve/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/cli_parser.py", line 70, in run_program
    task.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 54, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 160, in run
    self.model.setup_riding_h_manager(use_ideal_dihedral = True)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 2070, in setup_riding_h_manager
    use_ideal_dihedral  = use_ideal_dihedral)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/hydrogens/riding.py", line 29, in __init__
    geometry_restraints = geometry_restraints)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/hydrogens/connectivity.py", line 62, in __init__
    self.find_second_neighbors_raw(angle_proxies = angle_proxies)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/hydrogens/connectivity.py", line 137, in find_second_neighbors_raw
    if self.double_H[ih]:
KeyError: 7442

Stopped happening, at least in my Phenix build, before 7/29/2023.

russell-taylor commented 3 years ago

(done) (Group 2) The following comes when running on some zz files (reported to Dorothee and Nigel):

3zzf_error.txt:Sorry: One or more rotation matrices is not proper. See the log for details.
3zzg_error.txt:Sorry: One or more rotation matrices is not proper. See the log for details.
3zzh_error.txt:Sorry: One or more rotation matrices is not proper. See the log for details.
3zzm_error.txt:Sorry: One or more rotation matrices is not proper. See the log for details.
3zzv_error.txt:Sorry: One or more rotation matrices is not proper. See the log for details.
3zzy_error.txt:Sorry: One or more rotation matrices is not proper. See the log for details.
3zzz_error.txt:Sorry: One or more rotation matrices is not proper. See the log for details.

Logs:

3zzf_out.txt:  ERROR: matrix with serial number 1 is not proper
3zzg_out.txt:  ERROR: matrix with serial number 1 is not proper
3zzg_out.txt:  ERROR: matrix with serial number 2 is not proper
3zzg_out.txt:  ERROR: matrix with serial number 3 is not proper
3zzh_out.txt:  ERROR: matrix with serial number 1 is not proper
3zzh_out.txt:  ERROR: matrix with serial number 2 is not proper
3zzh_out.txt:  ERROR: matrix with serial number 3 is not proper
3zzm_out.txt:  ERROR: matrix with serial number 1 is not proper
3zzv_out.txt:  ERROR: matrix with serial number 1 is not proper
3zzv_out.txt:  ERROR: matrix with serial number 2 is not proper
3zzy_out.txt:  ERROR: matrix with serial number 1 is not proper
3zzz_out.txt:  ERROR: matrix with serial number 1 is not proper

Oleg reports that the rotation matrices are not orthonormal. There is no easy way to know how to fix this, so they issue a Sorry. it would be possible to remove the offending records and run again if needed. I asked if these matrices are needed for anything other than symmetry, thinking that we can just always remove them if not.

3zzz is one of them, and the only obviously non-orthogonal matrix in there is named _atom_sites.fract_transf_matrix, which my reading of the confusing documentation seems to indicate does not have to be orthonormal. I've asked Oleg to identify the matrix in question so I can take a closer look and see if it is just that one of them is almost orthonormal or whether there is a misunderstanding in CCTBX about how to handle this matrix.

Oleg said "it is index 1", so added a print to the code to report which matrix is the problem. For 3zzz, it was one of the matrices that looked orthonormal by eye. Switching the threshold from the default of 1e-4 to 5e-4 and rerunning the tests on the files that failed before.

5e-4 got down to 6 failures out of 10 (4bik has some matrices with off-diagonal entries up to 0.014, so still fails with 1e-5. 4c8t has entries up to 0.025, 4bf3 has entries up to 0.19.)

1e-3 got down to 5 failures out of 10. 2e-3 got down to 1 failures (of this type) out of 23.

Sent this info to Oleg.

Here is how to set option to skip the rotation-matrix check in a Program Template program: https://github.com/cctbx/cctbx_project/blob/master/mmtbx/programs/rotalyze.py#L39 data_manager_options = ['model_skip_expand_with_mtrix']

russell-taylor commented 3 years ago

(done) (Group 3) The following parse error happens for unknown HETATM records (reported to Dorothee and Nigel):

taylorr@reliasolve-3:~/src/hydrogenate_regression/outputs$ cat 1zuu_error.txt
Traceback (most recent call last):
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/pdb/__init__.py", line 1079, in xray_structures_simple
    while (next(loop)):
ValueError: Unknown chemical element type:
  "HETATM  537 UNK  UNX A1001 .*.     X  "
  To resolve this problem, specify a chemical element type in
  columns 77-78 of the PDB file, right justified (e.g. " C").

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/taylorr/rlab/cctbx_reliasolve/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/cli_parser.py", line 70, in run_program
    task.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 54, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 93, in run
    self.n_H_initial = self.model.get_hd_selection().count(True)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 1086, in get_hd_selection
    xrs = self.get_xray_structure()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 435, in get_xray_structure
    crystal_symmetry = cs)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/pdb/hierarchy.py", line 704, in extract_xray_structure
    return self.as_pdb_input(crystal_symmetry).xray_structure_simple()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/pdb/__init__.py", line 998, in xray_structure_simple
    atom_names_scattering_type_const=atom_names_scattering_type_const)[0]
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/pdb/__init__.py", line 1086, in xray_structures_simple
    raise Sorry(str(e))
Sorry: Unknown chemical element type:
  "HETATM  537 UNK  UNX A1001 .*.     X  "
  To resolve this problem, specify a chemical element type in
  columns 77-78 of the PDB file, right justified (e.g. " C").

Nigel said to skip all residues with name UNK and I asked Dorothee if she could modify Hydrogenate to do that.

This indicates a broken file, so the error in this case is being ignored.

russell-taylor commented 3 years ago

@todo: (Group 4, 905 entries) Assertion failures (reported to Nigel and Dorothee):

taylorr@reliasolve-3:~/src/hydrogenate_regression/outputs$ cat 1zx1_error.txt
Traceback (most recent call last):
  File "/home/taylorr/rlab/cctbx_reliasolve/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/cli_parser.py", line 70, in run_program
    task.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 54, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 139, in run
    log                       = null_out())
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 292, in __init__
    self.process_input_model(make_restraints = build_grm)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 1573, in process_input_model
    run_clash_guard    = run_clash_guard)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 1632, in _setup_restraints_manager
    assume_hydrogens_all_missing = not self.has_hd())
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 5713, in geometry_restraints_manager
    log=self.log,
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/conformation_dependent_library/mcl.py", line 117, in update
    raise e
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/conformation_dependent_library/mcl.py", line 113, in update
    sites_cart=pdb_hierarchy.atoms().extract_xyz(),
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/cctbx/geometry_restraints/manager.py", line 1077, in add_new_bond_restraints_in_place
    all_bonds_asu_table.add_pair_sym_table(self.shell_sym_tables[0])
RuntimeError: cctbx Internal Error: /home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/cctbx/crystal/pair_tables.h(663): CCTBX_ASSERT(j_sym >= 0) failure.

Nigel and Dorothy are looking into this.

This is the most frequent category of error as of 2/5/2024.

Still happening on 2/5/2024: 6nmp.cif

russell-taylor commented 3 years ago

@todo: (Group 5, 5 entries) Conflicting bond_simple restraints (reported to Nigel and Dorothee):

taylorr@reliasolve-3:~/src/hydrogenate_regression/outputs$ cat 3zud_error.txt
Traceback (most recent call last):
  File "/home/taylorr/rlab/cctbx_reliasolve/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/cli_parser.py", line 70, in run_program
    task.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 54, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 139, in run
    log                       = null_out())
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 292, in __init__
    self.process_input_model(make_restraints = build_grm)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 1529, in process_input_model
    allow_missing_symmetry = True)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/utils/__init__.py", line 1007, in process_pdb_files
    allow_missing_symmetry   = allow_missing_symmetry)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/utils/__init__.py", line 1078, in _process_pdb_file
    substitute_non_crystallographic_unit_cell_if_necessary=allow_missing_symmetry)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 5634, in __init__
    restraints_loading_flags=restraints_loading_flags)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 3464, in __init__
    log=log,
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 2718, in __init__
    restraints_loading_flags.get("use_neutron_distances", None))
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 1575, in add_bond_proxies
    use_neutron_distances=use_neutron_distances).counters
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 1938, in __init__
    registry_process_result=registry_process_result)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 1854, in evaluate_registry_process_result
    lines=lines))
Sorry: Conflicting bond_simple restraints:
  1. definition from: residues: HIC%NH3, conformer "A" + HIC%NH3, conformer "A"
  2. definition from: residues: HIC%NH3, conformer "A" + HIC%NH3, conformer "A"
  atoms:
    "HETATM    1  N   HIC A   1 .*.     N  "
    "HETATM   13  H2  HIC A   1 .*.     H  "

Nigel and Dorothee are looking into this.

Still happening on 2/5/2024: 6exv.cif

russell-taylor commented 3 years ago

(done) (Group 6, 226 entries) Unit cell failure (reported to Nigel and Dorothee):

taylorr@reliasolve-3:~/src/hydrogenate_regression/outputs$ cat 1zyf_error.txt
Traceback (most recent call last):
  File "/home/taylorr/rlab/cctbx_reliasolve/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/cli_parser.py", line 70, in run_program
    task.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 54, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 139, in run
    log                       = null_out())
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 292, in __init__
    self.process_input_model(make_restraints = build_grm)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 1529, in process_input_model
    allow_missing_symmetry = True)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/utils/__init__.py", line 1007, in process_pdb_files
    allow_missing_symmetry   = allow_missing_symmetry)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/utils/__init__.py", line 1078, in _process_pdb_file
    substitute_non_crystallographic_unit_cell_if_necessary=allow_missing_symmetry)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 5634, in __init__
    restraints_loading_flags=restraints_loading_flags)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 3364, in __init__
    raise Sorry(msg%self.special_position_settings.unit_cell().parameters())
Sorry: Unit cell volume is incompatible with number of atoms.
  Unit cell parameters:   31.975   58.231   32.173   90.000   90.000   90.000
  Check CRYST1 record or other sources of crystal symmetry.

Nigel replied that it is a user error. I pointed out that Hydrogenate uses cctbx.maptbx.box.shift_and_box_model().

This is a deeper problem with the unit cell, one for which there is not an easy fix and the shift_and_box_model() function cannot be applied indiscriminately (it only works for cryo-EM models, for example).

Leaving this error in place so that the user must repair the file.

russell-taylor commented 3 years ago

(done) (Group 1) Key error (reported to Nigel and Dorothee):

(This is probably a duplicate of the key error above)

taylorr@reliasolve-3:~/src/hydrogenate_regression/outputs$ cat 4zvo_error.txt
Traceback (most recent call last):
  File "/home/taylorr/rlab/cctbx_reliasolve/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/cli_parser.py", line 70, in run_program
    task.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 54, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 160, in run
    self.model.setup_riding_h_manager(use_ideal_dihedral = True)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 2070, in setup_riding_h_manager
    use_ideal_dihedral  = use_ideal_dihedral)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/hydrogens/riding.py", line 29, in __init__
    geometry_restraints = geometry_restraints)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/hydrogens/connectivity.py", line 62, in __init__
    self.find_second_neighbors_raw(angle_proxies = angle_proxies)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/hydrogens/connectivity.py", line 137, in find_second_neighbors_raw
    if self.double_H[ih]:
KeyError: 7520
russell-taylor commented 3 years ago

@todo (Group 7, 177 entries) No model found (reported to Nigel and Dorothee):

taylorr@reliasolve-3:~/src/hydrogenate_regression/outputs$ cat 5zut_error.txt
Traceback (most recent call last):
  File "/home/taylorr/rlab/cctbx_reliasolve/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/cli_parser.py", line 67, in run_program
    task.validate()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 43, in validate
    self.data_manager.has_models(raise_sorry=True)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/data_manager/model.py", line 136, in has_models
    exact_count=exact_count, raise_sorry=raise_sorry)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/data_manager/__init__.py", line 463, in _has_data
    datatype, actual_n, expected_n, exact_count, raise_sorry)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/data_manager/__init__.py", line 455, in _check_count
    (actual_n, datatype, expected_n))
Sorry: 0 model(s) found. Expected at least 1.

The program output indicates that it did not use the file (which explains why there is no model). It is not clear why it doesn't load this file when it loaded the others.

Dorothee writes: I cannot reproduce this issue. I ran mmtbx.hydrogenate 5zut.pdb. This runs to completion without crash.

Weird. This was also failing for me with 6bmq during the most-recent run, but it is now working for me on that model as well. Also 7aeo. Perhaps I got truncated file downloads when I pulled these files.

Still happening as of 2/5/2024: 1jcp.cif

Jane writes: For instance, the 177 failures with 0 models found only apply to cif format files (all of these should work if they can be expressed as PDB, which use the familiar model and endmdl liines). CIF uses an entirely different scheme that is clear but inefficient, by adding a model-number field at the end of each atom coordinate line, as shown in example below from the 2022 7ae0 cif. I don't understand why there are only 177 of these, because it should happen with any multi-model cif file from NMR (1jcp), from cryoEM (7ae0 (not 7aeo)), or x-ray. So the cif reader just needs to understand this convention.

russell-taylor commented 3 years ago

@todo: (Group 8, 144 entries) Angle restraints missing (reported to Nigel and Dorothee):

taylorr@reliasolve-3:~/src/hydrogenate_regression/outputs$ cat 6ztq_error.txt
Traceback (most recent call last):
  File "/home/taylorr/rlab/cctbx_reliasolve/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/cli_parser.py", line 70, in run_program
    task.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 54, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 160, in run
    self.model.setup_riding_h_manager(use_ideal_dihedral = True)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 2070, in setup_riding_h_manager
    use_ideal_dihedral  = use_ideal_dihedral)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/hydrogens/riding.py", line 29, in __init__
    geometry_restraints = geometry_restraints)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/hydrogens/connectivity.py", line 77, in __init__
    angle_proxies = angle_proxies)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/hydrogens/connectivity.py", line 213, in determine_a0_angles_and_third_neighbors_without_dihedral
    (self.atoms[ix].id_str(), self.atoms[iy].id_str()))
Sorry: It looks like angle restraints involving an H atom are missing.
  Check H atoms bound to pdb=" N   SAC i   1 " and with second neighbor pdb=" C1A SAC i   1 "

Nigel asked whether I was using GeoStd and I replied that I was using a version that is a couple of months old.

Still happening 2/5/2024: 3ned.cif.

russell-taylor commented 3 years ago

@todo (Group 9, 2 entries) Duplicate atom names (reported to Nigel and Dorothee):

taylorr@reliasolve-3:~/src/hydrogenate_regression/outputs$ cat 6zu5_error.txt
Traceback (most recent call last):
  File "/home/taylorr/rlab/cctbx_reliasolve/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/cli_parser.py", line 70, in run_program
    task.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 54, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 139, in run
    log                       = null_out())
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 292, in __init__
    self.process_input_model(make_restraints = build_grm)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 1529, in process_input_model
    allow_missing_symmetry = True)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/utils/__init__.py", line 1007, in process_pdb_files
    allow_missing_symmetry   = allow_missing_symmetry)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/utils/__init__.py", line 1078, in _process_pdb_file
    substitute_non_crystallographic_unit_cell_if_necessary=allow_missing_symmetry)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 5634, in __init__
    restraints_loading_flags=restraints_loading_flags)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 3240, in __init__
    self.counts.raise_duplicate_atom_labels_if_necessary()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/pdb/hierarchy.py", line 342, in raise_duplicate_atom_labels_if_necessary
    if (len(msg) != 0): raise Sorry(msg.rstrip())
Sorry: number of groups of duplicate atom labels: 2249
  total number of affected atoms:          4498
  group "ATOM    .*.  N   ARGLA   9 .*.     N  "
        "ATOM    .*.  N   ARGLA   9 .*.     N  "
  group "ATOM    .*.  CA  ARGLA   9 .*.     C  "
        "ATOM    .*.  CA  ARGLA   9 .*.     C  "
  group "ATOM    .*.  C   ARGLA   9 .*.     C  "
        "ATOM    .*.  C   ARGLA   9 .*.     C  "
  group "ATOM    .*.  O   ARGLA   9 .*.     O  "
        "ATOM    .*.  O   ARGLA   9 .*.     O  "
  group "ATOM    .*.  CB  ARGLA   9 .*.     C  "
        "ATOM    .*.  CB  ARGLA   9 .*.     C  "
  group "ATOM    .*.  CG  ARGLA   9 .*.     C  "
        "ATOM    .*.  CG  ARGLA   9 .*.     C  "
  group "ATOM    .*.  CD  ARGLA   9 .*.     C  "
        "ATOM    .*.  CD  ARGLA   9 .*.     C  "
  group "ATOM    .*.  NE  ARGLA   9 .*.     N  "
        "ATOM    .*.  NE  ARGLA   9 .*.     N  "
  group "ATOM    .*.  CZ  ARGLA   9 .*.     C  "
        "ATOM    .*.  CZ  ARGLA   9 .*.     C  "
  group "ATOM    .*.  NH1 ARGLA   9 .*.     N  "
        "ATOM    .*.  NH1 ARGLA   9 .*.     N  "
  ... 2239 remaining groups not shown

Nigel forwarded to Oleg asking for his opinion.

Still happening as of 2/5/2024: 6goh.cif

Nigel asks if this is still happening after that because it does not happen for him. It happens to Russ Taylor on Windows with a current master cctbx complete rebuild as of 2/20/2024 and on Linux with a build as of 2/5/2024.

russell-taylor commented 3 years ago

(done) (Group 10, 82 entries) Conflicting angle restraints (reported):

6z8w_error.txt
Traceback (most recent call last):
  File "/home/taylorr/rlab/cctbx_reliasolve/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/cli_parser.py", line 70, in run_program
    task.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 54, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 139, in run
    log                       = null_out())
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 292, in __init__
    self.process_input_model(make_restraints = build_grm)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 1529, in process_input_model
    allow_missing_symmetry = True)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/utils/__init__.py", line 1007, in process_pdb_files
    allow_missing_symmetry   = allow_missing_symmetry)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/utils/__init__.py", line 1078, in _process_pdb_file
    substitute_non_crystallographic_unit_cell_if_necessary=allow_missing_symmetry)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 5634, in __init__
    restraints_loading_flags=restraints_loading_flags)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 3464, in __init__
    log=log,
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 2728, in __init__
    angle_proxy_registry=geometry_proxy_registries.angle)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 1584, in add_angle_proxies
    special_position_dict=special_position_dict).counters
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 2003, in __init__
    registry_process_result=registry_process_result)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 1854, in evaluate_registry_process_result
    lines=lines))
Sorry: Conflicting angle restraints:
  1. definition from: residue: 0G6%NH3
  2. definition from: residue: 0G6%NH3
  atoms:
    "HETATM 5049  H2  0G6 H 301 .*.     H  "
    "HETATM 5018  N   0G6 H 301 .*.     N  "
    "HETATM 5019  CA  0G6 H 301 .*.     C  "

This happened on 2/4/2024: 4ntr.cif. Did not happen on 4/1/2024 on 4ntr.cif

russell-taylor commented 3 years ago

@todo: (Lots of entries) Running on some files uses a huge amount of memory and probably eventually crash. This probably explains the failed files that have no error output. Reported to Nigel and Dorothee.

1a6x.cif is one such file. It ran for 14 minutes and was using 42.3GB of virtual memory.

russell-taylor commented 3 years ago

(done) (Group 11) Use before set for sl_removed in some cases (reported to Dorthee)

481d_error.txt
Traceback (most recent call last):
  File "/home/taylorr/rlab/cctbx_reliasolve/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/cli_parser.py", line 70, in run_program
    task.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 56, in run
    reduce_add_h_obj.show(log = self.logger)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 460, in show
    if self.sl_removed:
AttributeError: 'place_hydrogens' object has no attribute 'sl_removed'

Not happening 10/3/2023 or 2/5/2024.

russell-taylor commented 3 years ago

@todo: (Group 12, 83 entries) Index out of range during process_input_model (reported to Nigel and Dorothee)

3a1u_error.txt
Traceback (most recent call last):
  File "/home/taylorr/rlab/cctbx_reliasolve/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/cli_parser.py", line 70, in run_program
    task.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 54, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 139, in run
    log                       = null_out())
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 292, in __init__
    self.process_input_model(make_restraints = build_grm)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 1565, in process_input_model
    allow_missing_symmetry = True)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/utils/__init__.py", line 288, in process_pdb_files
    allow_missing_symmetry   = allow_missing_symmetry)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/utils/__init__.py", line 359, in _process_pdb_file
    substitute_non_crystallographic_unit_cell_if_necessary=allow_missing_symmetry)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 5748, in __init__
    unknown_atoms,
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/conformation_dependent_library/pH_dependent_restraints.py", line 72, in adjust_geometry_proxies_registeries
    bond_simple = gpr.bond_simple.proxies[i_seqs[k]]
IndexError: Index out of range.

Still happening 2/4/2023: 8e23.cif.

russell-taylor commented 3 years ago

(done) (Group 13, 39 entries) Polymer crosses special position (reported)

254l_error.txt
Traceback (most recent call last):
  File "/home/taylorr/rlab/cctbx_reliasolve/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/cli_parser.py", line 70, in run_program
    task.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 54, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 139, in run
    log                       = null_out())
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 292, in __init__
    self.process_input_model(make_restraints = build_grm)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 1565, in process_input_model
    allow_missing_symmetry = True)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/utils/__init__.py", line 288, in process_pdb_files
    allow_missing_symmetry   = allow_missing_symmetry)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/utils/__init__.py", line 360, in _process_pdb_file
    processed_pdb_file.xray_structure(show_summary=True)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 6106, in xray_structure
    raise Sorry(msg)
Sorry: Polymer crosses special position element:
ATOM    307  O   TYR A  18      48.257   0.000  16.200  1.00 17.44           O
Use 'allow_polymer_cross_special_position=True' to keep going.

Still happening 2/4/2024: 6hjw.cif. Fixed on 4/1/2024 on 6hjw.cif

russell-taylor commented 3 years ago

(done) (Group 14) Trying to use h_parameterization on None (reported):

2agn_error.txt
Traceback (most recent call last):
  File "/home/taylorr/rlab/cctbx_reliasolve/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/cli_parser.py", line 70, in run_program
    task.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 54, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 162, in run
    [bool(x) for x in self.model.riding_h_manager.h_parameterization])
AttributeError: 'NoneType' object has no attribute 'h_parameterization'

Did not happen in 7/29/2023 run.

russell-taylor commented 3 years ago

(done) (Group 15) Bad helix length (reported):

7b1e_error.txt
Traceback (most recent call last):
  File "/home/taylorr/rlab/cctbx_reliasolve/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/cli_parser.py", line 57, in run_program
    namespace = parser.parse_args(args)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/cli_parser.py", line 359, in parse_args
    self.process_files(self.namespace.files)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/cli_parser.py", line 412, in process_files
    getattr(self.data_manager, process_function)(filename)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/data_manager/model.py", line 153, in process_model_file
    log=self.logger)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 234, in __init__
    self._ss_annotation = self._model_input.extract_secondary_structure()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/pdb/mmcif.py", line 418, in extract_secondary_structure
    return secondary_structure.annotation.from_cif_block(self.cif_block, log=log)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/pdb/secondary_structure.py", line 643, in from_cif_block
    h = pdb_helix.from_cif_row(helix_row, serial)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/pdb/secondary_structure.py", line 1904, in from_cif_row
    length=length)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/pdb/secondary_structure.py", line 1822, in __init__
    raise Sorry("Bad helix length. Check HELIX records.\n%s" % self.as_pdb_str())
Sorry: Bad helix length. Check HELIX records.
HELIX    1 AA1 PHE A   47  VAL A    3  5                                 -43

Did not happen in 7/29/2023 run.

russell-taylor commented 3 years ago

(done) (Group 16) Bad space_group (reported):

1aj2_error.txt
Traceback (most recent call last):
  File "/home/taylorr/rlab/cctbx_reliasolve/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/cli_parser.py", line 70, in run_program
    task.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 54, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 93, in run
    self.n_H_initial = self.model.get_hd_selection().count(True)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 1122, in get_hd_selection
    xrs = self.get_xray_structure()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 444, in get_xray_structure
    assert cs.space_group() is not None
AssertionError

Not happening on 7/29/2023 Phenix run.

russell-taylor commented 3 years ago

(done) (Group 17) Helices with multiple chain IDs (reported);

2bp7_error.txt
Traceback (most recent call last):
  File "/home/taylorr/rlab/cctbx_reliasolve/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/cli_parser.py", line 57, in run_program
    namespace = parser.parse_args(args)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/cli_parser.py", line 359, in parse_args
    self.process_files(self.namespace.files)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/cli_parser.py", line 412, in process_files
    getattr(self.data_manager, process_function)(filename)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/data_manager/model.py", line 153, in process_model_file
    log=self.logger)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/mmtbx/model/model.py", line 234, in __init__
    self._ss_annotation = self._model_input.extract_secondary_structure()
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/pdb/mmcif.py", line 418, in extract_secondary_structure
    return secondary_structure.annotation.from_cif_block(self.cif_block, log=log)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/pdb/secondary_structure.py", line 643, in from_cif_block
    h = pdb_helix.from_cif_row(helix_row, serial)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/pdb/secondary_structure.py", line 1904, in from_cif_row
    length=length)
  File "/home/taylorr/rlab/cctbx_reliasolve/modules/cctbx_project/iotbx/pdb/secondary_structure.py", line 1839, in __init__
    "chain IDs ('%s' vs. '%s')." % (self.start_chain_id, self.end_chain_id))
Sorry: Don't know how to deal with helices with multiple chain IDs ('A' vs. 'C').

Not happening on 7/29/2023 Phenix run.

russell-taylor commented 2 years ago

(done) Dorothee has worked on several of the issues that Christopher sent her, which included many of the above. She's asked that I rerun the tests and tell her which ones are still failing. Rerun the compare.sh and then the one that summarizes the error types and send her lists of those that are failing.

I sent her example files for Groups 4 and 13, which were turned up early in the run. Did not re-send the ones that I had marked to be ignored.

(done) She also asked for a list of those that had large memory footprints. Again, she's fixed at least some of these recently and wants a new list of those that still have problems.

Large-memory jobs (> 10GB when killed by hand): 7a0i.cif, 7a05.cif, 2a0t.cif, 1a03.cif, 4a1m.cif, 2a24.cif, 7a01.cif, 2a00.cif, 7a2d.cif, 1a1t.cif. These were the ones I caught by watching the first part of the run.

russell-taylor commented 1 year ago

@todo: This zip file has an outputs directory. In it is a summary_2023_07_29 file that lists the types of errors, along with an example file for each. It also contains the list of error files for all failures. The ones with empty error files were reaped when they used 10+GB of memory; they are listed at the end of the summary file.

outputs.zip

russell-taylor commented 1 year ago

@todo: (Group 18, 5 entries) Problem with Anomeric carbons having two oxygens (3aih_error.txt).

Traceback (most recent call last):
  File "/home/taylorr/rlab/phenix/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/iotbx/cli_parser.py", line 872, in run_program
    task.run()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 66, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 146, in run
    self.model.process(pdb_interpretation_params=p,
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/model/model.py", line 1913, in process
    self._setup_restraints_manager(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/model/model.py", line 1971, in _setup_restraints_manager
    geometry = self._processed_pdb_file.geometry_restraints_manager(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 5835, in geometry_restraints_manager
    = self.all_chain_proxies.construct_geometry_restraints_manager(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 5444, in construct_geometry_restraints_manager
    self.process_nonbonded_for_links(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/linking_mixins.py", line 835, in process_nonbonded_for_links
    glyco_utils.apply_glyco_link_using_proxies_and_atoms(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/glyco_utils.py", line 606, in apply_glyco_link_using_proxies_and_atoms
    gla = glyco_utils.get_glyco_link_atoms(atom_group1,
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/glyco_utils.py", line 488, in get_glyco_link_atoms
    rc = get_any_linking_carbon(atom_group1,
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/glyco_utils.py", line 320, in get_any_linking_carbon
    raise Sorry(outl)
Sorry: Anomeric carbon ""HETATM 3627  C1  BMA D   1 .*.     C  "" has two oxygens. Need to remove non-ring O.

Still happening on 2/5/2024: 3hya.cif

russell-taylor commented 1 year ago

@todo: (Group 19, 2 entries) Failed to get atoms needed for glycosidic bond (6b3p_error.txt):

Traceback (most recent call last):
  File "/home/taylorr/rlab/phenix/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/iotbx/cli_parser.py", line 872, in run_program
    task.run()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 66, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 146, in run
    self.model.process(pdb_interpretation_params=p,
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/model/model.py", line 1913, in process
    self._setup_restraints_manager(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/model/model.py", line 1971, in _setup_restraints_manager
    geometry = self._processed_pdb_file.geometry_restraints_manager(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 5835, in geometry_restraints_manager
    = self.all_chain_proxies.construct_geometry_restraints_manager(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 5444, in construct_geometry_restraints_manager
    self.process_nonbonded_for_links(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/linking_mixins.py", line 835, in process_nonbonded_for_links
    glyco_utils.apply_glyco_link_using_proxies_and_atoms(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/glyco_utils.py", line 617, in apply_glyco_link_using_proxies_and_atoms
    raise Sorry("""Failed to get all the atoms needed for glycosidic bond
Sorry: Failed to get all the atoms needed for glycosidic bond
between

Still happening 2/5/2024: 6b3p.cif

Jane writes: Group 19,2 6b3p has two protein carbohydrate-binding-modules that non-covalently bind small oligosaccharides, so they should have no covalent glycosidic bond between the protein and the CHO. Non-covalent binding sites for CHOs are not very rare, and certainly should somehow be recognized as OK. Another case which might expect a glycosidic bond but not actually have one would be an abasic DNA or RNA, where the sugar side is present but the base side is not. One of those is in 1de9. If that doesn't help understand it, we can try to figure out where there's a module that specifically checks for a glycosidic bond, presumably on the cctbx side.

russell-taylor commented 11 months ago

(done) (Group 20) Failure to lookup n_rows (3a05_error.txt):

Traceback (most recent call last):
  File "/home/taylorr/rlab/phenix/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/iotbx/cli_parser.py", line 884, in run_program
    task.run()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 66, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 184, in run
    pdb_hierarchy = self.add_missing_H_atoms_at_bogus_position()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 371, in add_missing_H_atoms_at_bogus_position
    mlq = mon_lib_query(residue=ag, mon_lib_srv=mon_lib_srv)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 110, in mon_lib_query
    md = get_h_restraints(residue.resname)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 29, in get_h_restraints
    molecule = read_chemical_component_filename(filename)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/ligands/rdkit_utils.py", line 54, in read_chemical_component_filename
    xyzs = get_cc_cartesian_coordinates(ccd)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/ligands/rdkit_utils.py", line 27, in get_cc_cartesian_coordinates
    conformer = Chem.Conformer(atom.n_rows())
AttributeError: 'NoneType' object has no attribute 'n_rows'

Nigel found and fixed.

russell-taylor commented 11 months ago

@todo: (Group 21, 274 entries) Failure to find iterrows when looking up restraints (7aqa_error.txt):

Traceback (most recent call last):
  File "/home/taylorr/rlab/phenix/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/iotbx/cli_parser.py", line 884, in run_program
    task.run()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 66, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 184, in run
    pdb_hierarchy = self.add_missing_H_atoms_at_bogus_position()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 371, in add_missing_H_atoms_at_bogus_position
    mlq = mon_lib_query(residue=ag, mon_lib_srv=mon_lib_srv)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 110, in mon_lib_query
    md = get_h_restraints(residue.resname)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 29, in get_h_restraints
    molecule = read_chemical_component_filename(filename)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/ligands/rdkit_utils.py", line 77, in read_chemical_component_filename
    for tmp in bond.iterrows():
AttributeError: 'NoneType' object has no attribute 'iterrows'

Still happening 2/5/2024: 5c5y.cif

russell-taylor commented 11 months ago

@todo: (Group 22, 36 entries) riding_h_manager gets conflicting angle and bond restraints (1b6j_error.txt):

Traceback (most recent call last):
  File "/home/taylorr/rlab/phenix/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/iotbx/cli_parser.py", line 884, in run_program
    task.run()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 66, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 258, in run
    self.model.setup_riding_h_manager(use_ideal_dihedral = True)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/model/model.py", line 2511, in setup_riding_h_manager
    self.riding_h_manager = riding.manager(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/riding.py", line 29, in __init__
    connectivity_manager = connectivity.determine_connectivity(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/connectivity.py", line 62, in __init__
    self.find_second_neighbors_raw(angle_proxies = angle_proxies)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/connectivity.py", line 140, in find_second_neighbors_raw
    raise Sorry  (
Sorry: It looks like angle and bond restraints are conflicting.
             Bond proxies:  H atom pdb=" H   RTY C   2 " is bound to pdb=" C   RTY C   2 ". 
             Angle proxies: H atom pdb=" H   RTY C   2 " is bound to pdb=" N   RTY C   2 "

Still happening 2/5/2024: 6d03.cif

russell-taylor commented 11 months ago

@todo: (Group 23, 2 entries) Restraints manager cannot find suitable linking carbons (1cap_error.txt):

Traceback (most recent call last):
  File "/home/taylorr/rlab/phenix/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in 
<module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/iotbx/cli_parser.py", line 884, in run_program
    task.run()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 66, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 235, in run
    self.model.process(pdb_interpretation_params=p,
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/model/model.py", line 1921, in process
    self._setup_restraints_manager(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/model/model.py", line 1996, in _setup_restraints_m
anager
    geometry = self._processed_pdb_file.geometry_restraints_manager(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 5837,
 in geometry_restraints_manager
    = self.all_chain_proxies.construct_geometry_restraints_manager(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 5446,
 in construct_geometry_restraints_manager
    self.process_nonbonded_for_links(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/linking_mixins.py", line 835, in p
rocess_nonbonded_for_links
    glyco_utils.apply_glyco_link_using_proxies_and_atoms(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/glyco_utils.py", line 606, in appl
y_glyco_link_using_proxies_and_atoms
    gla = glyco_utils.get_glyco_link_atoms(atom_group1,
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/glyco_utils.py", line 493, in get_glyco_link_atoms
    rc = get_C1_carbon(atom_group1,
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/glyco_utils.py", line 355, in get_C1_carbon
    raise Sorry("""Trying to find the linking carbons but could not find
Sorry: Trying to find the linking carbons but could not find
        a suitable candidate.

                "HETATM   45  C1  BGC A   3 .*.     C  "
                "HETATM  233  C1  MAN A  11 .*.     C  "
        Check carbohydrate geometry.

Still happening 2/5/2024: 1cap.cif

russell-taylor commented 11 months ago

@todo: (Group 24, 44 entries) get_h_restraints had problems with CFN (2afh_error.txt):

Traceback (most recent call last):
  File "/home/taylorr/rlab/phenix/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in 
<module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/iotbx/cli_parser.py", line 884, in run_program
    task.run()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 66, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 184, in run
    pdb_hierarchy = self.add_missing_H_atoms_at_bogus_position()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 371, in add_mi
ssing_H_atoms_at_bogus_position
    mlq = mon_lib_query(residue=ag, mon_lib_srv=mon_lib_srv)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 110, in mon_li
b_query
    md = get_h_restraints(residue.resname)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 29, in get_h_r
estraints
    molecule = read_chemical_component_filename(filename)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/ligands/rdkit_utils.py", line 60, in read_chemical
_component_filename
    raise Sorry('''
Sorry: 
  Generating H restraints from Chemical Componets for CFN failed. Please supply
  restraints.

This also fails for 1b7e with TPT.

Still fails as of 2/5/2024: 5ggx.cif

russell-taylor commented 7 months ago

@todo: (Group 25, 1 entry) Bond distance too long:

8esz_error.txt
Traceback (most recent call last):
  File "/home/taylorr/rlab/phenix/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in 
<module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/iotbx/cli_parser.py", line 931, in run_program
    task.run()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 66, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 235, in run
    self.model.process(pdb_interpretation_params=p,
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/model/model.py", line 1928, in process
    self._setup_restraints_manager(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/model/model.py", line 2003, in _setup_restraints_m
anager
    geometry = self._processed_pdb_file.geometry_restraints_manager(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 5854,
 in geometry_restraints_manager
    self._geometry_restraints_manager.pair_proxies(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/cctbx/geometry_restraints/manager.py", line 1381, in pai
r_proxies
    check_bonded_distance_cutoff(sites_frac=sites_frac)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/cctbx/geometry_restraints/manager.py", line 1262, in che
ck_bonded_distance_cutoff
    raise RuntimeError(msg)
RuntimeError: Bond distance > max_reasonable_bond_distance: 83.0716 > 50:

Seen on 2/5/2024: 8esz.cif

russell-taylor commented 7 months ago

@todo: (Group 26, 4 entries) Invalid literal for int()

8cf7_error.txt
Traceback (most recent call last):
  File "/home/taylorr/rlab/phenix/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/iotbx/cli_parser.py", line 931, in run_program
    task.run()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 66, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 184, in run
    pdb_hierarchy = self.add_missing_H_atoms_at_bogus_position()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 374, in add_missing_H_atoms_at_bogus_position
    mlq = mon_lib_query(residue=ag, mon_lib_srv=mon_lib_srv)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 110, in mon_lib_query
    md = get_h_restraints(residue.resname)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 29, in get_h_restraints
    molecule = read_chemical_component_filename(filename)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/ligands/rdkit_utils.py", line 70, in read_chemical_component_filename
    new.SetFormalCharge(int(tmp.get('_chem_comp_atom.charge')))
ValueError: invalid literal for int() with base 10: '?'

Seen on 2/5/2024: 8cf7.cif

russell-taylor commented 7 months ago

@todo: (Group 27, 1 entry) Invalid operating for abs()

1nlm_error.txt
Traceback (most recent call last):
  File "/home/taylorr/rlab/phenix/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/iotbx/cli_parser.py", line 931, in run_program
    task.run()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 66, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 235, in run
    self.model.process(pdb_interpretation_params=p,
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/model/model.py", line 1883, in process
    self._processed_pdb_file, _ = processed_pdb_files_srv.process_pdb_files(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/utils/__init__.py", line 282, in process_pdb_files
    return self._process_pdb_file(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/utils/__init__.py", line 347, in _process_pdb_file
    processed_pdb_file = monomer_library.pdb_interpretation.process(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 5762, in __init__
    self.all_chain_proxies = build_all_chain_proxies(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 3343, in __init__
    info = self.pdb_hierarchy.flip_symmetric_amino_acids()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/iotbx/pdb/hierarchy.py", line 1860, in flip_symmetric_amino_acids
    if abs(dihedral)>360./flip_data["value"][1]/4:
TypeError: bad operand type for abs(): 'NoneType'

Seen on 2/5/2024: 1nlm.cif

russell-taylor commented 7 months ago

todo: (Group 28, 1 entry) Unable to determine the linking chiral atoms for atom groups

3evj_error.txt
Traceback (most recent call last):
  File "/home/taylorr/rlab/phenix/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/iotbx/cli_parser.py", line 931, in run_program
    task.run()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 66, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 235, in run
    self.model.process(pdb_interpretation_params=p,
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/model/model.py", line 1928, in process
    self._setup_restraints_manager(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/model/model.py", line 2003, in _setup_restraints_manager
    geometry = self._processed_pdb_file.geometry_restraints_manager(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 5837, in geometry_restraints_manager
    = self.all_chain_proxies.construct_geometry_restraints_manager(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 5446, in construct_geometry_restraints_manager
    self.process_nonbonded_for_links(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/linking_mixins.py", line 835, in process_nonbonded_for_links
    glyco_utils.apply_glyco_link_using_proxies_and_atoms(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/glyco_utils.py", line 674, in apply_glyco_link_using_proxies_and_atoms
    raise Sorry("""Unable to determine the linking chiral atoms for atom groups
Sorry: Unable to determine the linking chiral atoms for atom groups

Seen on 2/5/2024: 3evj.cif

russell-taylor commented 7 months ago

(done) (Group 29, 1 entry) Sorry: CDL error: bond not found between

5g1o_error.txt
Traceback (most recent call last):
  File "/home/taylorr/rlab/phenix/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/iotbx/cli_parser.py", line 931, in run_program
    task.run()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 66, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 235, in run
    self.model.process(pdb_interpretation_params=p,
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/model/model.py", line 1928, in process
    self._setup_restraints_manager(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/model/model.py", line 2003, in _setup_restraints_manager
    geometry = self._processed_pdb_file.geometry_restraints_manager(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 5837, in geometry_restraints_manager
    = self.all_chain_proxies.construct_geometry_restraints_manager(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 5539, in construct_geometry_restraints_manager
    update_restraints(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/conformation_dependent_library/__init__.py", line 386, in update_restraints
    threes.apply_updates(restraint_values,
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/conformation_dependent_library/multi_residue_cdl_class.py", line 278, in apply_updates
    raise Sorry(outl)
Sorry: CDL error: bond not found between "ATOM   3583  CA  GLY A2163 .*.     C  " - "ATOM   3586  CB  GLY A2163 .*.     C  "

Seen on 2/5/2024: 5g0o.cif Fixed on 4/4/2024

russell-taylor commented 7 months ago

@todo: (Group 30, 1 entry) Sorry: Duplicate bond_simple restraints

5lsv_error.txt
Traceback (most recent call last):
  File "/home/taylorr/rlab/phenix/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/iotbx/cli_parser.py", line 931, in run_program
    task.run()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/programs/hydrogenate.py", line 66, in run
    reduce_add_h_obj.run()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/hydrogens/reduce_hydrogen.py", line 235, in run
    self.model.process(pdb_interpretation_params=p,
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/model/model.py", line 1883, in process
    self._processed_pdb_file, _ = processed_pdb_files_srv.process_pdb_files(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/utils/__init__.py", line 282, in process_pdb_files
    return self._process_pdb_file(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/utils/__init__.py", line 347, in _process_pdb_file
    processed_pdb_file = monomer_library.pdb_interpretation.process(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 5762, in __init__
    self.all_chain_proxies = build_all_chain_proxies(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 3550, in __init__
    chain_proxies = build_chain_proxies(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 2815, in __init__
    mm.add_bond_proxies(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 1626, in add_bond_proxies
    self.bond_counters = add_bond_proxies(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 1992, in __init__
    evaluate_registry_process_result(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/mmtbx/monomer_library/pdb_interpretation.py", line 1915, in evaluate_registry_process_result
    raise Sorry(format_exception_message(
Sorry: Duplicate bond_simple restraints:
  residues: HIC%NH3, conformer "A" + HIC%NH3, conformer "A"
  atoms:
    "HETATM    1  N  AHIC A   1 .*.     N  "
    "HETATM   13  H2 AHIC A   1 .*.     H  "

Seen on 2/5/2024: 5lsv.cif

russell-taylor commented 7 months ago

@todo: (Group 31, 1 entry) CifBuilderError: Space group is incompatible with unit cell

8gz6_error.txt
Traceback (most recent call last):
  File "/home/taylorr/rlab/phenix/build/../modules/cctbx_project/mmtbx/command_line/hydrogenate.py", line 6, in <module>
    run_program(hydrogenate.Program)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/iotbx/cli_parser.py", line 909, in run_program
    namespace = parser.parse_args(args)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/iotbx/cli_parser.py", line 351, in parse_args
    self.process_files(self.namespace.files)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/iotbx/cli_parser.py", line 401, in process_files
    a = any_file(filename)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/iotbx/file_reader.py", line 219, in any_file
    return input_class(file_name=file_name_raw,
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/iotbx/file_reader.py", line 299, in __init__
    self.try_all_types()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/iotbx/file_reader.py", line 525, in try_all_types
    read_method()
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/iotbx/file_reader.py", line 354, in _try_as_pdb
    pdb_inp = iotbx.pdb.hierarchy.input(self.file_name)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/iotbx/pdb/hierarchy.py", line 3116, in __init__
    super(input, self).__init__(input=pdb_inp, sort_atoms=sort_atoms)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/iotbx/pdb/hierarchy.py", line 3022, in __init__
    hierarchy = self.input.construct_hierarchy(
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/iotbx/pdb/mmcif.py", line 381, in construct_hierarchy
    self.builder = pdb_hierarchy_builder(self.cif_block)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/iotbx/pdb/mmcif.py", line 35, in __init__
    crystal_symmetry_builder.__init__(self, cif_block)
  File "/home/taylorr/rlab/phenix/modules/cctbx_project/iotbx/cif/builders.py", line 242, in __init__
    raise CifBuilderError(
CifBuilderError: Space group is incompatible with unit cell parameters:
  Space group: P 32 2 1
  Unit cell: (39.758, 32.113, 84.566, 90, 93.96, 90)

Seen on 2/5/2024: 8gz6.cif