1. Updates
Weekly updates. StrucPTM is rebuilt on a weekly basis using the latest PDB mmCIF, SIFTS, and UniProt releases; DSSP-derived annotations are recomputed for each build.
2. Web interface usage
The StrucPTM web interface can be understood in four parts: search filters, search results, PDB selection for comparison, and comparison view.
- Search filters. In the
Searchtab, specifyUniProt IDorPDB ID:Chain(e.g.132L:A), then optionally refine by PTM type, assembly type, location, secondary structure, and RSA range. - Search results. The results table lists curated PTM entries matching the filters. Each row shows identifiers and structural context.
- PDB selection for comparison. Clicking Compare opens a view where you can select homologous PDB chains (from the same UniProt) as comparison targets.
- Comparison view. Selected structures are shown in a 3D viewer. The PTM residue is highlighted with residue number and residue name, and the sequence alignment results are displayed below the viewer.
3. Atomic composition rules for PTM validation
For selected PTM types, StrucPTM validates each modified residue by checking that the atom set in the mmCIF file matches an expected canonical + added atoms pattern. The table below lists the atomic composition rules used in this release.
Canonical atoms correspond to the backbone and side-chain atoms of the unmodified residue. “Added atoms” represent additional atoms introduced by the PTM group and must be present for a residue to be considered a valid instance of that PTM.
4. API access
StrucPTM provides programmatic access via a REST API. Interactive API documentation (Swagger UI) is available at
https://prix.hanyang.ac.kr/strucptm/api/docs.The API base URL is
https://prix.hanyang.ac.kr/strucptm/api. The primary endpoint is POST /search_ptm_data, which returns curated PTM entries using the same filters as the web interface.4.1 POST /search_ptm_data
Example request body (multiple filters):
POST https://prix.hanyang.ac.kr/strucptm/api/search_ptm_data
Content-Type: application/json
{
"pdb_id_chain": "132L:A",
"annotation": "Methylation",
"organism": "Chicken",
"assembly_type": ["Monomer", "Multimer"],
"secondary_structure": ["H", "E"],
"rsa_min": 0.2,
"rsa_max": 1.0
}Example (PowerShell)
$body = @'
{
"pdb_id_chain": "132L:A",
"annotation": "Methylation",
"organism": "Chicken",
"assembly_type": ["Monomer", "Multimer"],
"secondary_structure": ["H", "E"],
"rsa_min": 0.2,
"rsa_max": 1.0
}
'@
Invoke-RestMethod -Method Post `
-Uri "https://prix.hanyang.ac.kr/strucptm/api/search_ptm_data" `
-ContentType "application/json" `
-Body $bodyExample (curl, bash/Linux/macOS)
curl -X POST "https://prix.hanyang.ac.kr/strucptm/api/search_ptm_data" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{ "pdb_id_chain": "132L:A", "annotation": "Methylation", "organism": "Chicken", "assembly_type": ["Monomer", "Multimer"], "secondary_structure": ["H", "E"], "rsa_min": 0.2, "rsa_max": 1.0 }'Note: On Windows PowerShell, using
Invoke-RestMethod is recommended for POST requests to avoid JSON quoting issues. In bash environments, curl is typically the simplest option.5. Citation
When using StrucPTM in your work, please cite the StrucPTM database paper:
- “StrucPTM” – main database and curation manuscript. (link to be added after publication)