# paddlepaddle/paddlehelix architecture

> Architecture diagram of the GitHub repository paddlepaddle/paddlehelix, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/paddlepaddle/paddlehelix
- Repository: https://github.com/paddlepaddle/paddlehelix

## Overview

PaddleHelix is a research toolkit of biomolecular machine-learning applications, rather than one end-user service. A representative workflow is protein sequence input, alignment and feature preparation, then structure prediction; the repository also contains separate tools for docking, molecular generation, affinity and synergy prediction, and molecular pretraining. The README documents these capabilities, while sampled source shows parts of the folding data pipeline. Other application internals and their runtime wiring are not sampled, so those links are omitted or marked unverified.

Main entry points: [`apps/protein_folding/HelixFold-S1/helixfold/data/pipeline_parallel.py`](https://github.com/paddlepaddle/paddlehelix/blob/dev/apps/protein_folding/HelixFold-S1/helixfold/data/pipeline_parallel.py) (Alignment pipeline), [`apps/protein_folding/HelixFold-S1/helixfold/data/input/input_pipeline.py`](https://github.com/paddlepaddle/paddlehelix/blob/dev/apps/protein_folding/HelixFold-S1/helixfold/data/input/input_pipeline.py) (Input features), [`apps/protein_folding/HelixFold-S1/helixfold`](https://github.com/paddlepaddle/paddlehelix/tree/dev/apps/protein_folding/HelixFold-S1/helixfold) (HelixFold models), [`apps/molecular_docking/helixdock/src/inference_dataset.py`](https://github.com/paddlepaddle/paddlehelix/blob/dev/apps/molecular_docking/helixdock/src/inference_dataset.py) (HelixDock)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_folding["Protein folding"]
  node_sequence["Protein sequence"]
  node_msa["Alignment pipeline"]
  node_features["Input features<br/>[input_pipeline.py]"]
  node_foldmodel["HelixFold models"]
  node_structure["Predicted structure"]
  node_helixfold3["HelixFold3 pipelines"]
  node_helixsingle["HelixFold-Single<br/>[pipeline.py]"]
end

subgraph group_drug["Drug discovery"]
  node_docking["HelixDock"]
  node_dockingresult["Docking prediction"]
  node_dti["Drug-target prediction"]
  node_synergy["Drug synergy<br/>[main.py]"]
  node_cancer["Cancer response<br/>[main.py]"]
end

subgraph group_molecules["Molecular learning"]
  node_generation["Molecular generation<br/>[sample.py]"]
  node_pretraining["Compound pretraining<br/>[model.py]"]
  node_fewshot["Few-shot properties<br/>[main.py]"]
end

subgraph group_research["Research applications"]
  node_camemodel["CamE model<br/>[model.py]"]
  node_geomdataset["Geometry dataset<br/>[dataset.py]"]
end

node_researcher(("Researcher"))

node_researcher -.->|"provides sequence"| node_sequence
node_sequence -.->|"aligns sequence"| node_msa
node_msa -->|"assembles features"| node_features
node_features -.->|"feeds model"| node_foldmodel
node_foldmodel -.->|"predicts structure"| node_structure
node_researcher -.->|"uses prediction"| node_helixfold3
node_researcher -.->|"uses prediction"| node_helixsingle
node_researcher -.->|"runs docking"| node_docking
node_docking -.->|"predicts pose"| node_dockingresult
node_researcher -.->|"estimates affinity"| node_dti
node_researcher -.->|"predicts synergy"| node_synergy
node_researcher -.->|"predicts response"| node_cancer
node_researcher -.->|"generates molecules"| node_generation
node_researcher -.->|"pretrains compounds"| node_pretraining
node_researcher -.->|"predicts properties"| node_fewshot
node_researcher -.->|"uses research model"| node_camemodel
node_researcher -.->|"uses research data"| node_geomdataset

click node_msa "https://github.com/paddlepaddle/paddlehelix/blob/dev/apps/protein_folding/HelixFold-S1/helixfold/data/pipeline_parallel.py"
click node_features "https://github.com/paddlepaddle/paddlehelix/blob/dev/apps/protein_folding/HelixFold-S1/helixfold/data/input/input_pipeline.py"
click node_foldmodel "https://github.com/paddlepaddle/paddlehelix/tree/dev/apps/protein_folding/HelixFold-S1/helixfold"
click node_helixfold3 "https://github.com/paddlepaddle/paddlehelix/blob/dev/apps/protein_folding/helixfold3/helixfold/data/msa_pipeline_protein.py"
click node_helixsingle "https://github.com/paddlepaddle/paddlehelix/blob/dev/apps/protein_folding/helixfold-single/alphafold_paddle/data/pipeline.py"
click node_docking "https://github.com/paddlepaddle/paddlehelix/blob/dev/apps/molecular_docking/helixdock/src/inference_dataset.py"
click node_dti "https://github.com/paddlepaddle/paddlehelix/tree/dev/apps/drug_target_interaction/batchdta"
click node_synergy "https://github.com/paddlepaddle/paddlehelix/blob/dev/apps/drug_drug_synergy/DTSyn/main.py"
click node_cancer "https://github.com/paddlepaddle/paddlehelix/blob/dev/apps/cancer_drug_response/STR/main.py"
click node_generation "https://github.com/paddlepaddle/paddlehelix/blob/dev/apps/molecular_generation/JT_VAE/sample.py"
click node_pretraining "https://github.com/paddlepaddle/paddlehelix/blob/dev/apps/pretrained_compound/ChemRL/GEM-2/src/model.py"
click node_fewshot "https://github.com/paddlepaddle/paddlehelix/blob/dev/apps/fewshot_molecular_property/main.py"
click node_camemodel "https://github.com/paddlepaddle/paddlehelix/blob/dev/research/CamE/model.py"
click node_geomdataset "https://github.com/paddlepaddle/paddlehelix/blob/dev/research/geomgcl/dataset.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_sequence,node_msa,node_features,node_foldmodel,node_structure,node_helixfold3,node_helixsingle toneBlue
class node_docking,node_dockingresult,node_dti,node_synergy,node_cancer toneAmber
class node_generation,node_pretraining,node_fewshot toneMint
class node_camemodel,node_geomdataset toneRose
class node_researcher toneIndigo
```

## Components

### Protein folding

- **Protein sequence**
- [Alignment pipeline](https://github.com/paddlepaddle/paddlehelix/blob/dev/apps/protein_folding/HelixFold-S1/helixfold/data/pipeline_parallel.py): `apps/protein_folding/HelixFold-S1/helixfold/data/pipeline_parallel.py`
- [Input features](https://github.com/paddlepaddle/paddlehelix/blob/dev/apps/protein_folding/HelixFold-S1/helixfold/data/input/input_pipeline.py): `apps/protein_folding/HelixFold-S1/helixfold/data/input/input_pipeline.py`
- [HelixFold models](https://github.com/paddlepaddle/paddlehelix/tree/dev/apps/protein_folding/HelixFold-S1/helixfold): `apps/protein_folding/HelixFold-S1/helixfold`
- **Predicted structure**
- [HelixFold3 pipelines](https://github.com/paddlepaddle/paddlehelix/blob/dev/apps/protein_folding/helixfold3/helixfold/data/msa_pipeline_protein.py): `apps/protein_folding/helixfold3/helixfold/data/msa_pipeline_protein.py`
- [HelixFold-Single](https://github.com/paddlepaddle/paddlehelix/blob/dev/apps/protein_folding/helixfold-single/alphafold_paddle/data/pipeline.py): `apps/protein_folding/helixfold-single/alphafold_paddle/data/pipeline.py`

### Drug discovery

- [HelixDock](https://github.com/paddlepaddle/paddlehelix/blob/dev/apps/molecular_docking/helixdock/src/inference_dataset.py): `apps/molecular_docking/helixdock/src/inference_dataset.py`
- **Docking prediction**
- [Drug-target prediction](https://github.com/paddlepaddle/paddlehelix/tree/dev/apps/drug_target_interaction/batchdta): `apps/drug_target_interaction/batchdta`
- [Drug synergy](https://github.com/paddlepaddle/paddlehelix/blob/dev/apps/drug_drug_synergy/DTSyn/main.py): `apps/drug_drug_synergy/DTSyn/main.py`
- [Cancer response](https://github.com/paddlepaddle/paddlehelix/blob/dev/apps/cancer_drug_response/STR/main.py): `apps/cancer_drug_response/STR/main.py`

### Molecular learning

- [Molecular generation](https://github.com/paddlepaddle/paddlehelix/blob/dev/apps/molecular_generation/JT_VAE/sample.py): `apps/molecular_generation/JT_VAE/sample.py`
- [Compound pretraining](https://github.com/paddlepaddle/paddlehelix/blob/dev/apps/pretrained_compound/ChemRL/GEM-2/src/model.py): `apps/pretrained_compound/ChemRL/GEM-2/src/model.py`
- [Few-shot properties](https://github.com/paddlepaddle/paddlehelix/blob/dev/apps/fewshot_molecular_property/main.py): `apps/fewshot_molecular_property/main.py`

### Research applications

- [CamE model](https://github.com/paddlepaddle/paddlehelix/blob/dev/research/CamE/model.py): `research/CamE/model.py`
- [Geometry dataset](https://github.com/paddlepaddle/paddlehelix/blob/dev/research/geomgcl/dataset.py): `research/geomgcl/dataset.py`

### Other components

- **Researcher**

## Connections

- Researcher → Protein sequence: provides sequence
- Protein sequence → Alignment pipeline: aligns sequence
- Alignment pipeline → Input features: assembles features (evidence: `apps/protein_folding/HelixFold-S1/helixfold/data/pipeline_parallel.py`)
- Input features → HelixFold models: feeds model (evidence: `apps/protein_folding/HelixFold-S1/helixfold/data/input/input_pipeline.py`)
- HelixFold models → Predicted structure: predicts structure (evidence: `README.md`)
- Researcher → HelixFold3 pipelines: uses prediction (evidence: `README.md`)
- Researcher → HelixFold-Single: uses prediction (evidence: `README.md`)
- Researcher → HelixDock: runs docking (evidence: `README.md`)
- HelixDock → Docking prediction: predicts pose (evidence: `README.md`)
- Researcher → Drug-target prediction: estimates affinity (evidence: `README.md`)
- Researcher → Drug synergy: predicts synergy (evidence: `README.md`)
- Researcher → Cancer response: predicts response
- Researcher → Molecular generation: generates molecules (evidence: `README.md`)
- Researcher → Compound pretraining: pretrains compounds (evidence: `README.md`)
- Researcher → Few-shot properties: predicts properties (evidence: `README.md`)
- Researcher → CamE model: uses research model
- Researcher → Geometry dataset: uses research data
