schrodinger.application.bioluminate.mutation module

class schrodinger.application.bioluminate.mutation.PolymerType

Bases: Enum

PEPTIDE = 'peptide'
RNA = 'rna'
DNA = 'dna'
class schrodinger.application.bioluminate.mutation.MutationStructureMap(ref_struct, struct, residue_map)

Bases: object

Helper class for Mutator. This will store a mutated structure and the resides that were mutated.

__init__(ref_struct, struct, residue_map)
Parameters:
class schrodinger.application.bioluminate.mutation.MutationSet(*mutations, **kwargs)

Bases: dict

Simple class to provide set- and dict-like behavior for mutations, so sets of mutations can be compared and modified quickly. It stores a set of all mutations applied to a structure, and provides methods to apply, revert, and check for the presence of mutations.

For example,

Applying mutations: mut_set = MutationSet() mut_set.apply(Mutation(‘A’ 1, ‘ ‘, ‘ALA’, PolymerType.PEPTIDE, ‘GLY’)) mut_set[‘A:1’] == ‘GLY’ # True

Comparing sets of mutations: mut_set_2 = mut_set.copy() mut_set_2.apply(Mutation(‘A’ 2, ‘ ‘, ‘ALA’, PolymerType.PEPTIDE, ‘PHE’)) mut_set_2 > mut_set # True

Looking up mutations: mut_set.apply(Mutation(‘A’ 2, ‘ ‘, ‘ALA’, PolymerType.PEPTIDE, ‘PHE’)) mut_set[‘A:2’] # ‘PHE’

__init__(*mutations, **kwargs)
apply(mutation)
__contains__(mutation)

True if the dictionary has the specified key, else False.

revert(mutation)

Removes a mutation from the mutation set, effectively reverting it to native sequence.

Parameters:

mutation (prime_runner.Mutation) – mutation containing the residue to revert

asList()
overwritesPriorMutation(mutation)

Returns True if the given mutation reverts an existing mutation applied to this MutationSet.

Parameters:

mutation (prime_runner.Mutation) – mutation to check

Returns:

True if the mutation is the reverse of the existing mutation, False if not

Return type:

bool

revertsPriorMutation(mutation)

Returns True if the given mutation reverts an existing mutation applied to this MutationSet.

Parameters:

mutation (prime_runner.Mutation) – mutation to check

Returns:

True if the mutation is the reverse of the existing mutation, False if not

Return type:

bool

copy() a shallow copy of D
class schrodinger.application.bioluminate.mutation.Mutation(chain: str, res_num: int, inscode: str, to_res_3l: str, polymer_type: str, from_res_3l: str = None, _resnum_with_inscode: str = None, is_wt_mut: bool = False)

Bases: object

Container for a single mutation

WT = 'WT'
chain: str
res_num: int
inscode: str
to_res_3l: str
polymer_type: str
from_res_3l: str = None
is_wt_mut: bool = False
property resnum_with_inscode
property mut_frag_name
property res_id
res_asl()

Return atom selection language (asl) of the mutating residue.

Returns:

asl for selecting the mutating residue of this mutation

Return type:

str

make_reverse_mutation()

Return a new Mutation object that mutates the same residue from self.to_res_3l to self.from_res_3l.

Returns:

reversed mutation

Return type:

Mutation

make_native_mutation()

Return a new Mutation object that mutates the same residue from self.to_res_3l to self.from_res_3l.

Returns:

reversed mutation

Return type:

Mutation

__init__(chain: str, res_num: int, inscode: str, to_res_3l: str, polymer_type: str, from_res_3l: str = None, _resnum_with_inscode: str = None, is_wt_mut: bool = False) None
class schrodinger.application.bioluminate.mutation.MacromoleculeMutator(mutations, concurrent)

Bases: object

__init__(mutations, concurrent)
Parameters:
  • mutations – A list of the mutations to carry out on the ref_struct. Each element of the list is a tuple of (“res num.”, [“pdbnames”]) where “res num.” is the residue number being altered and “pdbnames” is a list of the standard PDB residue names to mutate it to.

  • concurrent – Maximum concurrent mutations

Raises:

RuntimeError – If concurrent is less than 1.

property mutations

The list of mutations that will be carried out

property total_mutations

Total number of mutations that will be generated

static makeMutation(mutation_tuple, polymer_type)

Convert a mutation tuple into a Mutation object.

static validateMutatedResidues(cls, residues)

Method for validating the residues used in mutations passed in to the MutateProtein class.

Raises:

ValueError – If the 1-letter residue name is not supported by the build.mutate method.

static validateMutations(mutations)

Private method for validating the mutations passed in to the MutateProtein class.

Raises:

ValueError – If the mutations passed in is not a list, if each item in the list is not a tuple, if the tuple is not of length 4 (chain, resnum idx, inscode, mutation resnames), if the resnum is not an integer, or any of the 3-letter residue names in “mutation resnames” is not supported by the build,mutate method.

classmethod convertResFile(filename, regex=None)

Converts lines in filename into a list of mutations to use. Returns a list of tuples where each tuple is (“chain”, “resnum”, “inscode”, “three-letter resnames for mutation”).

Each line could be multiple mutations (one residue to multiple mutation states)

Parameters:
  • filename (str) – Name of file containing the list of mutations.

  • regex (regular expression object) – Regular expression for matching residues

Raises:

RuntimeError – If any of chain, resnum or mutation is missing

Returns:

List of mutations with valid syntax for the class

Return type:

list of tuples

classmethod convertResList(reslist, regex=None, validate=True)

Converts list of residues into a list of mutations to use. Returns a list of tuples where each tuple is (“chain”, “resnum”, “inscode”, “three-letter resnames for mutation”).

Each residue string could be multiple mutations (one residue to multiple mutation states)

Parameters:
  • reslist (list of str) – List of residues to convert to mutations

  • regex (regular expression object) – Regular expression for matching residues

  • validate (bool) – Whether to validate the potential mutations

Returns:

List of mutations with valid syntax for the class or None if any item in the list is not valid

Return type:

list of tuples or None

classmethod convertResidueList(residues, mutations, regex=None)

Convert a list of residues and mutations to a standard list of mutations. Returns a list of tuples where each tuple is (“chain”, “resnum”, “inscode”, “one-letter resnames for mutation”).

Parameters:
  • residues (list of strings (Syntax: <chain>:<resnum> if no chain use "_")) – Residues that will be mutated.

  • mutations – The one-letter names for the residues that will be used in mutation.

Raises:

RuntimeError – If any of chain, resnum or mutation is missing or if there is an invalid residue name

Returns:

List of mutations with valid syntax for the class

Return type:

list of tuples

classmethod convertMutsFile(muts_file, regex=None)

Converts lines in filename into a list of mutations to use. Returns a list of tuples where each tuple is (“chain”, “resnum”, “inscode”, “one-letter nucleobase for mutation”).

Each line is one mutation (could be multiple residues)

calculateMutationsList()

Calculate all combintations of mutations.

Returns:

list of list of mutations

Return type:

List[List[Tuple]]

classmethod convertResToMuts(res_str, regex=None, validate=True)

Converts a residue string into a list of mutations to use. Returns a list of tuples of (“chain”, “resnum”, “inscode”, “one-letter resnames for mutation”). Will return None if any item in the list is not a valid residue string.

A residue string could be multiple mutations (one residue to multiple mutation states)

Parameters:
  • res_str (str) – Residue string to convert to mutations

  • regex (regular expression object) – Regular expression for matching residues

  • validate (bool) – Whether to run validation on the mutation

Returns:

List of mutations with valid syntax for the class or None if the res_str is not valid.

Return type:

list tuples or None

schrodinger.application.bioluminate.mutation.generate_mutant_combinations(mutations, max_concurrent)

Given a tuple of allowed mutations and the number of allowed concurrent mutations, return a list of all possible mutation combinations.

Parameters:
  • mutations (Tuple[Tuple[str, int, str, str]]) – a tuple of mutation tuples

  • max_concurrent (int) – the max number of allowed simultaneous mutations, e.g. concurrent = 2 for all single and double mutants

Returns:

list of all possible mutation combinations

Return type:

List[Tuple[Tuple[str, int, str, str]]]

schrodinger.application.bioluminate.mutation.convert_res_file(filename, regex)

Converts lines in filename into a list of mutations to use. Returns a list of tuples where each tuple is (“chain”, “resnum”, “inscode”, “three-letter resnames for mutation”).

Each line could be multiple mutations (one residue to multiple mutation states)

Parameters:
  • filename (str) – Name of file containing the list of mutations.

  • regex (regular expression object) – Regular expression for matching residues

Raises:

RuntimeError – If any of chain, resnum or mutation is missing

Returns:

List of mutations with valid syntax for the class

Return type:

list of tuples

schrodinger.application.bioluminate.mutation.convert_res_to_muts(res_str, regex)

Converts a residue string into a list of mutations to use. Returns a list of tuples of (“chain”, “resnum”, “inscode”, “three-letter resnames for mutation”). Will return None if any item in the list is not a valid residue string.

A residue string could be multiple mutations (one residue to multiple mutation states)

Parameters:
  • res_str (str) – Residue string to convert to mutations

  • regex (regular expression object) – Regular expression for matching residues

  • validate (bool) – Whether to run validation on the mutation

Returns:

List of mutations with valid syntax for the class or None if the res_str is not valid.

Return type:

list tuples or None

schrodinger.application.bioluminate.mutation.convert_muts_file(muts_file, regex)

Converts lines in filename into a list of mutations to use. Returns a list of tuples where each tuple is (“chain”, “resnum”, “inscode”, “three-letter resnames for mutation”).

Also supports loop insertion and deletion.

Each line is one mutation (could be multiple residues)

schrodinger.application.bioluminate.mutation.convert_residue_list(residues, mutations, regex)

Convert a list of residues and mutations to a standard list of mutations. Returns a list of tuples where each tuple is (“chain”, “resnum”, “inscode”, “three-letter resnames for mutation”).

Parameters:
  • residues (list of strings (Syntax: <chain>:<resnum> if no chain use "_")) – Residues that will be mutated.

  • mutations – The three-letter names for the residues that will be used in mutation.

Raises:

RuntimeError – If any of chain, resnum or mutation is missing or if there is an invalid residue name

Returns:

List of mutations with valid syntax for the class

Return type:

list of tuples