Skip to content

Commit

Permalink
Add support for PTM pdbx_chem_comp_pcm and chem_comp.pdb_pcm
Browse files Browse the repository at this point in the history
  • Loading branch information
Ezra Peisach committed Mar 29, 2024
1 parent 95908ad commit 5d17bbf
Show file tree
Hide file tree
Showing 2 changed files with 426 additions and 210 deletions.
156 changes: 148 additions & 8 deletions wwpdb/utils/db/ChemCompSchemaDef.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ class ChemCompSchemaDef(SchemaDefBase):
""" A data class containing schema definitions chemical component definitions.
"""
_databaseName="compv4"
_schemaDefDict ={
_schemaDefDict = {
'CHEM_COMP': {'ATTRIBUTES': {'COMPONENT_ID': 'Component_ID',
'FORMULA': 'formula',
'FORMULA_WEIGHT': 'formula_weight',
Expand Down Expand Up @@ -53,6 +53,7 @@ class ChemCompSchemaDef(SchemaDefBase):
'PDBX_MODEL_COORDINATES_MISSING_FLAG': 'pdbx_model_coordinates_missing_flag',
'PDBX_MODIFICATION_DETAILS': 'pdbx_modification_details',
'PDBX_MODIFIED_DATE': 'pdbx_modified_date',
'PDBX_PCM': 'pdbx_pcm',
'PDBX_PROCESSING_SITE': 'pdbx_processing_site',
'PDBX_RELEASE_STATUS': 'pdbx_release_status',
'PDBX_REPLACED_BY': 'pdbx_replaced_by',
Expand Down Expand Up @@ -189,13 +190,13 @@ class ChemCompSchemaDef(SchemaDefBase):
'SQL_TYPE': 'VARCHAR',
'WIDTH': 10},
'PDBX_INITIAL_DATE': {'NULLABLE': True,
'ORDER': 35,
'ORDER': 36,
'PRECISION': 0,
'PRIMARY_KEY': False,
'SQL_TYPE': 'DATETIME',
'WIDTH': 15},
'PDBX_MODEL_COORDINATES_DB_CODE': {'NULLABLE': True,
'ORDER': 31,
'ORDER': 32,
'PRECISION': 0,
'PRIMARY_KEY': False,
'SQL_TYPE': 'VARCHAR',
Expand All @@ -219,19 +220,25 @@ class ChemCompSchemaDef(SchemaDefBase):
'SQL_TYPE': 'VARCHAR',
'WIDTH': 80},
'PDBX_MODIFIED_DATE': {'NULLABLE': True,
'ORDER': 36,
'ORDER': 37,
'PRECISION': 0,
'PRIMARY_KEY': False,
'SQL_TYPE': 'DATETIME',
'WIDTH': 15},
'PDBX_PCM': {'NULLABLE': True,
'ORDER': 31,
'PRECISION': 0,
'PRIMARY_KEY': False,
'SQL_TYPE': 'VARCHAR',
'WIDTH': 10},
'PDBX_PROCESSING_SITE': {'NULLABLE': True,
'ORDER': 34,
'ORDER': 35,
'PRECISION': 0,
'PRIMARY_KEY': False,
'SQL_TYPE': 'VARCHAR',
'WIDTH': 10},
'PDBX_RELEASE_STATUS': {'NULLABLE': True,
'ORDER': 33,
'ORDER': 34,
'PRECISION': 0,
'PRIMARY_KEY': False,
'SQL_TYPE': 'VARCHAR',
Expand All @@ -249,7 +256,7 @@ class ChemCompSchemaDef(SchemaDefBase):
'SQL_TYPE': 'VARCHAR',
'WIDTH': 80},
'PDBX_SUBCOMPONENT_LIST': {'NULLABLE': True,
'ORDER': 32,
'ORDER': 33,
'PRECISION': 0,
'PRIMARY_KEY': False,
'SQL_TYPE': 'VARCHAR',
Expand Down Expand Up @@ -320,6 +327,7 @@ class ChemCompSchemaDef(SchemaDefBase):
None),
'PDBX_MODIFICATION_DETAILS': ('chem_comp', 'pdbx_modification_details', None, None),
'PDBX_MODIFIED_DATE': ('chem_comp', 'pdbx_modified_date', None, None),
'PDBX_PCM': ('chem_comp', 'pdbx_pcm', None, None),
'PDBX_PROCESSING_SITE': ('chem_comp', 'pdbx_processing_site', None, None),
'PDBX_RELEASE_STATUS': ('chem_comp', 'pdbx_release_status', None, None),
'PDBX_REPLACED_BY': ('chem_comp', 'pdbx_replaced_by', None, None),
Expand Down Expand Up @@ -1682,6 +1690,138 @@ class ChemCompSchemaDef(SchemaDefBase):
'TABLE_ID': 'PDBX_CHEM_COMP_IMPORT',
'TABLE_NAME': 'pdbx_chem_comp_import',
'TABLE_TYPE': 'transactional'},
'PDBX_CHEM_COMP_PCM': {'ATTRIBUTES': {'CATEGORY': 'category',
'COMPONENT_ID': 'Component_ID',
'COMP_ID': 'comp_id',
'COMP_ID_LINKING_ATOM': 'comp_id_linking_atom',
'FIRST_INSTANCE_MODEL_DB_CODE': 'first_instance_model_db_code',
'MODIFIED_RESIDUE_ID': 'modified_residue_id',
'MODIFIED_RESIDUE_ID_LINKING_ATOM': 'modified_residue_id_linking_atom',
'PCM_ID': 'pcm_id',
'POLYPEPTIDE_POSITION': 'polypeptide_position',
'POSITION': 'position',
'TYPE': 'type',
'UNIPROT_GENERIC_PTM_ACCESSION': 'uniprot_generic_ptm_accession',
'UNIPROT_SPECIFIC_PTM_ACCESSION': 'uniprot_specific_ptm_accession'},
'ATTRIBUTE_INFO': {'CATEGORY': {'NULLABLE': True,
'ORDER': 6,
'PRECISION': 0,
'PRIMARY_KEY': False,
'SQL_TYPE': 'VARCHAR',
'WIDTH': 80},
'COMPONENT_ID': {'NULLABLE': False,
'ORDER': 1,
'PRECISION': 0,
'PRIMARY_KEY': True,
'SQL_TYPE': 'VARCHAR',
'WIDTH': 10},
'COMP_ID': {'NULLABLE': True,
'ORDER': 3,
'PRECISION': 0,
'PRIMARY_KEY': False,
'SQL_TYPE': 'VARCHAR',
'WIDTH': 10},
'COMP_ID_LINKING_ATOM': {'NULLABLE': True,
'ORDER': 9,
'PRECISION': 0,
'PRIMARY_KEY': False,
'SQL_TYPE': 'VARCHAR',
'WIDTH': 6},
'FIRST_INSTANCE_MODEL_DB_CODE': {'NULLABLE': True,
'ORDER': 13,
'PRECISION': 0,
'PRIMARY_KEY': False,
'SQL_TYPE': 'VARCHAR',
'WIDTH': 20},
'MODIFIED_RESIDUE_ID': {'NULLABLE': True,
'ORDER': 4,
'PRECISION': 0,
'PRIMARY_KEY': False,
'SQL_TYPE': 'VARCHAR',
'WIDTH': 10},
'MODIFIED_RESIDUE_ID_LINKING_ATOM': {'NULLABLE': True,
'ORDER': 10,
'PRECISION': 0,
'PRIMARY_KEY': False,
'SQL_TYPE': 'VARCHAR',
'WIDTH': 6},
'PCM_ID': {'NULLABLE': False,
'ORDER': 2,
'PRECISION': 0,
'PRIMARY_KEY': True,
'SQL_TYPE': 'INT',
'WIDTH': 10},
'POLYPEPTIDE_POSITION': {'NULLABLE': True,
'ORDER': 8,
'PRECISION': 0,
'PRIMARY_KEY': False,
'SQL_TYPE': 'VARCHAR',
'WIDTH': 80},
'POSITION': {'NULLABLE': True,
'ORDER': 7,
'PRECISION': 0,
'PRIMARY_KEY': False,
'SQL_TYPE': 'VARCHAR',
'WIDTH': 80},
'TYPE': {'NULLABLE': True,
'ORDER': 5,
'PRECISION': 0,
'PRIMARY_KEY': False,
'SQL_TYPE': 'VARCHAR',
'WIDTH': 80},
'UNIPROT_GENERIC_PTM_ACCESSION': {'NULLABLE': True,
'ORDER': 12,
'PRECISION': 0,
'PRIMARY_KEY': False,
'SQL_TYPE': 'VARCHAR',
'WIDTH': 20},
'UNIPROT_SPECIFIC_PTM_ACCESSION': {'NULLABLE': True,
'ORDER': 11,
'PRECISION': 0,
'PRIMARY_KEY': False,
'SQL_TYPE': 'VARCHAR',
'WIDTH': 20}},
'ATTRIBUTE_MAP': {'CATEGORY': ('pdbx_chem_comp_pcm', 'category', None, None),
'COMPONENT_ID': (None, None, 'datablockid()', None),
'COMP_ID': ('pdbx_chem_comp_pcm', 'comp_id', None, None),
'COMP_ID_LINKING_ATOM': ('pdbx_chem_comp_pcm',
'comp_id_linking_atom',
None,
None),
'FIRST_INSTANCE_MODEL_DB_CODE': ('pdbx_chem_comp_pcm',
'first_instance_model_db_code',
None,
None),
'MODIFIED_RESIDUE_ID': ('pdbx_chem_comp_pcm',
'modified_residue_id',
None,
None),
'MODIFIED_RESIDUE_ID_LINKING_ATOM': ('pdbx_chem_comp_pcm',
'modified_residue_id_linking_atom',
None,
None),
'PCM_ID': ('pdbx_chem_comp_pcm', 'pcm_id', None, None),
'POLYPEPTIDE_POSITION': ('pdbx_chem_comp_pcm',
'polypeptide_position',
None,
None),
'POSITION': ('pdbx_chem_comp_pcm', 'position', None, None),
'TYPE': ('pdbx_chem_comp_pcm', 'type', None, None),
'UNIPROT_GENERIC_PTM_ACCESSION': ('pdbx_chem_comp_pcm',
'uniprot_generic_ptm_accession',
None,
None),
'UNIPROT_SPECIFIC_PTM_ACCESSION': ('pdbx_chem_comp_pcm',
'uniprot_specific_ptm_accession',
None,
None)},
'INDICES': {'p1': {'ATTRIBUTES': ('COMPONENT_ID', 'PCM_ID'), 'TYPE': 'UNIQUE'},
's1': {'ATTRIBUTES': ('COMPONENT_ID',), 'TYPE': 'SEARCH'}},
'MAP_MERGE_INDICES': {'pdbx_chem_comp_pcm': {'ATTRIBUTES': ('pcm_id',), 'TYPE': 'EQUI-JOIN'}},
'TABLE_DELETE_ATTRIBUTE': 'COMPONENT_ID',
'TABLE_ID': 'PDBX_CHEM_COMP_PCM',
'TABLE_NAME': 'pdbx_chem_comp_pcm',
'TABLE_TYPE': 'transactional'},
'PDBX_CHEM_COMP_RELATED': {'ATTRIBUTES': {'COMPONENT_ID': 'Component_ID',
'COMP_ID': 'comp_id',
'DETAILS': 'details',
Expand Down Expand Up @@ -1802,7 +1942,7 @@ class ChemCompSchemaDef(SchemaDefBase):

def __init__(self,verbose=True,log=sys.stderr):
super(ChemCompSchemaDef,self).__init__(databaseName=ChemCompSchemaDef._databaseName,schemaDefDict=ChemCompSchemaDef._schemaDefDict,
verbose=verbose,log=log)
verbose=verbose,log=log)


if __name__ == "__main__":
Expand Down
Loading

0 comments on commit 5d17bbf

Please sign in to comment.