This project is a Python tool to analyze basic structural information from PDB files.
This project performs structural analysis of proteins from PDB files, including:
- Parsing ATOM and HETATM records
- Residue extraction and classification
- Residue contact map generation
- Solvent Accessible Surface Area (SASA) calculation
- Relative SASA and residue exposure classification
- Comparative analysis of multiple proteins
The main objective was to implement core structural bioinformatics concepts manually to strengthen Python programming skills.
- Counts atoms and residues
- Classifies residues into:
- Hydrophobic
- Polar
- Charged
- Computes residue composition per chain
- Atom–atom distance calculation
- Residue–residue contact detection (cutoff-based)
- Binary contact matrix visualization
-
Implemented using the Shrake–Rupley algorithm via Bio.PDB
-
Per-residue SASA values (Ų)
-
Relative SASA normalization using residue-specific reference values
-
Residue exposure classification:
- Buried (< 0.2)
- Intermediate (0.2–0.5)
- Exposed (> 0.5)
-
Integration with residue contact analysis:
- Number of contacts computed per residue
- Allows comparison between solvent exposure and structural packing
-
Observed trend:
- Buried residues tend to have more contacts
- Exposed residues tend to have fewer contacts
-
Note:
- Some residues may have
relative SASA = Nonedue to missing reference values (e.g., non-standard residues)
- Some residues may have
utils.py
contact-map.py
single-protein-analyzer.py
multiple-protein-analyzer.py
sasa.py
data/
- Residue class bar plot
- Binary contact map

- CSV summary file
- Total and per-residue SASA values
- Relative SASA and exposure classification
- The focus is educational.
- Simplified biochemical grouping for didactic purposes; therefore, it has some limitations.
- I am currently studying and exploring ways to improve the project.
Berman, H. M., et al. (2000).
The Protein Data Bank.
Nucleic Acids Research, 28(1), 235–242.
Vendruscolo, M., & Domany, E. (1997).
Recovery of protein structure from contact maps.
Folding and Design.
Shrake, A., & Rupley, J. A. (1973). Environment and exposure to solvent of protein atoms. Journal of Molecular Biology.