schrodinger.application.bioluminate.antibody.assembly_yaml module

class schrodinger.application.bioluminate.antibody.assembly_yaml.AntibodyFormat

Bases: StrEnum

BISPECIFIC = 'bispecific'
MONOSPECIFIC = 'monospecific'
FAB = 'fab'
FV = 'fv'
class schrodinger.application.bioluminate.antibody.assembly_yaml.ChainData(sequence: str, resids: List[str], seqtype: <schrodinger.infra.unusable_module_importer.DummyModule object at 0x75beb01ced90>, residues: Any)

Bases: object

sequence: str
resids: List[str]
seqtype: <schrodinger.infra.unusable_module_importer.DummyModule object at 0x75beb01ced90>
residues: Any
__init__(sequence: str, resids: ~typing.List[str], seqtype: <schrodinger.infra.unusable_module_importer.DummyModule object at 0x75beb01ced90>, residues: ~typing.Any) None
schrodinger.application.bioluminate.antibody.assembly_yaml.validate_assigned_domains(arg_list: List[str]) None

Validate that there are arguments set and that none of the arguments over define the antibody structure.

Parameters:

arg_list – the list of assigned arguments

Raises:

argparse.ArgumentTypeError – if no input arguments are provided or if the provided arguments lead to an over definition of antibody structure.

For example:
>>> validate_assigned_domains(['heavy_fv', 'light_fv'])
>>> # This will not raise an error
>>> validate_assigned_domains(['heavy_fv1', 'heavy_fv'])
>>> # This will raise an argparse.ArgumentTypeError as both heavy_fv1 and
>>> # heavy_fv arguments are provided which leads to an over definition
>>> # of antibody structure (both defining heavy_fv1).
schrodinger.application.bioluminate.antibody.assembly_yaml.ensure_no_domains_reused(arg_list: List[str]) None

Validate that the domains are not reused in the arguments.

Parameters:

arg_list – command-line arguments

schrodinger.application.bioluminate.antibody.assembly_yaml.load_yaml_dictionaries(yaml_filenames: List[str]) Iterator[Dict[str, Any]]

Read the yaml file and yield yaml dictionaries.

Parameters:

yaml_filenames – list of yaml files

schrodinger.application.bioluminate.antibody.assembly_yaml.make_instructions(yaml_dicts: Dict[str, Any]) DomainAssemblyInstruction

Read a dictionary of dictionaries and create assembly.DomainAssemblyInstructions.

Parameters:

yaml_dicts – instruction dictionary from the yaml files

schrodinger.application.bioluminate.antibody.assembly_yaml.get_instructions_from_yaml(yaml_files: List[str]) List[DomainAssemblyInstruction]

Read the yaml file and create a list of instructions.

Parameters:

args – command-line arguments

schrodinger.application.bioluminate.antibody.assembly_yaml.compile_instructions_for_format(format: str, input_domains: Dict[str, Structure], template_structure: Structure) Iterator[DomainAssemblyInstruction]

Compile the assembly instructions from files supplied by the user.

Parameters:

input_dict – the dictionary describing the input

schrodinger.application.bioluminate.antibody.assembly_yaml.compute_template_data(struct: Structure) Dict[str, Any]

Get the sequence, resid list, and sequence type for each chain in the structure.

Parameters:

struct – structure to compute data for

schrodinger.application.bioluminate.antibody.assembly_yaml.compute_data(antibody: Structure) Dict[str, Any]

Get the sequence, resid list, and sequence type for each chain in the antibody.

Parameters:

antibody – structure to compute data for

schrodinger.application.bioluminate.antibody.assembly_yaml.get_chain_pairs(disulfide_bonds: List[Tuple[StructureAtom, StructureAtom]], template_data: Dict[str, Any]) List[Tuple[str, str]]

Get the heavy and light chain pairs.

Parameters:
  • disulfide_bonds – the disulfide bonds

  • template_data – the template data

schrodinger.application.bioluminate.antibody.assembly_yaml.compute_domain_data(input_structures: Dict[str, Structure]) Dict[str, Any]

Compute the domain data.

Parameters:

input_structures – the input structures

schrodinger.application.bioluminate.antibody.assembly_yaml.match_input_parts(input_dict: Dict[str, Any]) None

Match the input parts.

Parameters:

input_dict – the domain data

schrodinger.application.bioluminate.antibody.assembly_yaml.get_matching_domain(template_data: Dict[str, Any], domain_key: str, template_domain_used: Dict[str, list]) Tuple[Dict[str, Any], int]

Get the matching template domain.

Parameters:
  • template_data – the dictionary of the template data

  • domain_key – the domain key

  • template_domain_used – the dictionary of the template domains used

schrodinger.application.bioluminate.antibody.assembly_yaml.get_arm_index(domain_key: str, template_domain_used: Dict[str, bool]) int

Get the arm index.

Parameters:
  • domain_key – the domain key

  • template_domain_used – the template domains that have been used

schrodinger.application.bioluminate.antibody.assembly_yaml.get_domain_key_pair(domain_key: str) str

Get the domain key pair.

Parameters:

domain_key – the domain key

schrodinger.application.bioluminate.antibody.assembly_yaml.single_ab_chain(domain_label: str) bool

Check if the domain label implies two chains.

Parameters:

domain_label – the domain label

schrodinger.application.bioluminate.antibody.assembly_yaml.get_next_unused_arm_index(template_domain_used: Dict[str, int]) int

Get the next unused arm index.

Parameters:

template_domain_used – the template domains that have been used

schrodinger.application.bioluminate.antibody.assembly_yaml.get_matching_arm(template_data: Dict[str, Any], arm_index: int) Dict[str, Any]

Get the matching arm.

Parameters:
  • template_data – the dictionary of the template data

  • arm_index – the index of the arm

schrodinger.application.bioluminate.antibody.assembly_yaml.get_template_domain(matching_arm: Dict[str, Any], domain_name: str) Dict[str, Any]

Get the template domain.

Parameters:
  • matching_arm_chains – the matching arm chains

  • domain_name – the domain name

schrodinger.application.bioluminate.antibody.assembly_yaml.get_align_asl(domain_key: str, struct_dict: Dict[str, Any]) str

Get the alignment asl for the domain.

Parameters:
  • domain_key – the domain key

  • struct_dict – the structure dictionary

schrodinger.application.bioluminate.antibody.assembly_yaml.get_segment_asl(resids: List[str], align_start_index: int, align_end_index: int) str

Get the segment asl for the domain.

Parameters:
  • resids – the list of resids

  • align_start_index – the index of the start of the alignment

  • align_end_index – the index of the end of the alignment

schrodinger.application.bioluminate.antibody.assembly_yaml.get_segment_indices(chain_dict: Dict[str, Any], domain_key: str) Tuple[int, int]

Get the segment indices of the chain: either the segment describing the FV region or the segment describing the FAB region depending on the domain key provided for domain alignment.

Parameters:
  • chain_dict – the chain dictionary

  • domain_key – the domain key

schrodinger.application.bioluminate.antibody.assembly_yaml.get_start_range_end_lists(resids: List[str], align_start_index: int, align_end_index: int) Tuple[List[str], List[str], List[str]]

Take the residues and based on the start and end of the alignment, determine if there are insertion codes and if the align asl is simply a range of numbers or needs to contain addtional strings.

Parameters:
  • resids – the list of resids

  • align_start_index – the index of the start of the alignment

  • align_end_index – the index of the end of the alignment

Returns:

the start, range, and end resid lists

The start and end lists are populated if there are insertion codes at the start and end. The range list is populated as the largest range of unambiguous resids.

Example: resids = [‘H:1’, ‘H:1A’, ‘H:2’, ‘H:3’, ‘H:3A’, ‘H:4’, ‘H:5’, ‘H:6’, ‘H:6A’] align_start_index = 1 align_end_index = 7 start_resids = [‘H:1A’] (if ‘H:1A’ was in the range it would include ‘H:1’) range_resids = [‘H:2’, ‘H:3’, ‘H:3A’, ‘H:4’, ‘H:5’] end_resids = [‘H:6’] (if ‘H:6’ was in the range it would include ‘H:6A’)

schrodinger.application.bioluminate.antibody.assembly_yaml.form_resid_defaultdict(resids: List[str]) Dict[str, List[str]]

Get a dictionary where the keys are each residue number and the values are the corresonding resid list (any resid with the same resnum).

Parameters:

resids – the list of resids

schrodinger.application.bioluminate.antibody.assembly_yaml.form_inscode_asl(resids: List[str]) str

Form the inscode asl.

Parameters:

resids – the list of resids to make an iscode asl for

schrodinger.application.bioluminate.antibody.assembly_yaml.form_range_asl(resids: List[str]) str

Get the starting and ending resid from a list and make an asl with the range between those two resids.

Parameters:

resids – the list of resids to make a range asl for

schrodinger.application.bioluminate.antibody.assembly_yaml.get_bond_asl(domain_key: str, domain_dict: Dict[str, Any], template_dict: Dict[str, Any]) List[Dict[str, str]]

Get the domain bond asl for the domain.

Parameters:
  • domain_key – the domain key

  • domain_dict – the domain dictionary

  • template_dict – the template dictionary

schrodinger.application.bioluminate.antibody.assembly_yaml.get_matching_chains(domain_dict: Dict[str, Any], template_dict: Dict[str, Any]) Iterator[Tuple[str, str]]

Get the map of domain to template.

Parameters:
  • domain_dict – the domain dictionary

  • template_dict – the template dictionary

schrodinger.application.bioluminate.antibody.assembly_yaml.get_heavy_light_chains(struct_dict: Dict[str, Any]) Tuple[str, str]

Get the heavy and light chain, chain names where the structure dictionary contains only one heavy and one light chain. An error will be raised if there are more than one heavy or light chain.

Parameters:

struct_dict – the domain dictionary

schrodinger.application.bioluminate.antibody.assembly_yaml.get_domain_bond(domain_key: str, domain_chain: ChainData, template_chain: ChainData) Dict[str, str]

Get the domain bond.

Parameters:
  • domain_chain – the domain chain

  • template_chain – the template chain

schrodinger.application.bioluminate.antibody.assembly_yaml.get_bond_residue(residues: Iterator[Any], index: int) str

Get the model atom.

Parameters:
  • residues – the residues

  • index – the index