schrodinger.application.bioluminate.classify module

class schrodinger.application.bioluminate.classify.NumberedResidue(residue: str, chain_id: str, number: int, insertion_code: str)

Bases: object

A residue with a sequence number.

residue: str
chain_id: str
number: int
insertion_code: str
property number_with_ins_code: str
property number_with_ins_code_and_chain_id: str
classmethod from_anarci_resinfo(resinfo: ResInfo, chain_id='') NumberedResidue
__init__(residue: str, chain_id: str, number: int, insertion_code: str) None
class schrodinger.application.bioluminate.classify.NumberedSequence(*args, scheme=None, **kwargs)

Bases: list

__init__(*args, scheme=None, **kwargs)
class schrodinger.application.bioluminate.classify.ProteinClass(type: str = 'Unknown', region_bounds: dict[str, tuple[int, int]] = <factory>, numbering_with_gaps: ~schrodinger.application.bioluminate.classify.NumberedSequence = <factory>)

Bases: object

The basic information about a protein class - its type, the bounds of its regions, and its re-numbered sequence.

e.g.: sequence: ‘EVQ…’ type: Antibody VH region_bounds: {‘FR1’: (1, 26), ‘CDR1’: (27, 38), ‘FR2’: (39, 55), …} numbering_with_gaps: [ NumberedResidue(residue=’E’, chain_id=’H’, number=1, insertion_code=’ ‘), NumberedResidue(residue=’V’, chain_id=’H’, number=2, insertion_code=’ ‘), NumberedResidue(residue=’Q’, chain_id=’H’, number=3, insertion_code=’ ‘), …, # etc., the insertion code being ‘ ‘ is important; it cannot be ‘’. ]

type: str = 'Unknown'
region_bounds: dict[str, tuple[int, int]]
numbering_with_gaps: NumberedSequence
property numbering: NumberedSequence
property numbering_strings: list[str]
property numbering_strings_with_chain_id: list[str]
classmethod fromAnarciDomainResult(domain_result)
classmethod fromAnarciChainResultAndSeq(full_sequence, chain_result, chain_name=None)
classmethod fromSequence(sequence, ab_scheme=AntibodyCDRScheme.Kabat, chain_name=None)
is_scfv()
adjustRegionBounds(region_adjustments: dict[str, [<class 'int'>, <class 'int'>]]) ProteinClass

Create a new ProteinClass with adjusted region bounds.

__init__(type: str = 'Unknown', region_bounds: dict[str, tuple[int, int]] = <factory>, numbering_with_gaps: ~schrodinger.application.bioluminate.classify.NumberedSequence = <factory>) None
schrodinger.application.bioluminate.classify.renumber_st_chain(st_chain, ab_scheme=AntibodyCDRScheme.Kabat)

Renumber the residues in a structure chain.

schrodinger.application.bioluminate.classify.get_sequence_numbering(sequence, ab_scheme=AntibodyCDRScheme.Kabat, chain_name=None) NumberedSequence

Get the sequence numbering for a sequence.

schrodinger.application.bioluminate.classify.number_terminal_residues(numbering: NumberedSequence, start: int, end: int, full_sequence: str, skip_zero=True) NumberedSequence

Number the terminal residues of a sequence based on the existing numbering. Each end of the sequence will be numbered sequentially. If skip_zero is True, the numbering will skip zero.

Parameters:
  • numbering – The numbering of the sequence.

  • start – The starting index where the sequence has already been numbered.

  • end – The ending index where the sequence has already been numbered.

  • full_sequence – The full sequence to number.

Returns:

The updated numbering with terminal residues numbered.

schrodinger.application.bioluminate.classify.validate_numbering(numbering: NumberedSequence, full_sequence: str)

Validate that the numbering matches the sequence, ignoring gaps.

Parameters:
  • numbering – The numbered sequence to validate.

  • full_sequence – The full sequence to validate against.

schrodinger.application.bioluminate.classify.get_protein_family_data(sequence: str, ab_scheme=AntibodyCDRScheme.Kabat, chain_name: str = None) ProteinClass

Get the protein family data for a sequence.

schrodinger.application.bioluminate.classify.get_protein_family(sequence: str) str

Get the protein family for a sequence.