Automatically download research papers associated with Protein Data Bank (PDB) structures using DOI metadata from RCSB.
The script queries the RCSB API, extracts DOI information, searches publisher pages for PDF links, and downloads accessible papers automatically.
- DOI retrieval from RCSB
- Automatic PDF discovery
- Handles redirects
- Multiple publisher support
- Randomized browser headers
- PDF validation
- Failed download logging
- Resume-safe execution
Clone the repository:
git clone https://github.com/Amarkar7/PDB2Paper.git
cd PDB2PaperInstall dependencies:
pip install -r requirements.txtAdd PDB IDs to:
pdb_ids.txt
Example:
1A4T
1ETF
3ICE
Run:
python3 download_papers.pyDownloaded papers will be stored in:
PDB_Papers/
Failed entries will be stored in:
failed_downloads.txt
PDB2Paper/
├── download_papers.py
├── requirements.txt
├── pdb_ids.txt
├── README.md
├── .gitignore
└── PDB_Papers/
Some publishers may block automated downloads.
Possible reasons for failed downloads:
- CAPTCHA or anti-bot protection
- Institutional access restrictions
- JavaScript-rendered PDF buttons
- Invalid or outdated DOI
- Temporary rate limiting
This project is intended for academic and research purposes only.
Please respect publisher copyright policies and institutional access rules.