Transform your protein structure prediction workflow with AFusion - a sleek, intuitive graphical interface that makes AlphaFold3 accessible to everyone. No more command-line hassles - just point, click, and predict.
Demo site (generate input JSON files ONLY)
Usable visualization site (fully usable)
- Features
- Prerequisites
- Installation and Running
- Usage
- Documentation
- ToDo
- Screenshots
- License
- Acknowledgements
- GUI Installer: Step-by-step visual installation wizard
- Auto-Configuration: Handles environment setup and dependencies
- Visual Workflow: Clean, modern interface for job configuration
- Multi-Entity Support: Process proteins, RNA, DNA, and ligands
- Advanced Options: Customize MSA, templates, and modifications
- 🚀 Integrated Pipeline: Direct AlphaFold3 execution from GUI
- 🖥️ Live Monitoring: Real-time process tracking and console output
- 🧩 Batch Processing: Python API for automated predictions
- AlphaFold 3 Output Analysis System: Automatically analyze and visualize results with customizable visualizations and generate detailed PDF reports for streamlined insights.
- Enhanced Visualization Features (New in this fork):
- Multiple visualization styles (cartoon, stick, line, sphere)
- Flexible coloring schemes (confidence, chain, secondary structure, rainbow)
- Interactive residue selection and chain sequence viewer
- Advanced export capabilities for scientific and 3D printing formats
- Improved PAE matrix visualization and confidence metrics display
Before using AFusion, ensure that you have the following:
-
🐳 Docker Installed: Docker is required to run AlphaFold 3. Install Docker from the official website.
-
🧬 AlphaFold 3 Installed: AFusion requires AlphaFold 3 to be installed and set up on your system. Follow the installation instructions provided in the AlphaFold 3 GitHub Repository to deploy AlphaFold 3. Or you can run step-by-step GUI by:
afusion install
-
🐍 Python 3.10 or Higher: AFusion is built with Python and requires Python 3.10 or higher.
-
Install AFusion
Run the following command in your terminal to install AFusion:
pip install afusion
-
Run AFusion GUI
After installation, you can start AFusion by running:
afusion run
This will launch the AFusion graphical user interface (GUI) in your default web browser.
Please Note:
-
🧬 AlphaFold 3 Installation: Ensure you have correctly installed AlphaFold 3, including model parameters and required databases, following the AlphaFold 3 Installation Guide.
-
⚙️ Docker Configuration: After installing Docker, make sure it is running properly and that your user has permission to execute Docker commands.
-
📦 Streamlit is Included in Dependencies: AFusion's installation will automatically install all required dependencies, including Streamlit. There's no need to install it separately.
-
🚀 Start the Streamlit App
From the project directory, run:
afusion run
-
🌐 Access the Application
- The application will launch, and Streamlit will provide a local URL (e.g.,
http://localhost:8501
). - Open the provided URL in your web browser to access AFusion.
- The application will launch, and Streamlit will provide a local URL (e.g.,
Find more about input in here.
- 👋 Logo and Introduction: You'll see the AFusion logo and a brief description.
- 📑 Navigation Sidebar: Use the sidebar on the left to navigate to different sections of the app.
- 🏷️ Job Name: Enter a descriptive name for your job.
- 🔢 Model Seeds: Provide integer seeds separated by commas (e.g.,
1,2,3
).
- 🔬 Number of Entities: Select how many entities you want to add (Proteins, RNA, DNA, Ligand).
- 📋 Entity Details: For each entity:
- ⚛️ Entity Type: Select the type (Protein, RNA, DNA, Ligand).
- 🆔 Entity ID: Provide an identifier for the entity.
- 🧬 Sequence Input: Enter the sequence information.
- ✏️ Modifications: Optionally add modifications with their types and positions.
- 📂 MSA Options: Choose MSA generation options and provide MSA data if applicable.
- 📜 Templates: Optionally add template data with mmCIF content and indices.
- 🔗 Add Bonds: Check the box to add bonded atom pairs.
- ⚛️ Define Bonds: For each bond, provide details for the first and second atoms, including entity IDs, residue IDs, and atom names.
- 📜 User CCD Input: Paste or enter custom CCD data in mmCIF format.
- 📄 Review JSON Content: The application generates the JSON input file based on your entries. You can review it here.
-
🗂️ Paths Configuration:
- 📁 AF Input Path: Specify the path to the AlphaFold input directory (e.g.,
/home/user/af_input
). - 📂 AF Output Path: Specify the path to the output directory (e.g.,
/home/user/af_output
). - 📂 Model Parameters Directory: Provide the path to the model parameters directory.
- 📂 Databases Directory: Provide the path to the databases directory.
- 📁 AF Input Path: Specify the path to the AlphaFold input directory (e.g.,
-
⚙️ Execution Options:
- 🏗️ Run Data Pipeline: Choose whether to run the data pipeline (CPU-intensive).
- 💻 Run Inference: Choose whether to run inference (requires GPU).
- 💾 Save JSON File: Click the "Save JSON File" button to save the generated JSON to the specified input path.
▶️ Run AlphaFold 3 Now: Click the "Run AlphaFold 3 Now▶️ " button to execute the AlphaFold 3 prediction using the Docker command.- 🔧 Docker Command: The exact Docker command used is displayed for your reference.
- 📊 Command Output: Execution output is displayed within the app for monitoring.
- Full Documentation in here
-
📄 Bulid Documentation: Tutorial for using the AFusion API in Python scripts for batch predictions. -
♻️ Refactor Code and Publish to PyPI: Refactor the project code for improved modularity and maintainability, and publish the latest version to PyPI for easy installation. -
🔗 Develop AlphaFold result analysis system: Design and implement a comprehensive analysis pipeline for AlphaFold prediction results.-
Update the system.
-
- ⚛️ Preset Common Small Molecules & Metal Ions: Add a dedicated section for quick access to commonly used small molecules and metal ions.
- 🛠️ New Tool for Chemical Small Molecules: Develop a new tool to handle and model chemical small molecules, supporting seamless integration into the prediction pipeline.
-
🖥️ Add Console Output: Implement a backend console for output to track processes and debug more effectively. -
🧩 Create API for Batch Predictions: Develop a standalone function API to allow users to perform batch predictions with afusion in Python scripts. -
🧭 Create Guided Installation GUI: To simplify the installation process. -
🎨 Enhanced Visualization Features: Implement advanced visualization capabilities with multiple styles and export options.
This project is licensed under the GPL3 License - see the LICENSE file for details.
- Original Project: Created by Hanziwww
- Visualization Enhancements: This fork includes additional visualization features while maintaining the core functionality of the original project
- Enhanced Version: Maintained by Shivp1413
- AlphaFold 3: This GUI is designed to work with AlphaFold 3 by DeepMind
- Streamlit: AFusion is built using Streamlit
- Contributors: Thanks to all contributors to the original project!
If you encounter any issues or have suggestions for improvements, please open an issue or submit a pull request.
Happy Folding! 🧬