schrodinger.application.bioluminate.tcr.docking_angles module

Script to generate the cross angle, incident angle, and incline angle of a TCR-MHC complex.

For Class I MHC, provide ONLY the alpha chain ID for your complex. For Class II MHC, you must additionally provide the beta chain ID.

class schrodinger.application.bioluminate.tcr.docking_angles.TcrChainIds(alpha: str, beta: str)

Bases: object

alpha: str
beta: str
classmethod from_family_data_dict(family_data_dict: dict[str, schrodinger.application.bioluminate.classify.ProteinClass])
__init__(alpha: str, beta: str) None
class schrodinger.application.bioluminate.tcr.docking_angles.DescriptiveAngles(cross_angle: float, incident_angle: float, incline_angle: float)

Bases: object

cross_angle: float
incident_angle: float
incline_angle: float
__init__(cross_angle: float, incident_angle: float, incline_angle: float) None
schrodinger.application.bioluminate.tcr.docking_angles.parse_args(args)
schrodinger.application.bioluminate.tcr.docking_angles.main()
schrodinger.application.bioluminate.tcr.docking_angles.get_descriptive_angles(complex_st, alpha_id, beta_id=None, write_pml=False) schrodinger.application.bioluminate.tcr.docking_angles.DescriptiveAngles

Get the cross angle, incident angle, and incline angle of a TCR-MHC complex.

These are defined as follows:

  • Cross angle: the angle between the TCR disulfide vector and the MHC groove vector (which runs along the peptide in the MHC binding groove)

  • Incident angle: the angle between the normal of the MHC surface and the TCR inter-domain axis

  • Incline angle: the angle between the inter-domain axis and the vector normal to the peptide in the MHC plane

The cross and incident angle calculations are based on the following paper: “How TCRs bind MHCs, peptides, and coreceptors” 10.1146/annurev.immunol.23.021704.115658

Parameters
  • complex_st – The structure of the TCR-MHC complex

  • alpha_id – The chain id of the alpha chain of the TCR

  • beta_id – The chain id of the beta chain of the TCR

  • write_pml – Whether to write a PyMOL script which generates pseudoatoms for the descriptive vectors of the complex

Returns

A DescriptiveAngles object containing the calculated angles

schrodinger.application.bioluminate.tcr.docking_angles.get_tcr_centroid(complex_st, family_data, tcr_chain_ids)
schrodinger.application.bioluminate.tcr.docking_angles.get_mhc_vectors(complex_st, alpha_id, beta_id=None)

Get the groove, plane, and normal vectors of the MHC complex. If no beta chain id is provided, the complex is assumed to be class I, as the binding groove of class I MHCs is formed by two helices of the alpha chain.

schrodinger.application.bioluminate.tcr.docking_angles.get_residues_within_bounds(residues: Iterable[schrodinger.structure._structure.Residue], *, bounds: Optional[tuple[int, int]], alt_numbering: Optional[Iterable[int]] = None)

Get the residues within the given bounds. If alternate numbering is provided, match the residues to the numbering and return only those whose alternate numbering is within the bounds.

Parameters
  • residues – iterable of Residue objects

  • bounds – tuple of the start and end of the region. if not provided, all residues are returned

  • alt_numbering – iterable of the numbering of the residues. if not provided, the sequential numbering of the residues is used

Returns

schrodinger.application.bioluminate.tcr.docking_angles.get_vectors_from_residues(residues)
schrodinger.application.bioluminate.tcr.docking_angles.get_centroid_from_residues(residues)
schrodinger.application.bioluminate.tcr.docking_angles.get_eigenvectors(coord_matrix)
schrodinger.application.bioluminate.tcr.docking_angles.get_ca_positions(residues)
schrodinger.application.bioluminate.tcr.docking_angles.get_tcr_disulfide_axis(complex_st, family_data, tcr_chain_ids)

Get the direction from the pseudo-center of the disulfide bond in the alpha chain to the pseudo-center of the disulfide bond in the beta chain

schrodinger.application.bioluminate.tcr.docking_angles.get_disulfide_center_point(tcr_chain, chain_data: schrodinger.application.bioluminate.classify.ProteinClass)
schrodinger.application.bioluminate.tcr.docking_angles.get_tcr_interdomain_axis(complex_st, family_data, tcr_chain_ids)
schrodinger.application.bioluminate.tcr.docking_angles.get_axis_of_rotation(alignment_quaternion)
schrodinger.application.bioluminate.tcr.docking_angles.get_angle(v1, v2)
schrodinger.application.bioluminate.tcr.docking_angles.get_unit_vector(vector)
schrodinger.application.bioluminate.tcr.docking_angles.write_angle_csv(filename: str, angles: schrodinger.application.bioluminate.tcr.docking_angles.DescriptiveAngles)
schrodinger.application.bioluminate.tcr.docking_angles.write_vectors_to_pml(vectors)