Skip to main content

A Streamlit app for running AlphaFold 3 predictions

Project description

🔬 AFusion: AlphaFold 3 GUI

AFusion is a user-friendly graphical interface designed to simplify the process of generating input JSON files and running AlphaFold 3 predictions. It streamlines the setup and execution of AlphaFold 3, making it accessible to users who prefer a GUI over command-line interactions.

Demo site (generate input JSON files ONLY)

Table of Contents

Features

  • Intuitive Interface: Easily configure job settings, sequences, and execution parameters through a clean and modern GUI.
  • Entity Management: Add multiple entities (Protein, RNA, DNA, Ligand) with support for modifications, MSA options, and templates.
  • Dynamic JSON Generation: Automatically generates the required JSON input file for AlphaFold 3 based on user inputs.
  • Integrated Execution: Run AlphaFold 3 directly from the GUI with customizable Docker execution settings.
  • Visual Feedback: Provides command output within the interface for monitoring and debugging.

Prerequisites

Before using AFusion, ensure that you have the following:

  1. Docker Installed: Docker is required to run AlphaFold 3. Install Docker from the official website.

  2. 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.

  3. Python 3.10 or Higher: AFusion is built with Python and requires Python 3.10 or higher.

  4. Streamlit Library: Install Streamlit to run the GUI application.

    pip install streamlit
    

Installation

  1. Clone the Repository: Clone or download the AFusion source code from this repository.

    git clone https://github.com/yourusername/afusion.git
    
  2. Navigate to the Project Directory

    cd afusion
    

Usage

Launching AFusion

  1. Start the Streamlit App

    From the project directory, run:

    streamlit run app.py --server.fileWatcherType=none
    
  2. 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.

Using the GUI

Find more about input in here.

1. Welcome Page

  • 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.

2. Job Settings

  • Job Name: Enter a descriptive name for your job.
  • Model Seeds: Provide integer seeds separated by commas (e.g., 1,2,3).

3. Sequences

  • 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.

4. Bonded Atom Pairs (Optional)

  • 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.

5. User Provided CCD (Optional)

  • User CCD Input: Paste or enter custom CCD data in mmCIF format.

6. Generated JSON

  • Review JSON Content: The application generates the JSON input file based on your entries. You can review it here.

7. AlphaFold 3 Execution Settings

  • 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.
  • Execution Options:

    • Run Data Pipeline: Choose whether to run the data pipeline (CPU-intensive).
    • Run Inference: Choose whether to run inference (requires GPU).

8. Run AlphaFold 3

  • 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.

Screenshots

image

License

This project is licensed under the GPL3 License - see the LICENSE file for details.

Acknowledgements

  • AlphaFold 3: This GUI is designed to work with AlphaFold 3 by DeepMind.
  • Streamlit: AFusion is built using Streamlit, an open-source app framework for machine learning and data science teams.
  • Contributors: Waiting for more!

If you encounter any issues or have suggestions for improvements, please open an issue or submit a pull request.

Happy Folding! 🧬

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

afusion-0.2.1.tar.gz (24.2 kB view details)

Uploaded Source

Built Distribution

afusion-0.2.1-py3-none-any.whl (22.6 kB view details)

Uploaded Python 3

File details

Details for the file afusion-0.2.1.tar.gz.

File metadata

  • Download URL: afusion-0.2.1.tar.gz
  • Upload date:
  • Size: 24.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.14

File hashes

Hashes for afusion-0.2.1.tar.gz
Algorithm Hash digest
SHA256 383d1e99052e07ca2f03cbd9c43030a4e2a93f32e83dee0b2af9298793a015d4
MD5 893fd660157202a7498bd3cfb6d76ea1
BLAKE2b-256 3a2ca89598ea7445f28550dfc4de37bf3e99d43cfb8e0e36ff469025506afefc

See more details on using hashes here.

File details

Details for the file afusion-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: afusion-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 22.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.14

File hashes

Hashes for afusion-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 21d6927029ec9bbd48ad0601314de2454aa8cad02e19d5f035145fa013652e8c
MD5 c34b644579003ef7974050e3cab9907c
BLAKE2b-256 e0ccbda4636c3515cc5f51def80dcd3ca2d22bdc60ac478f39c05608adab435f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page