Edge-specific signal propagation on 3D mechanism graphs for quantum yield prediction. Uses graph neural networks to predict fluorescent protein quantum yields from chromophore-region structural graphs.
Scanned 9/11/2026
Install to Claude Code
npx -y skills add hiyenwong/ai_collection --skill graph-mechanism-quantum-prediction --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Graph Mechanism Quantum Prediction?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/hiyenwong-graph-mechanism-quantum-prediction-ai-collection)More formats (shields.io, HTML) on the badges page.
---
name: graph-mechanism-quantum-prediction
description: "Edge-specific signal propagation on 3D mechanism graphs for quantum yield prediction. Uses graph neural networks to predict fluorescent protein quantum yields from chromophore-region structural graphs."
---
# Graph Mechanism Networks for Quantum Yield Prediction
## Description
Fluorescent protein quantum yield (QY) is governed by the mature chromophore and its 3D microenvironment. This methodology uses graph neural networks with edge-specific signal propagation on 3D mechanism graphs to predict quantum yields, going beyond sequence-based approaches. Based on arXiv:2605.06644.
## Activation Keywords
- quantum yield prediction
- fluorescent protein QY
- mechanism graph neural network
- edge-specific signal propagation
- 量子产率预测
- 荧光蛋白
- chromophore graph
- protein structure prediction
- 3D mechanism graph
## Core Methodology
### Problem
Fluorescent protein quantum yield cannot be predicted from sequence alone — it depends on the 3D structural context around the chromophore. Traditional protein language models miss this structural information.
### Solution: Mechanism Graph
Build a graph where:
- **Nodes**: Atoms and residues in the chromophore region
- **Edges**: Physical interactions (hydrogen bonds, π-stacking, van der Waals, electrostatic)
- **Node features**: Atom type, residue identity, partial charge, hybridization
- **Edge features**: Distance, interaction type, strength, angle
### Architecture
#### Step 1: Graph Construction
```
Input: Protein structure (PDB file)
1. Identify mature chromophore
2. Extract surrounding region (e.g., 15Å radius)
3. Build graph:
- Nodes = atoms + key residues
- Edges = physical interactions within cutoff
4. Annotate with geometric and chemical features
```
#### Step 2: Edge-Specific Message Passing
```
For each edge type e:
message_e = σ(W_e · h_source + b_e)
Aggregate across edge types:
h_node_new = σ(Σ_e Σ_{neighbors} message_e)
Key: Different edge types use different weight matrices,
capturing distinct physical interaction mechanisms.
```
#### Step 3: Global Readout
```
h_global = Pool(h_node for all nodes)
QY_prediction = MLP(h_global)
```
### Why Edge-Specific Matters
Different physical interactions affect quantum yield differently:
- **Hydrogen bonds**: Stabilize/destabilize excited states
- **π-stacking**: Modify conjugation and emission wavelength
- **Electrostatic**: Shift energy levels via Stark effect
- **Van der Waals**: Constrain conformational flexibility
Using shared weights for all edge types loses this mechanistic specificity.
## Implementation Pattern
### Graph Feature Engineering
```python
# Node features
node_features = {
'atom_type': one_hot(C, N, O, S, ...),
'residue_type': one_hot(20 amino acids),
'partial_charge': Gasteiger charge,
'hybridization': sp, sp2, sp3,
'is_chromophore': boolean,
'distance_to_chromophore': float
}
# Edge features
edge_features = {
'interaction_type': one_hot(H-bond, π-stack, electrostatic, vdW),
'distance': float (Å),
'angle': float (degrees),
'strength': float (kcal/mol)
}
```
### Model Architecture
```python
class MechanismGNN(nn.Module):
def __init__(self, edge_types):
self.edge_convs = nn.ModuleDict({
et: SAGEConv(dim, dim) for et in edge_types
})
self.readout = GlobalAttention()
self.predictor = MLP(dim, 1)
def forward(self, graph):
h = graph.node_features
for edge_type in graph.edge_types:
msg = self.edge_convs[edge_type](h, graph.edges[edge_type])
h = h + msg
h_global = self.readout(h)
return self.predictor(h_global)
```
## Error Handling
### Missing Structural Data
If PDB structure is unavailable:
1. Use AlphaFold2/Rosetta to predict structure
2. Focus on chromophore region (smaller prediction error)
3. Report prediction confidence based on structural quality
### Edge Type Ambiguity
If interaction classification is uncertain:
1. Use probabilistic edge typing (soft assignment)
2. Apply ensemble of edge-type classifiers
3. Report uncertainty in prediction
## Examples
### Example: GFP Quantum Yield Prediction
```
Input: GFP crystal structure (PDB: 1EMA)
Graph: 2,847 nodes, 12,453 edges (6 interaction types)
Prediction: QY = 0.79 (experimental: 0.79)
Key factors identified:
- H-bond network around chromophore: +0.15 contribution
- π-stacking with His148: +0.08 contribution
- Electrostatic shielding: -0.03 contribution
```
## Resources
- arXiv:2605.06644 - Edge-specific Signal Propagation on 3D Mechanism Graphs for QY Prediction
## Related Skills
- quantum-ml-patterns
- brain-inspired-snn-pattern-analysis
- neural-population-decoding
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!