AI Structure Prediction Models
Relevant source files
The following files were used as context for generating this wiki page:
The AI Structure Prediction module provides a suite of advanced deep-learning services designed to predict protein 3D structures from amino acid sequences and perform inverse folding. These services are integrated into the DXKB platform as specialized application widgets, allowing researchers to leverage models like AlphaFold, ESMFold, and ProteinMPNN for structural biology analysis.
The primary objective of these models is to bridge the gap between genomic sequence data and functional protein structures. By providing a unified interface for multiple folding algorithms, the platform enables comparative structural analysis and sequence design tasks.
Sources: public/js/p3/widget/app/AlphaFold.js:20-22, public/js/p3/widget/app/Folding.js:18-20, public/js/p3/widget/app/StructureSequencePrediction.js:18-20
Service Architecture and Components
The AI Structure Prediction services are built using a modular widget-based architecture. Each service (AlphaFold, ESMFold/Folding, and Structure Sequence Prediction) extends a common base class (AppBase), which handles job submission, workspace interaction, and authentication.
Service Overview Table
| Service | Primary Algorithm | Function | Key Inputs |
|---|---|---|---|
| AlphaFold | AlphaFold2 | 3D structure prediction from sequence | FASTA files, Model Presets |
| Folding | AlphaFold / ESMFold | Unified structure prediction | Sequence input, Batch settings |
| Structure Sequence | ProteinMPNN | Inverse folding (sequence from structure) | PDB ID or User PDB file |
Sources: public/js/p3/widget/app/AlphaFold.js:15-30, public/js/p3/widget/app/Folding.js:15-30, public/js/p3/widget/app/StructureSequencePrediction.js:15-30
Job Submission Workflow
The following diagram illustrates how user input is processed through the folding widgets before being submitted to the backend.
AlphaFold Service
The AlphaFold service utilizes the AlphaFold2 deep learning system to predict protein structures. It requires FASTA sequence paths and allows users to specify distinct presets for models and databases.
Configuration Parameters
- Model Preset: Determines which AlphaFold model to run (e.g., monomer or multimer).
- Database Preset: Sets the reference database size (e.g., full or reduced).
// AlphaFold submission object construction
getValues: function () {
var af_values = {};
var values = this.inherited(arguments);
af_values.output_path = values.output_path;
af_values.fasta_paths = values.fasta_paths;
af_values.model_preset = values.model_preset;
af_values.db_preset = values.db_preset;
af_values.output_file = values.output_file;
return af_values;
}
Sources: public/js/p3/widget/app/AlphaFold.js:81-89
Unified Folding Service (AlphaFold & ESMFold)
The Folding.js widget provides a unified interface for both AlphaFold and ESMFold algorithms. It handles the dynamic switching of UI parameters based on the selected folding type.
Algorithm Selection Logic
When a user switches between folding types, the widget toggles the visibility of parameter boxes and updates validation requirements.
ESMFold Specific Settings
ESMFold implementation in the platform focuses on speed and efficiency, offering parameters for batch processing and hardware optimization:
- Num Recycles: Number of times the sequence is passed through the model.
- Chunk Size: Determines the memory footprint during inference.
- Batch Sequences: Boolean toggle to enable processing multiple targets in a single batch.
Sources: public/js/p3/widget/app/Folding.js:150-170
Inverse Folding: Structure Sequence Prediction
The Structure Sequence Prediction service implements the ProteinMPNN model. Unlike forward folding, this service predicts potential amino acid sequences that could form a given 3D structure (backbone).
Input Methods
Users can provide structural input via two methods:
- PDB ID Selection: A searchable dropdown that queries the RCSB Protein Data Bank.
- User PDB Upload: Uploading a custom structural file from the local machine or workspace.
Parameter Configuration
| Parameter | Description | Default |
|---|---|---|
chains | Specific chains in the PDB to target for sequence prediction | (User defined) |
model_name | The specific ProteinMPNN model version to use | v_48_030 |
backbone_noise | Noise added to coordinates to increase sequence diversity | 0.0 |
num_seq_per_target | Number of sequence variants to generate | (User defined) |
sampling_temp | Controls the randomness of sequence sampling | (User defined) |
Sources: public/js/p3/widget/app/StructureSequencePrediction.js:82-100, public/js/p3/widget/app/StructureSequencePrediction.js:105-115
Integration with Multiple Sequence Alignment (MSA)
Structure prediction models often rely on evolutionary information extracted from alignments. The platform provides a dedicated MSA.js service that supports algorithms like MAFFT and MUSCLE. While used independently, the resulting alignment files (FASTA) are frequently used as inputs for structural workflows to improve prediction accuracy.
Sources: public/js/p3/widget/app/MSA.js:16-20, public/js/p3/widget/app/Folding.js:18-20
Conclusion
The AI Structure Prediction module centralizes complex computational biology tasks into accessible web widgets. By supporting both forward folding (AlphaFold/ESMFold) and inverse folding (ProteinMPNN), and integrating with traditional alignment tools, the system provides a comprehensive pipeline for exploring the sequence-structure-function relationship in proteins.