mkt.databases.kinase_schema
Builders that assemble KinaseInfo objects from API and scraper data.
Defines the *Generator subclasses (KinaseInfoGenerator and friends) and the
conversion/combination functions that populate
mkt.schema.kinase_schema.KinaseInfo from UniProt, KLIFS, Pfam, KinCore, and
KinHub sources.
Module Attributes
Dictionary of columns to object mapping. |
|
Dictionary of columns to object mapping. |
|
Dictionary where keys are UniProt IDs with multi-mapping. |
|
DICT_MERGE_MULTIMAP in more accessible format. |
Functions
|
Align inter and intra region sequences. |
Check if file exists and load dataframe. |
|
|
Generate KinaseInfoGenerator from dictionary generated by combine_kinaseinfo_kd and combine_kinaseinfo_uniprot. |
|
Generate KinaseInfoKinaseDomainGenerator from dictionary generated by generate_dict_obj_from_api_or_scraper. |
|
Generate KinaseInfoUniProtGenerator from dictionary generated by generate_dict_obj_from_api_or_scraper. |
|
Convert dataframe to dictionary of objects. |
|
Convert string to Family enum. |
|
Convert KinHub family to Family enum. |
|
Convert KinHub group to Group enum. |
|
Find alternative HGNC names for a given UniProt ID. |
Generate dataframes for KinHub, KLIFS, and Pfam databases. |
|
|
Get maximum sequence length from dictionary of dictionaries. |
|
|
|
Process keys dictionary to convert to list of functions. |
|
|
|
Return None if string is not valid. |
|
Reverse order of dictionary of dictionaries. |
Classes
|
Pydantic model for kinase information. |
|
Pydantic model for to generate KinaseInfoKinaseDomain (kinase info at the level of the kinase domain). |
|
Pydantic model for to generate KinaseInfoUniProt (kinase info at the level of the UniProt ID). |
- mkt.databases.kinase_schema.DICT_COL2OBJ_ORIG = {'kinhub': {'keys': {'list_col': ['HGNC Name', 'Kinase Name', 'Manning Name', 'xName', 'Group', 'Family'], 'list_fnc': [<function return_none_if_not_valid_string>, <function return_none_if_not_valid_string>, <function <lambda>>, <function <lambda>>, <function <lambda>>, <function <lambda>>], 'list_obj': ['hgnc_name', 'kinase_name', 'manning_name', 'xname', 'group', 'family']}, 'object': <class 'mkt.schema.kinase_schema.KinHub'>, 'uniprot_id': 'UniprotID'}, 'klifs': {'keys': {'list_col': ['gene_name', 'name', 'full_name', 'group', 'family', 'iuphar', 'kinase_ID', 'pocket'], 'list_fnc': [<function <lambda>>, <function <lambda>>, <function <lambda>>, <function <lambda>>, <function <lambda>>, <function <lambda>>, <function <lambda>>, <function return_none_if_not_valid_string>], 'list_obj': ['gene_name', 'name', 'full_name', 'group', 'family', 'iuphar', 'kinase_id', 'pocket_seq']}, 'object': <class 'mkt.schema.kinase_schema.KLIFS'>, 'uniprot_id': 'uniprot'}, 'pfam': {'keys': {'list_col': ['name', 'start', 'end', 'protein_length', 'pfam_accession', 'in_alphafold'], 'list_fnc': [<function <lambda>>, <function <lambda>>, <function <lambda>>, <function <lambda>>, <function <lambda>>, <function <lambda>>], 'list_obj': ['domain_name', 'start', 'end', 'protein_length', 'pfam_accession', 'in_alphafold']}, 'object': <class 'mkt.schema.kinase_schema.Pfam'>, 'uniprot_id': 'uniprot'}}
Dictionary of columns to object mapping.
- Type:
dict[str, dict[str, Callable | str | dict[str, list[str, Callable]]]]
- mkt.databases.kinase_schema.DICT_COL2OBJ_REV = {'kinhub': {'keys': {'family': {'column': 'Family', 'function': <function <lambda>>}, 'group': {'column': 'Group', 'function': <function <lambda>>}, 'hgnc_name': {'column': 'HGNC Name', 'function': <function return_none_if_not_valid_string>}, 'kinase_name': {'column': 'Kinase Name', 'function': <function return_none_if_not_valid_string>}, 'manning_name': {'column': 'Manning Name', 'function': <function <lambda>>}, 'xname': {'column': 'xName', 'function': <function <lambda>>}}, 'object': <class 'mkt.schema.kinase_schema.KinHub'>, 'uniprot_id': 'UniprotID'}, 'klifs': {'keys': {'family': {'column': 'family', 'function': <function <lambda>>}, 'full_name': {'column': 'full_name', 'function': <function <lambda>>}, 'gene_name': {'column': 'gene_name', 'function': <function <lambda>>}, 'group': {'column': 'group', 'function': <function <lambda>>}, 'iuphar': {'column': 'iuphar', 'function': <function <lambda>>}, 'kinase_id': {'column': 'kinase_ID', 'function': <function <lambda>>}, 'name': {'column': 'name', 'function': <function <lambda>>}, 'pocket_seq': {'column': 'pocket', 'function': <function return_none_if_not_valid_string>}}, 'object': <class 'mkt.schema.kinase_schema.KLIFS'>, 'uniprot_id': 'uniprot'}, 'pfam': {'keys': {'domain_name': {'column': 'name', 'function': <function <lambda>>}, 'end': {'column': 'end', 'function': <function <lambda>>}, 'in_alphafold': {'column': 'in_alphafold', 'function': <function <lambda>>}, 'pfam_accession': {'column': 'pfam_accession', 'function': <function <lambda>>}, 'protein_length': {'column': 'protein_length', 'function': <function <lambda>>}, 'start': {'column': 'start', 'function': <function <lambda>>}}, 'object': <class 'mkt.schema.kinase_schema.Pfam'>, 'uniprot_id': 'uniprot'}}
Dictionary of columns to object mapping.
- Type:
dict[str, dict[str, Callable | str | dict[str, dict[str, str | Callable]]]
- mkt.databases.kinase_schema.DICT_MERGE_MULTIMAP = {'general': {'kincore': 'fasta.hgnc', 'kinhub': 'xname', 'klifs': 'gene_name'}, 'manual': {'O60674': [['JAK2', 'JAK2', 'JAK2'], ['JAK2_b', 'JAK2-b', None]], 'O75582': [['MSK1', 'RPS6KA5', 'RPS6KA51'], ['MSK1_b', 'RPS6KA5-b', 'RPS6KA52']], 'O75676': [['MSK2', 'RPS6KA4', 'RPS6KA41'], ['MSK2_b', 'RPS6KA4-b', 'RPS6KA42']], 'P23458': [['JAK1', 'JAK1', 'JAK1'], ['JAK1_b', 'JAK1-b', None]], 'P29597': [['TYK2', 'TYK2', 'TYK2'], ['TYK2_b', 'TYK2-b', None]], 'P51812': [['RSK2', 'RPS6KA3', 'RPS6KA31'], ['RSK2_b', 'RPS6KA3-b', 'RPS6KA32']], 'P52333': [['JAK3', 'JAK3', 'JAK3'], ['JAK3_b', 'JAK3-b', None]], 'Q15349': [['RSK3', 'RPS6KA2', 'RPS6KA21'], ['RSK3_b', 'RPS6KA2-b', 'RPS6KA22']], 'Q15418': [['RSK1', 'RPS6KA1', 'RPS6KA11'], ['RSK1_b', 'RPS6KA1-b', 'RPS6KA12']], 'Q15772': [['SPEG', 'SPEG', 'SPEG1'], ['SPEG_b', 'SPEG-b', 'SPEG2']], 'Q5VST9': [['Obscn', 'OBSCN', 'OBSCN1'], ['Obscn_b', 'OBSCN-b', 'OBSCN2']], 'Q8IWB6': [['SgK307', 'TEX14', 'TEX14'], ['SgK424', None, None]], 'Q9P2K8': [['GCN2', 'EIF2AK4', 'EIF2AK4'], ['GCN2_b', 'EIF2AK4-b', None]], 'Q9UK32': [['RSK4', 'RPS6KA6', 'RPS6KA61'], ['RSK4_b', 'RPS6KA6-b', 'RPS6KA62']]}}
Dictionary where keys are UniProt IDs with multi-mapping. For the “general” sub-dictionary each key is the key of the dict_obj and the value is the attr on which to collapse. For the “manual” sub-dict values are lists where entries are for KinHub, KLIFS, and KinCore, respectively.
- Type:
dict[str, dict[str, str] | list[list[str]]]
- mkt.databases.kinase_schema.DICT_MERGE_MULTIMAP_REV = {'general': {'kincore': 'fasta.hgnc', 'kinhub': 'xname', 'klifs': 'gene_name'}, 'manual': {'O60674': [{'kincore': 'JAK2', 'kinhub': 'JAK2', 'klifs': 'JAK2'}, {'kincore': None, 'kinhub': 'JAK2_b', 'klifs': 'JAK2-b'}], 'O75582': [{'kincore': 'RPS6KA51', 'kinhub': 'MSK1', 'klifs': 'RPS6KA5'}, {'kincore': 'RPS6KA52', 'kinhub': 'MSK1_b', 'klifs': 'RPS6KA5-b'}], 'O75676': [{'kincore': 'RPS6KA41', 'kinhub': 'MSK2', 'klifs': 'RPS6KA4'}, {'kincore': 'RPS6KA42', 'kinhub': 'MSK2_b', 'klifs': 'RPS6KA4-b'}], 'P23458': [{'kincore': 'JAK1', 'kinhub': 'JAK1', 'klifs': 'JAK1'}, {'kincore': None, 'kinhub': 'JAK1_b', 'klifs': 'JAK1-b'}], 'P29597': [{'kincore': 'TYK2', 'kinhub': 'TYK2', 'klifs': 'TYK2'}, {'kincore': None, 'kinhub': 'TYK2_b', 'klifs': 'TYK2-b'}], 'P51812': [{'kincore': 'RPS6KA31', 'kinhub': 'RSK2', 'klifs': 'RPS6KA3'}, {'kincore': 'RPS6KA32', 'kinhub': 'RSK2_b', 'klifs': 'RPS6KA3-b'}], 'P52333': [{'kincore': 'JAK3', 'kinhub': 'JAK3', 'klifs': 'JAK3'}, {'kincore': None, 'kinhub': 'JAK3_b', 'klifs': 'JAK3-b'}], 'Q15349': [{'kincore': 'RPS6KA21', 'kinhub': 'RSK3', 'klifs': 'RPS6KA2'}, {'kincore': 'RPS6KA22', 'kinhub': 'RSK3_b', 'klifs': 'RPS6KA2-b'}], 'Q15418': [{'kincore': 'RPS6KA11', 'kinhub': 'RSK1', 'klifs': 'RPS6KA1'}, {'kincore': 'RPS6KA12', 'kinhub': 'RSK1_b', 'klifs': 'RPS6KA1-b'}], 'Q15772': [{'kincore': 'SPEG1', 'kinhub': 'SPEG', 'klifs': 'SPEG'}, {'kincore': 'SPEG2', 'kinhub': 'SPEG_b', 'klifs': 'SPEG-b'}], 'Q5VST9': [{'kincore': 'OBSCN1', 'kinhub': 'Obscn', 'klifs': 'OBSCN'}, {'kincore': 'OBSCN2', 'kinhub': 'Obscn_b', 'klifs': 'OBSCN-b'}], 'Q8IWB6': [{'kincore': 'TEX14', 'kinhub': 'SgK307', 'klifs': 'TEX14'}, {'kincore': None, 'kinhub': 'SgK424', 'klifs': None}], 'Q9P2K8': [{'kincore': 'EIF2AK4', 'kinhub': 'GCN2', 'klifs': 'EIF2AK4'}, {'kincore': None, 'kinhub': 'GCN2_b', 'klifs': 'EIF2AK4-b'}], 'Q9UK32': [{'kincore': 'RPS6KA61', 'kinhub': 'RSK4', 'klifs': 'RPS6KA6'}, {'kincore': 'RPS6KA62', 'kinhub': 'RSK4_b', 'klifs': 'RPS6KA6-b'}]}}
DICT_MERGE_MULTIMAP in more accessible format.
- Type:
dict[str, dict[str, str] | list[list[str]]]
- class mkt.databases.kinase_schema.KinaseInfoGenerator(*, hgnc_name: str, uniprot_id: ~typing.Annotated[str, ~pydantic.types.StringConstraints(strip_whitespace=None, to_upper=None, to_lower=None, strict=None, min_length=None, max_length=None, pattern=^[A-Z][0-9][A-Z0-9]{3}[0-9](_[12])?(_[12])?$)] | ~typing.Annotated[str, ~pydantic.types.StringConstraints(strip_whitespace=None, to_upper=None, to_lower=None, strict=None, min_length=None, max_length=None, pattern=^[A-Z][0-9][A-Z][A-Z0-9]{2}[0-9][A-Z][A-Z0-9]{2}[0-9](_[12])?(_[12])?$)], uniprot: ~mkt.schema.kinase_schema.UniProt, kinhub: ~mkt.schema.kinase_schema.KinHub | None = None, klifs: ~mkt.schema.kinase_schema.KLIFS | None = None, pfam: ~mkt.schema.kinase_schema.Pfam | None = None, kincore: ~mkt.schema.kinase_schema.KinCore | None = None, KLIFS2UniProtIdx: dict[str, int | None] | None = None, KLIFS2UniProtSeq: dict[str, str | None] | None = None, bool_offset: bool = True)[source]
Bases:
KinaseInfoPydantic model for kinase information.
- bool_offset: bool
Whether to use 1-based indexing (True) or 0-based indexing (False). Default is True.
- Type:
bool
- class mkt.databases.kinase_schema.KinaseInfoKinaseDomainGenerator(*, uniprot_id: ~typing.Annotated[str, ~pydantic.types.StringConstraints(strip_whitespace=None, to_upper=None, to_lower=None, strict=None, min_length=None, max_length=None, pattern=^[A-Z][0-9][A-Z0-9]{3}[0-9](_[12])?(_[12])?$)] | ~typing.Annotated[str, ~pydantic.types.StringConstraints(strip_whitespace=None, to_upper=None, to_lower=None, strict=None, min_length=None, max_length=None, pattern=^[A-Z][0-9][A-Z][A-Z0-9]{2}[0-9][A-Z][A-Z0-9]{2}[0-9](_[12])?(_[12])?$)], kinhub: ~mkt.schema.kinase_schema.KinHub | None = None, klifs: ~mkt.schema.kinase_schema.KLIFS | None = None, kincore: ~mkt.schema.kinase_schema.KinCore | None = None)[source]
Bases:
KinaseInfoKinaseDomainPydantic model for to generate KinaseInfoKinaseDomain (kinase info at the level of the kinase domain).
- class mkt.databases.kinase_schema.KinaseInfoUniProtGenerator(*, hgnc_name: str, uniprot_id: ~typing.Annotated[str, ~pydantic.types.StringConstraints(strip_whitespace=None, to_upper=None, to_lower=None, strict=None, min_length=None, max_length=None, pattern=^[A-Z][0-9][A-Z0-9]{3}[0-9](_[12])?$)] | ~typing.Annotated[str, ~pydantic.types.StringConstraints(strip_whitespace=None, to_upper=None, to_lower=None, strict=None, min_length=None, max_length=None, pattern=^[A-Z][0-9][A-Z][A-Z0-9]{2}[0-9][A-Z][A-Z0-9]{2}[0-9](_[12])?$)], uniprot: ~mkt.schema.kinase_schema.UniProt, pfam: ~mkt.schema.kinase_schema.Pfam | None = None)[source]
Bases:
KinaseInfoUniProtPydantic model for to generate KinaseInfoUniProt (kinase info at the level of the UniProt ID).
- mkt.databases.kinase_schema.align_inter_intra_region(dict_in: dict[str, KinaseInfo]) dict[str, dict[str, str]][source]
Align inter and intra region sequences.
- Parameters:
dict_in (dict[str, KinaseInfo]) – Dictionary of kinase information models
- Returns:
Dictionary of aligned inter and intra region
- Return type:
dict[str, dict[str, str]]
- mkt.databases.kinase_schema.check_if_file_exists_then_load_dataframe(str_file: str) DataFrame | None[source]
Check if file exists and load dataframe.
- Parameters:
str_file (str) – File to check and load.
- Returns:
Dataframe if file exists, otherwise None.
- Return type:
pd.DataFrame | None
- mkt.databases.kinase_schema.combine_kinaseinfo(dict_uniprot: dict[str, KinaseInfoUniProtGenerator], dict_kd: dict[str, KinaseInfoKinaseDomainGenerator]) dict[str, KinaseInfoGenerator][source]
Generate KinaseInfoGenerator from dictionary generated by combine_kinaseinfo_kd and combine_kinaseinfo_uniprot.
- Parameters:
dict_uniprot (dict[str, KinaseInfoUniProtGenerator]) – Dictionary of KinaseInfoUniProtGenerator objects.
dict_kd (dict[str, KinaseInfoKinaseDomainGenerator]) – Dictionary of KinaseInfoKinaseDomainGenerator objects.
- Returns:
Dictionary of KinaseInfoGenerator objects.
- Return type:
dict[str, KinaseInfoGenerator]
- mkt.databases.kinase_schema.combine_kinaseinfo_kd(dict_in: dict[str, dict[str, Any]]) dict[str, KinaseInfoKinaseDomainGenerator][source]
Generate KinaseInfoKinaseDomainGenerator from dictionary generated by generate_dict_obj_from_api_or_scraper.
- Parameters:
dict_in (dict[str, str]) – Dictionary of dictionary of mkt.kinase_schema objects. Keys needed here are “hgnc”, “uniprot”, and “pfam”.
- Returns:
Dictionary of KinaseInfoKinaseDomainGenerator objects.
- Return type:
dict[str, KinaseInfoKinaseDomainGenerator]
- mkt.databases.kinase_schema.combine_kinaseinfo_uniprot(dict_in: dict[str, dict[str, Any]]) dict[str, KinaseInfoUniProtGenerator][source]
Generate KinaseInfoUniProtGenerator from dictionary generated by generate_dict_obj_from_api_or_scraper.
- Parameters:
dict_in (dict[str, str]) – Dictionary of dictionary of mkt.kinase_schema objects. Keys needed here are “hgnc”, “uniprot”, and “pfam”.
- Returns:
Dictionary of KinaseInfoUniProtGenerator objects.
- Return type:
dict[str, KinaseInfoUniProtGenerator]
- mkt.databases.kinase_schema.convert_df2dictobj(df: DataFrame, str_obj: str) dict[str, Any] | None[source]
Convert dataframe to dictionary of objects.
- Parameters:
df (pd.DataFrame) – Dataframe to convert.
str_obj (str) – Object to convert to - needs to match key in DICT_COL2OBJ_REV.
- Returns:
Dictionary of objects where key is UniProt ID and value is object.
- Return type:
dict[str, Any]
- mkt.databases.kinase_schema.convert_str2family(str_input: str) Family[source]
Convert string to Family enum.
- Parameters:
str_input (str) – String to convert to Family enum.
- Returns:
Family enum.
- Return type:
- mkt.databases.kinase_schema.convert_to_family(str_input: str, bool_list: bool = True) Family[source]
Convert KinHub family to Family enum.
- Parameters:
str_input (str) – String to convert to Family enum.
- Returns:
Family enum.
- Return type:
- mkt.databases.kinase_schema.convert_to_group(str_input: str, bool_list: bool = True) list[Group][source]
Convert KinHub group to Group enum.
- Parameters:
str_input (str) – KinHub group to convert.
bool_list (bool, optional) – Whether to return list of Group enums (e.g., converting KinHub), by default True.
- Returns:
List of Group enums.
- Return type:
list[Group]
- mkt.databases.kinase_schema.find_alternative_hgnc(id_uniprot: str, kinhub_dict: dict[str, Any], klifs_dict: dict[str, Any], kincore_dict: dict[str, Any], kinhub_attr: str = ['hgnc_name', 'xname'], klifs_attr: str = ['gene_name'], kincore_attr: str = ['fasta.hgnc']) str | list[str] | None[source]
Find alternative HGNC names for a given UniProt ID.
- Parameters:
id_uniprot (str) – UniProt ID to search for.
kinhub_dict (dict[str, Any]) – KinHub dictionary.
klifs_dict (dict[str, Any]) – KLIFS dictionary.
kincore_dict (dict[str, Any]) – KinCore dictionary.
kinhub_attr (list[str], optional) – List of attributes to access in KinHub dictionary.
klifs_attr (list[str], optional) – List of attributes to access in KLIFS dictionary.
kincore_attr (list[str], optional) – AttribuList of attributeste to access in KinCore dictionary.
- Returns:
String, list of strings of alternative HGNC names if found, else None.
- Return type:
str | list[str] | None
- mkt.databases.kinase_schema.generate_dict_obj_from_api_or_scraper() dict[str, DataFrame][source]
Generate dataframes for KinHub, KLIFS, and Pfam databases.
- Returns:
Dictionary containing processed dataframes.
- Return type:
dict[str, pd.DataFrame]
- mkt.databases.kinase_schema.get_sequence_max_with_exception(list_in: list[int | None]) int[source]
Get maximum sequence length from dictionary of dictionaries.
- Parameters:
dict_in (dict[str, dict[str, str | None]]) – Dictionary of dictionaries.
- Returns:
Maximum sequence length.
- Return type:
int
- mkt.databases.kinase_schema.process_keys_dict(dict_in: dict[str, list[str, Callable]]) dict[str, dict[str, str | Callable]][source]
Process keys dictionary to convert to list of functions.
- Parameters:
dict_in (dict[str, list[str, function]]) – Dictionary of keys to process.
- Returns:
Dictionary of keys with list of functions.
- Return type:
dict[str, dict[str, str | function]]
- mkt.databases.kinase_schema.return_none_if_not_valid_string(str_input: str) str | None[source]
Return None if string is not valid.
- Parameters:
str_input (str) – String to check.
- Returns:
String if valid, otherwise None.
- Return type:
str | None
- mkt.databases.kinase_schema.reverse_order_dict_of_dict(dict_in: dict[str, dict[str, str | int | None]]) dict[str, dict[str, str | int | None]][source]
Reverse order of dictionary of dictionaries.
- Parameters:
dict_in (dict[str, dict[str, str | int | None]]) – Dictionary of dictionaries
- Returns:
dict_out – Dictionary of dictionaries with reversed order
- Return type:
dict[str, dict[str, str | int | None]]