AlphaFold Helper is a Python-based tool designed to interact with the AlphaFold Protein Structure Database API. It allows users to retrieve and process detailed information about AlphaFold protein structure predictions, including metadata, sequence details, structure models, and various related files.
- Fetch models by UniProt accession.
- Retrieve detailed metadata for each protein structure.
- Download and organize structure files (PDB, CIF, and bCIF).
- Retrieve predicted aligned error (PAE) files and images.
- Automatically save and organize data in structured directories.
- Extensive error handling and user feedback.
- Clone this repository:
git clone https://github.com/RohanNathHERE/alphafold-helper.git cd alphafold-helper
- Create a virtual environment and install dependencies:
python3 -m venv env source env/bin/activate # On Windows: env\Scripts\activate pip install -r requirements.txt
Run the script interactively to fetch and process protein structure data:
python AlphaFoldHelper.py
-
Enter the UniProt accession when prompted:
Enter UniProt accession (e.g., P00520): P00520
-
Choose an action:
- Fetch models by UniProt accession.
- Fetch summary by residue range.
-
View results and process data. The script will download files and save them locally in a structured format.
The script organizes output data as follows:
- Metadata: Saved as JSON files for easy analysis.
- Structure Files: Downloads PDB, CIF, and bCIF files to designated directories.
- PAE Files: Saves aligned error images and JSON files.
AlphaFoldHelper/
├── data/
│ ├── P00520/
│ │ ├── metadata.json
│ │ ├── structure.pdb
│ │ ├── structure.cif
│ │ ├── pae_image.png
│ │ └── pae_data.json
├── AlphaFoldHelper.py
├── requirements.txt
└── README.md
The script utilizes the AlphaFold Protein Structure Database API:
- GET /prediction/{qualifier}: Retrieve all models for a UniProt accession.
- GET /uniprot/summary/{qualifier}.json: Fetch summary details for a UniProt residue range.
Contributions are welcome! Feel free to submit issues and pull requests to enhance this tool.
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Commit your changes and push the branch.
- Submit a pull request for review.
This project is licensed under the MIT License. See the LICENSE file for details.
For questions or support, please contact:
- Rohan Nath: [email protected]
- GitHub: https://github.com/RohanNathHERE