propka.conformation_container
Molecular data structures
Container data structure for molecular conformations.
Module Attributes
A large number that gets multipled with the integer obtained from applying |
|
A number that gets mutiplied with an atom's residue number. |
Classes
|
Container for molecular conformations |
- class propka.conformation_container.ConformationContainer(name: str, parameters: Parameters, molecular_container: MolecularContainer)[source]
Container for molecular conformations
Changed in version 3.4.0: Removed
additional_setup_when_reading_input_files()
as reading PROPKA inputs is no longer supported.- calculate_charge(parameters: Parameters, ph: float)[source]
Calculate charge for folded and unfolded states.
- Parameters:
parameters – parameters for calculation
ph – pH for calculation
- Returns:
charge for unfolded state
charge for folded state
- calculate_folding_energy(ph=None, reference=None)[source]
Calculate folding energy over all groups in conformation container.
- Parameters:
ph – pH for calculation
reference – reference state
- Returns:
folding energy TODO - need units
- calculate_pka(version: Version, options: Options)[source]
Calculate pKas for conformation container.
- Parameters:
version – version object
options – option object
- copy_atom(atom)[source]
Add a copy of the atom to container.
- Parameters:
atom – atom to copy and add
- coupling_effects()[source]
Penalize groups based on coupling effects.
Bases: The group with the highest pKa (the most stable one in the charged form) will be the first one to adopt a proton as pH is lowered and this group is allowed to titrate. The remaining groups are penalised.
Acids: The group with the highest pKa (the least stable one in the charged form) will be the last group to loose the proton as pH is raised and will be penalised. The remaining groups are allowed to titrate.
- find_bonded_titratable_groups(atom: Atom, num_bonds: int, original_atom: Atom)[source]
Find bonded titrable groups.
- Parameters:
atom – atom to check for bonds
num_bonds – number of bonds for coupling
original_atom – another atom to check for bonds
- Returns:
a set of bonded atom groups
- find_covalently_coupled_groups()[source]
Find covalently coupled groups and set common charge centres.
- find_group(group)[source]
Find a group in the container.
- Parameters:
group – group to find
- Returns:
False (if group not found) or group
- find_non_covalently_coupled_groups(verbose=False)[source]
Find non-covalently coupled groups and set common charge centres.
- Parameters:
verbose – verbose output
- get_a_coupled_system_of_groups(new_group: Group, coupled_groups: Set[Group], get_coupled_groups: Callable[[Group], List[Group]])[source]
Set up coupled systems of groups.
- Parameters:
new_group – added to coupled_groups
coupled_groups – existing coupled groups
get_coupled_groups – TODO - I don’t know what this
- get_backbone_co_groups()[source]
Get CO backbone groups needed for pKa calculations.
- Returns:
list of groups
- get_backbone_groups() List[Group] [source]
Get backbone groups needed for the pKa calculations.
- Returns:
list of groups
- get_backbone_nh_groups()[source]
Get NH backbone groups needed for pKa calculations.
- Returns:
list of groups
- get_backbone_reorganisation_groups()[source]
Get groups involved with backbone reorganization.
- Returns:
list of groups
- get_chain(chain: str) List[Atom] [source]
Get atoms associated with a specific chain.
- Parameters:
chain – chain to select
- Returns:
list of atoms
- get_coupled_systems(groups: Iterable[Group], get_coupled_groups: Callable[[Group], List[Group]]) Iterator[Set[Group]] [source]
A generator that yields covalently coupled systems.
- Parameters:
groups – groups for generating coupled systems
get_coupled_groups – TODO - I don’t know what this is
- Yields:
covalently coupled systems
- get_covalently_coupled_groups()[source]
Get covalently coupled groups needed for pKa calculations.
- Returns:
list of groups
- get_groups_for_calculations()[source]
Get a list of groups that should be included in results report.
If –titrate_only option is specified, only residues that are titratable and are in that list are included; otherwise all titratable residues and CYS residues are included.
- Returns:
list of groups
- get_groups_in_residue(residue)[source]
Get residue groups needed for pKa calculations.
- Parameters:
residue – specific residue with groups
- Returns:
list of groups
- get_heavy_ligand_atoms() List[Atom] [source]
Get heavy atoms associated with ligands.
- Returns:
list of atoms
- get_non_covalently_coupled_groups()[source]
Get non-covalently coupled groups needed for pKa calculations.
- Returns:
list of groups
- get_sidechain_groups()[source]
Get sidechain groups needed for the pKa calculations.
- Returns:
list of groups
- get_titratable_groups()[source]
Get all titratable groups needed for pKa calculations.
- Returns:
list of groups
- init_group(group: Group)[source]
Initialize the given Group object.
- Parameters:
group – group object to initialize
- setup_and_add_group(group: Group | None)[source]
Check if we want to include this group in the calculations.
- Parameters:
group – group to check
Share sidechain, backbone, and Coloumb determinants between groups.
- Parameters:
groups – groups to share between
- static sort_atoms_key(atom: Atom) float [source]
Generate key for atom sorting.
- Parameters:
atom – atom for key generation.
- Returns:
key for atom
- propka.conformation_container.RESIDUE_MULTIPLIER = 1000
A number that gets mutiplied with an atom’s residue number. Used in calculating keys for atom sorting.