Creating a bond between symmetry mates on phenix
Hello everyone, I am new to this forum and I am glad this exists for discussions between phenix users. I have been trying to create a bond between two atoms belonging to different symmetry but when I create the bond restraints on phenix, I get an error message that says custom bonds with excessive length and I later realized the problem is not the bond length but the fact that the two atoms are in different symmetry. Is there a way to make this work on phenix? I would love suggestions on this. Thank you, Purity
Hi Purity, You need to define the symmetry operation: For bonds to symmetry copies, specify the symmetry operation in xyz notation, for example: symmetry_operation = -x-1/2,y-1/2,-z+1/2 To obtain the symmetry_operation, either use Coot (turn on drawing on symmetry copies, then click on the copy and look for the symmetry operation in the status bar), or run this command: iotbx.show_distances your.pdb > all_distances This will produce a potentially long all_distances file, but if you search for sym= there will probably only be a few matches from which it is easy to pick the one you are interested in, based on the pdb atom labels. (taken from https://phenix-online.org/documentation/reference/refinement.html#definition... ) Best regards, Oleg Sobolev. On Mon, Jun 8, 2026 at 8:57 AM Ezennubia, Purity via phenixbb < [email protected]> wrote:
Hello everyone,
I am new to this forum and I am glad this exists for discussions between phenix users.
I have been trying to create a bond between two atoms belonging to different symmetry but when I create the bond restraints on phenix, I get an error message that says custom bonds with excessive length and I later realized the problem is not the bond length but the fact that the two atoms are in different symmetry.
Is there a way to make this work on phenix? I would love suggestions on this.
Thank you, Purity _______________________________________________ phenixbb mailing list -- [email protected] To unsubscribe send an email to [email protected] Unsubscribe: phenixbb-leave@%(host_name)s
Purity There is documentation here https://phenix-online.org/documentation/reference/refinement.html as well as YouTube channel https://www.youtube.com/@PhenixTutorials In your case, you may be able to get answers with command line tools. Are you able to run commands? Cheers Nigel --- Nigel W. Moriarty Building 92-4-431M1, Molecular Biophysics and Integrated Bioimaging Lawrence Berkeley National Laboratory Berkeley, CA 94720-8235 Email : [email protected] Web : CCI.LBL.gov ORCID : orcid.org/0000-0001-8857-9464 On Mon, Jun 8, 2026 at 8:57 AM Ezennubia, Purity via phenixbb < [email protected]> wrote:
Hello everyone,
I am new to this forum and I am glad this exists for discussions between phenix users.
I have been trying to create a bond between two atoms belonging to different symmetry but when I create the bond restraints on phenix, I get an error message that says custom bonds with excessive length and I later realized the problem is not the bond length but the fact that the two atoms are in different symmetry.
Is there a way to make this work on phenix? I would love suggestions on this.
Thank you, Purity _______________________________________________ phenixbb mailing list -- [email protected] To unsubscribe send an email to [email protected] Unsubscribe: phenixbb-leave@%(host_name)s
Hi Purity, if you ask Phenix ChatBot (highly recommended for this kind of queries!), the answer is spot on, pasted below. Of course, Phenix ChatBot can make mistakes, in which case your feedback is invaluable! Pavel Yes, you can absolutely create bond restraints between symmetry-related atoms in Phenix. The reason you are getting the "excessive length" error is that Phenix is calculating the Cartesian distance between the two original atoms in the primary asymmetric unit, rather than the distance to the actual symmetry mate. To make this work, you need to *explicitly define the symmetry operation* in your custom bond restraint parameters using the *|symmetry_operation|* keyword. Here is the format you should use in your parameter (PHIL) file: |geometry_restraints { edits { bond { action = add atom_selection_1 = chain A and resseq 123 and name O atom_selection_2 = chain Z and resname LIG and name ND1 symmetry_operation = -x-1/2,y-1/2,-z+1/2 distance_ideal = 1.4 sigma = 0.025 } } } | How to find the correct |symmetry_operation|: If you don't know the exact XYZ notation for the symmetry operation relating your two atoms, the sources suggest two ways to find it: 1. *Using Coot:* Turn on the drawing of symmetry copies, click on the specific symmetry copy of the atom you are trying to bond to, and look for the symmetry operation displayed in the status bar. 2. *Using the Command Line:* Run the command |iotbx.show_distances your.pdb > all_distances|. This will produce a text file. If you search through this file for |sym=|, you can match it to your specific atoms based on the PDB atom labels to find the correct operator. Handling the "Excessive Length" Error: Once the |symmetry_operation| is correctly applied, Phenix will calculate the distance to the symmetry copy, which should immediately resolve the "excessive length" error. However, if you are genuinely creating a very long restraint, or if you still run into errors during setup, you can override Phenix's safety checks by adding these parameters to your configuration: * *|excessive_bond_distance_limit = 10|* (You can increase this number beyond the default of 10 Å). * *|proceed_with_excessive_length_bonds = True|* (This forces Phenix to ignore the length safety check altogether). On 6/8/26 08:57, Ezennubia, Purity via phenixbb wrote:
Hello everyone,
I am new to this forum and I am glad this exists for discussions between phenix users.
I have been trying to create a bond between two atoms belonging to different symmetry but when I create the bond restraints on phenix, I get an error message that says custom bonds with excessive length and I later realized the problem is not the bond length but the fact that the two atoms are in different symmetry.
Is there a way to make this work on phenix? I would love suggestions on this.
Thank you, Purity _______________________________________________ phenixbb mailing list [email protected] To unsubscribe send an email [email protected] Unsubscribe: phenixbb-leave@%(host_name)s
Thank you all for the suggestions. I was able to identify the correct symmetry operator on coot and included it in my .phil file but I still get the same error “Excessive custom bond length”. I have been trying other things like making sure I position the atoms close enough and specify the distance between those atoms on coot in my .phil file but I still get the same error message. Now I am not sure what else to try again. I would appreciate any other suggestions.
Below is the geometry restraints I included in my .phil file:
geometry_restraints.edits {
bond {
action = add
atom_selection_1 = chain A and resid 1 and name C04
atom_selection_2 = chain A and resid 360 and name SG and altloc B
symmetry_operation = x, -y-1, -z
distance_ideal = 2.35
sigma = 0.025
}
}
Thank you,
Purity
Get Outlook for Machttps://aka.ms/GetOutlookForMac
From: Pavel Afonine
Hi Purity, please send me the PDB file off list and I will have a look. Pavel On 6/10/26 09:06, Ezennubia, Purity wrote:
Thank you all for the suggestions. I was able to identify the correct symmetry operator on coot and included it in my .phil file but I still get the same error “Excessive custom bond length”. I have been trying other things like making sure I position the atoms close enough and specify the distance between those atoms on coot in my .phil file but I still get the same error message. Now I am not sure what else to try again. I would appreciate any other suggestions. Below is the geometry restraints I included in my .phil file:
geometry_restraints.edits { bond { action = add atom_selection_1 = chain A and resid 1 and name C04 atom_selection_2 = chain A and resid 360 and name SG and altloc B symmetry_operation = x, -y-1, -z distance_ideal = 2.35 sigma = 0.025 } } Thank you, Purity
Get Outlook for Mac https://aka.ms/GetOutlookForMac *From: *Pavel Afonine
*Date: *Monday, June 8, 2026 at 2:02 PM *To: *Ezennubia, Purity ; [email protected] *Subject: *Re: [phenixbb] Creating a bond between symmetry mates on phenix You don't often get email from [email protected]. Learn why this is important https://aka.ms/LearnAboutSenderIdentification
Hi Purity,
if you ask Phenix ChatBot (highly recommended for this kind of queries!), the answer is spot on, pasted below. Of course, Phenix ChatBot can make mistakes, in which case your feedback is invaluable!
Pavel
Yes, you can absolutely create bond restraints between symmetry-related atoms in Phenix. The reason you are getting the "excessive length" error is that Phenix is calculating the Cartesian distance between the two original atoms in the primary asymmetric unit, rather than the distance to the actual symmetry mate.
To make this work, you need to *explicitly define the symmetry operation* in your custom bond restraint parameters using the |*symmetry_operation*| keyword.
Here is the format you should use in your parameter (PHIL) file:
|geometry_restraints { edits { bond { action = add atom_selection_1 = chain A and resseq 123 and name O atom_selection_2 = chain Z and resname LIG and name ND1 symmetry_operation = -x-1/2,y-1/2,-z+1/2 distance_ideal = 1.4 sigma = 0.025 } } } |
How to find the correct |symmetry_operation|:
If you don't know the exact XYZ notation for the symmetry operation relating your two atoms, the sources suggest two ways to find it:
1. *Using Coot:* Turn on the drawing of symmetry copies, click on the specific symmetry copy of the atom you are trying to bond to, and look for the symmetry operation displayed in the status bar. 2. *Using the Command Line:* Run the command |iotbx.show_distances your.pdb > all_distances|. This will produce a text file. If you search through this file for |sym=|, you can match it to your specific atoms based on the PDB atom labels to find the correct operator.
Handling the "Excessive Length" Error:
Once the |symmetry_operation| is correctly applied, Phenix will calculate the distance to the symmetry copy, which should immediately resolve the "excessive length" error.
However, if you are genuinely creating a very long restraint, or if you still run into errors during setup, you can override Phenix's safety checks by adding these parameters to your configuration:
* |*excessive_bond_distance_limit = 10*| (You can increase this number beyond the default of 10 Å). * |*proceed_with_excessive_length_bonds = True*| (This forces Phenix to ignore the length safety check altogether).
On 6/8/26 08:57, Ezennubia, Purity via phenixbb wrote:
Hello everyone, I am new to this forum and I am glad this exists for discussions between phenix users. I have been trying to create a bond between two atoms belonging to different symmetry but when I create the bond restraints on phenix, I get an error message that says custom bonds with excessive length and I later realized the problem is not the bond length but the fact that the two atoms are in different symmetry. Is there a way to make this work on phenix? I would love suggestions on this. Thank you, Purity _______________________________________________ phenixbb mailing list -- [email protected] To unsubscribe send an email to [email protected] Unsubscribe: phenixbb-leave@%(host_name)s
Hi Purity, the log file that you supplied off list shows you used symmetry_operation = x, -y, -z while below you quote symmetry_operation = x, -y-1, -z The first one (x, -y, -z) is what Coot suggests (at least my ancient version) and that won't work. However, "x, -y-1, -z" is correct and works fine in my hands. The way to find "x, -y-1, -z" is to run phenix.pdb_interpretation model.pdb write_geo=true ligands.cif and then find pair of atoms in question in nonbonded section (we need to update our instructions and suggest this route!). Parameter file that works for me is attached. Pavel On 6/10/26 09:06, Ezennubia, Purity wrote:
Thank you all for the suggestions. I was able to identify the correct symmetry operator on coot and included it in my .phil file but I still get the same error “Excessive custom bond length”. I have been trying other things like making sure I position the atoms close enough and specify the distance between those atoms on coot in my .phil file but I still get the same error message. Now I am not sure what else to try again. I would appreciate any other suggestions. Below is the geometry restraints I included in my .phil file:
geometry_restraints.edits { bond { action = add atom_selection_1 = chain A and resid 1 and name C04 atom_selection_2 = chain A and resid 360 and name SG and altloc B symmetry_operation = x, -y-1, -z distance_ideal = 2.35 sigma = 0.025 } } Thank you, Purity
Get Outlook for Mac https://aka.ms/GetOutlookForMac *From: *Pavel Afonine
*Date: *Monday, June 8, 2026 at 2:02 PM *To: *Ezennubia, Purity ; [email protected] *Subject: *Re: [phenixbb] Creating a bond between symmetry mates on phenix You don't often get email from [email protected]. Learn why this is important https://aka.ms/LearnAboutSenderIdentification
Hi Purity,
if you ask Phenix ChatBot (highly recommended for this kind of queries!), the answer is spot on, pasted below. Of course, Phenix ChatBot can make mistakes, in which case your feedback is invaluable!
Pavel
Yes, you can absolutely create bond restraints between symmetry-related atoms in Phenix. The reason you are getting the "excessive length" error is that Phenix is calculating the Cartesian distance between the two original atoms in the primary asymmetric unit, rather than the distance to the actual symmetry mate.
To make this work, you need to *explicitly define the symmetry operation* in your custom bond restraint parameters using the |*symmetry_operation*| keyword.
Here is the format you should use in your parameter (PHIL) file:
|geometry_restraints { edits { bond { action = add atom_selection_1 = chain A and resseq 123 and name O atom_selection_2 = chain Z and resname LIG and name ND1 symmetry_operation = -x-1/2,y-1/2,-z+1/2 distance_ideal = 1.4 sigma = 0.025 } } } |
How to find the correct |symmetry_operation|:
If you don't know the exact XYZ notation for the symmetry operation relating your two atoms, the sources suggest two ways to find it:
1. *Using Coot:* Turn on the drawing of symmetry copies, click on the specific symmetry copy of the atom you are trying to bond to, and look for the symmetry operation displayed in the status bar. 2. *Using the Command Line:* Run the command |iotbx.show_distances your.pdb > all_distances|. This will produce a text file. If you search through this file for |sym=|, you can match it to your specific atoms based on the PDB atom labels to find the correct operator.
Handling the "Excessive Length" Error:
Once the |symmetry_operation| is correctly applied, Phenix will calculate the distance to the symmetry copy, which should immediately resolve the "excessive length" error.
However, if you are genuinely creating a very long restraint, or if you still run into errors during setup, you can override Phenix's safety checks by adding these parameters to your configuration:
* |*excessive_bond_distance_limit = 10*| (You can increase this number beyond the default of 10 Å). * |*proceed_with_excessive_length_bonds = True*| (This forces Phenix to ignore the length safety check altogether).
On 6/8/26 08:57, Ezennubia, Purity via phenixbb wrote:
Hello everyone, I am new to this forum and I am glad this exists for discussions between phenix users. I have been trying to create a bond between two atoms belonging to different symmetry but when I create the bond restraints on phenix, I get an error message that says custom bonds with excessive length and I later realized the problem is not the bond length but the fact that the two atoms are in different symmetry. Is there a way to make this work on phenix? I would love suggestions on this. Thank you, Purity _______________________________________________ phenixbb mailing list -- [email protected] To unsubscribe send an email to [email protected] Unsubscribe: phenixbb-leave@%(host_name)s
participants (4)
-
Ezennubia, Purity -
Nigel Moriarty -
Oleg Sobolev -
Pavel Afonine