antibody_utils.numbering.positions¶
Numbered positions in antibody variable domains.
Functions
|
Parse a chain-qualified position such as "H100A". |
Classes
|
An antibody variable-domain chain type. |
|
A numbered position: a residue number and an optional insertion code. |
|
An antibody numbering scheme. |
- class antibody_utils.numbering.positions.Chain(*values)[source]¶
Bases:
_CaseInsensitiveStrEnumAn antibody variable-domain chain type.
Members compare equal to their one-letter codes, and lookup is case-insensitive.
>>> Chain("h") <Chain.HEAVY: 'H'> >>> Chain.LIGHT == "L" True
- class antibody_utils.numbering.positions.Position(number, insertion='')[source]¶
Bases:
objectA numbered position: a residue number and an optional insertion code.
Positions order by number, then by insertion code, which is the order of residues in the Kabat, Chothia and Martin schemes. (IMGT orders the insertions at position 112 in reverse, so sort IMGT positions by sequence order rather than by Position.)
The insertion attribute is “” when there is no insertion code. Gemmi, Biopython, ANARCI and ANARCII write that as a single space instead, which Position accepts on input; use to_tuple to convert back.
- Parameters:
- Raises:
ValueError – If the insertion code is not a single letter.
>>> Position(100, "A") Position(number=100, insertion='A') >>> Position(35) < Position(35, "A") < Position(36) True
- classmethod from_tuple(position)[source]¶
Convert a (number, insertion) tuple, as used by ANARCI and Biopython.
- Parameters:
position (
tuple[int|str,str]) – The residue number (an integer, or a string of digits as ANARCII sometimes gives) and the insertion code, where “ “ means no insertion.- Return type:
Self- Returns:
The position.
>>> Position.from_tuple((52, " ")) Position(number=52, insertion='') >>> Position.from_tuple(("111", "A")) Position(number=111, insertion='A')
- classmethod parse(text)[source]¶
Parse a position such as “100A”.
- Parameters:
text (
str) – The residue number, optionally followed by an insertion code.- Return type:
Self- Returns:
The position.
- Raises:
ValueError – If the text is not a valid position.
>>> Position.parse("100a") Position(number=100, insertion='A') >>> Position.parse("35") Position(number=35, insertion='')
- class antibody_utils.numbering.positions.Scheme(*values)[source]¶
Bases:
_CaseInsensitiveStrEnumAn antibody numbering scheme.
>>> Scheme("Chothia") <Scheme.CHOTHIA: 'chothia'>
- antibody_utils.numbering.positions.parse_chain_position(text)[source]¶
Parse a chain-qualified position such as “H100A”.
- Parameters:
text (
str) – A chain letter (H or L) followed by a position.- Return type:
- Returns:
The chain and the position.
- Raises:
ValueError – If the text is not a valid chain-qualified position.
>>> parse_chain_position("H100A") (<Chain.HEAVY: 'H'>, Position(number=100, insertion='A'))