By default, the crosslinking restraints, for all crosslinked residue pairs (r1, r2), will add contributions from all copies of that residue. I.e., for two copies of a molecule (c1 and c2), four contributions are added to the restraint: [c1r1-c1r2], [c1r1-c2r2], [c2r1-c1r2], [c2r1-c2r2]. The restraint is evaluated on the residue pair with the smallest distance.
Certain crosslinks, however, can be unambiguously assigned as intermolecular. Specifically, those crosslinked peptides that have overlapping sequence must come from different macromolecules. It would be nice to be able to flag these type of crosslinks and remove the intra-molecular contributions. This is especially important because, since the two crosslinked residues are likely very close in sequence, they are likely to be satisfied by the intra-molecular contribution.
I think the best way to do this would be:
Utilize the link_type_key and create a conditional in the restraint code that looks for link_type_key=="Interlink" or link_type_key=="Intralink" and creates the appropriate contributions. A link_type_key=="Ambiguouslink" could be used for crosslinks without this information. These keys may have to be manually added to the crosslinking datafile or manually identified in the XLDB. The XLDB code could also automatically detect these overlapping peptides.
By default, the crosslinking restraints, for all crosslinked residue pairs (r1, r2), will add contributions from all copies of that residue. I.e., for two copies of a molecule (c1 and c2), four contributions are added to the restraint: [c1r1-c1r2], [c1r1-c2r2], [c2r1-c1r2], [c2r1-c2r2]. The restraint is evaluated on the residue pair with the smallest distance.
Certain crosslinks, however, can be unambiguously assigned as intermolecular. Specifically, those crosslinked peptides that have overlapping sequence must come from different macromolecules. It would be nice to be able to flag these type of crosslinks and remove the intra-molecular contributions. This is especially important because, since the two crosslinked residues are likely very close in sequence, they are likely to be satisfied by the intra-molecular contribution.
I think the best way to do this would be:
Utilize the
link_type_keyand create a conditional in the restraint code that looks forlink_type_key=="Interlink"orlink_type_key=="Intralink"and creates the appropriate contributions. Alink_type_key=="Ambiguouslink"could be used for crosslinks without this information. These keys may have to be manually added to the crosslinking datafile or manually identified in the XLDB. The XLDB code could also automatically detect these overlapping peptides.